Imported Upstream version 2.0.26 upstream/2.0.26
authorKévin THIERRY <kevin.thierry@open.eurogiciel.org>
Thu, 13 Nov 2014 08:26:18 +0000 (09:26 +0100)
committerKévin THIERRY <kevin.thierry@open.eurogiciel.org>
Thu, 13 Nov 2014 08:26:18 +0000 (09:26 +0100)
259 files changed:
AUTHORS
ChangeLog
Makefile.in
NEWS
README
THANKS
VERSION
aclocal.m4
agent/Makefile.am
agent/Makefile.in
agent/agent.h
agent/call-pinentry.c
agent/call-scd.c
agent/command-ssh.c
agent/command.c
agent/divert-scd.c
agent/findkey.c
agent/genkey.c
agent/gpg-agent-w32info.rc [new file with mode: 0644]
agent/gpg-agent.c
agent/preset-passphrase.c
agent/protect-tool.c
agent/protect.c
agent/t-protect.c
agent/trustlist.c
am/cmacros.am
autogen.sh
common/Makefile.am
common/Makefile.in
common/estream-printf.c
common/estream.c
common/estream.h
common/gnupg.ico [new file with mode: 0644]
common/homedir.c
common/http.c
common/http.h
common/init.c
common/iobuf.c
common/ssh-utils.c
common/sysutils.c
common/sysutils.h
common/ttyio.c
common/util.h
common/w32info-rc.h.in [new file with mode: 0644]
common/zb32.c [new file with mode: 0644]
config.h.in
configure
configure.ac
doc/DETAILS
doc/HACKING
doc/Makefile.am
doc/Makefile.in
doc/gnupg-card-architecture.eps
doc/gnupg-card-architecture.pdf
doc/gnupg-card-architecture.png
doc/gnupg.info
doc/gnupg.info-1
doc/gnupg.info-2
doc/gpg-agent.texi
doc/gpg.texi
doc/gpgsm.texi
doc/gpl.texi
doc/help.ja.txt
doc/samplekeys.asc
doc/scdaemon.texi
doc/stamp-vti
doc/texi.css [deleted file]
doc/tools.texi
doc/version.texi
doc/yat2m.c
g10/Makefile.am
g10/Makefile.in
g10/armor.c
g10/call-agent.c
g10/card-util.c
g10/cipher.c
g10/compress.c
g10/cpr.c
g10/encode.c
g10/encr-data.c
g10/exec.c
g10/getkey.c
g10/gpg-w32info.rc [new file with mode: 0644]
g10/gpg.c
g10/gpg.h
g10/gpgv.c
g10/import.c
g10/keydb.c
g10/keyedit.c
g10/keygen.c
g10/keylist.c
g10/keyserver.c
g10/main.h
g10/mainproc.c
g10/misc.c
g10/openfile.c
g10/options.h
g10/options.skel
g10/parse-packet.c
g10/passphrase.c
g10/photoid.c
g10/pkclist.c
g10/sig-check.c
g10/sign.c
g10/tdbio.c
g10/tdbio.h
g10/trustdb.c
gl/Makefile.in
include/Makefile.in
include/cipher.h
jnlib/Makefile.am
jnlib/Makefile.in
jnlib/argparse.c
jnlib/argparse.h
jnlib/mischelp.h
jnlib/stringhelp.c
jnlib/utf8conv.c
jnlib/w32-gettext.c
jnlib/w32-reg.c
jnlib/w32help.h
kbx/Makefile.in
kbx/kbxutil.c
kbx/keybox-defs.h
kbx/keybox-init.c
kbx/keybox.h
keyserver/Makefile.in
keyserver/curl-shim.c
keyserver/curl-shim.h
keyserver/gpgkeys_curl.c
keyserver/gpgkeys_finger.c
keyserver/gpgkeys_hkp.c
keyserver/gpgkeys_ldap.c
keyserver/ksutil.c
m4/Makefile.in
m4/gnupg-pth.m4
m4/gpg-error.m4
m4/iconv.m4
m4/ksba.m4
m4/libcurl.m4
m4/libgcrypt.m4
po/Makefile.in.in
po/be.gmo
po/be.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/en@boldquot.gmo
po/en@boldquot.po
po/en@quot.gmo
po/en@quot.po
po/eo.gmo
po/eo.po
po/es.gmo
po/es.po
po/et.gmo
po/et.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/gl.gmo
po/gl.po
po/gnupg2.pot
po/hu.gmo
po/hu.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/nb.gmo
po/nb.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/sk.gmo
po/sk.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
scd/Makefile.am
scd/Makefile.in
scd/apdu.c
scd/apdu.h
scd/app-dinsig.c
scd/app-nks.c
scd/app-openpgp.c
scd/app.c
scd/ccid-driver.c
scd/ccid-driver.h
scd/command.c
scd/iso7816.c
scd/iso7816.h
scd/pcsc-wrapper.c
scd/scdaemon-w32info.rc [new file with mode: 0644]
scd/scdaemon.c
scd/scdaemon.h
scripts/compile
scripts/config.guess
scripts/config.rpath
scripts/config.sub
scripts/depcomp
scripts/install-sh
scripts/mdate-sh
scripts/mkinstalldirs
sm/Makefile.am
sm/Makefile.in
sm/certchain.c
sm/certcheck.c
sm/certlist.c
sm/certreqgen.c
sm/decrypt.c
sm/encrypt.c
sm/gpgsm-w32info.rc [new file with mode: 0644]
sm/gpgsm.c
sm/gpgsm.h
sm/keydb.c
sm/keydb.h
sm/server.c
sm/sign.c
sm/verify.c
tests/Makefile.in
tests/openpgp/Makefile.am
tests/openpgp/Makefile.in
tests/openpgp/conventional-mdc.test
tests/openpgp/conventional.test
tests/openpgp/defs.inc
tests/openpgp/encrypt-dsa.test
tests/openpgp/encrypt.test
tests/openpgp/gpg.conf.tmpl
tests/openpgp/sigs.test
tests/pkits/Makefile.in
tools/Makefile.am
tools/Makefile.in
tools/gpg-connect-agent-w32info.rc [new file with mode: 0644]
tools/gpgconf-comp.c
tools/watchgnupg.c

diff --git a/AUTHORS b/AUTHORS
index eea52a8..17ef4bb 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,13 +1,13 @@
 Program: GnuPG
-Homepage: http://www.gnupg.org
+Homepage: https://www.gnupg.org
 Maintainer: Werner Koch <wk@gnupg.org>
 Bug reports: http://bugs.gnupg.org
 Security related bug reports: <security@gnupg.org>
 License: GPLv3+
 
 
-Authors
-=======
+Authors with a FSF copyright assignment
+=======================================
 
 Ales Nyakhaychyk <nyakhaychyk@i1fn.linux.by> Translations [be]
 
@@ -125,9 +125,20 @@ Yosiaki IIDA <iida@ring.gr.jp> Translations [ja]
 Yuri Chornoivan, yurchor at ukr dot net: Translations [uk]
 
 
+Authors with a DCO
+==================
+
+The list of authors who signed the Developer's Certificate of Origin
+is kept in the GIT master branch's copy of this file.
+
+
 Other authors
 =============
 
+The need for copyright assignments to the FSF has been waived on
+2013-03-29; the need for copyright disclaimers for translations
+already in December 2012.
+
 The files common/libestream.[ch] are maintained as a separate project
 by g10 Code GmbH.  These files, as used here, are considered part of
 GnuPG.
@@ -145,7 +156,7 @@ by Colin Tuckley and Daniel Leidert for the GNU/Debian distribution.
 Copyright
 =========
 
-GnuPG is distributed under the GNU General Public License, version 2
+GnuPG is distributed under the GNU General Public License, version 3
 or later.  A few files are under the Lesser General Public License, a
 few other files carry the all permissive license note as found at the
 bottom of this file.  Certain files in keyserver/ allow one specific
@@ -167,8 +178,10 @@ name gpg2keys_*.
 
 =========
 
- Copyright 1998, 1999, 2000, 2001, 2002, 2004, 2005,
-           2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+           2006, 2007, 2008, 2009, 2010, 2011,
+           2012, 2013 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 2013, 2014 Werner Koch
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without
index 6d12f01..626de5c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2014-08-12  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.26.
+
+       sm: Create homedir and lock empty keybox creation.
+       * sm/gpgsm.h (opt): Add field "no_homedir_creation".
+       * sm/gpgsm.c (main): Set it if --no-options is used.
+       * sm/keydb.c: Include fcntl.h.
+       (try_make_homedir): New.  Similar to the one from g10/openfile.c
+       (maybe_create_keybox): New.  Similar to the one from g10/keydb.c.
+       (keydb_add_resource): Replace some code by maybe_create_keybox.
+
+2014-08-08  NIIBE Yutaka  <gniibe@fsij.org>
+
+       po: Update Japanese translation.
+
+2014-08-06  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix regression due to the keyserver import filter.
+       * g10/keyserver.c (keyserver_retrieval_filter): Change args.  Rewrite
+       to take subpakets in account.
+       * g10/import.c (import_one, import_secret_one): Pass keyblock to
+       filter.
+
+       gpg: Add kbnode_t for easier backporting.
+       * g10/gpg.h (kbnode_t): New.
+
+2014-07-21  Simon Josefsson  <simon@josefsson.org>
+
+       Add OpenPGP card manufacturer Yubico (6).
+
+2014-07-21  Andreas Schwier  <andreas.schwier@cardcontact.de>
+
+       scd: Allow for certificates > 1024 with PC/SC.
+       * scd/pcsc-wrapper.c (handle_transmit): Enlarge buffer to 4096 too
+       allow for larger certificates.
+
+2014-07-21  Werner Koch  <wk@gnupg.org>
+
+       gpg: Cap size of attribute packets at 16MB.
+       * g10/parse-packet.c (parse_attribute): Avoid xmalloc failure and cap
+       size of packet.
+
+2014-06-30  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.25.
+
+       estream: Fix minor glitch in "%.*s" format.
+       * common/estream-printf.c (pr_string): Take care of non-nul terminated
+       strings.
+
+2014-06-27  Werner Koch  <wk@gnupg.org>
+
+       scd: Support reader Gemalto IDBridge CT30.
+       * scd/ccid-driver.c (parse_ccid_descriptor): Add quirk for that
+       reader.
+       (GEMPC_CT30): New product id.
+
+       gpg: Limit keysize for unattended key generation to useful values.
+       * g10/keygen.c (gen_elg): Enforce keysize 1024 to 4096.
+       (gen_rsa): Enforce keysize 1024 to 4096.
+       (gen_dsa): Enforce keysize 768 to 3072.
+
+2014-06-25  Werner Koch  <wk@gnupg.org>
+
+       agent: Let gpg-protect-tool pass envvars to pinentry.
+       * agent/protect-tool.c (opt_session_env): New.
+       (main): Pass session environment object to
+       gnupg_prepare_get_passphrase.
+
+       gpg: Make screening of keyserver result work with multi-key commands.
+       * g10/keyserver.c (ks_retrieval_filter_arg_s): new.
+       (keyserver_retrieval_filter): Use new struct and check all
+       descriptions.
+       (keyserver_spawn): Pass filter arg suing the new struct.
+
+2014-06-24  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.24.
+
+2014-06-24  Kristian Fiskerstrand  <kf@sumptuouscapital.com>
+
+       gpg: Fix a couple of spelling errors.
+
+2014-06-24  Werner Koch  <wk@gnupg.org>
+
+       gpg: Do not link gpgv against libassuan.
+       * g10/Makefile.am (gpgv2_LDADD): Remove LIBASSUAN_LIBS.
+
+       po: Update de.po.
+
+       common: Fix commit ceef5568 so that it builds with libgcrypt < 1.6.
+       * common/ssh-utils.c (get_fingerprint): Use GCRY_PK_ECC only if
+       defined.
+
+       Remove thread callbacks for libgcrypt >= 1.6.
+       * agent/gpg-agent.c (GCRY_THREAD_OPTION_PTH_IMPL): Do not use with
+       libgcrypt >= 1.6.
+       (main): Ditto.
+       * scd/scdaemon.c (GCRY_THREAD_OPTION_PTH_IMPL): Ditto.
+       (main): Ditto.
+
+       gpg: Use more specific reason codes for INV_RECP.
+       * g10/pkclist.c (build_pk_list): Use more specific reasons codes for
+       INV_RECP.
+
+       gpg: Make show-uid-validity the default.
+
+2014-06-24  Stefan Tomanek  <tomanek@internet-sicherheit.de>
+
+       gpg: Screen keyserver responses.
+       * g10/main.h (import_filter_t): New.
+       * g10/import.c (import): Add filter callbacks to param list.
+       (import_one): Ditto.
+       (import_secret_one): Ditto.
+       (import_keys_internal): Ditto.
+       (import_keys_stream): Ditto.
+       * g10/keyserver.c (keyserver_retrieval_filter): New.
+       (keyserver_spawn): Pass filter to import_keys_stream()
+
+2014-06-24  Werner Koch  <wk@gnupg.org>
+
+       gpg: Allow key-to-card upload for cert-only keys.
+       * g10/card-util.c (card_store_subkey): Allo CERT usage for key 0.
+
+2014-06-23  Werner Koch  <wk@gnupg.org>
+
+       ssh: Fix for newer Libgcrypt versions.
+       * common/ssh-utils.c (get_fingerprint): Add GCRY_PK_ECC case.
+
+2014-06-20  Werner Koch  <wk@gnupg.org>
+
+       gpg: Avoid infinite loop in uncompressing garbled packets.
+       * g10/compress.c (do_uncompress): Limit the number of extra FF bytes.
+
+2014-06-03  Werner Koch  <wk@gnupg.org>
+
+       doc: Update for modern makeinfo.
+       * doc/texi.css: Remove.
+       * doc/Makefile.am (AM_MAKEINFOFLAGS): Use --css-ref.
+
+       Release 2.0.23.
+
+       doc: Adjust Makefile for fixed yat2m.
+       * doc/Makefile.am (yat2m-stamp): Remove dirmngr-client hack.
+
+       gpg: New %U expando for the photo viewer.
+       * g10/photoid.c (show_photos): Set namehash.
+       * g10/misc.c (pct_expando): Add "%U" expando.
+
+       common: Add z-base-32 encoder.
+       * common/zb32.c: New.
+       * common/t-zb32.c: New.
+       * common/Makefile.am (common_sources): Add zb82.c
+
+       gpg: Reject signatures made with MD5.
+       * g10/gpg.c: Add option --allow-weak-digest-algos.
+       (main): Set option also in PGP2 mode.
+       * g10/options.h (struct opt): Add flags.allow_weak_digest_algos.
+       * g10/sig-check.c (do_check): Reject MD5 signatures.
+       * tests/openpgp/gpg.conf.tmpl: Add allow_weak_digest_algos.
+
+       gpg: Remove useless diagnostic in MDC verification.
+       * g10/decrypt-data.c (decrypt_data): Do not distinguish between a bad
+       MDC packer header and a bad MDC.
+
+       gpg: Fix glitch entering a full expiration time.
+       * g10/keygen.c (ask_expire_interval): Get the current time after the
+       prompt.
+
+2014-06-02  Werner Koch  <wk@gnupg.org>
+
+       gpg: Graceful skip reading of corrupt MPIs.
+       * g10/parse-packet.c (mpi_read): Change error message on overflow.
+
+       gpg: Simplify default key listing.
+       * g10/mainproc.c (list_node): Rework.
+
+       gpgsm: Handle re-issued CA certificates in a better way.
+       * sm/certchain.c (find_up_search_by_keyid): Consider all matching
+       certificates.
+       (find_up): Add some debug messages.
+
+       gpgsm: Add a way to save a found state.
+       * kbx/keybox-defs.h (keybox_found_s): New.
+       (keybox_handle): Factor FOUND out to above.  Add saved_found.
+       * kbx/keybox-init.c (keybox_release): Release saved_found.
+       (keybox_push_found_state, keybox_pop_found_state): New.
+
+       * sm/keydb.c (keydb_handle): Add field saved_found.
+       (keydb_new): Init it.
+       (keydb_push_found_state, keydb_pop_found_state): New.
+
+       gpg: Fix bug parsing a zero length user id.
+       * g10/getkey.c (get_user_id): Do not call xmalloc with 0.
+
+       * common/xmalloc.c (xmalloc, xcalloc): Take extra precaution not to
+       pass 0 to the arguments.
+
+2014-04-22  Werner Koch  <wk@gnupg.org>
+
+       gpg: Print a warning if GKR has hijacked gpg-agent.
+       * g10/call-agent.c (check_hijacking): New.
+       (start_agent): Call it.
+       (membuf_data_cb, default_inq_cb): Move more to the top.
+
+2014-04-16  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix use of deprecated RSA_E and RSA_E with newer libgcrypts.
+       * g10/misc.c (pubkey_get_npkey): Map RSA_E and RSA_S to RSA.
+       (pubkey_get_nskey): Ditto.
+       (pubkey_get_nsig): Ditto.
+       (pubkey_get_nenc): Ditto.
+       (pubkey_nbits): Take care of RSA_E and RSA_S.
+
+2014-03-12  Werner Koch  <wk@gnupg.org>
+
+       scd: Skip S/N reading for the "undefined" application.
+       * scd/app.c (select_application): Skip serial number reading.
+
+2013-12-11  Werner Koch  <wk@gnupg.org>
+
+       gpg: Change --show-session-key to print the session key earlier.
+       * g10/cpr.c (write_status_strings): New.
+       (write_status_text): Replace code by a call to write_status_strings.
+       * g10/mainproc.c (proc_encrypted): Remove show_session_key code.
+       * g10/decrypt-data.c (decrypt_data): Add new show_session_key code.
+
+2013-11-27  Werner Koch  <wk@gnupg.org>
+
+       Silence annoying ABI change warning.
+       * configure.ac [GCC]: Pass -Wno-psabi for gcc >= 4.6.  Avoid some gcc
+       option tests for gcc >= 4.6
+
+       scd: Fix two compiler warnings.
+       * scd/apdu.c (pcsc_vendor_specific_init): Add suggested parens.
+       * scd/ccid-driver.c (ccid_get_atr): Cast DEBUGOUT_1 arg to int.
+
+       gpg: Change armor Version header to emit only the major version.
+       * g10/options.h (opt): Rename field no_version to emit_version.
+       * g10/gpg.c (main): Init opt.emit_vesion to 1.  Change --emit-version
+       to bump up opt.emit_version.
+       * g10/armor.c (armor_filter): Implement different --emit-version
+       values.
+
+2013-11-15  Werner Koch  <wk@gnupg.org>
+
+       common: Fix build problem with Sun Studio compiler.
+       * common/estream.c (ESTREAM_MUTEX_UNLOCK): Use int dummy dummy
+       functions.
+       (ESTREAM_MUTEX_INITIALIZE): Ditto.
+
+2013-11-13  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: more pinpad input fix for PC/SC.
+       * scd/apdu.c (check_pcsc_pinpad): Set default values here.
+       (pcsc_pinpad_verify, pcsc_pinpad_modify): Remove setting default
+       values, as it's too late.
+
+2013-11-11  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: more pinpad fix.
+       * scd/apdu.c (check_pcsc_pinpad): Set ->minlen and ->maxlen only when
+       those are specified.
+       (pcsc_pinpad_modify): Remove old check code.
+
+2013-10-29  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: pinpad fix for PC/SC on Windows.
+       * scd/apdu.c (SCARD_CTL_CODE): Fix for Windows.
+
+2013-10-25  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: fix pinpad input on Windows.
+       * scd/apdu.c (open_pcsc_reader_direct): Don't call
+       pcsc_vendor_specific_init here, but...
+       (connect_pcsc_card): Call it here.
+
+2013-10-23  NIIBE Yutaka  <gniibe@fsij.org>
+
+       po: Update Japanese translation.
+
+2013-10-16  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: add pinpad readers information for PC/SC service.
+       * scd/apdu.c (pcsc_vendor_specific_init): Add information for Cherry
+       ST-2xxx, Reiner cyberJack, Vasco DIGIPASS, FSIJ Gnuk Token, and KAAN
+       Advance.
+
+2013-10-15  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: remove pin length check.
+       * scd/apdu.c (pcsc_pinpad_verify): Remove old check code for pin
+       length.
+
+2013-10-11  Werner Koch  <wk@gnupg.org>
+
+       gpg: Do not require a trustdb with --always-trust.
+       * g10/tdbio.c (tdbio_set_dbname): Add arg R_NOFILE.
+       * g10/trustdb.c (trustdb_args): Add field no_trustdb.
+       (init_trustdb): Set that field.
+       (revalidation_mark):  Take care of a nonexistent trustdb file.
+       (read_trust_options): Ditto.
+       (get_ownertrust): Ditto.
+       (get_min_ownertrust): Ditto.
+       (update_ownertrust): Ditto.
+       (update_min_ownertrust): Ditto.
+       (clear_ownertrusts): Ditto.
+       (cache_disabled_value): Ditto.
+       (check_trustdb_stale): Ditto.
+       (get_validity): Ditto.
+       * g10/gpg.c (main): Do not create a trustdb with most commands for
+       trust-model always.
+
+       gpg: Fix --version output and explicitly disable ECC.
+       * g10/misc.c (openpgp_pk_algo_name): New.  Replace all calls in g10/
+       to gcry_pk_algo_name by a call to this function.
+       (map_pk_openpgp_to_gcry): Map algo PUBKEY_ALGO_ELGAMAL_E to GCRY_PK_ELG.
+       (openpgp_pk_test_algo): Use PUBKEY_ALGO_ELGAMAL_E instead of
+       GCRY_PK_ELG_E.  Return an error for ECC algos.
+       (openpgp_pk_test_algo2):  Return an error for ECC algos.
+       * g10/gpg.c (build_list): Avoid printing ECC two times.
+       * include/cipher.h: Do not use GCRY_PK_* macros for PUBKEY_ALGO_*.
+
+2013-10-04  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.22.
+
+       doc: Update from master.
+
+       gpg: Print a "not found" message for an unknown key in --key-edit.
+       * g10/keyedit.c (keyedit_menu): Print message.
+
+       gpg: Kludge not to bail out on ECC if build with Libgcrypt 1.6.
+       * g10/misc.c (print_pubkey_algo_note): Map the algo.
+       (openpgp_pk_test_algo, openpgp_pk_test_algo2): Ditto.
+       (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig)
+       (pubkey_get_nenc): Return 0 for ECC algorithms.
+
+       po: Update Czech translation.
+
+       gpg: Protect against rogue keyservers sending secret keys.
+       * g10/options.h (IMPORT_NO_SECKEY): New.
+       * g10/keyserver.c (keyserver_spawn, keyserver_import_cert): Set new
+       flag.
+       * g10/import.c (import_secret_one): Deny import if flag is set.
+
+2013-10-04  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
+
+       gpg: Allow setting of all zero key flags.
+       * g10/keygen.c (do_add_key_flags): Do not check for empty key flags.
+       (cherry picked from commit b693ec02c467696bf9d7324dd081e279f9965151)
+
+2013-10-04  Werner Koch  <wk@gnupg.org>
+
+       gpg: Distinguish between missing and cleared key flags.
+       * include/cipher.h (PUBKEY_USAGE_NONE): New.
+       * g10/getkey.c (parse_key_usage): Set new flag.
+
+       keyserver: Allow use of cURL's default CA store.
+       * keyserver/gpgkeys_curl.c (main): Set CURLOPT_CAINFO only if a file
+       has been given.
+       * keyserver/gpgkeys_hkp.c (main): Ditto.
+
+       gpg: Limit the nesting level of I/O filters.
+       * common/iobuf.c (MAX_NESTING_FILTER): New.
+       (iobuf_push_filter2): Limit the nesting level.
+
+       * g10/mainproc.c (mainproc_context): New field ANY.  Change HAVE_DATA
+       and ANY_SIG_SIGN to bit fields of ANY.  Add bit field
+       UNCOMPRESS_FAILED.
+       (proc_compressed): Avoid printing multiple Bad Data messages.
+       (check_nesting): Return GPG_ERR_BAD_DATA instead of UNEXPECTED_DATA.
+
+2013-10-02  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix bug with deeply nested compressed packets.
+       * g10/mainproc.c (MAX_NESTING_DEPTH): New.
+       (proc_compressed): Return an error code.
+       (check_nesting): New.
+       (do_proc_packets): Check packet nesting depth.  Handle errors from
+       check_compressed.
+
+2013-09-18  Marcus Brinkmann  <mb@g10code.com>
+
+       2009-11-10  Marcus Brinkmann  <marcus@g10code.de>
+               * server.c (cmd_getauditlog): Don't dup FD for es_fdopen_nc as
+               this leaks the FD here.
+
+       (cherry picked from commit b3cda3f45cdbf3c66538589c7e108cbf73adc850)
+
+       Resolved Conflicts:
+               sm/ChangeLog-2011 - Removed.
+
+       GnuPG-bug-id: 1535
+
+2013-08-30  Werner Koch  <wk@gnupg.org>
+
+       gpg: Use 2048 as the default keysize in batch mode.
+       * g10/keygen.c (gen_elg, gen_dsa, gen_rsa): Set default keysize to
+       2048.
+
+       gpgtar: Fix building for systems with a separate libintl.
+       * tools/Makefile.am (gpgtar_LDADD): Add LIBINTL.
+
+2013-08-30  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: PC/SC pinpad input improvement.
+       * scd/apdu.c (struct reader_table_s): Add members: PINMIN, PINMAX, and
+       PINPAD_VERLEN_SUPPORTED.
+       (CM_IOCTL_VENDOR_IFD_EXCHANGE, FEATURE_GET_TLV_PROPERTIES,
+       PCSCv2_PART10_PROPERTY_*): New.
+       (new_reader_slot): Initialize pinpad_varlen_supported, pinmin, pinmax.
+       (pcsc_vendor_specific_init): New.
+       (open_pcsc_reader_direct, open_pcsc_reader_wrapped): Call
+       pcsc_vendor_specific_init.
+       (check_pcsc_pinpad): Not detect here but use the result of
+       pcsc_vendor_specific_init.
+       (pcsc_pinpad_verify, pcsc_pinpad_modify): Specify bNumberMessage.
+
+2013-08-29  Jonas Borgström  <jonas@borgstrom.se>
+
+       scd: add support for RSA_CRT and RSA_CRT_N key import.
+       * scd/app-openpgp.c (do_writekey): Added RSA_CRT and RSA_CRT_N support.
+
+2013-08-27  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: fix parsing login-data DO.
+       * scd/app-openpgp.c (parse_login_data): Release RELPTR.  Fix parsing.
+
+       scd: fix Vega for Alpha reader.
+       * scd/ccid-driver.c (ccid_vendor_specific_init): Fix error handling
+       and size of command.
+
+2013-08-21  Werner Koch  <wk@gnupg.org>
+
+       scd: Make SPRx32 pinpad work with PC/SC on Windows.
+       * scd/apdu.c (CM_IOCTL_GET_FEATURE_REQUEST): Use SCARD_CTL_CODE.
+       (SCARD_CTL_CODE): Define if not defined.
+       (reader_table_s): Add is_spr532.
+       (new_reader_slot): Clear it.
+       (check_pcsc_pinpad): Set it.
+       (pcsc_pinpad_verify, pcsc_pinpad_modify): Add fix for SPR532.
+
+       (cherry picked from commit 5c5e52df4b92e23045ac87abac09357de58920d4)
+
+       scd: Improve --enable-pinpad-varlen.
+       * tools/gpgconf-comp.c (gc_options_scdaemon): Add
+       enable-pinpad-varlen.
+       * scd/apdu.c (check_pcsc_pinpad): Detect SPRx32 reader.
+
+       (cherry picked from commit 7bde2bf3b0ddb5d3515a44879e1a7ddb581a5c0b)
+
+2013-08-19  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.21.
+
+       Require libgpg-error 1.11.
+       * configure.ac (NEED_GPG_ERROR_VERSION): Set to 1.11.
+       * common/util.h: Remove GPG_ERR_ replacements.
+
+2013-08-19  Jakub Bogusz  <qboosh@pld-linux.org>
+
+       Update the Polish translation.
+
+2013-08-19  Werner Koch  <wk@gnupg.org>
+
+       agent: Fix UPDATESTARTUPTTY for ssh.
+       * agent/command-ssh.c (setup_ssh_env): Fix env setting.
+
+       tests: Make sure not to create files outside the build directory.
+       * tests/openpgp/Makefile.am (./gpg_dearmor): Add option --homedir.
+
+       gpgv: Init Libgcrypt to avoid syslog warning.
+       * g10/gpgv.c (main): Check libgcrypt version and disable secure
+       memory.
+
+2013-08-08  Werner Koch  <wk@gnupg.org>
+
+       agent: Extend cmd KEYINFO to return data from sshcontrol.
+       * agent/command-ssh.c (struct control_file_s): Rename to
+       ssh_control_file_s.
+       (ssh_open_control_file, ssh_close_control_file)
+       (ssh_read_control_file, ssh_search_control_file): New.
+       (control_file_t):  Rename and move to ...
+       * agent/agent.h (ssh_control_file_t): here.
+       * agent/command.c (do_one_keyinfo): Add args is_ssh, ttl, disabled,
+       and confirm. Rename unknown keytype indicator from '-' to 'X'.  Extend
+       output.
+       (cmd_keyinfo): Add options --ssh-list and --with-ssh.
+
+2013-08-06  Werner Koch  <wk@gnupg.org>
+
+       Improve libcurl detection.
+       * m4/libcurl.m4: Do not use AC_PATH_PROG if --with-libcurl as been
+       given.  Suggested by John Marshall.
+
+       gpg: Remove legacy keyserver examples from the template conf file.
+       * g10/options.skel: Update.
+
+2013-08-02  Werner Koch  <wk@gnupg.org>
+
+       gpg: No need to create a trustdb when encrypting with --always-trust.
+       * g10/gpg.c (main): Special case setup_trustdb for --encrypt.
+
+2013-08-01  Werner Koch  <wk@gnupg.org>
+
+       w32: Add code to support a portable use of GnuPG.
+       * common/homedir.c (w32_bin_is_bin, w32_portable_app) [W32]: New.
+       (check_portable_app) [W32]: New.
+       (standard_homedir, default_homedir) [W32]: Support the portable flag.
+       (w32_rootdir, w32_commondir) [W32]: Ditto.
+       (gnupg_bindir) [W32]: Ditto.
+
+       w32: Always require libiconv.
+       * configure.ac (missing_iconv): Set and die if we have no libiconv.
+       * m4/iconv.m4: Update from libiconv 1.14.
+       * tools/Makefile.am (gpgtar_LDADD): Add LIBICONV.
+       * jnlib/utf8conv.c: Always include iconv.h
+       (load_libiconv): Remove this w32 only function.
+       (iconv_open, iconv, iconv_close): Remove W32 function pointer.
+       (set_native_charset): Do not call load_libiconv.
+       (jnlib_iconv_open, jnlib_iconv, jnlib_iconv_close): Ditto.
+
+       w32: Remove unused code.
+       * jnlib/w32-reg.c (write_w32_registry_string): Remove.
+
+2013-07-03  Werner Koch  <wk@gnupg.org>
+
+       Update the German translation.
+
+       agent: Make --allow-mark-trusted the default.
+       * agent/gpg-agent.c (opts, main): Add option --no-allow-mark-trusted.
+       Put this option into the gpgconf-list.
+       (main): Enable opt.allow_mark_trusted by default.
+       * tools/gpgconf-comp.c (gc_options_gpg_agent): Replace
+       allow-mark-trusted by no-allow-mark-trusted.
+
+       * agent/trustlist.c (agent_marktrusted): Always set the "relax" flag.
+
+       Update the German translation.
+
+       ssh: Add support for Putty.
+       * agent/gpg-agent.c [W32]: Include Several Windows header.
+       (opts): Change help text for enable-ssh-support.
+       (opts, main): Add option --enable-putty-support
+       (putty_support, PUTTY_IPC_MAGIC, PUTTY_IPC_MAXLEN): New for W32.
+       (agent_init_default_ctrl): Add and asssert call.
+       (putty_message_proc, putty_message_thread): New.
+       (handle_connections) [W32]: Start putty message thread.
+       * common/sysutils.c (w32_get_user_sid): New for W32 only
+       * tools/gpgconf-comp.c (gc_options_gpg_agent): Add
+       --enable-ssh-support and --enable-putty-support.  Make the
+       configuration group visible at basic level.
+       * agent/command-ssh.c (serve_mmapped_ssh_request): New for W32 only.
+
+       agent: Fix binary vs. text mode problem in ssh.
+       * agent/command-ssh.c (file_to_buffer)
+       (ssh_handler_request_identities): Open streams in binary mode.
+       (start_command_handler_ssh): Factor some code out to ..
+       (setup_ssh_env): new function.
+
+       Silence deprecated warnings from gcc 4.6.3.
+       * configure.ac (AH_BOTTOM): Define GCRYPT_NO_DEPRECATED.
+
+       estream: Backport es_fopemem_init from master.
+       * common/estream.c (es_fopenmem_init): New.
+
+2013-07-01  Werner Koch  <wk@gnupg.org>
+
+       ssh: Mark unused arg.
+       * agent/command-ssh.c (ssh_signature_encoder_ecdsa): Cast spec to
+       void.
+
+       ssh: Support ECDSA keys.
+       * agent/command-ssh.c (SPEC_FLAG_IS_ECDSA): New.
+       (struct ssh_key_type_spec): Add fields CURVE_NAME and HASH_ALGO.
+       (ssh_key_types): Add types ecdsa-sha2-nistp{256,384,521}.
+       (ssh_signature_encoder_t): Add arg spec and adjust all callers.
+       (ssh_signature_encoder_ecdsa): New.
+       (sexp_key_construct, sexp_key_extract, ssh_receive_key)
+       (ssh_convert_key_to_blob): Support ecdsa.
+       (ssh_identifier_from_curve_name): New.
+       (ssh_send_key_public): Retrieve and pass the curve_name.
+       (key_secret_to_public): Ditto.
+       (data_sign): Add arg SPEC and change callers to pass it.
+       (ssh_handler_sign_request): Get the hash algo from SPEC.
+       * common/ssh-utils.c (get_fingerprint): Support ecdsa.
+
+       * agent/protect.c (protect_info): Add flag ECC_HACK.
+       (agent_protect): Allow the use of the "curve" parameter.
+       * agent/t-protect.c (test_agent_protect): Add a test case for ecdsa.
+
+       * agent/command-ssh.c (ssh_key_grip): Print a better error code.
+
+       estream: New function es_fclose_snatch.
+       * common/estream.c (cookie_ioctl_function_t): New type.
+       (es_fclose_snatch): New function.
+       (COOKIE_IOCTL_SNATCH_BUFFER): New constant.
+       (struct estream_internal): Add field FUNC_IOCTL.
+       (es_initialize): Clear FUNC_IOCTL.
+       (es_func_mem_ioctl): New function.
+       (es_fopenmem): Init FUNC_IOCTL.
+
+       ssh: Rewrite a function for better maintainability.
+       * agent/command-ssh.c (ssh_signature_encoder_dsa): Rewrite.
+
+       ssh: Improve key lookup for many keys.
+       * agent/command-ssh.c: Remove dirent.h.
+       (control_file_s): Add struct item.
+       (rewind_control_file): New.
+       (search_control_file): Factor code out to ...
+       (read_control_file_item): New.
+       (ssh_handler_request_identities): Change to iterate over entries in
+       sshcontrol.
+
+       ssh: Cleanup sshcontrol file access code.
+       * agent/command-ssh.c (SSH_CONTROL_FILE_NAME): New macro to replace
+       the direct use of the string.
+       (struct control_file_s, control_file_t): New.
+       (open_control_file, close_control_file): New.  Use them instead of
+       using fopen/fclose directly.
+
+       ssh: Do not look for a card based ssh key if scdaemon is disabled.
+       * agent/command-ssh.c (ssh_handler_request_identities): Do not call
+       card_key_available if the scdaemon is disabled.
+
+       ssh: Make the mode extension "x" portable by a call to es_fopen.
+       * agent/command-ssh.c (open_control_file): Use_es_fopen to support
+       the "wx" mode flag.
+
+2013-05-11  Werner Koch  <wk@gnupg.org>
+
+       Fix syntax error for building on APPLE.
+       * scd/pcsc-wrapper.c [__APPLE__]: Fix syntax error.
+
+2013-05-10  Werner Koch  <wk@gnupg.org>
+
+       Release 2.0.20.
+
+       Update gpg-error, libgcrypt, and ksba m4 scripts.
+       * m4/gpg-error.m4: Update from libgpg-error repo.
+       * m4/ksba.m4: Likewise.
+       * m4/libgcrypt.m4: Likewise.
+
+2013-05-10  Yuri Chornoivan  <yurchor@ukr.net>
+
+       Update Ukrainian translation.
+
+2013-05-07  Werner Koch <wk@gnupg.org>
+
+       w32: Add icons and version information.
+       * common/gnupg.ico: New.  Take from artwork/gnupg-favicon-1.ico.
+       * agent/gpg-agent-w32info.rc: New.
+       * g10/gpg-w32info.rc: New.
+       * scd/scdaemon-w32info.rc: New.
+       * sm/gpgsm-w32info.rc: New.
+       * tools/gpg-connect-agent-w32info.rc: New.
+       * common/w32info-rc.h.in: New.
+       * configure.ac (BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP)
+       (BUILD_HOSTNAME): New.
+       (AC_CONFIG_FILES): Add w32info-rc.h.
+       * am/cmacros.am (.rc.o): New rule.
+       * agent/Makefile.am, common/Makefile.am, g10/Makefile.am
+       * scd/Makefile.am, sm/Makefile.am, tools/Makefile.am: Add stuff to
+       build resource files.
+
+2013-05-07  Ian Abbott  <abbotti@mev.co.uk>
+
+       doc: fix some Texinfo warnings.
+       * doc/gpg.texi: Fix syntax and add missing menu entries.
+       * doc/gpgsm.texi: Fix subsectioning.
+
+2013-04-24  Jedi  <jedi@jedi.org>
+
+       Update helper scripts.
+       * compile, config.guess, config.rpath, config.sub, depcomp,
+       * install-sh, mdate-sh, mkinstalldirs: Update to Feb 25 versions from
+       gnulib.
+
+2013-04-24  Joe Hansen  <joedalton2@yahoo.dk>
+
+       Update Danish translation.
+       * po/da.po: Update.
+
+2013-04-24  Jaime Suarez  <jaime.suma@gmail.com>
+
+       Update Spanish translation.
+
+2013-04-24  Werner Koch  <wk@gnupg.org>
+
+       Update de.po and fr.po for keypad->pinpad change.
+
+2013-04-24  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Add pinpad support for REINER SCT cyberJack go.
+       * scd/ccid-driver.c (VENDOR_REINER, CYBERJACK_GO): New.
+       (ccid_transceive_secure): Handle the case for VENDOR_REINER.
+       Original work was by Alina Friedrichsen (tiny change).
+
+2013-04-23  Werner Koch  <wk@gnupg.org>
+
+       Allow building gpgkeys_ldap with the 32 bit mingw-w64 toolchain.
+       * keyserver/gpgkeys_ldap.c (my_ldap_start_tls_s): Define macro
+       depending on compiler version.
+       (main): Use new macro.
+
+2013-04-22  Werner Koch  <wk@gnupg.org>
+
+       Fix potential heap corruption in "gpg -v --version".
+       * g10/gpg.c (build_list): Rewrite to cope with buffer overflow in
+       certain locales.
+
+       Switch to the new automagic beta numbering scheme.
+       * configure.ac: Add all the required m4 magic.
+
+       Update docs from master.
+       * doc/gpg-agent.texi: Update from master.
+       * doc/gpg.texi: Ditto.
+       * doc/gpgsm.texi: Ditto.
+       * doc/gpl.texi: Ditto.
+       * doc/yat2m.c: Ditto.
+
+       Ignore obsolete option --disable-keypad.
+       * scd/scdaemon.c (opts): Ignore --disable-keypad.
+
+       Allow marking options as ignored.
+       * jnlib/argparse.h (ARGPARSE_OPT_IGNORE): New.
+       (ARGPARSE_TYPE_MASK): New, for internal use.
+       (ARGPARSE_ignore): New.
+       * jnlib/argparse.c (optfile_parse, arg_parse): Replace remaining
+       constants by macros.
+       (optfile_parse): Implement ARGPARSE_OPT_IGNORE.
+       (arg_parse): Exclide ignore options from --dump-options.
+
+       Do not mix test result with progress lines.
+       This makes parsing of the results easier.  Fixes bug#1400.
+
+       * tests/openpgp/defs.inc (progress_cancel, progress_end)
+       (progress_new): New.
+       * tests/openpgp/conventional-mdc.test: Use progress functions
+       * tests/openpgp/conventional.test: Ditto.
+       * tests/openpgp/encrypt-dsa.test: Ditto.
+       * tests/openpgp/encrypt.test: Ditto.
+       * tests/openpgp/sigs.test: Ditto.
+
+2013-04-01  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: move SCDaemon to libexecdir.
+       * common/homedir.c (gnupg_module_name): It's now libexecdir.
+       * scd/Makefile.am (libexec_PROGRAMS): Add scdaemon
+       (bin_PROGRAMS): Remove scdaemon.
+
+2013-03-26  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: PC/SC status fix.
+       * scd/apdu.c (pcsc_get_status_direct): Check PCSC_STATE_MUTE only when
+       PCSC_STATE_PRESENT.
+
+       * scd/pcsc-wrapper.c (handle_status): Ditto.
+
+       scd: PC/SC cleanup (more).
+       * scd/apdu.c (control_pcsc_direct, control_pcsc_wrapped, control_pcsc)
+       (check_pcsc_pinpad, pcsc_pinpad_verify, pcsc_pinpad_modify): Use
+       pcsc_dword_t.
+
+       scd: call update_card_removed only when detecting removal.
+       * scd/command.c (update_reader_status_file): Add condition
+       ss->status == 0.
+
+2013-03-22  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: PC/SC cleanup.
+       * scd/apdu.c (pcsc_dword_t): New.  It was named as DWORD (double-word)
+       when a word was 16-bit.
+       (struct reader_table_s): Fixes for types.
+       (struct pcsc_readerstate_s) [__APPLE__]: Enable #pragma pack(1).
+       Throughout: Fixes for types.
+
+       * scd/pcsc-wrapper.c: Likewise.
+
+2013-03-21  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: change default value of pinpad maxlen.
+       * scd/apdu.c (pcsc_pinpad_verify, pcsc_pinpad_modify): Default value
+       of maxlen for pinpad input is now 15 (was: 25).
+
+       * scd/ccid-driver.c (ccid_transceive_secure): Likewise.
+
+2013-03-15  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: ccid-driver supporting larger APDU.
+       * scd/ccid-driver.c (ccid_transceive_apdu_level): Support larger
+       APDU.
+
+2013-03-03  David Shaw  <dshaw@jabberwocky.com>
+
+       Differentiate between success (full or partial), not-found, and failure.
+       * keyserver/gpgkeys_hkp.c (get_key): Use curl_easy_setinfo to get the
+         HTTP status code so we can tell the difference between a successful
+         retrieval, a partial retrieval, a not-found, or a server failed.
+
+       Emulate curl_easy_getinfo and CURLINFO_RESPONSE_CODE in curl-shim.
+       * keyserver/curl-shim.h, keyserver/curl-shim.c (curl_easy_getinfo):
+         New. Return the HTTP status code for the last transfer.
+
+2013-02-28  David Shaw  <dshaw@jabberwocky.com>
+
+       Bring the fix for bug 739 on 1.4 over to 2.0 (bug 1479)
+       * http.h, http.c (http_wait_response, main): Remove
+         HTTP_FLAG_NO_SHUTDOWN.
+
+2013-02-12  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Japanese: minor doc update.
+       * doc/help.ja.txt: Update.
+
+       Japanese: updated po and doc.
+       * doc/help.ja.txt, po/ja.po: Updated.
+
+2013-02-08  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Rename 'keypad' to 'pinpad'.
+       * NEWS: Mention scd changes.
+
+       * agent/divert-scd.c (getpin_cb): Change message.
+
+       * agent/call-scd.c (inq_needpin): Change the protocol to
+       POPUPPINPADPROMPT and DISMISSPINPADPROMPT.
+       * scd/command.c (pin_cb): Likewise.
+
+       * scd/apdu.c (struct reader_table_s): Rename member functions.
+       (check_pcsc_pinpad, pcsc_pinpad_verify, pcsc_pinpad_modify,
+       check_ccid_pinpad, ccid_pinpad_operation, apdu_check_pinpad
+       apdu_pinpad_verify, apdu_pinpad_modify): Rename.
+
+       * scd/apdu.h (SW_HOST_NO_PINPAD, apdu_check_pinpad)
+       (apdu_pinpad_verify, apdu_pinpad_modify): Rename.
+
+       * scd/iso7816.h (iso7816_check_pinpad): Rename.
+
+       * scd/iso7816.c (map_sw): Use SW_HOST_NO_PINPAD.
+       (iso7816_check_pinpad): Rename.
+       (iso7816_verify_kp, iso7816_change_reference_data_kp): Follow
+       the change.
+
+       * scd/ccid-driver.h (CCID_DRIVER_ERR_NO_PINPAD): Rename.
+       * scd/ccid-driver.c (ccid_transceive_secure): Use it.
+
+       * scd/app-dinsig.c (verify_pin): Follow the change.
+       * scd/app-nks.c (verify_pin): Follow the change.
+
+       * scd/app-openpgp.c (check_pinpad_request): Rename.
+       (parse_login_data, verify_a_chv, verify_chv3, do_change_pin): Follow
+       the change.
+
+       * scd/scdaemon.c (oDisablePinpad, oEnablePinpadVarlen): Rename.
+
+       * scd/scdaemon.h (opt): Rename to disable_pinpad,
+       enable_pinpad_varlen.
+
+       * tools/gpgconf-comp.c (gc_options_scdaemon): Rename to
+       disable-pinpad.
+
+2013-02-05  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Fix check_keypad_request.
+       * scd/app-openpgp.c (check_keypad_request): 0 means not to use pinpad.
+
+       scd: Clean up.
+       * apdu.h (apdu_send_simple_kp): Remove.
+       * apdu.c (apdu_send_simple_kp): Remove.
+
+       SCD: Add vendor specific initalization.
+       * scd/ccid-driver.c (ccid_vendor_specific_init): New.
+       (ccid_open_reader): Call ccid_vendor_specific_init.
+
+       SCD: Support P=N format for login data.
+       * scd/app-openpgp.c (parse_login_data): Support P=N format.
+
+       SCD: Better interoperability.
+       * scd/apdu.c: Fill bTeoPrologue[2] field.
+
+       SCD: Defaults to use pinpad if the reader has the capability.
+       * scd/app-openpgp.c (struct app_local_s): Remove VARLEN.
+       (parse_login_data): "P=0" means to disable pinpad.
+       (check_keypad_request): Default is to use pinpad if available.
+
+       SCD: handle keypad request on the card.
+       * scd/app-openpgp.c: Add 2013.
+       (struct app_local_s): Add keypad structure.
+       (parse_login_data): Add parsing keypad request on the card.
+       (check_keypad_request): New.
+       (verify_a_chv, verify_chv3, do_change_pin): Call check_keypad_request
+       to determine use of keypad.
+
+       SCD: Minor fix of ccid-driver.
+       * scd/ccid-driver.c (VENDOR_VEGA): Fix typo.
+
+       SCD: Add support of Covadis VEGA_ALPHA reader.
+       * scd/ccid-driver.c: Add 2013.
+       (VENDER_VEGA, VEGA_ALPHA):New.
+       (ccid_transceive_secure): VEGA_ALPHA is same firmware as GEMPC_PINPAD.
+       Change bNumberMessage to 0x01, as it works better (was: 0xff).
+
+       SCD: Support fixed length PIN input for keypad (PC/SC).
+       * scd/apdu.c (pcsc_keypad_verify): SUpport fixed length PIN input for
+       keypad.
+       (pcsc_keypad_modify): Likewise.
+       * scd/ccid-driver.c (ccid_transceive_secure): Clean up.
+
+       SCD: Support fixed length PIN input for keypad.
+       * scd/iso7816.h (struct pininfo_s): Remove MODE and add FIXEDLEN.
+       * scd/app-dinsig.c (verify_pin): Initialize FIXEDLEN to unknown.
+       * scd/app-nks.c (verify_pin): Likewise.
+       * scd/app-openpgp.c (verify_a_chv, verify_chv3, do_change_pin):
+       Likewise.
+       * scd/apdu.c (check_pcsc_keypad): Add comment.
+       (pcsc_keypad_verify, pcsc_keypad_modify): PC/SC driver only support
+       readers with the feature of variable length input (yet).
+       (apdu_check_keypad): Set FIXEDLEN.
+       * scd/ccid-driver.c (ccid_transceive_secure): Add GEMPC_PINPAD
+       specific settings.
+       Support fixed length PIN input for keypad.
+
+       SCD: API cleanup for keypad handling.
+       * scd/iso7816.h (struct pininfo_s): Rename from iso7816_pininfo_s.
+       Change meaning of MODE.
+       (pininfo_t): Rename from iso7816_pininfo_t.
+       * scd/sc-copykeys.c: Include "iso7816.h".
+       * scd/scdaemon.c, scd/command.c: Likewise.
+       * scd/ccid-driver.c: Include "scdaemon.h" and "iso7816.h".
+       (ccid_transceive_secure): Follow the change of PININFO_T.
+       * scd/app.c: Include "apdu.h" after "iso7816.h".
+       * scd/iso7816.c (iso7816_check_keypad, iso7816_verify_kp)
+       (iso7816_change_reference_data_kp): Follow the change of API.
+       * scd/apdu.c (struct reader_table_s): Change API of CHECK_KEYPAD,
+       KEYPAD_VERIFY, KEYPAD_MODIFY to have arg of PININFO_T.
+       (check_pcsc_keypad, check_ccid_keypad): Likewise.
+       (apdu_check_keypad, apdu_keypad_verify, apdu_keypad_modify): Likewise.
+       (pcsc_keypad_verify, pcsc_keypad_modify, ct_send_apdu)
+       (pcsc_send_apdu_direct,  pcsc_send_apdu_wrapped, pcsc_send_apdu)
+       (send_apdu_ccid, ccid_keypad_operation, my_rapdu_send_apdu, send_apdu)
+       (send_le): Follow the change of API.
+       * scd/apdu.h (apdu_check_keypad, apdu_keypad_verify)
+       (apdu_keypad_modify): Change the API.
+       * scd/app-dinsig.c, scd/app-nks.c, scd/app-openpgp.c: Follow the
+       change.
+
+       SCD: Clean up.  Remove PADLEN for keypad input.
+       * scd/apdu.c (struct pininfo_s): Use iso7816_pininfo_s.
+       (struct reader_table_s): Remove last arg from check_keypad method.
+       (check_pcsc_keypad, check_pcsc_keypad): Remove PIN_PADLEN.
+       (pcsc_keypad_verify, pcsc_keypad_modify): Don't check PIN_PADLEN.
+       (send_apdu_ccid, ccid_keypad_operation): Remove PIN_PADLEN.
+       (apdu_check_keypad, apdu_keypad_verify, apdu_keypad_modify):
+       Likewise.
+
+       * scd/apdu.h (apdu_check_keypad, apdu_keypad_verify)
+       (apdu_keypad_modify): Remove PIN_PADLEN.
+
+       * scd/ccid-driver.c (ccid_transceive_secure): Remove PIN_PADLEN.
+
+       * scd/ccid-driver.h (ccid_transceive_secure): Remove PIN_PADLEN.
+
+       * scd/iso7816.c (iso7816_check_keypad, iso7816_verify_kp)
+       (iso7816_change_reference_data_kp): Remove PADLEN.
+
+       * scd/iso7816.h (struct iso7816_pininfo_s): Remove PADLEN, PADCHAR.
+
+       SCD: Add option enable-keypad-varlen and support for GEMPC_PINPAD.
+       * scd/scdaemon.h (opt): Add enable_keypad_varlen.
+       * scd/scdaemon.c (cmd_and_opt_values): Add oEnableKeypadVarlen.
+       (opts, main): Add oEnableKeypadVarlen.
+       * scd/ccid-driver.c (GEMPC_PINPAD): New.
+       (ccid_transceive_secure): Add enable_varlen handling.
+       Enable GEMPC_PINPAD.
+
+       SCD: Support not-so-smart card readers.
+       * scd/ccid-driver.c (struct ccid_driver_s): Add auto_voltage,
+       auto_param, and auto_pps.
+       (parse_ccid_descriptor): Set auto_voltage, auto_param, and auto_pps.
+       Support non-autoconf readers.
+       (update_param_by_atr): New.
+       (ccid_get_atr): Use 5V for PowerOn when auto_voltage is not supported.
+       Use 0x10 when nonnull_nad for SetParameters.
+       Call update_param_by_atr for parsing ATR, and use param for
+       SetParameters.
+       Send PPS if reader requires it and card is negotiable.
+       When bNadValue in the return values of SetParameters == 0,
+       clear handle->nonnull_nad flag.
+
+2013-02-04  NIIBE Yutaka  <gniibe@fsij.org>
+
+       SCD: Hold lock for pinpad input.
+       * scd/apdu.c (apdu_check_keypad, apdu_keypad_verify)
+       (apdu_keypad_modify): Hold lock to serialize communication.
+
+       agent: kill pinentry by SIGINT, fixing a bug to be killed by SIGINT.
+       * agent/call-pinentry.c (atfork_cb): Reset signal mask and signal
+       handler for child process.
+       (agent_popup_message_stop): Send SIGINT (was: SIGKILL).
+
+2013-01-11  Christian Aistleitner  <christian@quelltextlich.at>
+
+       gpg: Fix honoring --cert-digest-algo when recreating a cert.
+       * g10/sign.c (update_keysig_packet): Override original signature's
+       digest algo in hashed data and for hash computation.
+
+2013-01-07  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Update Japanese Translation.
+       * po/ja.po: Fix wrong translations for designated revocation.
+       Reported by Hideki Saito.
+
+2013-01-03  Werner Koch  <wk@gnupg.org>
+
+       gpg: Detect Keybox files and print a diagnostic.
+       * g10/keydb.c (KEYDB_RESOURCE_TYPE_KEYBOX): New.
+       (keydb_add_resource): Handle scheme "gnupg-kbx:".  Detect Keybox
+       magic.  Print wanrning note for Keybox.
+       (keydb_new, keydb_release, keydb_get_resource_name)
+       (lock_all, unlock_all, keydb_get_keyblock)
+       (keydb_update_keyblock, keydb_insert_keyblock, keydb_delete_keyblock)
+       (keydb_locate_writable, keydb_rebuild_caches, keydb_search_reset)
+       (keydb_search2): Ignore Keybox type in switches.
+       * g10/gpg.h (G10ERR_UNSUPPORTED): Map to correct gpg-error value.
+
+2012-12-29  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Update Japanese Translation.
+       * po/ja.po: Fix terms and expressions.
+
+       Update Japanese Translation.
+       * po/ja.po: Translate all untranslated messages.
+
+2012-12-27  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Update Japanese Translation.
+       * po/ja.po: Fix all fuzzy translations.  Fill some of unstanslated
+       messages.
+
+       Update Japanese Translation.
+       * po/ja.po: Remove old entries.
+
+       Update Japanese Translation.
+       * po/ja.po: Fix headers.  Update by msgmerge -U ja.po gnupg2.pot.
+
+       Update Japanese tranlation.
+       * po/ja.po: Change the encoding to UTF-8 (was: EUC-JP).
+
+2012-12-21  David Shaw  <dshaw@jabberwocky.com>
+
+       Make sure srvcount is initialized.
+       * keyserver/gpgkeys_hkp.c (srv_replace): Initialize srvcount.
+
+2012-12-20  Werner Koch  <wk@gnupg.org>
+
+       gpg: Import only packets which are allowed in a keyblock.
+       * g10/import.c (valid_keyblock_packet): New.
+       (read_block): Store only valid packets.
+
+2012-12-19  Werner Koch  <wk@gnupg.org>
+
+       gpg: Make commit 258192d4 actually work.
+       * g10/sign.c (update_keysig_packet): Use digest_algo.
+
+       gpg: Suppress "public key already present" in quiet mode.
+       * g10/pkclist.c (build_pk_list): Print two diagnostics only in
+       non-quiet mode.
+
+2012-12-18  Werner Koch  <wk@gnupg.org>
+
+       jnlib: Add meta option ignore-invalid-option.
+       * jnlib/argparse.c (iio_item_def_s, IIO_ITEM_DEF): New.
+       (initialize): Init field IIO_LIST.
+       (ignore_invalid_option_p): New.
+       (ignore_invalid_option_add): New.
+       (ignore_invalid_option_clear): New.
+       (optfile_parse): Implement meta option.
+
+2012-12-18  David Shaw  <dshaw@jabberwocky.com>
+
+       No point in defaulting try-dns-srv to on if we don't have SRV support.
+       * keyserver/gpgkeys_hkp.c (main): Only default try-dns-srv to on if we
+         have SRV support in the first place.
+
+       Issue 1447: Pass proper Host header and SNI when SRV is used with curl.
+       * configure.ac: Check for inet_ntop.
+
+       * m4/libcurl.m4: Provide a #define for the version of the curl
+         library.
+
+       * keyserver/gpgkeys_hkp.c (main, srv_replace): Call getaddrinfo() on
+         each target.  Once we find one that resolves to an address (whether
+         IPv4 or IPv6), pass it into libcurl via CURLOPT_RESOLVE using the
+         SRV name as the "host".  Force the HTTP Host header to be the same.
+
+2012-12-15  David Shaw  <dshaw@jabberwocky.com>
+
+       Part of issue 1447: Pass proper Host header when SRV is used.
+       * common/http.c (send_request, connect_server): Set proper Host header
+         (no :port, host is that of the SRV) when SRV is used in the
+         curl-shim.
+
+       Fix issue 1446: honor ports given in SRV responses.
+       * common/http.c (send_request, connect_server, http_open): Use a
+         struct srv instead of a single srvtag so we can pass the chosen host
+         and port back to the caller.
+         (connect_server): Use the proper port in the HAVE_GETADDRINFO case.
+
+       * keyserver/curl-shim.c (curl_easy_perform): Use struct srv and log
+         chosen host and port.
+
+       * keyserver/gpgkeys_hkp.c (main): Properly take the port given by SRV.
+
+2012-12-13  NIIBE Yutaka  <gniibe@fsij.org>
+
+       SCD: Fix the process of writing key or generating key.
+       * scd/app-openpgp.c (store_fpr): Flush KEY-FPR and KEY-TIME.
+
+2012-12-07  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Revert SCD changes of 2010-05-03 (scd/ChangeLog 2010-03-17).
+       * scd/apdu.c (pcsc_no_service): Remove.
+       (open_pcsc_reader_direct, open_pcsc_reader_wrapped): Remove
+       pcsc_no_service support.
+       (apdu_open_reader): Remove R_NO_SERVICE.
+       * scd/apdu.h (apdu_open_reader): Remove R_NO_SERVICE.
+       * scd/command.c (reader_disabled): Remove.
+       (get_reader_slot): Follow the change of R_NO_SERVICE.
+       (open_card, cmd_serialno, scd_command_handler): Remove reader_disabled
+       support.
+       * scd/sc-copykeys.c (main): Follow the change of R_NO_SERVICE.
+
+       Don't keep opening unavailable card reader.
+       * scd/command.c (update_reader_status_file): Don't call
+       get_reader_slot.
+
+2012-11-30  David Shaw  <dshaw@jabberwocky.com>
+
+       Update sample keys.
+
+2012-11-29  David Shaw  <dshaw@jabberwocky.com>
+
+       The keyserver search menu should honor --keyid-format.
+       * keyserver.c (print_keyrec): Honor --keyid-format when getting back
+         full fingerprints from the keyserver (the comment in the code was
+         correct, the code was not).
+
+2012-11-27  Werner Koch  <wk@gnupg.org>
+
+       Fix printing of ECC algo names in hkp keyserver listings.
+       * g10/misc.c (map_pk_openpgp_to_gcry): New.
+       * g10/keyserver.c (print_keyrec): Map OpenPGP algorithm ids.
+
+2012-11-06  Werner Koch  <wk@gnupg.org>
+
+       Allow decryption with card keys > 3072 bit.
+       * scd/command.c (MAXLEN_SETDATA): New.
+       (cmd_setdata): Add option --append.
+       * g10/call-agent.c (agent_scd_pkdecrypt): Use new option for long data
+
+       * scd/app-openpgp.c (struct app_local_s): Add field manufacturer.
+       (app_select_openpgp): Store manufacturer.
+       (do_decipher): Print a note for broken cards.
+
+2012-11-02  NIIBE Yutaka  <gniibe@fsij.org>
+
+       agent: Fix wrong use of gcry_sexp_build_array.
+       * findkey.c (agent_public_key_from_file): Fix use of
+       gcry_sexp_build_array.
+
+2012-10-31  NIIBE Yutaka  <gniibe@fsij.org>
+
+       SCD: Upon error, open_pcsc_reader_wrapped does same as _direct.
+       * scd/apdu.c (PCSC_E_NO_SERVICE): New.
+       (open_pcsc_reader_direct): Use PCSC_E_NO_SERVICE.
+       (open_pcsc_reader_wrapped): Set pcsc_no_service.
+
+2012-08-24  Werner Koch  <wk@gnupg.org>
+
+       Update French translation.
+       * po/fr.po: Update.
+
+2012-08-24  David Prévot  <taffit@debian.org>
+
+       Fix typos spotted during translations.
+       agent/genkey.c: s/to to/to/
+       sm/*.c: s/failed to allocated/failed to allocate/
+       sm/certlist.c: s/should have not/should not have/
+
+       Consistency fix:
+
+       * g10/gpg.c, kbx/kbxutil.c, sm/gpgsm.c: uppercase after Syntax
+
+       Actually show translators comments in PO files.
+
+       Keep previous msgids of translated messages.
+       * po/Makefile.in.in: Use --previous with msgmerge.
+
+2012-07-20  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Add forgotten VENDOR_FSIJ to ccid-driver.
+       * scd/ccid-driver.c (ccid_transceive_secure): Handle VENDOR_FSIJ.
+
+2012-06-25  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: handle reader/token removal. * scd/apdu.c (pcsc_error_to_sw): PCSC_E_UNKNOWN_READER means SW_HOST_NO_READER.
+
+       scd: Fix updating slot status. * scd/comman.c (do_reset): Let clear card_removed flag.
+
+       scd: acquire lock in new_reader_slot.
+       * scd/apdu.c (new_reader_slot): Acquire lock.
+         (open_ct_reader, open_pcsc_reader_direct, open_pcsc_reader_wrapped)
+         (open_ccid_reader, open_rapdu_reader): Release lock.
+
+       scd: move lock_slot, trylock_slot, unlock_slot functions.
+       * scd/apdu.c (lock_slot, trylock_slot, unlock_slot): Move.
+
+       scd: Fix merge mistake. * scd/iso7816.c (iso7816_reset_retry_counter): Implement.
+
+2012-06-25  Werner Koch  <wk@gnupg.org>
+
+       scd: Prefer application Geldkarte over DINSIG.
+       * scd/app.c (select_application): Reorder application tests.
+
+2012-06-25  Werner Koch  <wk@gnupg.org>
+           Ben Kibbey  <bjk@luxsci.net>
+
+       scd: Fix for card change returning GPG_ERR_CARD_RESET.
+       * scd/apdu.c (apdu_connect): Do not test for zero atrlen.
+
+2012-06-25  NIIBE Yutaka  <gniibe@fsij.org>
+
+       Merge ccid_driver_improvement branch. (backport)
+       * scd/apdu.c (ccid_keypad_operation): Rename from ccid_keypad_verify.
+       (open_ccid_reader): Use ccid_keypad_operation for verify and modify.
+
+       * scd/ccid-driver.c (VENDOR_VASCO, VASCO_920): New.
+       (ccid_transceive_apdu_level): Permit sending packet where
+       apdulen <= 289.  Support receiving packets in a chain.
+       (ccid_transceive_secure): Maximum is 15 for VASCO DIGIPASS 920.
+       Support keypad_modify method such as CHANGE_REFERENCE_DATA: 0x24.
+
+       Add error log and debug log for pcsc_keypad_verify and pcsc_keypad_modify.
+       * scd/apdu.c (pcsc_keypad_verify): Add debug log and error log.
+       (pcsc_keypad_modify): Likewise.
+
+       Fix pinpad input support for passphrase modification. (backport)
+       * apdu.c (pcsc_keypad_verify): Have dummy Lc field with value 0.
+       (pcsc_keypad_modify): Likewise.
+       (pcsc_keypad_modify): It's only for ISO7816_CHANGE_REFERENCE_DATA.
+       bConfirmPIN value is determined by the parameter p0.
+
+       * app-openpgp.c (do_change_pin): The flag use_keypad should be 0 when
+       reset_mode is on, or resetcode is on.  use_keypad only makes sense for
+       iso7816_change_reference_data_kp.
+
+       * iso7816.h (iso7816_put_data_kp): Remove.
+       (iso7816_reset_retry_counter_kp): Remove.
+       (iso7816_reset_retry_counter_with_rc_kp): Remove.
+       (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
+
+       * iso7816.c (iso7816_put_data_kp): Remove.
+       (iso7816_reset_retry_counter_kp): Remove.
+       (iso7816_reset_retry_counter_with_rc_kp): Remove.
+       (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
+
+       scd: Fix pinpad input support (backport from master)
+       * app-openpgp.c (do_change_pin): Fix pincb messages when
+       use_keypad == 1.
+
+       scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)
+       * iso7816.h (iso7816_change_reference_data_kp): Remove arguments
+       of OLDCHV, OLDCHVLEN, NEWCHV, and NEWCHVLEN.
+
+       * iso7816.c (iso7816_change_reference_data_kp): Call
+       apdu_keypad_modify.
+       (iso7816_change_reference_data): Don't call
+       iso7816_change_reference_data_kp.
+
+       * apdu.h (apdu_keypad_modify): New.
+
+       * apdu.c (pcsc_keypad_modify, apdu_keypad_modify): New.
+       (struct reader_table_s): New memeber function keypad_modify.
+       (new_reader_slot, open_ct_reader, open_ccid_reader)
+       (open_rapdu_reader): Initialize keypad_modify.
+
+       * app-openpgp.c (do_change_pin): Handle keypad and call
+       iso7816_change_reference_data_kp if it is the case.
+
+       scd: PC/SC pinpad support.  (Backported from master.)
+       * iso7816.h (iso7816_verify_kp): Remove arguments of CHV and CHVLEN.
+
+       * iso7816.c (iso7816_verify_kp): Call apdu_keypad_verify. Only
+       handle thecase with PININFO.
+       (iso7816_verify): Call apdu_send_simple.
+
+       * app-openpgp.c (verify_a_chv, verify_chv3): Follow the change of
+       iso7816_verify_kp.
+
+       * app-nks.c (verify_pin): Likewise.
+
+       * app-dinsig.c (verify_pin): Likewise.
+
+       * apdu.c: Include "iso7816.h".
+       (struct reader_table_s): New memeber function keypad_verify.
+       Add fields verify_ioctl and modify_ioctl in pcsc.
+       (CM_IOCTL_GET_FEATURE_REQUEST, FEATURE_VERIFY_PIN_DIRECT)
+       (FEATURE_MODIFY_PIN_DIRECT): New.
+       (pcsc_control): New.
+       (control_pcsc_direct, control_pcsc_wrapped, control_pcsc)
+       (check_pcsc_keypad, pcsc_keypad_verify): New.
+       (ccid_keypad_verify, apdu_keypad_verify): New.
+       (new_reader_slot): Initialize with check_pcsc_keypad,
+       pcsc_keypad_verify, verify_ioctl and modify_ioctl.
+       (open_ct_reader): Initialize keypad_verify with NULL.
+       (open_ccid_reader): Initialize keypad_verify.
+       (open_rapdu_reader): Initialize keypad_verify with NULL.
+       (apdu_open_reader): Initialize pcsc_control.
+
+       * pcsc-wrapper.c (load_pcsc_driver): Initialize pcsc_control.
+       (handle_control): New.
+       (main): Handle the case 6 of handle_control.
+
+       scd fixes on error.
+       * scd/apdu.c (open_pcsc_reader_wrapped): Show error number.
+
+       * scd/command.c (get_reader_slot): Return -1 on error.
+
+       scd: Fix the changes of scd/command.c.
+       * scd/command.c (do_reset): Assign slot after setting slot_table.
+
+2012-06-25  Werner Koch  <wk@gnupg.org>
+
+       scd: Fix resetting and closing of the reader.  (Backported by gniibe)
+       * scd/command.c (update_card_removed): Do no act on an invalid VRDR.
+       (do_reset): Ignore apdu_reset error codes for no and inactive card.
+       Close the reader before setting the slot to -1.
+       (update_reader_status_file): Notify the application before closing the
+       reader.
+
+       scd: Retry command SERIALNO for an inactive card.
+       * scd/command.c (cmd_serialno): Retry once for an inactive card.
+
+       Fix detection of card removal and insertion.
+       * scd/apdu.c (apdu_connect): Return status codes for no card available
+       and inactive card.
+       * scd/command.c (TEST_CARD_REMOVAL): Also test for GPG_ERR_CARD_RESET.
+       (open_card): Map apdu_connect status to GPG_ERR_CARD_RESET.
+
+       Support the Cherry ST-2000 card reader.
+       * scd/ccid-driver.c (SCM_SCR331, SCM_SCR331DI, SCM_SCR335)
+       (SCM_SCR3320, SCM_SPR532, CHERRY_ST2000): New constants.
+       (parse_ccid_descriptor): Use them.
+       (scan_or_find_usb_device, ccid_transceive_secure): Handle Cherry
+       ST-2000.  Suggested by Matthias-Christian Ott.
+
+2012-06-25  NIIBE Yutaka  <gniibe@fsij.org>
+
+       fix wLangId in ccid-driver.c.
+
+2012-05-24  Werner Koch  <wk@gnupg.org>
+
+       Add provisions to build with Libgcrypt 1.6.
+       Replace gcry_md_start_debug by gcry_md_debug in all files.
+
+       * agent/gpg-agent.c (fixed_gcry_pth_init): Use only if
+       GCRY_THREAD_OPTION_VERSION is 0
+       * scd/scdaemon.c (fixed_gcry_pth_init): Ditto.
+
+       Print the hash algorithm in colon mode key listing.
+       * g10/keylist.c (list_keyblock_colon): Print digest_algo.
+
+2012-05-08  Werner Koch  <wk@gnupg.org>
+
+       common: Remove generated files only during maintainer-clean.
+       * common/Makefile.am (CLEANFILES): Rename to MAINTAINERCLEANFILES.
+
+       Fix copyright years.
+       * scripts/git-log-footer: Add more years; we actually published the
+       first code in 1997.
+
+2012-03-30  Werner Koch  <wk@gnupg.org>
+
+       Cast second value of a ?: to void in estream.c.
+       * common/estream.c (ESTREAM_MUTEX_LOCK): Cast pth_mutex_acquire result
+       to void.  Some compilers choke on mixing void and int in an
+       conditional operator.  Reported by Nelson H. F. Beebe.
+
 2012-03-27  Werner Koch  <wk@gnupg.org>
 
        Release 2.0.19.
        details.
 
         -----
-       Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-                     2010, 2011 Free Software Foundation, Inc.
+       Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+                      2005, 2006, 2007, 2008, 2009, 2010, 2011,
+                      2012 Free Software Foundation, Inc.
 
        Copying and distribution of this file and/or the original GIT
        commit log messages, with or without modification, are
index db8950b..ebf3daf 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -101,6 +118,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -122,6 +144,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(docdir)"
 DATA = $(dist_doc_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
@@ -137,9 +165,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -168,6 +198,8 @@ am__relativize = \
 GZIP_ENV = --best
 DIST_ARCHIVES = $(distdir).tar.bz2
 distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
 ACLOCAL = @ACLOCAL@
@@ -185,7 +217,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -398,7 +434,7 @@ all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-am--refresh:
+am--refresh: Makefile
        @:
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
@@ -434,10 +470,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
+       @if test ! -f $@; then rm -f stamp-h1; else :; fi
+       @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
        @rm -f stamp-h1
@@ -451,8 +485,11 @@ distclean-hdr:
        -rm -f config.h stamp-h1
 install-dist_docDATA: $(dist_doc_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
        @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -466,9 +503,7 @@ uninstall-dist_docDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(docdir)" && rm -f $$files
+       dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -639,13 +674,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -679,7 +711,11 @@ dist-gzip: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
        $(am__remove_distdir)
 dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist-lzip: distdir
+       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
        $(am__remove_distdir)
 
 dist-lzma: distdir
@@ -687,7 +723,7 @@ dist-lzma: distdir
        $(am__remove_distdir)
 
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
        $(am__remove_distdir)
 
 dist-tarZ: distdir
@@ -704,7 +740,7 @@ dist-zip: distdir
        $(am__remove_distdir)
 
 dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
        $(am__remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
@@ -718,6 +754,8 @@ distcheck: dist
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lzma*) \
          lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+       *.tar.lz*) \
+         lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
          xz -dc $(distdir).tar.xz | $(am__untar) ;;\
        *.tar.Z*) \
@@ -727,7 +765,7 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       chmod -R a-w $(distdir); chmod u+w $(distdir)
        mkdir $(distdir)/_build
        mkdir $(distdir)/_inst
        chmod a-w $(distdir)
@@ -737,6 +775,7 @@ distcheck: dist
          && am__cwd=`pwd` \
          && $(am__cd) $(distdir)/_build \
          && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(AM_DISTCHECK_CONFIGURE_FLAGS) \
            $(DISTCHECK_CONFIGURE_FLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -765,8 +804,16 @@ distcheck: dist
          list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+       @test -n '$(distuninstallcheck_dir)' || { \
+         echo 'ERROR: trying to run $@ with an empty' \
+              '$$(distuninstallcheck_dir)' >&2; \
+         exit 1; \
+       }; \
+       $(am__cd) '$(distuninstallcheck_dir)' || { \
+         echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+         exit 1; \
+       }; \
+       test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
           || { echo "ERROR: files left after uninstall:" ; \
                if test -n "$(DESTDIR)"; then \
                  echo "  (check DESTDIR support)"; \
@@ -800,10 +847,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -891,8 +943,8 @@ uninstall-am: uninstall-dist_docDATA
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am am--refresh check check-am clean clean-generic \
        ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-       dist-hook dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-       distcheck distclean distclean-generic distclean-hdr \
+       dist-hook dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
+       dist-zip distcheck distclean distclean-generic distclean-hdr \
        distclean-tags distcleancheck distdir distuninstallcheck dvi \
        dvi-am html html-am info info-am install install-am \
        install-data install-data-am install-dist_docDATA install-dvi \
diff --git a/NEWS b/NEWS
index 39b3438..70c2773 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,149 @@
+Noteworthy changes in version 2.0.26 (2014-08-12)
+-------------------------------------------------
+
+ * gpg: Fix a regression in 2.0.24 if a subkey id is given
+   to --recv-keys et al.
+
+ * gpg: Cap attribute packets at 16MB.
+
+ * gpgsm: Auto-create the ".gnupg" home directory in the same
+   way gpg does.
+
+ * scdaemon: Allow for certificates > 1024 when using PC/SC.
+
+
+Noteworthy changes in version 2.0.25 (2014-06-30)
+-------------------------------------------------
+
+ * gpg: Fix a regression in 2.0.24 if more than one keyid is given
+   to --recv-keys et al.
+
+ * gpg: Cap RSA and Elgamal keysize at 4096 bit also for unattended
+   key generation.
+
+ * gpgsm: Fix a DISPLAY related problem with --export-secret-key-p12.
+
+ * scdaemon: Support reader Gemalto IDBridge CT30.
+
+
+Noteworthy changes in version 2.0.24 (2014-06-24)
+-------------------------------------------------
+
+ * gpg: Avoid DoS due to garbled compressed data packets. [CVE-2014-4617]
+
+ * gpg: Screen keyserver responses to avoid importing unwanted keys
+   from rogue servers.
+
+ * gpg: The validity of user ids is now shown by default.  To revert
+   this add "list-options no-show-uid-validity" to gpg.conf.
+
+ * gpg: Print more specific reason codes with the INV_RECP status.
+
+ * gpg: Allow loading of a cert only key to an OpenPGP card.
+
+ * gpg-agent: Make ssh support for ECDSA keys work with Libgcrypt 1.6.
+
+
+Noteworthy changes in version 2.0.23 (2014-06-03)
+-------------------------------------------------
+
+ * gpg: Reject signatures made using the MD5 hash algorithm unless the
+   new option --allow-weak-digest-algos or --pgp2 are given.
+
+ * gpg: Do not create a trustdb file if --trust-model=always is used.
+
+ * gpg: Only the major version number is by default included in the
+   armored output.
+
+ * gpg: Print a warning if the Gnome-Keyring-Daemon intercepts the
+   communication with the gpg-agent.
+
+ * gpg: The format of the fallback key listing ("gpg KEYFILE") is now more
+   aligned to the regular key listing ("gpg -k").
+
+ * gpg: The option--show-session-key prints its output now before the
+   decryption of the bulk message starts.
+
+ * gpg: New %U expando for the photo viewer.
+
+ * gpgsm: Improved handling of re-issued CA certificates.
+
+ * scdaemon: Various fixes for pinpad equipped card readers.
+
+ * Minor bug fixes.
+
+
+Noteworthy changes in version 2.0.22 (2013-10-04)
+-------------------------------------------------
+
+ * Fixed possible infinite recursion in the compressed packet
+   parser. [CVE-2013-4402]
+
+ * Improved support for some card readers.
+
+ * Prepared building with the forthcoming Libgcrypt 1.6.
+
+ * Protect against rogue keyservers sending secret keys.
+
+
+Noteworthy changes in version 2.0.21 (2013-08-19)
+-------------------------------------------------
+
+ * gpg-agent: By default the users are now asked via the Pinentry
+   whether they trust an X.509 root key.  To prohibit interactive
+   marking of such keys, the new option --no-allow-mark-trusted may
+   be used.
+
+ * gpg-agent: The command KEYINFO has options to add info from
+   sshcontrol.
+
+ * The included ssh agent does now support ECDSA keys.
+
+ * The new option --enable-putty-support allows gpg-agent to act on
+   Windows as a Pageant replacement with full smartcard support.
+
+ * Support installation as portable application under Windows.
+
+
+Noteworthy changes in version 2.0.20 (2013-05-10)
+-------------------------------------------------
+
+ * Decryption using smartcards keys > 3072 bit does now work.
+
+ * New meta option ignore-invalid-option to allow using the same
+   option file by other GnuPG versions.
+
+ * gpg: The hash algorithm is now printed for sig records in key listings.
+
+ * gpg: Skip invalid keyblock packets during import to avoid a DoS.
+
+ * gpg: Correctly handle ports from DNS SRV records.
+
+ * keyserver: Improve use of SRV records
+
+ * gpg-agent: Avoid tty corruption when killing pinentry.
+
+ * scdaemon: Improve detection of card insertion and removal.
+
+ * scdaemon: Rename option --disable-keypad to --disable-pinpad.
+
+ * scdaemon: Better support for CCID readers.  Now, the internal CCID
+   driver supports readers without the auto configuration feature.
+
+ * scdaemon: Add pinpad input for PC/SC, if your reader has pinpad and
+   it supports variable length PIN input, and you specify
+   --enable-pinpad-varlen option.
+
+ * scdaemon: New option --enable-pinpad-varlen.
+
+ * scdaemon: Install into libexecdir to avoid accidental execution
+   from the command line.
+
+ * Support building using w64-mingw32.
+
+ * Assorted bug fixes.
+
+
 Noteworthy changes in version 2.0.19 (2012-03-27)
 -------------------------------------------------
 
diff --git a/README b/README
index e7289c9..7c4e906 100644 (file)
--- a/README
+++ b/README
@@ -1,10 +1,11 @@
-                       The GNU Privacy Guard 2
-                      =========================
-                             Version 2.0
+                       The GNU Privacy Guard
+                      =======================
+                            Version 2.0
 
    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004,
              2005, 2006, 2007, 2008, 2009, 2010, 2011,
-             2012 Free Software Foundation, Inc.
+             2012, 2013 Free Software Foundation, Inc.
+   Copyright 1997, 1998, 2013, 2014 Werner Koch
 
 
 INTRODUCTION
@@ -68,6 +69,16 @@ Note that the PKITS tests are always skipped unless you copy the PKITS
 test data file into the tests/pkits directory.
 
 
+INCOMPATIBLE CHANGES
+====================
+
+- With 2.0.20 the scdaemon option 'disable-keypad' has been renamed to
+  'disable-pinpad'.  If you are using this option in scdaemon.conf you
+  should rename it there.  In case you are using this option to work
+  around a problem with your card reader, you may want to test whether
+  this version of GnuPG works better with your reader.
+
+
 DOCUMENTATION
 =============
 
@@ -98,7 +109,8 @@ dependency on other modules at run and build time.
 HOW TO GET MORE INFORMATION
 ===========================
 
-The primary WWW page is "http://www.gnupg.org"
+The primary WWW page is "https://www.gnupg.org"
+           or using TOR "http://ic6au7wa3f6naxjq.onion"
 The primary FTP site is "ftp://ftp.gnupg.org/gcrypt/"
 
 See http://www.gnupg.org/download/mirrors.html for a list of mirrors
@@ -137,8 +149,12 @@ authors directly as we are busy working on improvements and bug fixes.
 The English and German mailing lists are watched by the authors and we
 try to answer questions when time allows us to do so.
 
-Commercial grade support for GnuPG is available; please see
-<http://www.gnupg.org/service.html>.
+Commercial grade support for GnuPG is available; for a listing of
+offers see https://www.gnupg.org/service.html .  Maintaining and
+improving GnuPG is costly.  For more than a decade, g10 Code GmbH, a
+German company owned and headed by GnuPG's principal author Werner
+Koch, is bearing the majority of these costs.  To help them carry on
+this work, they need your support.  See https://gnupg.org/donate/ .
 
 
   This file is Free Software; as a special exception the authors gives
@@ -148,4 +164,3 @@ Commercial grade support for GnuPG is available; please see
   distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY, to the extent permitted by law; without even the implied
   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
diff --git a/THANKS b/THANKS
index 10e8631..7a87406 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -165,6 +165,7 @@ Martin Schulte                 schulte at thp.uni-koeln.de
 Matt Kraai                 kraai at alumni.carnegiemellon.edu
 Matthew Skala             mskala at ansuz.sooke.bc.ca
 Matthew Wilcox             matthew at wil.cx
+Matthias-Christian Ott     ott at mirix.org
 Matthias Urlichs          smurf at noris.de
 Max Valianskiy            maxcom at maxcom.ml.org
 Michael Engels             michael.engels at uni-duesseldorf.de
diff --git a/VERSION b/VERSION
index ed2af5c..f6ee962 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.19
+2.0.26
index 54c1b19..5f59a05 100644 (file)
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# intlmacosx.m4 serial 1 (gettext-0.17)
-dnl Copyright (C) 2004-2007 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 3 (gettext-0.18)
+dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -40,7 +41,7 @@ AC_DEFUN([gt_INTL_MACOSX],
 [
   dnl Check for API introduced in MacOS X 10.2.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
@@ -49,11 +50,11 @@ AC_DEFUN([gt_INTL_MACOSX],
        [gt_cv_func_CFPreferencesCopyAppValue=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
       [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
   fi
   dnl Check for API introduced in MacOS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
@@ -61,7 +62,7 @@ AC_DEFUN([gt_INTL_MACOSX],
        [gt_cv_func_CFLocaleCopyCurrent=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
       [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
   fi
   INTL_MACOSX_LIBS=
@@ -71,8 +72,8 @@ AC_DEFUN([gt_INTL_MACOSX],
   AC_SUBST([INTL_MACOSX_LIBS])
 ])
 
-# longlong.m4 serial 13
-dnl Copyright (C) 1999-2007 Free Software Foundation, Inc.
+# longlong.m4 serial 14
+dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -93,33 +94,33 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
     [AC_LINK_IFELSE(
        [_AC_TYPE_LONG_LONG_SNIPPET],
        [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
-       dnl If cross compiling, assume the bug isn't important, since
-       dnl nobody cross compiles for this platform as far as we know.
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[@%:@include <limits.h>
-              @%:@ifndef LLONG_MAX
-              @%:@ define HALF \
-                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-              @%:@ define LLONG_MAX (HALF - 1 + HALF)
-              @%:@endif]],
-            [[long long int n = 1;
-              int i;
-              for (i = 0; ; i++)
-                {
-                  long long int m = n << i;
-                  if (m >> i != n)
-                    return 1;
-                  if (LLONG_MAX / 2 < m)
-                    break;
-                }
-              return 0;]])],
-         [ac_cv_type_long_long_int=yes],
-         [ac_cv_type_long_long_int=no],
-         [ac_cv_type_long_long_int=yes])],
+        dnl If cross compiling, assume the bug isn't important, since
+        dnl nobody cross compiles for this platform as far as we know.
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[@%:@include <limits.h>
+               @%:@ifndef LLONG_MAX
+               @%:@ define HALF \
+                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+               @%:@ define LLONG_MAX (HALF - 1 + HALF)
+               @%:@endif]],
+             [[long long int n = 1;
+               int i;
+               for (i = 0; ; i++)
+                 {
+                   long long int m = n << i;
+                   if (m >> i != n)
+                     return 1;
+                   if (LLONG_MAX / 2 < m)
+                     break;
+                 }
+               return 0;]])],
+          [ac_cv_type_long_long_int=yes],
+          [ac_cv_type_long_long_int=no],
+          [ac_cv_type_long_long_int=yes])],
        [ac_cv_type_long_long_int=no])])
   if test $ac_cv_type_long_long_int = yes; then
-    AC_DEFINE([HAVE_LONG_LONG_INT], 1,
+    AC_DEFINE([HAVE_LONG_LONG_INT], [1],
       [Define to 1 if the system has the type `long long int'.])
   fi
 ])
@@ -142,7 +143,7 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
        [ac_cv_type_unsigned_long_long_int=yes],
        [ac_cv_type_unsigned_long_long_int=no])])
   if test $ac_cv_type_unsigned_long_long_int = yes; then
-    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
+    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
       [Define to 1 if the system has the type `unsigned long long int'.])
   fi
 ])
@@ -155,38 +156,38 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
 AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
 [
   AC_LANG_PROGRAM(
-    [[/* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
+    [[/* For now, do not test the preprocessor; as of 2007 there are too many
+         implementations with broken preprocessors.  Perhaps this can
+         be revisited in 2012.  In the meantime, code should not expect
+         #if to work with literals wider than 32 bits.  */
       /* Test literals.  */
       long long int ll = 9223372036854775807ll;
       long long int nll = -9223372036854775807LL;
       unsigned long long int ull = 18446744073709551615ULL;
       /* Test constant expressions.   */
       typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       int i = 63;]],
     [[/* Test availability of runtime routines for shift and division.  */
       long long int llmax = 9223372036854775807ll;
       unsigned long long int ullmax = 18446744073709551615ull;
       return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));]])
+              | (llmax / ll) | (llmax % ll)
+              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+              | (ullmax / ull) | (ullmax % ull));]])
 ])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -196,7 +197,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -212,19 +213,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -306,14 +309,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
+# serial 12
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -353,6 +356,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -417,7 +421,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
        break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -482,10 +486,13 @@ AC_DEFUN([AM_DEP_TRACK],
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -719,12 +726,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -764,8 +774,8 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -785,7 +795,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
 [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
@@ -931,12 +941,15 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
@@ -959,13 +972,14 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -973,13 +987,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -1055,12 +1069,14 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
@@ -1083,13 +1099,13 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -1098,13 +1114,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1126,10 +1142,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
 m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
      [m4_case([$1], [ustar],, [pax],,
               [m4_fatal([Unknown tar format])])
 AC_MSG_CHECKING([how to create a $1 tar archive])
index cc8a22a..55c374c 100644 (file)
@@ -21,14 +21,17 @@ bin_PROGRAMS = gpg-agent
 libexec_PROGRAMS = gpg-protect-tool gpg-preset-passphrase
 noinst_PROGRAMS = $(TESTS)
 
-# EXTRA_DIST = gpg-agent.ico gpg-agent-resource.rc
-EXTRA_DIST = ChangeLog-2011
+EXTRA_DIST = ChangeLog-2011 gpg-agent-w32info.rc
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common -I$(top_srcdir)/intl
 
 include $(top_srcdir)/am/cmacros.am
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+if HAVE_W32_SYSTEM
+resource_objs += gpg-agent-w32info.o
+endif
+
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 
 gpg_agent_SOURCES = \
        gpg-agent.c agent.h \
@@ -50,25 +53,12 @@ common_libs = $(libcommon) ../jnlib/libjnlib.a ../gl/libgnu.a
 commonpth_libs = $(libcommonpth) ../jnlib/libjnlib.a ../gl/libgnu.a
 pwquery_libs = ../common/libsimple-pwquery.a
 
-#if HAVE_W32_SYSTEM
-#.rc.o:
-#      $(WINDRES) `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
-#       sed -e 's/-I/--include-dir /g;s/-D/--define /g'` -i $< -o $@
-#
-#gpg_agent_res_ldflags = -Wl,gpg-agent-resource.o -Wl,--subsystem,windows
-#gpg_agent_res_deps = gpg-agent-resource.o
-#else
-gpg_agent_res_ldflags =
-gpg_agent_res_deps =
-#endif
-
 
 gpg_agent_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
 gpg_agent_LDADD = $(commonpth_libs) \
                 $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
-               $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV)
-gpg_agent_LDFLAGS = $(gpg_agent_res_ldflags)
-gpg_agent_DEPENDENCIES = $(gpg_agent_res_deps)
+               $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+               $(resource_objs)
 
 gpg_protect_tool_SOURCES = \
        protect-tool.c \
@@ -104,7 +94,3 @@ t_common_ldadd = $(common_libs) \
 
 t_protect_SOURCES = t-protect.c protect.c
 t_protect_LDADD = $(t_common_ldadd)
-
-
-
-
index e8aa48f..6679013 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -90,6 +107,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GNUPG_SCDAEMON_PGM_TRUE@am__append_4 = -DGNUPG_DEFAULT_SCDAEMON="\"@GNUPG_SCDAEMON_PGM@\""
 @GNUPG_DIRMNGR_PGM_TRUE@am__append_5 = -DGNUPG_DEFAULT_DIRMNGR="\"@GNUPG_DIRMNGR_PGM@\""
 @GNUPG_PROTECT_TOOL_PGM_TRUE@am__append_6 = -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
+@HAVE_W32_SYSTEM_TRUE@am__append_7 = gpg-agent-w32info.o
 TESTS = t-protect$(EXEEXT)
 subdir = agent
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -134,8 +152,12 @@ am_gpg_agent_OBJECTS = gpg_agent-gpg-agent.$(OBJEXT) \
        gpg_agent-call-scd.$(OBJEXT) gpg_agent-learncard.$(OBJEXT)
 gpg_agent_OBJECTS = $(am_gpg_agent_OBJECTS)
 am__DEPENDENCIES_1 =
-gpg_agent_LINK = $(CCLD) $(gpg_agent_CFLAGS) $(CFLAGS) \
-       $(gpg_agent_LDFLAGS) $(LDFLAGS) -o $@
+gpg_agent_DEPENDENCIES = $(commonpth_libs) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(resource_objs)
+gpg_agent_LINK = $(CCLD) $(gpg_agent_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
 am_gpg_preset_passphrase_OBJECTS = preset-passphrase.$(OBJEXT)
 gpg_preset_passphrase_OBJECTS = $(am_gpg_preset_passphrase_OBJECTS)
 gpg_preset_passphrase_DEPENDENCIES = $(pwquery_libs) $(common_libs) \
@@ -170,6 +192,11 @@ SOURCES = $(gpg_agent_SOURCES) $(gpg_preset_passphrase_SOURCES) \
        $(gpg_protect_tool_SOURCES) $(t_protect_SOURCES)
 DIST_SOURCES = $(gpg_agent_SOURCES) $(gpg_preset_passphrase_SOURCES) \
        $(gpg_protect_tool_SOURCES) $(t_protect_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -191,7 +218,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -369,18 +400,17 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-
-# EXTRA_DIST = gpg-agent.ico gpg-agent-resource.rc
-EXTRA_DIST = ChangeLog-2011
+EXTRA_DIST = ChangeLog-2011 gpg-agent-w32info.rc
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common \
        -I$(top_srcdir)/intl -DLOCALEDIR=\"$(localedir)\" \
        $(am__append_1) $(am__append_2) $(am__append_3) \
        $(am__append_4) $(am__append_5) $(am__append_6)
+resource_objs = $(am__append_7)
 
 # Convenience macros
 libcommon = ../common/libcommon.a
 libcommonpth = ../common/libcommonpth.a
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 gpg_agent_SOURCES = \
        gpg-agent.c agent.h \
        command.c command-ssh.c \
@@ -400,25 +430,12 @@ gpg_agent_SOURCES = \
 common_libs = $(libcommon) ../jnlib/libjnlib.a ../gl/libgnu.a
 commonpth_libs = $(libcommonpth) ../jnlib/libjnlib.a ../gl/libgnu.a
 pwquery_libs = ../common/libsimple-pwquery.a
-
-#if HAVE_W32_SYSTEM
-#.rc.o:
-#      $(WINDRES) `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
-#       sed -e 's/-I/--include-dir /g;s/-D/--define /g'` -i $< -o $@
-#
-#gpg_agent_res_ldflags = -Wl,gpg-agent-resource.o -Wl,--subsystem,windows
-#gpg_agent_res_deps = gpg-agent-resource.o
-#else
-gpg_agent_res_ldflags = 
-gpg_agent_res_deps = 
-#endif
 gpg_agent_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
 gpg_agent_LDADD = $(commonpth_libs) \
                 $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
-               $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV)
+               $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+               $(resource_objs)
 
-gpg_agent_LDFLAGS = $(gpg_agent_res_ldflags)
-gpg_agent_DEPENDENCIES = $(gpg_agent_res_deps)
 gpg_protect_tool_SOURCES = \
        protect-tool.c \
        protect.c \
@@ -445,7 +462,7 @@ t_protect_LDADD = $(t_common_ldadd)
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -467,6 +484,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -478,8 +496,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -515,8 +536,11 @@ clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
        @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -553,16 +577,16 @@ clean-libexecPROGRAMS:
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-gpg-agent$(EXEEXT): $(gpg_agent_OBJECTS) $(gpg_agent_DEPENDENCIES) 
+gpg-agent$(EXEEXT): $(gpg_agent_OBJECTS) $(gpg_agent_DEPENDENCIES) $(EXTRA_gpg_agent_DEPENDENCIES) 
        @rm -f gpg-agent$(EXEEXT)
        $(gpg_agent_LINK) $(gpg_agent_OBJECTS) $(gpg_agent_LDADD) $(LIBS)
-gpg-preset-passphrase$(EXEEXT): $(gpg_preset_passphrase_OBJECTS) $(gpg_preset_passphrase_DEPENDENCIES) 
+gpg-preset-passphrase$(EXEEXT): $(gpg_preset_passphrase_OBJECTS) $(gpg_preset_passphrase_DEPENDENCIES) $(EXTRA_gpg_preset_passphrase_DEPENDENCIES) 
        @rm -f gpg-preset-passphrase$(EXEEXT)
        $(LINK) $(gpg_preset_passphrase_OBJECTS) $(gpg_preset_passphrase_LDADD) $(LIBS)
-gpg-protect-tool$(EXEEXT): $(gpg_protect_tool_OBJECTS) $(gpg_protect_tool_DEPENDENCIES) 
+gpg-protect-tool$(EXEEXT): $(gpg_protect_tool_OBJECTS) $(gpg_protect_tool_DEPENDENCIES) $(EXTRA_gpg_protect_tool_DEPENDENCIES) 
        @rm -f gpg-protect-tool$(EXEEXT)
        $(gpg_protect_tool_LINK) $(gpg_protect_tool_OBJECTS) $(gpg_protect_tool_LDADD) $(LIBS)
-t-protect$(EXEEXT): $(t_protect_OBJECTS) $(t_protect_DEPENDENCIES) 
+t-protect$(EXEEXT): $(t_protect_OBJECTS) $(t_protect_DEPENDENCIES) $(EXTRA_t_protect_DEPENDENCIES) 
        @rm -f t-protect$(EXEEXT)
        $(LINK) $(t_protect_OBJECTS) $(t_protect_LDADD) $(LIBS)
 
@@ -993,14 +1017,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -1052,10 +1077,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -1155,6 +1185,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libexecPROGRAMS
        uninstall-libexecPROGRAMS
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
 $(PROGRAMS): $(common_libs) $(commonpth_libs) $(pwquery_libs)
index 15cf8bf..938a9aa 100644 (file)
@@ -126,7 +126,14 @@ struct
 #define DBG_HASHING (opt.debug & DBG_HASHING_VALUE)
 #define DBG_ASSUAN  (opt.debug & DBG_ASSUAN_VALUE)
 
+/* Forward reference for local definitions in command.c.  */
 struct server_local_s;
+
+/* Declaration of objects from command-ssh.c.  */
+struct ssh_control_file_s;
+typedef struct ssh_control_file_s *ssh_control_file_t;
+
+/* Forward reference for local definitions in call-scd.c.  */
 struct scd_local_s;
 
 /* Collection of data per session (aka connection). */
@@ -220,8 +227,22 @@ gpg_error_t agent_write_status (ctrl_t ctrl, const char *keyword, ...)
 void bump_key_eventcounter (void);
 void bump_card_eventcounter (void);
 void start_command_handler (ctrl_t, gnupg_fd_t, gnupg_fd_t);
+#ifdef HAVE_W32_SYSTEM
+int serve_mmapped_ssh_request (ctrl_t ctrl,
+                               unsigned char *request, size_t maxreqlen);
+#endif /*HAVE_W32_SYSTEM*/
 
 /*-- command-ssh.c --*/
+ssh_control_file_t ssh_open_control_file (void);
+void ssh_close_control_file (ssh_control_file_t cf);
+gpg_error_t ssh_read_control_file (ssh_control_file_t cf,
+                                   char *r_hexgrip, int *r_disabled,
+                                   int *r_ttl, int *r_confirm);
+gpg_error_t ssh_search_control_file (ssh_control_file_t cf,
+                                     const char *hexgrip,
+                                     int *r_disabled,
+                                     int *r_ttl, int *r_confirm);
+
 void start_command_handler_ssh (ctrl_t, gnupg_fd_t);
 
 /*-- findkey.c --*/
index ad1bd03..c945c13 100644 (file)
@@ -170,6 +170,16 @@ static void
 atfork_cb (void *opaque, int where)
 {
   ctrl_t ctrl = opaque;
+#ifndef HAVE_W32_SYSTEM
+  struct sigaction sa;
+
+  /* Pop up message should be able to be killed by SIGINT.  */
+  sigemptyset (&sa.sa_mask);
+  sa.sa_handler = SIG_DFL;
+  sa.sa_flags = 0;
+  sigaction (SIGINT, &sa, NULL);
+  sigprocmask (SIG_SETMASK, &sa.sa_mask, NULL); /* Unblock all signals.  */
+#endif
 
   if (!where)
     {
@@ -770,7 +780,7 @@ agent_askpin (ctrl_t ctrl,
 
       if (errtext)
         { 
-          /* TRANLATORS: The string is appended to an error message in
+          /* TRANSLATORS: The string is appended to an error message in
              the pinentry.  The %s is the actual error message, the
              two %d give the current and maximum number of tries. */
           snprintf (line, DIM(line)-1, _("SETERROR %s (try %d of %d)"),
@@ -1159,8 +1169,7 @@ agent_popup_message_stop (ctrl_t ctrl)
         assuan_set_flag (entry_ctx, ASSUAN_NO_WAITPID, 1);
     }
   else if (pid > 0)
-    kill (pid, SIGKILL);  /* Need to use SIGKILL due to bad
-                             interaction of SIGINT with Pth. */
+    kill (pid, SIGINT);
 #endif
 
   /* Now wait for the thread to terminate. */
index 5a43377..9a2e65e 100644 (file)
@@ -750,7 +750,7 @@ inq_needpin (void *opaque, const char *line)
         rc = assuan_send_data (parm->ctx, pin, pinlen);
       xfree (pin);
     }
-  else if (!strncmp (line, "POPUPKEYPADPROMPT", 17)
+  else if (!strncmp (line, "POPUPPINPADPROMPT", 17)
            && (line[17] == ' ' || !line[17]))
     {
       line += 17;
@@ -759,7 +759,7 @@ inq_needpin (void *opaque, const char *line)
       
       rc = parm->getpin_cb (parm->getpin_cb_arg, line, NULL, 1);
     }
-  else if (!strncmp (line, "DISMISSKEYPADPROMPT", 19)
+  else if (!strncmp (line, "DISMISSPINPADPROMPT", 19)
            && (line[19] == ' ' || !line[19]))
     {
       rc = parm->getpin_cb (parm->getpin_cb_arg, "", NULL, 0);
index 2f96ef5..3583ea0 100644 (file)
@@ -1,5 +1,6 @@
 /* command-ssh.c - gpg-agent's ssh-agent emulation layer
- * Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2009, 2012 Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-/* Only v2 of the ssh-agent protocol is implemented.  */
+/* Only v2 of the ssh-agent protocol is implemented.  Relevant RFCs
+   are:
+
+   RFC-4250 - Protocol Assigned Numbers
+   RFC-4251 - Protocol Architecture
+   RFC-4252 - Authentication Protocol
+   RFC-4253 - Transport Layer Protocol
+   RFC-5656 - ECC support
+
+   The protocol for the agent is defined in OpenSSH's PROTOCL.agent
+   file.
+  */
 
 #include <config.h>
 
@@ -27,7 +39,6 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <dirent.h>
 #include <assert.h>
 
 #include "agent.h"
 #define SSH_DSA_SIGNATURE_PADDING 20
 #define SSH_DSA_SIGNATURE_ELEMS    2
 #define SPEC_FLAG_USE_PKCS1V2 (1 << 0)
+#define SPEC_FLAG_IS_ECDSA    (1 << 1)
 
+/* The name of the control file.  */
+#define SSH_CONTROL_FILE_NAME "sshcontrol"
 
 /* The blurb we put into the header of a newly created control file.  */
 static const char sshcontrolblurb[] =
@@ -75,12 +89,11 @@ static const char sshcontrolblurb[] =
 "# the format of the entries is fixed and checked by gpg-agent. A\n"
 "# non-comment line starts with optional white spaces, followed by the\n"
 "# keygrip of the key given as 40 hex digits, optionally followed by a\n"
-"# the caching TTL in seconds and another optional field for arbitrary\n"
+"# caching TTL in seconds, and another optional field for arbitrary\n"
 "# flags.   Prepend the keygrip with an '!' mark to disable it.\n"
 "\n";
 
 
-
 /* Macros.  */
 
 /* Return a new uint32 with b0 being the most significant byte and b3
@@ -100,6 +113,10 @@ typedef gpg_error_t (*ssh_request_handler_t) (ctrl_t ctrl,
                                              estream_t request,
                                              estream_t response);
 
+
+struct ssh_key_type_spec;
+typedef struct ssh_key_type_spec ssh_key_type_spec_t;
+
 /* Type, which is used for associating request handlers with the
    appropriate request IDs.  */
 typedef struct ssh_request_spec
@@ -120,12 +137,13 @@ typedef gpg_error_t (*ssh_key_modifier_t) (const char *elems,
 /* The encoding of a generated signature is dependent on the
    algorithm; therefore algorithm specific signature encoding
    functions are necessary.  */
-typedef gpg_error_t (*ssh_signature_encoder_t) (estream_t signature_blob,
+typedef gpg_error_t (*ssh_signature_encoder_t) (ssh_key_type_spec_t *spec,
+                                                estream_t signature_blob,
                                                gcry_mpi_t *mpis);
 
 /* Type, which is used for boundling all the algorithm specific
    information together in a single object.  */
-typedef struct ssh_key_type_spec
+struct ssh_key_type_spec
 {
   /* Algorithm identifier as used by OpenSSH.  */
   const char *ssh_identifier;
@@ -158,9 +176,32 @@ typedef struct ssh_key_type_spec
      algorithm.  */
   ssh_signature_encoder_t signature_encoder;
 
+  /* The name of the ECC curve or NULL.  */
+  const char *curve_name;
+
+  /* The hash algorithm to be used with this key.  0 for using the
+     default.  */
+  int hash_algo;
+
   /* Misc flags.  */
   unsigned int flags;
-} ssh_key_type_spec_t;
+};
+
+
+/* Definition of an object to access the sshcontrol file.  */
+struct ssh_control_file_s
+{
+  char *fname;  /* Name of the file.  */
+  FILE *fp;     /* This is never NULL. */
+  int lnr;      /* The current line number.  */
+  struct {
+    int valid;           /* True if the data of this structure is valid.  */
+    int disabled;        /* The item is disabled.  */
+    int ttl;             /* The TTL of the item.   */
+    int confirm;         /* The confirm flag is set.  */
+    char hexgrip[40+1];  /* The hexgrip of the item (uppercase).  */
+  } item;
+};
 
 
 /* Prototypes.  */
@@ -187,10 +228,15 @@ static gpg_error_t ssh_handler_unlock (ctrl_t ctrl,
                                       estream_t response);
 
 static gpg_error_t ssh_key_modifier_rsa (const char *elems, gcry_mpi_t *mpis);
-static gpg_error_t ssh_signature_encoder_rsa (estream_t signature_blob,
+static gpg_error_t ssh_signature_encoder_rsa (ssh_key_type_spec_t *spec,
+                                              estream_t signature_blob,
                                               gcry_mpi_t *mpis);
-static gpg_error_t ssh_signature_encoder_dsa (estream_t signature_blob,
+static gpg_error_t ssh_signature_encoder_dsa (ssh_key_type_spec_t *spec,
+                                              estream_t signature_blob,
                                               gcry_mpi_t *mpis);
+static gpg_error_t ssh_signature_encoder_ecdsa (ssh_key_type_spec_t *spec,
+                                                estream_t signature_blob,
+                                                gcry_mpi_t *mpis);
 
 
 
@@ -223,13 +269,29 @@ static ssh_key_type_spec_t ssh_key_types[] =
     {
       "ssh-rsa", "rsa", "nedupq", "en",   "s",  "nedpqu",
       ssh_key_modifier_rsa, ssh_signature_encoder_rsa,
-      SPEC_FLAG_USE_PKCS1V2
+      NULL, 0, SPEC_FLAG_USE_PKCS1V2
     },
     {
       "ssh-dss", "dsa", "pqgyx",  "pqgy", "rs", "pqgyx",
       NULL,                 ssh_signature_encoder_dsa,
-      0
+      NULL, 0, 0
     },
+    {
+      "ecdsa-sha2-nistp256", "ecdsa", "qd",  "q", "rs", "qd",
+      NULL,                 ssh_signature_encoder_ecdsa,
+      "nistp256", GCRY_MD_SHA256, SPEC_FLAG_IS_ECDSA
+    },
+    {
+      "ecdsa-sha2-nistp384", "ecdsa", "qd",  "q", "rs", "qd",
+      NULL,                 ssh_signature_encoder_ecdsa,
+      "nistp384", GCRY_MD_SHA384, SPEC_FLAG_IS_ECDSA
+    },
+    {
+      "ecdsa-sha2-nistp521", "ecdsa", "qd",  "q", "rs", "qd",
+      NULL,                 ssh_signature_encoder_ecdsa,
+      "nistp521", GCRY_MD_SHA512, SPEC_FLAG_IS_ECDSA
+    }
+
   };
 
 \f
@@ -324,6 +386,7 @@ stream_write_byte (estream_t stream, unsigned char b)
   return err;
 }
 
+
 /* Read a uint32 from STREAM, store it in UINT32.  */
 static gpg_error_t
 stream_read_uint32 (estream_t stream, u32 *uint32)
@@ -414,8 +477,9 @@ stream_write_data (estream_t stream, const unsigned char *buffer, size_t size)
 }
 
 /* Read a binary string from STREAM into STRING, store size of string
-   in STRING_SIZE; depending on SECURE use secure memory for
-   string.  */
+   in STRING_SIZE.  Append a hidden nul so that the result may
+   directly be used as a C string.  Depending on SECURE use secure
+   memory for STRING.  */
 static gpg_error_t
 stream_read_string (estream_t stream, unsigned int secure,
                    unsigned char **string, u32 *string_size)
@@ -618,7 +682,7 @@ file_to_buffer (const char *filename, unsigned char **buffer, size_t *buffer_n)
   buffer_new = NULL;
   err = 0;
 
-  stream = es_fopen (filename, "r");
+  stream = es_fopen (filename, "rb");
   if (! stream)
     {
       err = gpg_error_from_syserror ();
@@ -660,94 +724,123 @@ file_to_buffer (const char *filename, unsigned char **buffer, size_t *buffer_n)
 
 
 \f
-/* Open the ssh control file and create it if not available. With
+/* Open the ssh control file and create it if not available.  With
    APPEND passed as true the file will be opened in append mode,
-   otherwise in read only mode.  On success a file pointer is stored
-   at the address of R_FP. */
+   otherwise in read only mode.  On success 0 is returned and a new
+   control file object stored at R_CF.  On error an error code is
+   returned and NULL is stored at R_CF.  */
 static gpg_error_t
-open_control_file (FILE **r_fp, int append)
+open_control_file (ssh_control_file_t *r_cf, int append)
 {
   gpg_error_t err;
-  char *fname;
-  FILE *fp;
+  ssh_control_file_t cf;
+
+  cf = xtrycalloc (1, sizeof *cf);
+  if (!cf)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
 
   /* Note: As soon as we start to use non blocking functions here
      (i.e. where Pth might switch threads) we need to employ a
      mutex.  */
-  *r_fp = NULL;
-  fname = make_filename (opt.homedir, "sshcontrol", NULL);
+  cf->fname = make_filename_try (opt.homedir, SSH_CONTROL_FILE_NAME, NULL);
+  if (!cf->fname)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
   /* FIXME: With "a+" we are not able to check whether this will will
      be created and thus the blurb needs to be written first.  */
-  fp = fopen (fname, append? "a+":"r");
-  if (!fp && errno == ENOENT)
+  cf->fp = fopen (cf->fname, append? "a+":"r");
+  if (!cf->fp && errno == ENOENT)
     {
-      /* Fixme: "x" is a GNU extension.  We might want to use the es_
-         functions here.  */
-      fp = fopen (fname, "wx");
-      if (!fp)
+      estream_t stream = es_fopen (cf->fname, "wx,mode=-rw-r");
+      if (!stream)
         {
-          err = gpg_error (gpg_err_code_from_errno (errno));
-          log_error (_("can't create `%s': %s\n"), fname, gpg_strerror (err));
-          xfree (fname);
-          return err;
+          err = gpg_error_from_syserror ();
+          log_error (_("can't create `%s': %s\n"),
+                     cf->fname, gpg_strerror (err));
+          goto leave;
         }
-      fputs (sshcontrolblurb, fp);
-      fclose (fp);
-      fp = fopen (fname, append? "a+":"r");
+      es_fputs (sshcontrolblurb, stream);
+      es_fclose (stream);
+      cf->fp = fopen (cf->fname, append? "a+":"r");
     }
 
-  if (!fp)
+  if (!cf->fp)
     {
-      err = gpg_error (gpg_err_code_from_errno (errno));
-      log_error (_("can't open `%s': %s\n"), fname, gpg_strerror (err));
-      xfree (fname);
-      return err;
+      err = gpg_error_from_syserror ();
+      log_error (_("can't open `%s': %s\n"),
+                 cf->fname, gpg_strerror (err));
+      goto leave;
     }
 
-  *r_fp = fp;
+  err = 0;
 
-  return 0;
+ leave:
+  if (err && cf)
+    {
+      if (cf->fp)
+        fclose (cf->fp);
+      xfree (cf->fname);
+      xfree (cf);
+    }
+  else
+    *r_cf = cf;
+
+  return err;
 }
 
 
-/* Search the file at stream FP from the beginning until a matching
-   HEXGRIP is found; return success in this case and store true at
-   DISABLED if the found key has been disabled.  If R_TTL is not NULL
-   a specified TTL for that key is stored there.  If R_CONFIRM is not
-   NULL it is set to 1 if the key has the confirm flag set. */
+static void
+rewind_control_file (ssh_control_file_t cf)
+{
+  fseek (cf->fp, 0, SEEK_SET);
+  cf->lnr = 0;
+  clearerr (cf->fp);
+}
+
+
+static void
+close_control_file (ssh_control_file_t cf)
+{
+  if (!cf)
+    return;
+  fclose (cf->fp);
+  xfree (cf->fname);
+  xfree (cf);
+}
+
+
+
+/* Read the next line from the control file and store the data in CF.
+   Returns 0 on success, GPG_ERR_EOF on EOF, or other error codes. */
 static gpg_error_t
-search_control_file (FILE *fp, const char *hexgrip,
-                     int *r_disabled, int *r_ttl, int *r_confirm)
+read_control_file_item (ssh_control_file_t cf)
 {
   int c, i, n;
   char *p, *pend, line[256];
-  long ttl;
-  int lnr = 0;
-  const char fname[] = "sshcontrol";
+  long ttl = 0;
 
-  assert (strlen (hexgrip) == 40 );
+  cf->item.valid = 0;
+  clearerr (cf->fp);
 
-  if (r_confirm)
-    *r_confirm = 0;
-
-  fseek (fp, 0, SEEK_SET);
-  clearerr (fp);
-  *r_disabled = 0;
- next_line:
   do
     {
-      if (!fgets (line, DIM(line)-1, fp) )
+      if (!fgets (line, DIM(line)-1, cf->fp) )
         {
-          if (feof (fp))
+          if (feof (cf->fp))
             return gpg_error (GPG_ERR_EOF);
-          return gpg_error (gpg_err_code_from_errno (errno));
+          return gpg_error_from_syserror ();
         }
-      lnr++;
+      cf->lnr++;
 
       if (!*line || line[strlen(line)-1] != '\n')
         {
           /* Eat until end of line */
-          while ( (c=getc (fp)) != EOF && c != '\n')
+          while ( (c=getc (cf->fp)) != EOF && c != '\n')
             ;
           return gpg_error (*line? GPG_ERR_LINE_TOO_LONG
                                  : GPG_ERR_INCOMPLETE_LINE);
@@ -759,35 +852,34 @@ search_control_file (FILE *fp, const char *hexgrip,
     }
   while (!*p || *p == '\n' || *p == '#');
 
-  *r_disabled = 0;
+  cf->item.disabled = 0;
   if (*p == '!')
     {
-      *r_disabled = 1;
+      cf->item.disabled = 1;
       for (p++; spacep (p); p++)
         ;
     }
 
   for (i=0; hexdigitp (p) && i < 40; p++, i++)
-    if (hexgrip[i] != (*p >= 'a'? (*p & 0xdf): *p))
-      goto next_line;
+    cf->item.hexgrip[i] = (*p >= 'a'? (*p & 0xdf): *p);
+  cf->item.hexgrip[i] = 0;
   if (i != 40 || !(spacep (p) || *p == '\n'))
     {
-      log_error ("invalid formatted line in `%s', line %d\n", fname, lnr);
+      log_error ("%s:%d: invalid formatted line\n", cf->fname, cf->lnr);
       return gpg_error (GPG_ERR_BAD_DATA);
     }
 
   ttl = strtol (p, &pend, 10);
   p = pend;
-  if (!(spacep (p) || *p == '\n') || ttl < -1)
+  if (!(spacep (p) || *p == '\n') || (int)ttl < -1)
     {
-      log_error ("invalid TTL value in `%s', line %d; assuming 0\n",
-                 fname, lnr);
-      ttl = 0;
+      log_error ("%s:%d: invalid TTL value; assuming 0\n", cf->fname, cf->lnr);
+      cf->item.ttl = 0;
     }
-  if (r_ttl)
-    *r_ttl = ttl;
+  cf->item.ttl = ttl;
 
   /* Now check for key-value pairs of the form NAME[=VALUE]. */
+  cf->item.confirm = 0;
   while (*p)
     {
       for (; spacep (p) && *p != '\n'; p++)
@@ -797,22 +889,68 @@ search_control_file (FILE *fp, const char *hexgrip,
       n = strcspn (p, "= \t\n");
       if (p[n] == '=')
         {
-          log_error ("assigning a value to a flag is not yet supported; "
-                     "in `%s', line %d; flag ignored\n", fname, lnr);
+          log_error ("%s:%d: assigning a value to a flag is not yet supported; "
+                     "flag ignored\n", cf->fname, cf->lnr);
           p++;
         }
       else if (n == 7 && !memcmp (p, "confirm", 7))
         {
-          if (r_confirm)
-            *r_confirm = 1;
+          cf->item.confirm = 1;
         }
       else
-        log_error ("invalid flag `%.*s' in `%s', line %d; ignored\n",
-                   n, p, fname, lnr);
+        log_error ("%s:%d: invalid flag '%.*s'; ignored\n",
+                   cf->fname, cf->lnr, n, p);
       p += n;
     }
 
-  return 0; /* Okay:  found it.  */
+  /* log_debug ("%s:%d: grip=%s ttl=%d%s%s\n", */
+  /*            cf->fname, cf->lnr, */
+  /*            cf->item.hexgrip, cf->item.ttl, */
+  /*            cf->item.disabled? " disabled":"", */
+  /*            cf->item.confirm? " confirm":""); */
+
+  cf->item.valid = 1;
+  return 0; /* Okay: valid entry found.  */
+}
+
+
+
+/* Search the control file CF from the beginning until a matching
+   HEXGRIP is found; return success in this case and store true at
+   DISABLED if the found key has been disabled.  If R_TTL is not NULL
+   a specified TTL for that key is stored there.  If R_CONFIRM is not
+   NULL it is set to 1 if the key has the confirm flag set. */
+static gpg_error_t
+search_control_file (ssh_control_file_t cf, const char *hexgrip,
+                     int *r_disabled, int *r_ttl, int *r_confirm)
+{
+  gpg_error_t err;
+
+  assert (strlen (hexgrip) == 40 );
+
+  *r_disabled = 0;
+  if (r_ttl)
+    *r_ttl = 0;
+  if (r_confirm)
+    *r_confirm = 0;
+
+  rewind_control_file (cf);
+  while (!(err=read_control_file_item (cf)))
+    {
+      if (!cf->item.valid)
+        continue; /* Should not happen.  */
+      if (!strcmp (hexgrip, cf->item.hexgrip))
+        break;
+    }
+  if (!err)
+    {
+      *r_disabled = cf->item.disabled;
+      if (r_ttl)
+        *r_ttl = cf->item.ttl;
+      if (r_confirm)
+        *r_confirm = cf->item.confirm;
+    }
+  return err;
 }
 
 
@@ -827,16 +965,16 @@ add_control_entry (ctrl_t ctrl, const char *hexgrip, const char *fmtfpr,
                    int ttl, int confirm)
 {
   gpg_error_t err;
-  FILE *fp;
+  ssh_control_file_t cf;
   int disabled;
 
   (void)ctrl;
 
-  err = open_control_file (&fp, 1);
+  err = open_control_file (&cf, 1);
   if (err)
     return err;
 
-  err = search_control_file (fp, hexgrip, &disabled, NULL, NULL);
+  err = search_control_file (cf, hexgrip, &disabled, NULL, NULL);
   if (err && gpg_err_code(err) == GPG_ERR_EOF)
     {
       struct tm *tp;
@@ -845,15 +983,16 @@ add_control_entry (ctrl_t ctrl, const char *hexgrip, const char *fmtfpr,
       /* Not yet in the file - add it. Because the file has been
          opened in append mode, we simply need to write to it.  */
       tp = localtime (&atime);
-      fprintf (fp, ("# Key added on: %04d-%02d-%02d %02d:%02d:%02d\n"
-                    "# Fingerprint:  %s\n"
-                    "%s %d%s\n"),
+      fprintf (cf->fp,
+               ("# Key added on: %04d-%02d-%02d %02d:%02d:%02d\n"
+                "# Fingerprint:  %s\n"
+                "%s %d%s\n"),
                1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday,
                tp->tm_hour, tp->tm_min, tp->tm_sec,
                fmtfpr, hexgrip, ttl, confirm? " confirm":"");
 
     }
-  fclose (fp);
+  close_control_file (cf);
   return 0;
 }
 
@@ -862,20 +1001,20 @@ add_control_entry (ctrl_t ctrl, const char *hexgrip, const char *fmtfpr,
 static int
 ttl_from_sshcontrol (const char *hexgrip)
 {
-  FILE *fp;
+  ssh_control_file_t cf;
   int disabled, ttl;
 
   if (!hexgrip || strlen (hexgrip) != 40)
     return 0;  /* Wrong input: Use global default.  */
 
-  if (open_control_file (&fp, 0))
+  if (open_control_file (&cf, 0))
     return 0; /* Error: Use the global default TTL.  */
 
-  if (search_control_file (fp, hexgrip, &disabled, &ttl, NULL)
+  if (search_control_file (cf, hexgrip, &disabled, &ttl, NULL)
       || disabled)
     ttl = 0;  /* Use the global default if not found or disabled.  */
 
-  fclose (fp);
+  close_control_file (cf);
 
   return ttl;
 }
@@ -885,26 +1024,107 @@ ttl_from_sshcontrol (const char *hexgrip)
 static int
 confirm_flag_from_sshcontrol (const char *hexgrip)
 {
-  FILE *fp;
+  ssh_control_file_t cf;
   int disabled, confirm;
 
   if (!hexgrip || strlen (hexgrip) != 40)
     return 1;  /* Wrong input: Better ask for confirmation.  */
 
-  if (open_control_file (&fp, 0))
+  if (open_control_file (&cf, 0))
     return 1; /* Error: Better ask for confirmation.  */
 
-  if (search_control_file (fp, hexgrip, &disabled, NULL, &confirm)
+  if (search_control_file (cf, hexgrip, &disabled, NULL, &confirm)
       || disabled)
     confirm = 0;  /* If not found or disabled, there is no reason to
                      ask for confirmation.  */
 
-  fclose (fp);
+  close_control_file (cf);
 
   return confirm;
 }
 
 
+\f
+
+/* Open the ssh control file for reading.  This is a public version of
+   open_control_file.  The caller must use ssh_close_control_file to
+   release the retruned handle.  */
+ssh_control_file_t
+ssh_open_control_file (void)
+{
+  ssh_control_file_t cf;
+
+  /* Then look at all the registered and non-disabled keys. */
+  if (open_control_file (&cf, 0))
+    return NULL;
+  return cf;
+}
+
+/* Close an ssh control file handle.  This is the public version of
+   close_control_file.  CF may be NULL.  */
+void
+ssh_close_control_file (ssh_control_file_t cf)
+{
+  close_control_file (cf);
+}
+
+/* Read the next item from the ssh control file.  The function returns
+   0 if a item was read, GPG_ERR_EOF on eof or another error value.
+   R_HEXGRIP shall either be null or a BUFFER of at least 41 byte.
+   R_DISABLED, R_TTLm and R_CONFIRM return flags from the control
+   file; they are only set on success. */
+gpg_error_t
+ssh_read_control_file (ssh_control_file_t cf,
+                       char *r_hexgrip,
+                       int *r_disabled, int *r_ttl, int *r_confirm)
+{
+  gpg_error_t err;
+
+  do
+    err = read_control_file_item (cf);
+  while (!err && !cf->item.valid);
+  if (!err)
+    {
+      if (r_hexgrip)
+        strcpy (r_hexgrip, cf->item.hexgrip);
+      if (r_disabled)
+        *r_disabled = cf->item.disabled;
+      if (r_ttl)
+        *r_ttl = cf->item.ttl;
+      if (r_confirm)
+        *r_confirm = cf->item.confirm;
+    }
+  return err;
+}
+
+
+/* Search for a key with HEXGRIP in sshcontrol and return all
+   info.  */
+gpg_error_t
+ssh_search_control_file (ssh_control_file_t cf,
+                         const char *hexgrip,
+                         int *r_disabled, int *r_ttl, int *r_confirm)
+{
+  gpg_error_t err;
+  int i;
+  const char *s;
+  char uphexgrip[41];
+
+  /* We need to make sure that HEXGRIP is all uppercase.  The easiest
+     way to do this and also check its length is by copying to a
+     second buffer. */
+  for (i=0, s=hexgrip; i < 40; s++, i++)
+    uphexgrip[i] = *s >= 'a'? (*s & 0xdf): *s;
+  uphexgrip[i] = 0;
+  if (i != 40)
+    err = gpg_error (GPG_ERR_INV_LENGTH);
+  else
+    err = search_control_file (cf, uphexgrip, r_disabled, r_ttl, r_confirm);
+  if (gpg_err_code (err) == GPG_ERR_EOF)
+    err = gpg_error (GPG_ERR_NOT_FOUND);
+  return err;
+}
+
 
 \f
 
@@ -1022,13 +1242,16 @@ ssh_key_modifier_rsa (const char *elems, gcry_mpi_t *mpis)
 
 /* Signature encoder function for RSA.  */
 static gpg_error_t
-ssh_signature_encoder_rsa (estream_t signature_blob, gcry_mpi_t *mpis)
+ssh_signature_encoder_rsa (ssh_key_type_spec_t *spec,
+                           estream_t signature_blob, gcry_mpi_t *mpis)
 {
   unsigned char *data;
   size_t data_n;
   gpg_error_t err;
   gcry_mpi_t s;
 
+  (void)spec;
+
   s = mpis[0];
 
   err = gcry_mpi_aprint (GCRYMPI_FMT_USG, &data, &data_n, s);
@@ -1046,7 +1269,8 @@ ssh_signature_encoder_rsa (estream_t signature_blob, gcry_mpi_t *mpis)
 
 /* Signature encoder function for DSA.  */
 static gpg_error_t
-ssh_signature_encoder_dsa (estream_t signature_blob, gcry_mpi_t *mpis)
+ssh_signature_encoder_dsa (ssh_key_type_spec_t *spec,
+                           estream_t signature_blob, gcry_mpi_t *mpis)
 {
   unsigned char buffer[SSH_DSA_SIGNATURE_PADDING * SSH_DSA_SIGNATURE_ELEMS];
   unsigned char *data;
@@ -1054,8 +1278,12 @@ ssh_signature_encoder_dsa (estream_t signature_blob, gcry_mpi_t *mpis)
   gpg_error_t err;
   int i;
 
+  (void)spec;
+
   data = NULL;
 
+  /* FIXME: Why this complicated code?  Why collecting boths mpis in a
+     buffer instead of writing them out one after the other?  */
   for (i = 0; i < 2; i++)
     {
       err = gcry_mpi_aprint (GCRYMPI_FMT_USG, &data, &data_n, mpis[i]);
@@ -1088,74 +1316,107 @@ ssh_signature_encoder_dsa (estream_t signature_blob, gcry_mpi_t *mpis)
   return err;
 }
 
+
+/* Signature encoder function for ECDSA.  */
+static gpg_error_t
+ssh_signature_encoder_ecdsa (ssh_key_type_spec_t *spec,
+                             estream_t stream, gcry_mpi_t *mpis)
+{
+  unsigned char *data[2] = {NULL, NULL};
+  size_t data_n[2];
+  size_t innerlen;
+  gpg_error_t err;
+  int i;
+
+  (void)spec;
+
+  innerlen = 0;
+  for (i = 0; i < DIM(data); i++)
+    {
+      err = gcry_mpi_aprint (GCRYMPI_FMT_STD, &data[i], &data_n[i], mpis[i]);
+      if (err)
+       goto out;
+      innerlen += 4 + data_n[i];
+    }
+
+  err = stream_write_uint32 (stream, innerlen);
+  if (err)
+    goto out;
+
+  for (i = 0; i < DIM(data); i++)
+    {
+      err = stream_write_string (stream, data[i], data_n[i]);
+      if (err)
+        goto out;
+    }
+
+ out:
+  for (i = 0; i < DIM(data); i++)
+    xfree (data[i]);
+  return err;
+}
+
+
 /*
    S-Expressions.
  */
 
 
 /* This function constructs a new S-Expression for the key identified
-   by the KEY_SPEC, SECRET, MPIS and COMMENT, which is to be stored in
-   *SEXP.  Returns usual error code.  */
+   by the KEY_SPEC, SECRET, CURVE_NAME, MPIS, and COMMENT, which is to
+   be stored at R_SEXP.  Returns an error code.  */
 static gpg_error_t
-sexp_key_construct (gcry_sexp_t *sexp,
+sexp_key_construct (gcry_sexp_t *r_sexp,
                    ssh_key_type_spec_t key_spec, int secret,
-                   gcry_mpi_t *mpis, const char *comment)
+                   const char *curve_name, gcry_mpi_t *mpis,
+                    const char *comment)
 {
   const char *key_identifier[] = { "public-key", "private-key" };
-  gcry_sexp_t sexp_new;
-  char *sexp_template;
-  size_t sexp_template_n;
   gpg_error_t err;
+  gcry_sexp_t sexp_new = NULL;
+  void *formatbuf = NULL;
+  void **arg_list = NULL;
+  int arg_idx;
+  estream_t format;
   const char *elems;
   size_t elems_n;
-  unsigned int i;
-  unsigned int j;
-  void **arg_list;
+  unsigned int i, j;
 
-  err = 0;
-  sexp_new = NULL;
-  arg_list = NULL;
   if (secret)
     elems = key_spec.elems_sexp_order;
   else
     elems = key_spec.elems_key_public;
   elems_n = strlen (elems);
 
-  /*
-    Calculate size for sexp_template_n:
-
-    "(%s(%s<mpis>)(comment%s))" -> 20 + sizeof (<mpis>).
-
-    mpi: (X%m) -> 5.
-
-  */
-  sexp_template_n = 20 + (elems_n * 5);
-  sexp_template = xtrymalloc (sexp_template_n);
-  if (! sexp_template)
+  format = es_fopenmem (0, "a+b");
+  if (!format)
     {
       err = gpg_error_from_syserror ();
       goto out;
     }
 
-  /* Key identifier, algorithm identifier, mpis, comment.  */
-  arg_list = xtrymalloc (sizeof (*arg_list) * (2 + elems_n + 1));
-  if (! arg_list)
+  /* Key identifier, algorithm identifier, mpis, comment, and a NULL
+     as a safeguard. */
+  arg_list = xtrymalloc (sizeof (*arg_list) * (2 + 1 + elems_n + 1 + 1));
+  if (!arg_list)
     {
       err = gpg_error_from_syserror ();
       goto out;
     }
+  arg_idx = 0;
 
-  i = 0;
-  arg_list[i++] = &key_identifier[secret];
-  arg_list[i++] = &key_spec.identifier;
+  es_fputs ("(%s(%s", format);
+  arg_list[arg_idx++] = &key_identifier[secret];
+  arg_list[arg_idx++] = &key_spec.identifier;
+  if (curve_name)
+    {
+      es_fputs ("(curve%s)", format);
+      arg_list[arg_idx++] = &curve_name;
+    }
 
-  *sexp_template = 0;
-  sexp_template_n = 0;
-  sexp_template_n = sprintf (sexp_template + sexp_template_n, "(%%s(%%s");
   for (i = 0; i < elems_n; i++)
     {
-      sexp_template_n += sprintf (sexp_template + sexp_template_n, "(%c%%m)",
-                                 elems[i]);
+      es_fprintf (format, "(%c%%m)", elems[i]);
       if (secret)
        {
          for (j = 0; j < elems_n; j++)
@@ -1164,58 +1425,66 @@ sexp_key_construct (gcry_sexp_t *sexp,
        }
       else
        j = i;
-      arg_list[i + 2] = &mpis[j];
+      arg_list[arg_idx++] = &mpis[j];
     }
-  sexp_template_n += sprintf (sexp_template + sexp_template_n,
-                             ")(comment%%s))");
+  es_fputs (")(comment%s))", format);
+  arg_list[arg_idx++] = &comment;
+  arg_list[arg_idx] = NULL;
 
-  arg_list[i + 2] = &comment;
+  es_putc (0, format);
+  if (es_ferror (format))
+    {
+      err = gpg_error_from_syserror ();
+      goto out;
+    }
+  if (es_fclose_snatch (format, &formatbuf, NULL))
+    {
+      err = gpg_error_from_syserror ();
+      goto out;
+    }
+  format = NULL;
 
-  err = gcry_sexp_build_array (&sexp_new, NULL, sexp_template, arg_list);
+  err = gcry_sexp_build_array (&sexp_new, NULL, formatbuf, arg_list);
   if (err)
     goto out;
 
-  *sexp = sexp_new;
+  *r_sexp = sexp_new;
+  err = 0;
 
  out:
-
+  es_fclose (format);
   xfree (arg_list);
-  xfree (sexp_template);
+  xfree (formatbuf);
 
   return err;
 }
 
+
 /* This functions breaks up the key contained in the S-Expression SEXP
    according to KEY_SPEC.  The MPIs are bundled in a newly create
    list, which is to be stored in MPIS; a newly allocated string
-   holding the comment will be stored in COMMENT; SECRET will be
-   filled with a boolean flag specifying what kind of key it is.
-   Returns usual error code.  */
+   holding the curve name may be stored at RCURVE, and a comment will
+   be stored at COMMENT; SECRET will be filled with a boolean flag
+   specifying what kind of key it is.  Returns an error code.  */
 static gpg_error_t
 sexp_key_extract (gcry_sexp_t sexp,
                  ssh_key_type_spec_t key_spec, int *secret,
-                 gcry_mpi_t **mpis, char **comment)
+                 gcry_mpi_t **mpis, char **r_curve, char **comment)
 {
-  gpg_error_t err;
-  gcry_sexp_t value_list;
-  gcry_sexp_t value_pair;
-  gcry_sexp_t comment_list;
+  gpg_error_t err = 0;
+  gcry_sexp_t value_list = NULL;
+  gcry_sexp_t value_pair = NULL;
+  gcry_sexp_t comment_list = NULL;
   unsigned int i;
-  char *comment_new;
+  char *comment_new = NULL;
   const char *data;
   size_t data_n;
   int is_secret;
   size_t elems_n;
   const char *elems;
-  gcry_mpi_t *mpis_new;
+  gcry_mpi_t *mpis_new = NULL;
   gcry_mpi_t mpi;
-
-  err = 0;
-  value_list = NULL;
-  value_pair = NULL;
-  comment_list = NULL;
-  comment_new = NULL;
-  mpis_new = NULL;
+  char *curve_name = NULL;
 
   data = gcry_sexp_nth_data (sexp, 0, &data_n);
   if (! data)
@@ -1281,6 +1550,51 @@ sexp_key_extract (gcry_sexp_t sexp,
   if (err)
     goto out;
 
+  if ((key_spec.flags & SPEC_FLAG_IS_ECDSA))
+    {
+      /* Parse the "curve" parameter.  We currently expect the curve
+         name for ECC and not the parameters of the curve.  This can
+         easily be changed but then we need to find the curve name
+         from the parameters using gcry_pk_get_curve.  */
+      const char *mapped;
+
+      value_pair = gcry_sexp_find_token (value_list, "curve", 5);
+      if (!value_pair)
+       {
+         err = gpg_error (GPG_ERR_INV_CURVE);
+         goto out;
+        }
+      curve_name = gcry_sexp_nth_string (value_pair, 1);
+      if (!curve_name)
+       {
+         err = gpg_error (GPG_ERR_INV_CURVE); /* (Or out of core.)  */
+         goto out;
+        }
+
+      /* Fixme: The mapping should be done by using gcry_pk_get_curve
+         et al to iterate over all name aliases.  */
+      if (!strcmp (curve_name, "NIST P-256"))
+        mapped = "nistp256";
+      else if (!strcmp (curve_name, "NIST P-384"))
+        mapped = "nistp384";
+      else if (!strcmp (curve_name, "NIST P-521"))
+        mapped = "nistp521";
+      else
+        mapped = NULL;
+      if (mapped)
+        {
+          xfree (curve_name);
+          curve_name = xtrystrdup (mapped);
+          if (!curve_name)
+            {
+              err = gpg_error_from_syserror ();
+              goto out;
+            }
+        }
+      gcry_sexp_release (value_pair);
+      value_pair = NULL;
+    }
+
   /* We do not require a comment sublist to be present here.  */
   data = NULL;
   data_n = 0;
@@ -1305,6 +1619,7 @@ sexp_key_extract (gcry_sexp_t sexp,
     *secret = is_secret;
   *mpis = mpis_new;
   *comment = comment_new;
+  *r_curve = curve_name;
 
  out:
 
@@ -1314,6 +1629,7 @@ sexp_key_extract (gcry_sexp_t sexp,
 
   if (err)
     {
+      xfree (curve_name);
       xfree (comment_new);
       mpint_list_free (mpis_new);
     }
@@ -1400,6 +1716,24 @@ ssh_key_type_lookup (const char *ssh_name, const char *name,
   return err;
 }
 
+
+/* Lookup the ssh-identifier for the ECC curve CURVE_NAME.  Returns
+   NULL if not found.  */
+static const char *
+ssh_identifier_from_curve_name (const char *curve_name)
+{
+  int i;
+
+  for (i = 0; i < DIM (ssh_key_types); i++)
+    if (ssh_key_types[i].curve_name
+        && !strcmp (ssh_key_types[i].curve_name, curve_name))
+      return ssh_key_types[i].ssh_identifier;
+
+  return NULL;
+}
+
+
+
 /* Receive a key from STREAM, according to the key specification given
    as KEY_SPEC.  Depending on SECRET, receive a secret or a public
    key.  If READ_COMMENT is true, receive a comment string as well.
@@ -1416,6 +1750,8 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
   ssh_key_type_spec_t spec;
   gcry_mpi_t *mpi_list = NULL;
   const char *elems;
+  char *curve_name = NULL;
+
 
 
   err = stream_read_cstring (stream, &key_type);
@@ -1426,6 +1762,50 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
   if (err)
     goto out;
 
+  if ((spec.flags & SPEC_FLAG_IS_ECDSA))
+    {
+      /* The format of an ECDSA key is:
+       *   string      key_type ("ecdsa-sha2-nistp256" |
+       *                          "ecdsa-sha2-nistp384" |
+       *                         "ecdsa-sha2-nistp521" )
+       *   string      ecdsa_curve_name
+       *   string      ecdsa_public_key
+       *   mpint       ecdsa_private
+       *
+       * Note that we use the mpint reader instead of the string
+       * reader for ecsa_public_key.
+       */
+      unsigned char *buffer;
+      const char *mapped;
+
+      err = stream_read_string (stream, 0, &buffer, NULL);
+      if (err)
+        goto out;
+      curve_name = buffer;
+      /* Fixme: Check that curve_name matches the keytype.  */
+      /* Because Libgcrypt < 1.6 has no support for the "nistpNNN"
+         curve names, we need to translate them here to Libgcrypt's
+         native names.  */
+      if (!strcmp (curve_name, "nistp256"))
+        mapped = "NIST P-256";
+      else if (!strcmp (curve_name, "nistp384"))
+        mapped = "NIST P-384";
+      else if (!strcmp (curve_name, "nistp521"))
+        mapped = "NIST P-521";
+      else
+        mapped = NULL;
+      if (mapped)
+        {
+          xfree (curve_name);
+          curve_name = xtrystrdup (mapped);
+          if (!curve_name)
+            {
+              err = gpg_error_from_syserror ();
+              goto out;
+            }
+        }
+  }
+
   err = ssh_receive_mpint_list (stream, secret, spec, &mpi_list);
   if (err)
     goto out;
@@ -1449,7 +1829,8 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
        goto out;
     }
 
-  err = sexp_key_construct (&key, spec, secret, mpi_list, comment? comment:"");
+  err = sexp_key_construct (&key, spec, secret, curve_name, mpi_list,
+                            comment? comment:"");
   if (err)
     goto out;
 
@@ -1458,8 +1839,8 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
   *key_new = key;
 
  out:
-
   mpint_list_free (mpi_list);
+  xfree (curve_name);
   xfree (key_type);
   xfree (comment);
 
@@ -1471,7 +1852,8 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
    BLOB/BLOB_SIZE.  Returns zero on success or an error code.  */
 static gpg_error_t
 ssh_convert_key_to_blob (unsigned char **blob, size_t *blob_size,
-                        const char *type, gcry_mpi_t *mpis)
+                        ssh_key_type_spec_t *spec,
+                         const char *curve_name, gcry_mpi_t *mpis)
 {
   unsigned char *blob_new;
   long int blob_size_new;
@@ -1493,14 +1875,31 @@ ssh_convert_key_to_blob (unsigned char **blob, size_t *blob_size,
       goto out;
     }
 
-  err = stream_write_cstring (stream, type);
-  if (err)
-    goto out;
+  if ((spec->flags & SPEC_FLAG_IS_ECDSA) && curve_name)
+    {
+      const char *sshname = ssh_identifier_from_curve_name (curve_name);
+      if (!curve_name)
+        {
+          err = gpg_error (GPG_ERR_UNKNOWN_CURVE);
+          goto out;
+        }
+      err = stream_write_cstring (stream, sshname);
+      if (err)
+        goto out;
+      err = stream_write_cstring (stream, curve_name);
+      if (err)
+        goto out;
+    }
+  else
+    {
+      err = stream_write_cstring (stream, spec->ssh_identifier);
+      if (err)
+        goto out;
+    }
 
-  for (i = 0; mpis[i] && (! err); i++)
-    err = stream_write_mpi (stream, mpis[i]);
-  if (err)
-    goto out;
+  for (i = 0; mpis[i]; i++)
+    if ((err = stream_write_mpi (stream, mpis[i])))
+      goto out;
 
   blob_size_new = es_ftell (stream);
   if (blob_size_new == -1)
@@ -1542,22 +1941,19 @@ ssh_convert_key_to_blob (unsigned char **blob, size_t *blob_size,
    OVERRIDE_COMMENT is not NULL, it will be used instead of the
    comment stored in the key.  */
 static gpg_error_t
-ssh_send_key_public (estream_t stream, gcry_sexp_t key_public,
+ssh_send_key_public (estream_t stream,
+                     gcry_sexp_t key_public,
                      const char *override_comment)
 {
   ssh_key_type_spec_t spec;
-  gcry_mpi_t *mpi_list;
-  char *key_type;
-  char *comment;
-  unsigned char *blob;
+  gcry_mpi_t *mpi_list = NULL;
+  char *key_type = NULL;
+  char *curve;
+  char *comment = NULL;
+  unsigned char *blob = NULL;
   size_t blob_n;
   gpg_error_t err;
 
-  key_type = NULL;
-  mpi_list = NULL;
-  comment = NULL;
-  blob = NULL;
-
   err = sexp_extract_identifier (key_public, &key_type);
   if (err)
     goto out;
@@ -1566,12 +1962,11 @@ ssh_send_key_public (estream_t stream, gcry_sexp_t key_public,
   if (err)
     goto out;
 
-  err = sexp_key_extract (key_public, spec, NULL, &mpi_list, &comment);
+  err = sexp_key_extract (key_public, spec, NULL, &mpi_list, &curve, &comment);
   if (err)
     goto out;
 
-  err = ssh_convert_key_to_blob (&blob, &blob_n,
-                                 spec.ssh_identifier, mpi_list);
+  err = ssh_convert_key_to_blob (&blob, &blob_n, &spec, curve, mpi_list);
   if (err)
     goto out;
 
@@ -1585,8 +1980,9 @@ ssh_send_key_public (estream_t stream, gcry_sexp_t key_public,
  out:
 
   mpint_list_free (mpi_list);
-  xfree (key_type);
+  xfree (curve);
   xfree (comment);
+  xfree (key_type);
   xfree (blob);
 
   return err;
@@ -1639,7 +2035,10 @@ static gpg_error_t
 ssh_key_grip (gcry_sexp_t key, unsigned char *buffer)
 {
   if (!gcry_pk_get_keygrip (key, buffer))
-    return gpg_error (GPG_ERR_INTERNAL);
+    {
+      gpg_error_t err = gcry_pk_testkey (key);
+      return err? err : gpg_error (GPG_ERR_INTERNAL);
+    }
 
   return 0;
 }
@@ -1652,6 +2051,7 @@ static gpg_error_t
 key_secret_to_public (gcry_sexp_t *key_public,
                      ssh_key_type_spec_t spec, gcry_sexp_t key_secret)
 {
+  char *curve;
   char *comment;
   gcry_mpi_t *mpis;
   gpg_error_t err;
@@ -1660,16 +2060,18 @@ key_secret_to_public (gcry_sexp_t *key_public,
   comment = NULL;
   mpis = NULL;
 
-  err = sexp_key_extract (key_secret, spec, &is_secret, &mpis, &comment);
+  err = sexp_key_extract (key_secret, spec, &is_secret, &mpis,
+                          &curve, &comment);
   if (err)
     goto out;
 
-  err = sexp_key_construct (key_public, spec, 0, mpis, comment);
+  err = sexp_key_construct (key_public, spec, 0, curve, mpis, comment);
 
  out:
 
   mpint_list_free (mpis);
   xfree (comment);
+  xfree (curve);
 
   return err;
 }
@@ -1856,22 +2258,16 @@ static gpg_error_t
 ssh_handler_request_identities (ctrl_t ctrl,
                                 estream_t request, estream_t response)
 {
-  char *key_type;
   ssh_key_type_spec_t spec;
-  struct dirent *dir_entry;
-  char *key_directory;
-  size_t key_directory_n;
-  char *key_path;
-  unsigned char *buffer;
-  size_t buffer_n;
+  char *key_fname = NULL;
+  char *fnameptr;
   u32 key_counter;
   estream_t key_blobs;
   gcry_sexp_t key_secret;
   gcry_sexp_t key_public;
-  DIR *dir;
   gpg_error_t err;
   int ret;
-  FILE *ctrl_fp = NULL;
+  ssh_control_file_t cf = NULL;
   char *cardsn;
   gpg_error_t ret_err;
 
@@ -1879,56 +2275,24 @@ ssh_handler_request_identities (ctrl_t ctrl,
 
   /* Prepare buffer stream.  */
 
-  key_directory = NULL;
   key_secret = NULL;
   key_public = NULL;
-  key_type = NULL;
-  key_path = NULL;
   key_counter = 0;
-  buffer = NULL;
-  dir = NULL;
   err = 0;
 
-  key_blobs = es_mopen (NULL, 0, 0, 1, NULL, NULL, "r+");
+  key_blobs = es_mopen (NULL, 0, 0, 1, NULL, NULL, "r+b");
   if (! key_blobs)
     {
       err = gpg_error_from_syserror ();
       goto out;
     }
 
-  /* Open key directory.  */
-  key_directory = make_filename (opt.homedir, GNUPG_PRIVATE_KEYS_DIR, NULL);
-  if (! key_directory)
-    {
-      err = gpg_err_code_from_errno (errno);
-      goto out;
-    }
-  key_directory_n = strlen (key_directory);
-
-  key_path = xtrymalloc (key_directory_n + 46);
-  if (! key_path)
-    {
-      err = gpg_err_code_from_errno (errno);
-      goto out;
-    }
-
-  sprintf (key_path, "%s/", key_directory);
-  sprintf (key_path + key_directory_n + 41, ".key");
-
-  dir = opendir (key_directory);
-  if (! dir)
-    {
-      err = gpg_err_code_from_errno (errno);
-      goto out;
-    }
-
-
-
   /* First check whether a key is currently available in the card
      reader - this should be allowed even without being listed in
      sshcontrol. */
 
-  if (!card_key_available (ctrl, &key_public, &cardsn))
+  if (!opt.disable_scdaemon
+      && !card_key_available (ctrl, &key_public, &cardsn))
     {
       err = ssh_send_key_public (key_blobs, key_public, cardsn);
       gcry_sexp_release (key_public);
@@ -1941,77 +2305,93 @@ ssh_handler_request_identities (ctrl_t ctrl,
     }
 
 
-  /* Then look at all the registered an allowed keys. */
+  /* Prepare buffer for key name construction.  */
+  {
+    char *dname;
 
+    dname = make_filename (opt.homedir, GNUPG_PRIVATE_KEYS_DIR, NULL);
+    if (!dname)
+      {
+        err = gpg_err_code_from_syserror ();
+        goto out;
+      }
+
+    key_fname = xtrymalloc (strlen (dname) + 1 + 40 + 4 + 1);
+    if (!key_fname)
+      {
+        err = gpg_err_code_from_syserror ();
+        xfree (dname);
+        goto out;
+      }
+    fnameptr = stpcpy (stpcpy (key_fname, dname), "/");
+    xfree (dname);
+  }
 
-  /* Fixme: We should better iterate over the control file and check
-     whether the key file is there.  This is better in resepct to
-     performance if tehre are a lot of key sin our key storage. */
-  /* FIXME: make sure that buffer gets deallocated properly.  */
-  err = open_control_file (&ctrl_fp, 0);
+  /* Then look at all the registered and non-disabled keys. */
+  err = open_control_file (&cf, 0);
   if (err)
     goto out;
 
-  while ( (dir_entry = readdir (dir)) )
+  while (!read_control_file_item (cf))
     {
-      if ((strlen (dir_entry->d_name) == 44)
-          && (! strncmp (dir_entry->d_name + 40, ".key", 4)))
-        {
-          char hexgrip[41];
-          int disabled;
-
-          /* We do only want to return keys listed in our control
-             file. */
-          strncpy (hexgrip, dir_entry->d_name, 40);
-          hexgrip[40] = 0;
-          if ( strlen (hexgrip) != 40 )
-            continue;
-          if (search_control_file (ctrl_fp, hexgrip, &disabled, NULL, NULL)
-              || disabled)
-            continue;
-
-          strncpy (key_path + key_directory_n + 1, dir_entry->d_name, 40);
+      if (!cf->item.valid)
+        continue; /* Should not happen.  */
+      if (cf->item.disabled)
+        continue;
+      assert (strlen (cf->item.hexgrip) == 40);
 
-          /* Read file content.  */
-          err = file_to_buffer (key_path, &buffer, &buffer_n);
-          if (err)
-            goto out;
+      stpcpy (stpcpy (fnameptr, cf->item.hexgrip), ".key");
 
-          err = gcry_sexp_sscan (&key_secret, NULL, (char*)buffer, buffer_n);
-          if (err)
-            goto out;
+      /* Read file content.  */
+      {
+        unsigned char *buffer;
+        size_t buffer_n;
+
+        err = file_to_buffer (key_fname, &buffer, &buffer_n);
+        if (err)
+          {
+            log_error ("%s:%d: key '%s' skipped: %s\n",
+                       cf->fname, cf->lnr, cf->item.hexgrip,
+                       gpg_strerror (err));
+            continue;
+          }
 
-          xfree (buffer);
-          buffer = NULL;
+        err = gcry_sexp_sscan (&key_secret, NULL, (char*)buffer, buffer_n);
+        xfree (buffer);
+        if (err)
+          goto out;
+      }
 
-          err = sexp_extract_identifier (key_secret, &key_type);
-          if (err)
-            goto out;
+      {
+        char *key_type = NULL;
 
-          err = ssh_key_type_lookup (NULL, key_type, &spec);
-          if (err)
-            goto out;
+        err = sexp_extract_identifier (key_secret, &key_type);
+        if (err)
+          goto out;
 
-          xfree (key_type);
-          key_type = NULL;
+        err = ssh_key_type_lookup (NULL, key_type, &spec);
+        xfree (key_type);
+        if (err)
+          goto out;
+      }
 
-          err = key_secret_to_public (&key_public, spec, key_secret);
-          if (err)
-            goto out;
+      err = key_secret_to_public (&key_public, spec, key_secret);
+      if (err)
+        goto out;
 
-          gcry_sexp_release (key_secret);
-          key_secret = NULL;
+      gcry_sexp_release (key_secret);
+      key_secret = NULL;
 
-          err = ssh_send_key_public (key_blobs, key_public, NULL);
-          if (err)
-            goto out;
+      err = ssh_send_key_public (key_blobs, key_public, NULL);
+      if (err)
+        goto out;
 
-          gcry_sexp_release (key_public);
-          key_public = NULL;
+      gcry_sexp_release (key_public);
+      key_public = NULL;
 
-          key_counter++;
-        }
+      key_counter++;
     }
+  err = 0;
 
   ret = es_fseek (key_blobs, 0, SEEK_SET);
   if (ret)
@@ -2021,44 +2401,27 @@ ssh_handler_request_identities (ctrl_t ctrl,
     }
 
  out:
-
   /* Send response.  */
 
   gcry_sexp_release (key_secret);
   gcry_sexp_release (key_public);
 
-  if (! err)
+  if (!err)
     {
       ret_err = stream_write_byte (response, SSH_RESPONSE_IDENTITIES_ANSWER);
-      if (ret_err)
-       goto leave;
-      ret_err = stream_write_uint32 (response, key_counter);
-      if (ret_err)
-       goto leave;
-      ret_err = stream_copy (response, key_blobs);
-      if (ret_err)
-       goto leave;
+      if (!ret_err)
+        ret_err = stream_write_uint32 (response, key_counter);
+      if (!ret_err)
+        ret_err = stream_copy (response, key_blobs);
     }
   else
     {
       ret_err = stream_write_byte (response, SSH_RESPONSE_FAILURE);
-      goto leave;
-    };
-
- leave:
-
-  if (key_blobs)
-    es_fclose (key_blobs);
-  if (dir)
-    closedir (dir);
+    }
 
-  if (ctrl_fp)
-    fclose (ctrl_fp);
-
-  xfree (key_directory);
-  xfree (key_path);
-  xfree (buffer);
-  xfree (key_type);
+  es_fclose (key_blobs);
+  close_control_file (cf);
+  xfree (key_fname);
 
   return ret_err;
 }
@@ -2081,7 +2444,7 @@ data_hash (unsigned char *data, size_t data_n,
    signature in newly allocated memory in SIG and it's size in SIG_N;
    SIG_ENCODER is the signature encoder to use.  */
 static gpg_error_t
-data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
+data_sign (ctrl_t ctrl, ssh_key_type_spec_t *spec,
           unsigned char **sig, size_t *sig_n)
 {
   gpg_error_t err;
@@ -2092,10 +2455,6 @@ data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
   gcry_mpi_t sig_value = NULL;
   unsigned char *sig_blob = NULL;
   size_t sig_blob_n = 0;
-  char *identifier = NULL;
-  const char *identifier_raw;
-  size_t identifier_n;
-  ssh_key_type_spec_t spec;
   int ret;
   unsigned int i;
   const char *elems;
@@ -2174,29 +2533,11 @@ data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
       goto out;
     }
 
-  identifier_raw = gcry_sexp_nth_data (valuelist, 0, &identifier_n);
-  if (! identifier_raw)
-    {
-      err = gpg_error (GPG_ERR_INV_SEXP);
-      goto out;
-    }
-
-  identifier = make_cstring (identifier_raw, identifier_n);
-  if (! identifier)
-    {
-      err = gpg_error_from_syserror ();
-      goto out;
-    }
-
-  err = ssh_key_type_lookup (NULL, identifier, &spec);
+  err = stream_write_cstring (stream, spec->ssh_identifier);
   if (err)
     goto out;
 
-  err = stream_write_cstring (stream, spec.ssh_identifier);
-  if (err)
-    goto out;
-
-  elems = spec.elems_signature;
+  elems = spec->elems_signature;
   elems_n = strlen (elems);
 
   mpis = xtrycalloc (elems_n + 1, sizeof *mpis);
@@ -2208,7 +2549,7 @@ data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
 
   for (i = 0; i < elems_n; i++)
     {
-      sublist = gcry_sexp_find_token (valuelist, spec.elems_signature + i, 1);
+      sublist = gcry_sexp_find_token (valuelist, spec->elems_signature + i, 1);
       if (! sublist)
        {
          err = gpg_error (GPG_ERR_INV_SEXP);
@@ -2229,7 +2570,7 @@ data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
   if (err)
     goto out;
 
-  err = (*sig_encoder) (stream, mpis);
+  err = spec->signature_encoder (spec, stream, mpis);
   if (err)
     goto out;
 
@@ -2272,7 +2613,6 @@ data_sign (ctrl_t ctrl, ssh_signature_encoder_t sig_encoder,
   gcry_sexp_release (signature_sexp);
   gcry_sexp_release (sublist);
   mpint_list_free (mpis);
-  xfree (identifier);
 
   return err;
 }
@@ -2295,6 +2635,7 @@ ssh_handler_sign_request (ctrl_t ctrl, estream_t request, estream_t response)
   u32 flags;
   gpg_error_t err;
   gpg_error_t ret_err;
+  int hash_algo;
 
   key_blob = NULL;
   data = NULL;
@@ -2321,14 +2662,18 @@ ssh_handler_sign_request (ctrl_t ctrl, estream_t request, estream_t response)
   if (err)
     goto out;
 
+  hash_algo = spec.hash_algo;
+  if (!hash_algo)
+    hash_algo = GCRY_MD_SHA1;  /* Use the default.  */
+
   /* Hash data.  */
-  hash_n = gcry_md_get_algo_dlen (GCRY_MD_SHA1);
+  hash_n = gcry_md_get_algo_dlen (hash_algo);
   if (! hash_n)
     {
       err = gpg_error (GPG_ERR_INTERNAL);
       goto out;
     }
-  err = data_hash (data, data_size, GCRY_MD_SHA1, hash);
+  err = data_hash (data, data_size, hash_algo, hash);
   if (err)
     goto out;
 
@@ -2339,14 +2684,17 @@ ssh_handler_sign_request (ctrl_t ctrl, estream_t request, estream_t response)
 
   /* Sign data.  */
 
-  ctrl->digest.algo = GCRY_MD_SHA1;
+  ctrl->digest.algo = hash_algo;
   memcpy (ctrl->digest.value, hash, hash_n);
   ctrl->digest.valuelen = hash_n;
-  ctrl->digest.raw_value = ! (spec.flags & SPEC_FLAG_USE_PKCS1V2);
+  if ((spec.flags & SPEC_FLAG_USE_PKCS1V2))
+    ctrl->digest.raw_value = 0;
+  else
+    ctrl->digest.raw_value = 1;
   ctrl->have_keygrip = 1;
   memcpy (ctrl->keygrip, key_grip, 20);
 
-  err = data_sign (ctrl, spec.signature_encoder, &sig, &sig_n);
+  err = data_sign (ctrl, &spec, &sig, &sig_n);
 
  out:
 
@@ -2467,6 +2815,7 @@ reenter_compare_cb (struct pin_entry_info_s *pi)
   return -1;
 }
 
+
 /* Store the ssh KEY into our local key storage and protect it after
    asking for a passphrase.  Cache that passphrase.  TTL is the
    maximum caching time for that key.  If the key already exists in
@@ -2517,7 +2866,6 @@ ssh_identity_register (ctrl_t ctrl, gcry_sexp_t key, int ttl, int confirm)
       goto out;
     }
 
-
   pi = gcry_calloc_secure (2, sizeof (*pi) + 100 + 1);
   if (!pi)
     {
@@ -3007,44 +3355,50 @@ ssh_request_process (ctrl_t ctrl, estream_t stream_sock)
   return !!err;
 }
 
-/* Start serving client on SOCK_CLIENT.  */
-void
-start_command_handler_ssh (ctrl_t ctrl, gnupg_fd_t sock_client)
+
+/* Because the ssh protocol does not send us information about the the
+   current TTY setting, we use this function to use those from startup
+   or those explictly set.  */
+static gpg_error_t
+setup_ssh_env (ctrl_t ctrl)
 {
-  estream_t stream_sock = NULL;
+  static const char *names[] =
+    {"GPG_TTY", "DISPLAY", "TERM", "XAUTHORITY", "PINENTRY_USER_DATA", NULL};
   gpg_error_t err = 0;
-  int ret;
+  int idx;
+  const char *value;
 
-  /* Because the ssh protocol does not send us information about the
-     the current TTY setting, we resort here to use those from startup
-     or those explictly set.  */
-  {
-    static const char *names[] =
-      {"GPG_TTY", "DISPLAY", "TERM", "XAUTHORITY", "PINENTRY_USER_DATA", NULL};
-    int idx;
-    const char *value;
+  for (idx=0; !err && names[idx]; idx++)
+      if ((value = session_env_getenv (opt.startup_env, names[idx])))
+      err = session_env_setenv (ctrl->session_env, names[idx], value);
 
-    for (idx=0; !err && names[idx]; idx++)
-      if (!session_env_getenv (ctrl->session_env, names[idx])
-          && (value = session_env_getenv (opt.startup_env, names[idx])))
-        err = session_env_setenv (ctrl->session_env, names[idx], value);
+  if (!err && !ctrl->lc_ctype && opt.startup_lc_ctype)
+    if (!(ctrl->lc_ctype = xtrystrdup (opt.startup_lc_ctype)))
+      err = gpg_error_from_syserror ();
 
-    if (!err && !ctrl->lc_ctype && opt.startup_lc_ctype)
-      if (!(ctrl->lc_ctype = xtrystrdup (opt.startup_lc_ctype)))
-        err = gpg_error_from_syserror ();
+  if (!err && !ctrl->lc_messages && opt.startup_lc_messages)
+    if (!(ctrl->lc_messages = xtrystrdup (opt.startup_lc_messages)))
+      err = gpg_error_from_syserror ();
 
-    if (!err && !ctrl->lc_messages && opt.startup_lc_messages)
-      if (!(ctrl->lc_messages = xtrystrdup (opt.startup_lc_messages)))
-        err = gpg_error_from_syserror ();
+  if (err)
+    log_error ("error setting default session environment: %s\n",
+               gpg_strerror (err));
 
-    if (err)
-      {
-        log_error ("error setting default session environment: %s\n",
-                   gpg_strerror (err));
-        goto out;
-      }
-  }
+  return err;
+}
+
+
+/* Start serving client on SOCK_CLIENT.  */
+void
+start_command_handler_ssh (ctrl_t ctrl, gnupg_fd_t sock_client)
+{
+  estream_t stream_sock = NULL;
+  gpg_error_t err;
+  int ret;
 
+  err = setup_ssh_env (ctrl);
+  if (err)
+    goto out;
 
   /* Create stream from socket.  */
   stream_sock = es_fdopen (FD2INT(sock_client), "r+");
@@ -3087,3 +3441,149 @@ start_command_handler_ssh (ctrl_t ctrl, gnupg_fd_t sock_client)
   if (stream_sock)
     es_fclose (stream_sock);
 }
+
+
+#ifdef HAVE_W32_SYSTEM
+/* Serve one ssh-agent request.  This is used for the Putty support.
+   REQUEST is the the mmapped memory which may be accessed up to a
+   length of MAXREQLEN.  Returns 0 on success which also indicates
+   that a valid SSH response message is now in REQUEST.  */
+int
+serve_mmapped_ssh_request (ctrl_t ctrl,
+                           unsigned char *request, size_t maxreqlen)
+{
+  gpg_error_t err;
+  int send_err = 0;
+  int valid_response = 0;
+  ssh_request_spec_t *spec;
+  u32 msglen;
+  estream_t request_stream, response_stream;
+
+  if (setup_ssh_env (ctrl))
+    goto leave; /* Error setting up the environment.  */
+
+  if (maxreqlen < 5)
+    goto leave; /* Caller error.  */
+
+  msglen = uint32_construct (request[0], request[1], request[2], request[3]);
+  if (msglen < 1 || msglen > maxreqlen - 4)
+    {
+      log_error ("ssh message len (%u) out of range", (unsigned int)msglen);
+      goto leave;
+    }
+
+  spec = request_spec_lookup (request[4]);
+  if (!spec)
+    {
+      send_err = 1;  /* Unknown request type.  */
+      goto leave;
+    }
+
+  /* Create a stream object with the data part of the request.  */
+  if (spec->secret_input)
+    request_stream = es_mopen (NULL, 0, 0, 1, realloc_secure, gcry_free, "r+");
+  else
+    request_stream = es_mopen (NULL, 0, 0, 1, gcry_realloc, gcry_free, "r+");
+  if (!request_stream)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+  /* We have to disable the estream buffering, because the estream
+     core doesn't know about secure memory.  */
+  if (es_setvbuf (request_stream, NULL, _IONBF, 0))
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+  /* Copy the request to the stream but omit the request type.  */
+  err = stream_write_data (request_stream, request + 5, msglen - 1);
+  if (err)
+    goto leave;
+  es_rewind (request_stream);
+
+  response_stream = es_fopenmem (0, "r+b");
+  if (!response_stream)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+
+  if (opt.verbose)
+    log_info ("ssh request handler for %s (%u) started\n",
+              spec->identifier, spec->type);
+
+  err = (*spec->handler) (ctrl, request_stream, response_stream);
+
+  if (opt.verbose)
+    {
+      if (err)
+        log_info ("ssh request handler for %s (%u) failed: %s\n",
+                  spec->identifier, spec->type, gpg_strerror (err));
+      else
+        log_info ("ssh request handler for %s (%u) ready\n",
+                  spec->identifier, spec->type);
+    }
+
+  es_fclose (request_stream);
+  request_stream = NULL;
+
+  if (err)
+    {
+      send_err = 1;
+      goto leave;
+    }
+
+  /* Put the response back into the mmapped buffer.  */
+  {
+    void *response_data;
+    size_t response_size;
+
+    /* NB: In contrast to the request-stream, the response stream
+       includes the the message type byte.  */
+    if (es_fclose_snatch (response_stream, &response_data, &response_size))
+      {
+        log_error ("snatching ssh response failed: %s",
+                   gpg_strerror (gpg_error_from_syserror ()));
+        send_err = 1; /* Ooops.  */
+        goto leave;
+      }
+
+    if (opt.verbose > 1)
+      log_info ("sending ssh response of length %u\n",
+                (unsigned int)response_size);
+    if (response_size > maxreqlen - 4)
+      {
+        log_error ("invalid length of the ssh response: %s",
+                   gpg_strerror (GPG_ERR_INTERNAL));
+        es_free (response_data);
+        send_err = 1;
+        goto leave;
+      }
+
+    request[0] = response_size >> 24;
+    request[1] = response_size >> 16;
+    request[2] = response_size >>  8;
+    request[3] = response_size >>  0;
+    memcpy (request+4, response_data, response_size);
+    es_free (response_data);
+    valid_response = 1;
+  }
+
+ leave:
+  if (send_err)
+    {
+      request[0] = 0;
+      request[1] = 0;
+      request[2] = 0;
+      request[3] = 1;
+      request[4] = SSH_RESPONSE_FAILURE;
+      valid_response = 1;
+    }
+
+  /* Reset the SCD in case it has been used. */
+  agent_reset_scd (ctrl);
+
+  return valid_response? 0 : -1;
+}
+#endif /*HAVE_W32_SYSTEM*/
index 97cf507..2405c54 100644 (file)
@@ -1,6 +1,7 @@
 /* command.c - gpg-agent command handler
  * Copyright (C) 2001, 2002, 2003, 2004, 2005,
  *               2006, 2008, 2009  Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
@@ -833,22 +834,25 @@ cmd_readkey (assuan_context_t ctx, char *line)
 
 \f
 static const char hlp_keyinfo[] =
-  "KEYINFO [--list] [--data] [--ssh-fpr] <keygrip>\n"
+  "KEYINFO [--[ssh-]list] [--data] [--ssh-fpr] [--with-ssh] <keygrip>\n"
   "\n"
   "Return information about the key specified by the KEYGRIP.  If the\n"
   "key is not available GPG_ERR_NOT_FOUND is returned.  If the option\n"
   "--list is given the keygrip is ignored and information about all\n"
-  "available keys are returned.  The information is returned as a\n"
-  "status line unless --data was specified, with this format:\n"
+  "available keys are returned.  If --ssh-list is given information\n"
+  "about all keys listed in the sshcontrol are returned.  With --with-ssh\n"
+  "information from sshcontrol is always added to the info. Unless --data\n"
+  "is given, the information is returned as a status line using the format:\n"
   "\n"
-  "  KEYINFO <keygrip> <type> <serialno> <idstr> - - <fpr>\n"
+  "  KEYINFO <keygrip> <type> <serialno> <idstr> - - <fpr> <ttl> <flags>\n"
   "\n"
   "KEYGRIP is the keygrip.\n"
   "\n"
-  "TYPE is describes the type of the key:\n"
+  "TYPE describes the type of the key:\n"
   "    'D' - Regular key stored on disk,\n"
-  "    'T' - Key is stored on a smartcard (token).\n"
-  "    '-' - Unknown type.\n"
+  "    'T' - Key is stored on a smartcard (token),\n"
+  "    'X' - Unknown type,\n"
+  "    '-' - Key is missing.\n"
   "\n"
   "SERIALNO is an ASCII string with the serial number of the\n"
   "         smartcard.  If the serial number is not known a single\n"
@@ -858,13 +862,21 @@ static const char hlp_keyinfo[] =
   "      is not known a dash is used instead.\n"
   "\n"
   "FPR returns the formatted ssh-style fingerprint of the key.  It is only\n"
-  "    print if the option --ssh-fpr has been used. '-' is printed if the\n"
-  "    fingerprint is not available.\n"
+  "    printed if the option --ssh-fpr has been used.  It defaults to '-'.\n"
+  "\n"
+  "TTL is the TTL in seconds for that key or '-' if n/a.\n"
+  "\n"
+  "FLAGS is a word consisting of one-letter flags:\n"
+  "      'D' - The key has been disabled,\n"
+  "      'S' - The key is listed in sshcontrol (requires --with-ssh),\n"
+  "      'c' - Use of the key needs to be confirmed,\n"
+  "      '-' - No flags given.\n"
   "\n"
   "More information may be added in the future.";
 static gpg_error_t
 do_one_keyinfo (ctrl_t ctrl, const unsigned char *grip, assuan_context_t ctx,
-                int data, int with_ssh_fpr)
+                int data, int with_ssh_fpr, int in_ssh,
+                int ttl, int disabled, int confirm)
 {
   gpg_error_t err;
   char hexgrip[40+1];
@@ -874,21 +886,56 @@ do_one_keyinfo (ctrl_t ctrl, const unsigned char *grip, assuan_context_t ctx,
   char *serialno = NULL;
   char *idstr = NULL;
   const char *keytypestr;
+  int missing_key = 0;
+  char ttlbuf[20];
+  char flagsbuf[5];
 
   err = agent_key_info_from_file (ctrl, grip, &keytype, &shadow_info);
   if (err)
-    goto leave;
+    {
+      if (in_ssh && gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+        missing_key = 1;
+      else
+        goto leave;
+    }
 
   /* Reformat the grip so that we use uppercase as good style. */
   bin2hex (grip, 20, hexgrip);
 
-  if (keytype == PRIVATE_KEY_CLEAR
-      || keytype == PRIVATE_KEY_PROTECTED)
-    keytypestr = "D";
-  else if (keytype == PRIVATE_KEY_SHADOWED)
-    keytypestr = "T";
+  if (ttl > 0)
+    snprintf (ttlbuf, sizeof ttlbuf, "%d", ttl);
   else
-    keytypestr = "-";
+    strcpy (ttlbuf, "-");
+
+  *flagsbuf = 0;
+  if (disabled)
+    strcat (flagsbuf, "D");
+  if (in_ssh)
+    strcat (flagsbuf, "S");
+  if (confirm)
+    strcat (flagsbuf, "c");
+  if (!*flagsbuf)
+    strcpy (flagsbuf, "-");
+
+
+  if (missing_key)
+    {
+      keytypestr = "-";
+    }
+  else
+    {
+      switch (keytype)
+        {
+        case PRIVATE_KEY_CLEAR: keytypestr = "D";
+          break;
+        case PRIVATE_KEY_PROTECTED: keytypestr = "D";
+          break;
+        case PRIVATE_KEY_SHADOWED: keytypestr = "T";
+          break;
+        default: keytypestr = "X";
+          break;
+        }
+    }
 
   /* Compute the ssh fingerprint if requested.  */
   if (with_ssh_fpr)
@@ -921,16 +968,21 @@ do_one_keyinfo (ctrl_t ctrl, const unsigned char *grip, assuan_context_t ctx,
                               "-",
                              "-",
                               fpr? fpr : "-",
+                              ttlbuf,
+                              flagsbuf,
                               NULL);
   else
     {
       char *string;
 
-      string = xtryasprintf ("%s %s %s %s - - %s\n",
+      string = xtryasprintf ("%s %s %s %s - - %s %s %s\n",
                              hexgrip, keytypestr,
                              serialno? serialno : "-",
                              idstr? idstr : "-",
-                             fpr? fpr : "-");
+                             fpr? fpr : "-",
+                             ttlbuf,
+                             flagsbuf);
+
       if (!string)
         err = gpg_error_from_syserror ();
       else
@@ -955,18 +1007,44 @@ cmd_keyinfo (assuan_context_t ctx, char *line)
   unsigned char grip[20];
   DIR *dir = NULL;
   int list_mode;
-  int opt_data, opt_ssh_fpr;
+  int opt_data, opt_ssh_fpr, opt_with_ssh;
+  ssh_control_file_t cf = NULL;
+  char hexgrip[41];
+  int disabled, ttl, confirm, is_ssh;
 
-  list_mode = has_option (line, "--list");
+  if (has_option (line, "--ssh-list"))
+    list_mode = 2;
+  else
+    list_mode = has_option (line, "--list");
   opt_data = has_option (line, "--data");
   opt_ssh_fpr = has_option (line, "--ssh-fpr");
+  opt_with_ssh = has_option (line, "--with-ssh");
   line = skip_options (line);
 
-  if (list_mode)
+  if (opt_with_ssh || list_mode == 2)
+    cf = ssh_open_control_file ();
+
+  if (list_mode == 2)
+    {
+      if (cf)
+        {
+          while (!ssh_read_control_file (cf, hexgrip,
+                                         &disabled, &ttl, &confirm))
+            {
+              if (hex2bin (hexgrip, grip, 20) < 0 )
+                continue; /* Bad hex string.  */
+              err = do_one_keyinfo (ctrl, grip, ctx, opt_data, opt_ssh_fpr, 1,
+                                    ttl, disabled, confirm);
+              if (err)
+                goto leave;
+            }
+        }
+      err = 0;
+    }
+  else if (list_mode)
     {
       char *dirname;
       struct dirent *dir_entry;
-      char hexgrip[41];
 
       dirname = make_filename_try (opt.homedir, GNUPG_PRIVATE_KEYS_DIR, NULL);
       if (!dirname)
@@ -994,7 +1072,19 @@ cmd_keyinfo (assuan_context_t ctx, char *line)
           if ( hex2bin (hexgrip, grip, 20) < 0 )
             continue; /* Bad hex string.  */
 
-          err = do_one_keyinfo (ctrl, grip, ctx, opt_data, opt_ssh_fpr);
+          disabled = ttl = confirm = is_ssh = 0;
+          if (opt_with_ssh)
+            {
+              err = ssh_search_control_file (cf, hexgrip,
+                                             &disabled, &ttl, &confirm);
+              if (!err)
+                is_ssh = 1;
+              else if (gpg_err_code (err) != GPG_ERR_NOT_FOUND)
+                goto leave;
+            }
+
+          err = do_one_keyinfo (ctrl, grip, ctx, opt_data, opt_ssh_fpr, is_ssh,
+                                ttl, disabled, confirm);
           if (err)
             goto leave;
         }
@@ -1005,10 +1095,23 @@ cmd_keyinfo (assuan_context_t ctx, char *line)
       err = parse_keygrip (ctx, line, grip);
       if (err)
         goto leave;
-      err = do_one_keyinfo (ctrl, grip, ctx, opt_data, opt_ssh_fpr);
+      disabled = ttl = confirm = is_ssh = 0;
+      if (opt_with_ssh)
+        {
+          err = ssh_search_control_file (cf, line,
+                                         &disabled, &ttl, &confirm);
+          if (!err)
+            is_ssh = 1;
+          else if (gpg_err_code (err) != GPG_ERR_NOT_FOUND)
+            goto leave;
+        }
+
+      err = do_one_keyinfo (ctrl, grip, ctx, opt_data, opt_ssh_fpr, is_ssh,
+                            ttl, disabled, confirm);
     }
 
  leave:
+  ssh_close_control_file (cf);
   if (dir)
     closedir (dir);
   if (err && gpg_err_code (err) != GPG_ERR_NOT_FOUND)
index bf07d07..1f36f6e 100644 (file)
@@ -219,7 +219,7 @@ getpin_cb (void *opaque, const char *info, char *buf, size_t maxbuf)
   else if (info && *info == '|')
     log_debug ("pin_cb called without proper PIN info hack\n");
 
-  /* If BUF has been passed as NULL, we are in keypad mode: The
+  /* If BUF has been passed as NULL, we are in pinpad mode: The
      callback opens the popup and immediatley returns. */
   if (!buf)
     {
@@ -235,7 +235,7 @@ getpin_cb (void *opaque, const char *info, char *buf, size_t maxbuf)
               char *desc;
 
               if ( asprintf (&desc,
-                             _("%s%%0A%%0AUse the reader's keypad for input."),
+                             _("%s%%0A%%0AUse the reader's pinpad for input."),
                              info) < 0 )
                 rc = gpg_error_from_syserror ();
               else
index 800db88..550e403 100644 (file)
@@ -824,15 +824,15 @@ agent_public_key_from_file (ctrl_t ctrl,
     {
       p = stpcpy (p, "(uri %b)");
       assert (argidx+1 < DIM (args));
-      args[argidx++] = (void *)uri_length;
-      args[argidx++] = (void *)uri;
+      args[argidx++] = (void *)&uri_length;
+      args[argidx++] = (void *)&uri;
     }
   if (comment)
     {
       p = stpcpy (p, "(comment %b)");
       assert (argidx+1 < DIM (args));
-      args[argidx++] = (void *)comment_length;
-      args[argidx++] = (void*)comment;
+      args[argidx++] = (void *)&comment_length;
+      args[argidx++] = (void*)&comment;
     }
   *p++ = ')';
   *p = 0;
index 176e77d..d5af9e0 100644 (file)
@@ -306,7 +306,7 @@ agent_genkey (ctrl_t ctrl, const char *keyparam, size_t keyparamlen,
   /* Get the passphrase now, cause key generation may take a while. */
   {
     const char *text1 = _("Please enter the passphrase to%0A"
-                               "to protect your new key");
+                               "protect your new key");
     const char *text2 = _("Please re-enter this passphrase");
     const char *initial_errtext = NULL;
 
diff --git a/agent/gpg-agent-w32info.rc b/agent/gpg-agent-w32info.rc
new file mode 100644 (file)
index 0000000..d586cad
--- /dev/null
@@ -0,0 +1,50 @@
+/* gpg-agent-w32info.rc                                        -*- c -*-
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "afxres.h"
+#include "../common/w32info-rc.h"
+
+1 ICON "../common/gnupg.ico"
+
+1 VERSIONINFO
+  FILEVERSION    W32INFO_VI_FILEVERSION
+  PRODUCTVERSION W32INFO_VI_PRODUCTVERSION
+  FILEFLAGSMASK  0x3fL
+#ifdef _DEBUG
+  FILEFLAGS      0x01L    /* VS_FF_DEBUG (0x1)*/
+#else
+  FILEFLAGS      0x00L
+#endif
+  FILEOS         0x40004L /* VOS_NT (0x40000) | VOS__WINDOWS32 (0x4)  */
+  FILETYPE       0x1L     /* VFT_APP (0x1)  */
+  FILESUBTYPE    0x0L     /* VFT2_UNKNOWN   */
+  BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"  /* US English (0409), Unicode (04b0) */
+        BEGIN
+            VALUE "FileDescription", L"GnuPG\x2019s private key daemon\0"
+            VALUE "InternalName", "gpg-agent\0"
+            VALUE "OriginalFilename", "gpg-agent.exe\0"
+            VALUE "ProductName",    W32INFO_PRODUCTNAME
+            VALUE "ProductVersion", W32INFO_PRODUCTVERSION
+            VALUE "CompanyName", W32INFO_COMPANYNAME
+            VALUE "FileVersion", W32INFO_FILEVERSION
+            VALUE "LegalCopyright", W32INFO_LEGALCOPYRIGHT
+            VALUE "Comments",    W32INFO_COMMENTS
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+      VALUE "Translation", 0x409, 0x4b0
+    END
+  END
index b00d899..bf2a26d 100644 (file)
@@ -1,6 +1,7 @@
 /* gpg-agent.c  -  The GnuPG Agent
  * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
  *               2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
 #include <time.h>
 #include <fcntl.h>
 #include <sys/stat.h>
-#ifndef HAVE_W32_SYSTEM
+#ifdef HAVE_W32_SYSTEM
+# ifndef WINVER
+#  define WINVER 0x0500  /* Same as in common/sysutils.c */
+# endif
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <aclapi.h>
+# include <sddl.h>
+#else /*!HAVE_W32_SYSTEM*/
 # include <sys/socket.h>
 # include <sys/un.h>
 #endif /*!HAVE_W32_SYSTEM*/
@@ -102,10 +112,12 @@ enum cmd_and_opt_values
 
   oIgnoreCacheForSigning,
   oAllowMarkTrusted,
+  oNoAllowMarkTrusted,
   oAllowPresetPassphrase,
   oKeepTTY,
   oKeepDISPLAY,
   oSSHSupport,
+  oPuttySupport,
   oDisableScdaemon,
   oWriteEnvFile
 };
@@ -120,8 +132,8 @@ static ARGPARSE_OPTS opts[] = {
 
   { 301, NULL, 0, N_("@Options:\n ") },
 
-  { oServer,   "server",     0, N_("run in server mode (foreground)") },
   { oDaemon,   "daemon",     0, N_("run in daemon mode (background)") },
+  { oServer,   "server",     0, N_("run in server mode (foreground)") },
   { oVerbose, "verbose",     0, N_("verbose") },
   { oQuiet,    "quiet",     0, N_("be somewhat more quiet") },
   { oSh,       "sh",        0, N_("sh-style command output") },
@@ -173,11 +185,19 @@ static ARGPARSE_OPTS opts[] = {
 
   { oIgnoreCacheForSigning, "ignore-cache-for-signing", 0,
                                N_("do not use the PIN cache when signing")},
-  { oAllowMarkTrusted, "allow-mark-trusted", 0,
-                             N_("allow clients to mark keys as \"trusted\"")},
+  { oNoAllowMarkTrusted, "no-allow-mark-trusted", 0,
+                            N_("disallow clients to mark keys as \"trusted\"")},
+  { oAllowMarkTrusted, "allow-mark-trusted", 0, "@"},
   { oAllowPresetPassphrase, "allow-preset-passphrase", 0,
                              N_("allow presetting passphrase")},
-  { oSSHSupport, "enable-ssh-support", 0, N_("enable ssh-agent emulation") },
+  { oSSHSupport, "enable-ssh-support", 0, N_("enable ssh support") },
+  { oPuttySupport, "enable-putty-support", 0,
+#ifdef HAVE_W32_SYSTEM
+      N_("enable putty support")
+#else
+      "@"
+#endif
+  },
   { oWriteEnvFile, "write-env-file", 2|8,
             N_("|FILE|write environment settings also to FILE")},
   {0}
@@ -202,6 +222,17 @@ static ARGPARSE_OPTS opts[] = {
 #endif
 
 
+#ifdef HAVE_W32_SYSTEM
+/* Flag indicating that support for Putty has been enabled.  */
+static int putty_support;
+/* A magic value used with WM_COPYDATA.  */
+#define PUTTY_IPC_MAGIC 0x804e50ba
+/* To avoid surprises we limit the size of the mapped IPC file to this
+   value.  Putty currently (0.62) uses 8k, thus 16k should be enough
+   for the foreseeable future.  */
+#define PUTTY_IPC_MAXLEN 16384
+#endif /*HAVE_W32_SYSTEM*/
+
 /* The list of open file descriptors at startup.  Note that this list
    has been allocated using the standard malloc.  */
 static int *startup_fd_list;
@@ -277,12 +308,15 @@ static int check_for_running_agent (int silent, int mode);
 /* Pth wrapper function definitions. */
 ASSUAN_SYSTEM_PTH_IMPL;
 
+#if GCRYPT_VERSION_NUMBER < 0x010600
 GCRY_THREAD_OPTION_PTH_IMPL;
+#if GCRY_THREAD_OPTION_VERSION < 1
 static int fixed_gcry_pth_init (void)
 {
   return pth_self ()? 0 : (pth_init () == FALSE) ? errno : 0;
 }
-
+#endif
+#endif /*GCRYPT_VERSION_NUMBER < 0x10600*/
 
 #ifndef PTH_HAVE_PTH_THREAD_ID
 static unsigned long pth_thread_id (void)
@@ -473,7 +507,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       opt.max_passphrase_days = MAX_PASSPHRASE_DAYS;
       opt.enable_passhrase_history = 0;
       opt.ignore_cache_for_signing = 0;
-      opt.allow_mark_trusted = 0;
+      opt.allow_mark_trusted = 1;
       opt.disable_scdaemon = 0;
       return 1;
     }
@@ -533,6 +567,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
     case oIgnoreCacheForSigning: opt.ignore_cache_for_signing = 1; break;
 
     case oAllowMarkTrusted: opt.allow_mark_trusted = 1; break;
+    case oNoAllowMarkTrusted: opt.allow_mark_trusted = 0; break;
 
     case oAllowPresetPassphrase: opt.allow_preset_passphrase = 1; break;
 
@@ -592,15 +627,19 @@ main (int argc, char **argv )
   init_common_subsystems ();
 
 
-  /* Libgcrypt requires us to register the threading model first.
+#if GCRYPT_VERSION_NUMBER < 0x010600
+  /* Libgcrypt < 1.6 requires us to register the threading model first.
      Note that this will also do the pth_init. */
+#if GCRY_THREAD_OPTION_VERSION < 1
   gcry_threads_pth.init = fixed_gcry_pth_init;
+#endif
   err = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
   if (err)
     {
       log_fatal ("can't register GNU Pth with Libgcrypt: %s\n",
                  gpg_strerror (err));
     }
+#endif /*GCRYPT_VERSION_NUMBER < 0x010600*/
 
 
   /* Check that the libraries are suitable.  Do it here because
@@ -802,6 +841,13 @@ main (int argc, char **argv )
         case oKeepDISPLAY: opt.keep_display = 1; break;
 
        case oSSHSupport:  opt.ssh_support = 1; break;
+        case oPuttySupport:
+#        ifdef HAVE_W32_SYSTEM
+          putty_support = 1;
+          opt.ssh_support = 1;
+#        endif
+          break;
+
         case oWriteEnvFile:
           if (pargs.r_type)
             env_file_name = pargs.r.ret_str;
@@ -921,10 +967,15 @@ main (int argc, char **argv )
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
       printf ("ignore-cache-for-signing:%lu:\n",
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
-      printf ("allow-mark-trusted:%lu:\n",
+      printf ("no-allow-mark-trusted:%lu:\n",
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
       printf ("disable-scdaemon:%lu:\n",
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
+#ifdef HAVE_W32_SYSTEM
+      printf ("enable-putty-support:%lu:\n", GC_OPT_FLAG_NONE);
+#else
+      printf ("enable-ssh-support:%lu:\n", GC_OPT_FLAG_NONE);
+#endif
 
       agent_exit (0);
     }
@@ -1289,6 +1340,8 @@ agent_exit (int rc)
 static void
 agent_init_default_ctrl (ctrl_t ctrl)
 {
+  assert (ctrl->session_env);
+
   /* Note we ignore malloc errors because we can't do much about it
      and the request will fail anyway shortly after this
      initialization. */
@@ -1306,7 +1359,6 @@ agent_init_default_ctrl (ctrl_t ctrl)
     xfree (ctrl->lc_messages);
   ctrl->lc_messages = default_lc_messages? xtrystrdup (default_lc_messages)
                                     /**/ : NULL;
-
 }
 
 
@@ -1785,6 +1837,199 @@ check_nonce (ctrl_t ctrl, assuan_sock_nonce_t *nonce)
 }
 
 
+#ifdef HAVE_W32_SYSTEM
+/* The window message processing function for Putty.  Warning: This
+   code runs as a native Windows thread.  Use of our own functions
+   needs to be bracket with pth_leave/pth_enter. */
+static LRESULT CALLBACK
+putty_message_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
+{
+  int ret = 0;
+  int w32rc;
+  COPYDATASTRUCT *cds;
+  const char *mapfile;
+  HANDLE maphd;
+  PSID mysid = NULL;
+  PSID mapsid = NULL;
+  void *data = NULL;
+  PSECURITY_DESCRIPTOR psd = NULL;
+  ctrl_t ctrl = NULL;
+
+  if (msg != WM_COPYDATA)
+    {
+      /* pth_leave (); */
+      /* log_debug ("putty loop: received WM_%u\n", msg ); */
+      /* pth_enter (); */
+      return DefWindowProc (hwnd, msg, wparam, lparam);
+    }
+
+  cds = (COPYDATASTRUCT*)lparam;
+  if (cds->dwData != PUTTY_IPC_MAGIC)
+    return 0;  /* Ignore data with the wrong magic.  */
+  mapfile = cds->lpData;
+  if (!cds->cbData || mapfile[cds->cbData - 1])
+    return 0;  /* Ignore empty and non-properly terminated strings.  */
+
+  if (DBG_ASSUAN)
+    {
+      pth_leave ();
+      log_debug ("ssh map file '%s'", mapfile);
+      pth_enter ();
+    }
+
+  maphd = OpenFileMapping (FILE_MAP_ALL_ACCESS, FALSE, mapfile);
+  if (DBG_ASSUAN)
+    {
+      pth_leave ();
+      log_debug ("ssh map handle %p\n", maphd);
+      pth_enter ();
+    }
+
+  if (!maphd || maphd == INVALID_HANDLE_VALUE)
+    return 0;
+
+  pth_leave ();
+
+  mysid = w32_get_user_sid ();
+  if (!mysid)
+    {
+      log_error ("error getting my sid\n");
+      goto leave;
+    }
+
+  w32rc = GetSecurityInfo (maphd, SE_KERNEL_OBJECT,
+                           OWNER_SECURITY_INFORMATION,
+                           &mapsid, NULL, NULL, NULL,
+                           &psd);
+  if (w32rc)
+    {
+      log_error ("error getting sid of ssh map file: rc=%d", w32rc);
+      goto leave;
+    }
+
+  if (DBG_ASSUAN)
+    {
+      char *sidstr;
+
+      if (!ConvertSidToStringSid (mysid, &sidstr))
+        sidstr = NULL;
+      log_debug ("          my sid: '%s'", sidstr? sidstr: "[error]");
+      LocalFree (sidstr);
+      if (!ConvertSidToStringSid (mapsid, &sidstr))
+        sidstr = NULL;
+      log_debug ("ssh map file sid: '%s'", sidstr? sidstr: "[error]");
+      LocalFree (sidstr);
+    }
+
+  if (!EqualSid (mysid, mapsid))
+    {
+      log_error ("ssh map file has a non-matching sid\n");
+      goto leave;
+    }
+
+  data = MapViewOfFile (maphd, FILE_MAP_ALL_ACCESS, 0, 0, 0);
+  if (DBG_ASSUAN)
+    log_debug ("ssh IPC buffer at %p\n", data);
+  if (!data)
+    goto leave;
+
+  /* log_printhex ("request:", data, 20); */
+
+  ctrl = xtrycalloc (1, sizeof *ctrl);
+  if (!ctrl)
+    {
+      log_error ("error allocating connection control data: %s\n",
+                 strerror (errno) );
+      goto leave;
+    }
+  ctrl->session_env = session_env_new ();
+  if (!ctrl->session_env)
+    {
+      log_error ("error allocating session environment block: %s\n",
+                 strerror (errno) );
+      goto leave;
+    }
+
+  agent_init_default_ctrl (ctrl);
+  if (!serve_mmapped_ssh_request (ctrl, data, PUTTY_IPC_MAXLEN))
+    ret = 1; /* Valid ssh message has been constructed.  */
+  agent_deinit_default_ctrl (ctrl);
+  /* log_printhex ("  reply:", data, 20); */
+
+ leave:
+  xfree (ctrl);
+  if (data)
+    UnmapViewOfFile (data);
+  xfree (mapsid);
+  if (psd)
+    LocalFree (psd);
+  xfree (mysid);
+  CloseHandle (maphd);
+
+  pth_enter ();
+
+  return ret;
+}
+#endif /*HAVE_W32_SYSTEM*/
+
+
+#ifdef HAVE_W32_SYSTEM
+/* The thread handling Putty's IPC requests.  */
+static void *
+putty_message_thread (void *arg)
+{
+  WNDCLASS wndwclass = {0, putty_message_proc, 0, 0,
+                        NULL, NULL, NULL, NULL, NULL, "Pageant"};
+  HWND hwnd;
+  MSG msg;
+
+  (void)arg;
+
+  if (opt.verbose)
+    log_info ("putty message loop thread 0x%lx started\n", pth_thread_id ());
+
+  /* The message loop runs as thread independet from out Pth system.
+     This also meand that we need to make sure that we switch back to
+     our system before calling any no-windows function.  */
+  pth_enter ();
+
+  /* First create a window to make sure that a message queue exists
+     for this thread.  */
+  if (!RegisterClass (&wndwclass))
+    {
+      pth_leave ();
+      log_error ("error registering Pageant window class");
+      return NULL;
+    }
+  hwnd = CreateWindowEx (0, "Pageant", "Pageant", 0,
+                         0, 0, 0, 0,
+                         HWND_MESSAGE,  /* hWndParent */
+                         NULL,          /* hWndMenu   */
+                         NULL,          /* hInstance  */
+                         NULL);         /* lpParm     */
+  if (!hwnd)
+    {
+      pth_leave ();
+      log_error ("error creating Pageant window");
+      return NULL;
+    }
+
+  while (GetMessage(&msg, NULL, 0, 0))
+    {
+      TranslateMessage(&msg);
+      DispatchMessage(&msg);
+    }
+
+  /* Back to Pth.  */
+  pth_leave ();
+
+  if (opt.verbose)
+    log_info ("putty message loop thread 0x%lx stopped\n", pth_thread_id ());
+  return NULL;
+}
+#endif /*HAVE_W32_SYSTEM*/
+
+
 /* This is the standard connection thread's main function.  */
 static void *
 start_connection_thread (void *arg)
@@ -1894,6 +2139,21 @@ handle_connections (gnupg_fd_t listen_fd, gnupg_fd_t listen_fd_ssh)
 #endif
   time_ev = NULL;
 
+  /* On Windows we need to fire up a separate thread to listen for
+     requests from Putty (an SSH client), so we can replace Putty's
+     Pageant (its ssh-agent implementation). */
+#ifdef HAVE_W32_SYSTEM
+  if (putty_support)
+    {
+      pth_attr_set (tattr, PTH_ATTR_NAME, "putty message loop");
+      if (!pth_spawn (tattr, putty_message_thread, NULL))
+        {
+          log_error ("error spawning putty message loop: %s\n",
+                     strerror (errno) );
+        }
+    }
+#endif /*HAVE_W32_SYSTEM*/
+
   /* Set a flag to tell call-scd.c that it may enable event
      notifications.  */
   opt.sigusr2_enabled = 1;
index 72de91b..8f6018b 100644 (file)
 #include <fcntl.h> /* for setmode() */
 #endif
 #ifdef HAVE_W32_SYSTEM
-#include <windows.h>  /* To initialize the sockets.  fixme */
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>  /* To initialize the sockets.  fixme */
 #endif
 
 #define JNLIB_NEED_LOG_LOGV
 #include "sysutils.h"
 
 
-enum cmd_and_opt_values 
+enum cmd_and_opt_values
 { aNull = 0,
   oVerbose       = 'v',
   oPassphrase     = 'P',
 
   oPreset         = 'c',
   oForget         = 'f',
-  
+
   oNoVerbose = 500,
 
   oHomedir,
@@ -68,7 +71,7 @@ static const char *opt_homedir;
 static const char *opt_passphrase;
 
 static ARGPARSE_OPTS opts[] = {
-  
+
   { 301, NULL, 0, N_("@Options:\n ") },
 
   { oVerbose, "verbose",   0, "verbose" },
@@ -76,7 +79,7 @@ static ARGPARSE_OPTS opts[] = {
   { oPreset,  "preset",   256, "preset passphrase"},
   { oForget,  "forget",  256, "forget passphrase"},
 
-  { oHomedir, "homedir", 2, "@" }, 
+  { oHomedir, "homedir", 2, "@" },
   {0}
 };
 
@@ -94,14 +97,14 @@ my_strusage (int level)
     case 19: p = _("Please report bugs to <@EMAIL@>.\n"); break;
 
     case 1:
-    case 40: 
+    case 40:
       p =  _("Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n");
       break;
     case 41:
       p = _("Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
                     "Password cache maintenance\n");
     break;
-    
+
     default: p = NULL;
     }
   return p;
@@ -112,7 +115,7 @@ my_strusage (int level)
 
 /* Include the implementation of map_spwq_error.  */
 MAP_SPWQ_ERROR_IMPL
-      
+
 
 static void
 preset_passphrase (const char *keygrip)
@@ -210,7 +213,7 @@ main (int argc, char **argv)
   const char *keygrip = NULL;
 
   set_strusage (my_strusage);
-  log_set_prefix ("gpg-preset-passphrase", 1); 
+  log_set_prefix ("gpg-preset-passphrase", 1);
 
   /* Make sure that our subsystems are ready.  */
   i18n_init ();
@@ -231,7 +234,7 @@ main (int argc, char **argv)
         case oPreset: cmd = oPreset; break;
         case oForget: cmd = oForget; break;
         case oPassphrase: opt_passphrase = pargs.r.ret_str; break;
-          
+
         default : pargs.err = 2; break;
        }
     }
index dc040f9..aff0abd 100644 (file)
@@ -47,8 +47,8 @@
 #include "estream.h"
 
 
-enum cmd_and_opt_values 
-{ 
+enum cmd_and_opt_values
+{
   aNull = 0,
   oVerbose       = 'v',
   oArmor          = 'a',
@@ -56,7 +56,7 @@ enum cmd_and_opt_values
 
   oProtect        = 'p',
   oUnprotect      = 'u',
-  
+
   oNoVerbose = 500,
   oShadow,
   oShowShadowInfo,
@@ -73,13 +73,13 @@ enum cmd_and_opt_values
   oNoFailOnExist,
   oHomedir,
   oPrompt,
-  oStatusMsg, 
+  oStatusMsg,
 
   oAgentProgram
 };
 
 
-struct rsa_secret_key_s 
+struct rsa_secret_key_s
 {
   gcry_mpi_t n;            /* public modulus */
   gcry_mpi_t e;            /* public exponent */
@@ -101,7 +101,8 @@ static const char *opt_passphrase;
 static char *opt_prompt;
 static int opt_status_msg;
 static const char *opt_p12_charset;
-static const char *opt_agent_program; 
+static const char *opt_agent_program;
+static session_env_t opt_session_env;
 
 static char *get_passphrase (int promptno);
 static void release_passphrase (char *pw);
@@ -117,13 +118,13 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_c (oShadow,    "shadow", "create a shadow entry for a public key"),
   ARGPARSE_c (oShowShadowInfo,  "show-shadow-info", "return the shadow info"),
   ARGPARSE_c (oShowKeygrip, "show-keygrip", "show the \"keygrip\""),
-  ARGPARSE_c (oP12Import, "p12-import", 
+  ARGPARSE_c (oP12Import, "p12-import",
               "import a pkcs#12 encoded private key"),
   ARGPARSE_c (oP12Export, "p12-export",
               "export a private key pkcs#12 encoded"),
 
   ARGPARSE_c (oS2Kcalibration, "s2k-calibration", "@"),
-  
+
   ARGPARSE_group (301, N_("@\nOptions:\n ")),
 
   ARGPARSE_s_n (oVerbose, "verbose", "verbose"),
@@ -135,14 +136,14 @@ static ARGPARSE_OPTS opts[] = {
                 "|NAME|set charset for a new PKCS#12 passphrase to NAME"),
   ARGPARSE_s_n (oHaveCert, "have-cert",
                 "certificate to export provided on STDIN"),
-  ARGPARSE_s_n (oStore,    "store", 
+  ARGPARSE_s_n (oStore,    "store",
                 "store the created key in the appropriate place"),
-  ARGPARSE_s_n (oForce,    "force", 
+  ARGPARSE_s_n (oForce,    "force",
                 "force overwriting"),
   ARGPARSE_s_n (oNoFailOnExist, "no-fail-on-exist", "@"),
-  ARGPARSE_s_s (oHomedir, "homedir", "@"), 
-  ARGPARSE_s_s (oPrompt,  "prompt", 
-                "|ESCSTRING|use ESCSTRING as prompt in pinentry"), 
+  ARGPARSE_s_s (oHomedir, "homedir", "@"),
+  ARGPARSE_s_s (oPrompt,  "prompt",
+                "|ESCSTRING|use ESCSTRING as prompt in pinentry"),
   ARGPARSE_s_n (oStatusMsg, "enable-status-msg", "@"),
 
   ARGPARSE_s_s (oAgentProgram, "agent-program", "@"),
@@ -168,7 +169,7 @@ my_strusage (int level)
     case 41: p =  _("Syntax: gpg-protect-tool [options] [args]\n"
                     "Secret key maintenance tool\n");
     break;
-    
+
     default: p = NULL;
     }
   return p;
@@ -249,7 +250,7 @@ read_file (const char *fname, size_t *r_length)
   FILE *fp;
   char *buf;
   size_t buflen;
-  
+
   if (!strcmp (fname, "-"))
     {
       size_t nread, bufsize = 0;
@@ -261,7 +262,7 @@ read_file (const char *fname, size_t *r_length)
       buf = NULL;
       buflen = 0;
 #define NCHUNK 8192
-      do 
+      do
         {
           bufsize += NCHUNK;
           if (!buf)
@@ -292,14 +293,14 @@ read_file (const char *fname, size_t *r_length)
           log_error ("can't open `%s': %s\n", fname, strerror (errno));
           return NULL;
         }
-  
+
       if (fstat (fileno(fp), &st))
         {
           log_error ("can't stat `%s': %s\n", fname, strerror (errno));
           fclose (fp);
           return NULL;
         }
-      
+
       buflen = st.st_size;
       buf = xmalloc (buflen+1);
       if (fread (buf, buflen, 1, fp) != 1)
@@ -323,7 +324,7 @@ read_key (const char *fname)
   char *buf;
   size_t buflen;
   unsigned char *key;
-  
+
   buf = read_file (fname, &buflen);
   if (!buf)
     return NULL;
@@ -342,7 +343,7 @@ read_and_protect (const char *fname)
   unsigned char *result;
   size_t resultlen;
   char *pw;
-  
+
   key = read_key (fname);
   if (!key)
     return;
@@ -356,7 +357,7 @@ read_and_protect (const char *fname)
       log_error ("protecting the key failed: %s\n", gpg_strerror (rc));
       return;
     }
-  
+
   if (opt_armor)
     {
       char *p = make_advanced (result, resultlen);
@@ -386,7 +387,7 @@ read_and_unprotect (const char *fname)
   if (!key)
     return;
 
-  rc = agent_unprotect (key, (pw=get_passphrase (1)), 
+  rc = agent_unprotect (key, (pw=get_passphrase (1)),
                         protected_at, &result, &resultlen);
   release_passphrase (pw);
   xfree (key);
@@ -427,7 +428,7 @@ read_and_shadow (const char *fname)
   unsigned char *result;
   size_t resultlen;
   unsigned char dummy_info[] = "(8:313233342:43)";
-  
+
   key = read_key (fname);
   if (!key)
     return;
@@ -441,7 +442,7 @@ read_and_shadow (const char *fname)
     }
   resultlen = gcry_sexp_canon_len (result, 0, NULL,NULL);
   assert (resultlen);
-  
+
   if (opt_armor)
     {
       char *p = make_advanced (result, resultlen);
@@ -463,7 +464,7 @@ show_shadow_info (const char *fname)
   unsigned char *key;
   const unsigned char *info;
   size_t infolen;
-  
+
   key = read_key (fname);
   if (!key)
     return;
@@ -477,7 +478,7 @@ show_shadow_info (const char *fname)
     }
   infolen = gcry_sexp_canon_len (info, 0, NULL,NULL);
   assert (infolen);
-  
+
   if (opt_armor)
     {
       char *p = make_advanced (info, infolen);
@@ -497,14 +498,14 @@ show_file (const char *fname)
   unsigned char *key;
   size_t keylen;
   char *p;
-  
+
   key = read_key (fname);
   if (!key)
     return;
 
   keylen = gcry_sexp_canon_len (key, 0, NULL,NULL);
   assert (keylen);
-  
+
   if (opt_canonical)
     {
       fwrite (key, keylen, 1, stdout);
@@ -528,7 +529,7 @@ show_keygrip (const char *fname)
   gcry_sexp_t private;
   unsigned char grip[20];
   int i;
-  
+
   key = read_key (fname);
   if (!key)
     return;
@@ -537,7 +538,7 @@ show_keygrip (const char *fname)
     {
       log_error ("gcry_sexp_new failed\n");
       return;
-    } 
+    }
   xfree (key);
 
   if (!gcry_pk_get_keygrip (private, grip))
@@ -672,7 +673,7 @@ import_p12_file (const char *fname)
   char *pw;
 
   /* fixme: we should release some stuff on error */
-  
+
   buf = read_file (fname, &buflen);
   if (!buf)
     return;
@@ -776,7 +777,7 @@ import_p12_file (const char *fname)
       log_error ("protecting the key failed: %s\n", gpg_strerror (rc));
       return;
     }
-  
+
   if (opt_armor)
     {
       char *p = make_advanced (result, resultlen);
@@ -810,7 +811,7 @@ sexp_to_kparms (gcry_sexp_t sexp)
 
   list = gcry_sexp_find_token (sexp, "private-key", 0 );
   if(!list)
-    return NULL; 
+    return NULL;
   l2 = gcry_sexp_cadr (list);
   gcry_sexp_release (list);
   list = l2;
@@ -824,7 +825,7 @@ sexp_to_kparms (gcry_sexp_t sexp)
   /* Parameter names used with RSA. */
   elems = "nedpqu";
   array = xcalloc (strlen(elems) + 1, sizeof *array);
-  for (idx=0, s=elems; *s; s++, idx++ ) 
+  for (idx=0, s=elems; *s; s++, idx++ )
     {
       l2 = gcry_sexp_find_token (list, s, 1);
       if (!l2)
@@ -846,7 +847,7 @@ sexp_to_kparms (gcry_sexp_t sexp)
           return NULL; /* required parameter is invalid */
        }
     }
-  
+
   gcry_sexp_release (list);
   return array;
 }
@@ -859,9 +860,9 @@ is_keygrip (const char *string)
 {
   int i;
 
-  for(i=0; string[i] && i < 41; i++) 
+  for(i=0; string[i] && i < 41; i++)
     if (!strchr("01234567890ABCDEF", string[i]))
-      return 0; 
+      return 0;
   return i == 40;
 }
 
@@ -886,7 +887,7 @@ export_p12_file (const char *fname)
     {
       char hexgrip[40+4+1];
       char *p;
-  
+
       assert (strlen(fname) == 40);
       strcpy (stpcpy (hexgrip, fname), ".key");
 
@@ -960,7 +961,7 @@ export_p12_file (const char *fname)
       xfree (key);
       xfree (cert);
       return;
-    } 
+    }
   wipememory (key, keylen_for_wipe);
   xfree (key);
 
@@ -971,7 +972,7 @@ export_p12_file (const char *fname)
       log_error ("error converting key parameters\n");
       xfree (cert);
       return;
-    } 
+    }
   sk.n = kp[0];
   sk.e = kp[1];
   sk.d = kp[2];
@@ -980,7 +981,7 @@ export_p12_file (const char *fname)
   sk.u = kp[5];
   xfree (kp);
 
+
   kparms[0] = sk.n;
   kparms[1] = sk.e;
   kparms[2] = sk.d;
@@ -988,10 +989,10 @@ export_p12_file (const char *fname)
   kparms[4] = sk.p;
   kparms[5] = gcry_mpi_snew (0);  /* compute d mod (p-1) */
   gcry_mpi_sub_ui (kparms[5], kparms[3], 1);
-  gcry_mpi_mod (kparms[5], sk.d, kparms[5]);   
+  gcry_mpi_mod (kparms[5], sk.d, kparms[5]);
   kparms[6] = gcry_mpi_snew (0);  /* compute d mod (q-1) */
   gcry_mpi_sub_ui (kparms[6], kparms[4], 1);
-  gcry_mpi_mod (kparms[6], sk.d, kparms[6]);   
+  gcry_mpi_mod (kparms[6], sk.d, kparms[6]);
   kparms[7] = sk.u;
   kparms[8] = NULL;
 
@@ -1003,7 +1004,7 @@ export_p12_file (const char *fname)
     gcry_mpi_release (kparms[i]);
   if (!key)
     return;
-  
+
 #ifdef HAVE_DOSISH_SYSTEM
   setmode ( fileno (stdout) , O_BINARY );
 #endif
@@ -1022,7 +1023,7 @@ main (int argc, char **argv )
 
   set_strusage (my_strusage);
   gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
-  log_set_prefix ("gpg-protect-tool", 1); 
+  log_set_prefix ("gpg-protect-tool", 1);
 
   /* Make sure that our subsystems are ready.  */
   i18n_init ();
@@ -1040,6 +1041,7 @@ main (int argc, char **argv )
 
   opt_homedir = default_homedir ();
 
+  opt_session_env = session_env_new ();
 
   pargs.argc = &argc;
   pargs.argv = &argv;
@@ -1073,7 +1075,7 @@ main (int argc, char **argv )
         case oHaveCert: opt_have_cert = 1; break;
         case oPrompt: opt_prompt = pargs.r.ret_str; break;
         case oStatusMsg: opt_status_msg = 1; break;
-          
+
         default: pargs.err = ARGPARSE_PRINT_ERROR; break;
        }
     }
@@ -1091,7 +1093,7 @@ main (int argc, char **argv )
                                 opt.verbose,
                                 opt_homedir,
                                 opt_agent_program,
-                                NULL, NULL, NULL);
+                                NULL, NULL, opt_session_env);
 
   if (opt_prompt)
     opt_prompt = percent_plus_unescape (opt_prompt, 0);
@@ -1127,6 +1129,8 @@ void
 agent_exit (int rc)
 {
   rc = rc? rc : log_get_errorcount(0)? 2 : 0;
+  session_env_release (opt_session_env);
+  opt_session_env = NULL;
   exit (rc);
 }
 
@@ -1147,7 +1151,7 @@ get_passphrase (int promptno)
   const char *desc;
   char *orig_codeset;
   int repeat = 0;
-  
+
   if (opt_passphrase)
     return xstrdup (opt_passphrase);
 
@@ -1214,7 +1218,7 @@ store_private_key (const unsigned char *grip,
   char *fname;
   estream_t fp;
   char hexgrip[40+4+1];
-  
+
   bin2hex (grip, 20, hexgrip);
   strcpy (hexgrip+40, ".key");
 
@@ -1236,11 +1240,11 @@ store_private_key (const unsigned char *grip,
       }
       /* FWIW: Under Windows Vista the standard fopen in the msvcrt
          fails if the "x" GNU extension is used.  */
-      fp = es_fopen (fname, "wbx"); 
+      fp = es_fopen (fname, "wbx");
     }
 
-  if (!fp) 
-    { 
+  if (!fp)
+    {
       log_error ("can't create `%s': %s\n", fname, strerror (errno));
       xfree (fname);
       return -1;
index d6c9641..2eefd6d 100644 (file)
@@ -28,6 +28,9 @@
 #include <unistd.h>
 #include <sys/stat.h>
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #else
 # include <sys/times.h>
@@ -48,10 +51,14 @@ static struct {
   const char *algo;
   const char *parmlist;
   int prot_from, prot_to;
+  int ecc_hack;
 } protect_info[] = {
   { "rsa",  "nedpqu", 2, 5 },
   { "dsa",  "pqgyx", 4, 4 },
   { "elg",  "pgyx", 3, 3 },
+  { "ecdsa","pabgnqd", 6, 6, 1 },
+  { "ecdh", "pabgnqd", 6, 6, 1 },
+  { "ecc",  "pabgnqd", 6, 6, 1 },
   { NULL }
 };
 
@@ -83,7 +90,7 @@ calibrate_get_time (struct calibrate_time_s *data)
                    &data->kernel_time, &data->user_time);
 #else
   struct tms tmp;
-  
+
   times (&tmp);
   data->ticks = tmp.tms_utime;
 #endif
@@ -94,12 +101,12 @@ static unsigned long
 calibrate_elapsed_time (struct calibrate_time_s *starttime)
 {
   struct calibrate_time_s stoptime;
-  
+
   calibrate_get_time (&stoptime);
 #ifdef HAVE_W32_SYSTEM
   {
     unsigned long long t1, t2;
-    
+
     t1 = (((unsigned long long)starttime->kernel_time.dwHighDateTime << 32)
           + starttime->kernel_time.dwLowDateTime);
     t1 += (((unsigned long long)starttime->user_time.dwHighDateTime << 32)
@@ -136,7 +143,7 @@ calibrate_s2k_count_one (unsigned long count)
 
 
 /* Measure the time we need to do the hash operations and deduce an
-   S2K count which requires about 100ms of time.  */ 
+   S2K count which requires about 100ms of time.  */
 static unsigned long
 calibrate_s2k_count (void)
 {
@@ -187,7 +194,7 @@ get_standard_s2k_count (void)
 \f
 /* Calculate the MIC for a private key S-Exp. SHA1HASH should point to
    a 20 byte buffer.  This function is suitable for any algorithms. */
-static int 
+static int
 calculate_mic (const unsigned char *plainkey, unsigned char *sha1hash)
 {
   const unsigned char *hash_begin, *hash_end;
@@ -200,16 +207,16 @@ calculate_mic (const unsigned char *plainkey, unsigned char *sha1hash)
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "private-key"))
-    return gpg_error (GPG_ERR_UNKNOWN_SEXP); 
+    return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   if (*s != '(')
     return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   hash_begin = s;
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   s += n; /* skip over the algorithm name */
 
   while (*s == '(')
@@ -217,18 +224,18 @@ calculate_mic (const unsigned char *plainkey, unsigned char *sha1hash)
       s++;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s += n;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s += n;
       if ( *s != ')' )
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s++;
     }
   if (*s != ')')
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   s++;
   hash_end = s;
 
@@ -251,7 +258,7 @@ calculate_mic (const unsigned char *plainkey, unsigned char *sha1hash)
      (d #046129F..[some bytes not shown]..81#)
      (p #00e861b..[some bytes not shown]..f1#)
      (q #00f7a7c..[some bytes not shown]..61#)
-     (u #304559a..[some bytes not shown]..9b#) 
+     (u #304559a..[some bytes not shown]..9b#)
 
    the returned block is the S-Expression:
 
@@ -259,7 +266,7 @@ calculate_mic (const unsigned char *plainkey, unsigned char *sha1hash)
 
 */
 static int
-do_encryption (const unsigned char *protbegin, size_t protlen, 
+do_encryption (const unsigned char *protbegin, size_t protlen,
                const char *passphrase,  const unsigned char *sha1hash,
                unsigned char **result, size_t *resultlen)
 {
@@ -312,14 +319,14 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
     {
       unsigned char *key;
       size_t keylen = PROT_CIPHER_KEYLEN;
-      
+
       key = gcry_malloc_secure (keylen);
       if (!key)
         rc = out_of_core ();
       else
         {
           rc = hash_passphrase (passphrase, GCRY_MD_SHA1,
-                                3, iv+2*blklen, 
+                                3, iv+2*blklen,
                                 get_standard_s2k_count (), key, keylen);
           if (!rc)
             rc = gcry_cipher_setkey (hd, key, keylen);
@@ -339,7 +346,7 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
       p += 20;
       *p++ = ')';
       *p++ = ')';
-      memcpy (p, iv+blklen, blklen); 
+      memcpy (p, iv+blklen, blklen);
       p += blklen;
       assert ( p - outbuf == outlen);
       rc = gcry_cipher_encrypt (hd, outbuf, enclen, NULL, 0);
@@ -357,7 +364,7 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
      (protected openpgp-s2k3-sha1-aes-cbc
        ((sha1 salt no_of_iterations) 16byte_iv)
        encrypted_octet_string)
-       
+
      in canoncical format of course.  We use asprintf and %n modifier
      and dummy values as placeholders.  */
   {
@@ -367,7 +374,7 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
     p = xtryasprintf
       ("(9:protected%d:%s((4:sha18:%n_8bytes_%u:%s)%d:%n%*s)%d:%n%*s)",
        (int)strlen (modestr), modestr,
-       &saltpos, 
+       &saltpos,
        (unsigned int)strlen (countbuf), countbuf,
        blklen, &ivpos, blklen, "",
        enclen, &encpos, enclen, "");
@@ -393,11 +400,13 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
 
 /* Protect the key encoded in canonical format in PLAINKEY.  We assume
    a valid S-Exp here. */
-int 
+int
 agent_protect (const unsigned char *plainkey, const char *passphrase,
                unsigned char **result, size_t *resultlen)
 {
   int rc;
+  const char *parmlist;
+  int prot_from_idx, prot_to_idx;
   const unsigned char *s;
   const unsigned char *hash_begin, *hash_end;
   const unsigned char *prot_begin, *prot_end, *real_end;
@@ -424,9 +433,9 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "private-key"))
-    return gpg_error (GPG_ERR_UNKNOWN_SEXP); 
+    return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   if (*s != '(')
     return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   depth++;
@@ -434,18 +443,21 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
 
   for (infidx=0; protect_info[infidx].algo
               && !smatch (&s, n, protect_info[infidx].algo); infidx++)
     ;
   if (!protect_info[infidx].algo)
-    return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM); 
+    return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
 
+  parmlist      = protect_info[infidx].parmlist;
+  prot_from_idx = protect_info[infidx].prot_from;
+  prot_to_idx   = protect_info[infidx].prot_to;
   prot_begin = prot_end = NULL;
-  for (i=0; (c=protect_info[infidx].parmlist[i]); i++)
+  for (i=0; (c=parmlist[i]); i++)
     {
-      if (i == protect_info[infidx].prot_from)
+      if (i == prot_from_idx)
         prot_begin = s;
       if (*s != '(')
         return gpg_error (GPG_ERR_INV_SEXP);
@@ -453,23 +465,36 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
       s++;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       if (n != 1 || c != *s)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        {
+          if (n == 5 && !memcmp (s, "curve", 5)
+              && !i && protect_info[infidx].ecc_hack)
+            {
+              /* This is a private ECC key but the first parameter is
+                 the name of the curve.  We change the parameter list
+                 here to the one we expect in this case.  */
+              parmlist = "?qd";
+              prot_from_idx = 2;
+              prot_to_idx = 2;
+            }
+          else
+            return gpg_error (GPG_ERR_INV_SEXP);
+        }
       s += n;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s +=n; /* skip value */
       if (*s != ')')
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       depth--;
-      if (i == protect_info[infidx].prot_to)
+      if (i == prot_to_idx)
         prot_end = s;
       s++;
     }
   if (*s != ')' || !prot_begin || !prot_end )
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   depth--;
   hash_end = s;
   s++;
@@ -481,10 +506,9 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   assert (!depth);
   real_end = s-1;
 
-  
   /* Hash the stuff.  Because the timestamp_exp won't get protected,
      we can't simply hash a continuous buffer but need to use several
-     md_writes.  */ 
+     md_writes.  */
   rc = gcry_md_open (&md, GCRY_MD_SHA1, 0 );
   if (rc)
     return rc;
@@ -537,8 +561,8 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
 \f
 /* Do the actual decryption and check the return list for consistency.  */
 static int
-do_decryption (const unsigned char *protected, size_t protectedlen, 
-               const char *passphrase, 
+do_decryption (const unsigned char *protected, size_t protectedlen,
+               const char *passphrase,
                const unsigned char *s2ksalt, unsigned long s2kcount,
                const unsigned char *iv, size_t ivlen,
                unsigned char **result)
@@ -567,7 +591,7 @@ do_decryption (const unsigned char *protected, size_t protectedlen,
     {
       unsigned char *key;
       size_t keylen = PROT_CIPHER_KEYLEN;
-      
+
       key = gcry_malloc_secure (keylen);
       if (!key)
         rc = out_of_core ();
@@ -615,7 +639,7 @@ do_decryption (const unsigned char *protected, size_t protectedlen,
    calculation but then be removed.  */
 static int
 merge_lists (const unsigned char *protectedkey,
-             size_t replacepos, 
+             size_t replacepos,
              const unsigned char *cleartext,
              unsigned char *sha1hash,
              unsigned char **result, size_t *resultlen,
@@ -626,7 +650,7 @@ merge_lists (const unsigned char *protectedkey,
   const unsigned char *s;
   const unsigned char *startpos, *endpos;
   int i, rc;
-  
+
   *result = NULL;
   *resultlen = 0;
   *cutoff = 0;
@@ -689,7 +713,7 @@ merge_lists (const unsigned char *protectedkey,
     goto invalid_sexp;
   n = snext (&s);
   if (!smatch (&s, n, "sha1"))
-    goto invalid_sexp; 
+    goto invalid_sexp;
   n = snext (&s);
   if (n != 20)
     goto invalid_sexp;
@@ -702,7 +726,7 @@ merge_lists (const unsigned char *protectedkey,
   /* append the parameter list */
   memcpy (p, startpos, endpos - startpos);
   p += endpos - startpos;
-  
+
   /* Skip over the protected list element in the original list.  */
   s = protectedkey + replacepos;
   assert (*s == '(');
@@ -740,7 +764,7 @@ merge_lists (const unsigned char *protectedkey,
     *cutoff = p - newlist;
   memcpy (p, startpos, endpos - startpos);
   p += endpos - startpos;
-  
+
 
   /* ready */
   *result = newlist;
@@ -763,14 +787,14 @@ merge_lists (const unsigned char *protectedkey,
 /* Unprotect the key encoded in canonical format.  We assume a valid
    S-Exp here.  If a protected-at item is available, its value will
    be stored at protocted_at unless this is NULL.  */
-int 
+int
 agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
-                 gnupg_isotime_t protected_at, 
+                 gnupg_isotime_t protected_at,
                  unsigned char **result, size_t *resultlen)
 {
   int rc;
   const unsigned char *s;
-  const unsigned char *protect_list; 
+  const unsigned char *protect_list;
   size_t n;
   int infidx, i;
   unsigned char sha1hash[20], sha1hash2[20];
@@ -792,21 +816,21 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "protected-private-key"))
-    return gpg_error (GPG_ERR_UNKNOWN_SEXP); 
+    return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   if (*s != '(')
     return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
 
   for (infidx=0; protect_info[infidx].algo
               && !smatch (&s, n, protect_info[infidx].algo); infidx++)
     ;
   if (!protect_info[infidx].algo)
-    return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM); 
+    return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
 
 
   /* See wether we have a protected-at timestamp.  */
@@ -841,7 +865,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
 
   /* Now find the list with the protected information.  Here is an
      example for such a list:
-     (protected openpgp-s2k3-sha1-aes-cbc 
+     (protected openpgp-s2k3-sha1-aes-cbc
         ((sha1 <salt> <count>) <Initialization_Vector>)
         <encrypted_data>)
    */
@@ -854,7 +878,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
       s++;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       if (smatch (&s, n, "protected"))
         break;
       s += n;
@@ -866,7 +890,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   /* found */
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "openpgp-s2k3-sha1-" PROT_CIPHER_STRING "-cbc"))
     return gpg_error (GPG_ERR_UNSUPPORTED_PROTECTION);
   if (*s != '(' || s[1] != '(')
@@ -874,7 +898,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   s += 2;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "sha1"))
     return gpg_error (GPG_ERR_UNSUPPORTED_PROTECTION);
   n = snext (&s);
@@ -890,7 +914,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
      is nothing we should worry about */
   if (s[n] != ')' )
     return gpg_error (GPG_ERR_INV_SEXP);
-  
+
   /* Old versions of gpg-agent used the funny floating point number in
      a byte encoding as specified by OpenPGP.  However this is not
      needed and thus we now store it as a plain unsigned integer.  We
@@ -920,8 +944,8 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
-  
+    return gpg_error (GPG_ERR_INV_SEXP);
+
   rc = do_decryption (s, n,
                       passphrase, s2ksalt, s2kcount,
                       iv, 16,
@@ -995,7 +1019,7 @@ agent_private_key_type (const unsigned char *privatekey)
    store this key in the caller provided buffer KEY.  The caller must
    provide an HASHALGO, a valid S2KMODE (see rfc-2440) and depending on
    that mode an S2KSALT of 8 random bytes and an S2KCOUNT.
-  
+
    Returns an error code on failure.  */
 static int
 hash_passphrase (const char *passphrase, int hashalgo,
@@ -1015,7 +1039,7 @@ hash_passphrase (const char *passphrase, int hashalgo,
     return gpg_error (GPG_ERR_INV_VALUE);
   if ((s2kmode == 1 ||s2kmode == 3) && !s2ksalt)
     return gpg_error (GPG_ERR_INV_VALUE);
-  
+
   rc = gcry_md_open (&md, hashalgo, GCRY_MD_FLAG_SECURE);
   if (rc)
     return rc;
@@ -1049,7 +1073,7 @@ hash_passphrase (const char *passphrase, int hashalgo,
             }
           if (count < 8)
             gcry_md_write (md, s2ksalt, count);
-          else 
+          else
             {
               gcry_md_write (md, s2ksalt, 8);
               count -= 8;
@@ -1058,7 +1082,7 @@ hash_passphrase (const char *passphrase, int hashalgo,
         }
       else
         gcry_md_write (md, passphrase, pwlen);
-      
+
       gcry_md_final (md);
       i = gcry_md_get_algo_dlen (hashalgo);
       if (i > keylen - used)
@@ -1108,7 +1132,7 @@ make_shadow_info (const char *serialno, const char *idstring)
   S-expression is returned in an allocated buffer RESULT will point
   to. The input parameters are expected to be valid canonicalized
   S-expressions */
-int 
+int
 agent_shadow_key (const unsigned char *pubkey,
                   const unsigned char *shadow_info,
                   unsigned char **result)
@@ -1130,16 +1154,16 @@ agent_shadow_key (const unsigned char *pubkey,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "public-key"))
-    return gpg_error (GPG_ERR_UNKNOWN_SEXP); 
+    return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   if (*s != '(')
     return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   depth++;
   s++;
-  n = snext (&s); 
+  n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   s += n; /* skip over the algorithm name */
 
   while (*s != ')')
@@ -1149,15 +1173,15 @@ agent_shadow_key (const unsigned char *pubkey,
       depth++;
       s++;
       n = snext (&s);
-      if (!n) 
-        return gpg_error (GPG_ERR_INV_SEXP); 
+      if (!n)
+        return gpg_error (GPG_ERR_INV_SEXP);
       s += n;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s +=n; /* skip value */
       if (*s != ')')
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       depth--;
       s++;
     }
@@ -1189,7 +1213,7 @@ agent_shadow_key (const unsigned char *pubkey,
 
 /* Parse a canonical encoded shadowed key and return a pointer to the
    inner list with the shadow_info */
-int 
+int
 agent_get_shadow_info (const unsigned char *shadowkey,
                        unsigned char const **shadow_info)
 {
@@ -1204,16 +1228,16 @@ agent_get_shadow_info (const unsigned char *shadowkey,
   s++;
   n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (!smatch (&s, n, "shadowed-private-key"))
-    return gpg_error (GPG_ERR_UNKNOWN_SEXP); 
+    return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   if (*s != '(')
     return gpg_error (GPG_ERR_UNKNOWN_SEXP);
   depth++;
   s++;
-  n = snext (&s); 
+  n = snext (&s);
   if (!n)
-    return gpg_error (GPG_ERR_INV_SEXP); 
+    return gpg_error (GPG_ERR_INV_SEXP);
   s += n; /* skip over the algorithm name */
 
   for (;;)
@@ -1225,24 +1249,24 @@ agent_get_shadow_info (const unsigned char *shadowkey,
       depth++;
       s++;
       n = snext (&s);
-      if (!n) 
-        return gpg_error (GPG_ERR_INV_SEXP); 
+      if (!n)
+        return gpg_error (GPG_ERR_INV_SEXP);
       if (smatch (&s, n, "shadowed"))
         break;
       s += n;
       n = snext (&s);
       if (!n)
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       s +=n; /* skip value */
       if (*s != ')')
-        return gpg_error (GPG_ERR_INV_SEXP); 
+        return gpg_error (GPG_ERR_INV_SEXP);
       depth--;
       s++;
     }
   /* Found the shadowed list, S points to the protocol */
   n = snext (&s);
-  if (!n) 
-    return gpg_error (GPG_ERR_INV_SEXP); 
+  if (!n)
+    return gpg_error (GPG_ERR_INV_SEXP);
   if (smatch (&s, n, "t1-v1"))
     {
       if (*s != '(')
@@ -1262,7 +1286,7 @@ agent_get_shadow_info (const unsigned char *shadowkey,
    parameters addresses.  If the serial number or the ID string is not
    required, NULL may be passed for them.  */
 gpg_error_t
-parse_shadow_info (const unsigned char *shadow_info, 
+parse_shadow_info (const unsigned char *shadow_info,
                    char **r_hexsn, char **r_idstr)
 {
   const unsigned char *s;
@@ -1299,7 +1323,7 @@ parse_shadow_info (const unsigned char *shadow_info,
         }
       return gpg_error (GPG_ERR_INV_SEXP);
     }
-  
+
   if (r_idstr)
     {
       *r_idstr = xtrymalloc (n+1);
index 0e29caf..16ff7d7 100644 (file)
@@ -137,7 +137,24 @@ test_agent_protect (void)
       "\x9B\x7B\xE8\xDD\x1F\x87\x4E\x79\x7B\x50\x12\xA7\xB4\x8B\x52\x38\xEC\x7C\xBB\xB9"
       "\x55\x87\x11\x1C\x74\xE7\x7F\xA0\xBA\xE3\x34\x5D\x61\xBF\x29\x29\x29\x00"
     };
-      
+
+  struct key_spec key_ecdsa_valid =
+    {
+      "\x28\x31\x31\x3A\x70\x72\x69\x76\x61\x74\x65\x2D\x6B\x65\x79\x28"
+      "\x35\x3A\x65\x63\x64\x73\x61\x28\x35\x3A\x63\x75\x72\x76\x65\x31"
+      "\x30\x3A\x4E\x49\x53\x54\x20\x50\x2D\x32\x35\x36\x29\x28\x31\x3A"
+      "\x71\x36\x35\x3A\x04\x64\x5A\x12\x6F\x86\x7C\x43\x87\x2B\x7C\xAF"
+      "\x77\xFE\xD8\x22\x31\xEA\xE6\x89\x9F\xAA\xEA\x63\x26\xBC\x49\xED"
+      "\x85\xC6\xD2\xC9\x8B\x38\xD2\x78\x75\xE6\x1C\x27\x57\x01\xC5\xA1"
+      "\xE3\xF9\x1F\xBE\xCF\xC1\x72\x73\xFE\xA4\x58\xB6\x6A\x92\x7D\x33"
+      "\x1D\x02\xC9\xCB\x12\x29\x28\x31\x3A\x64\x33\x33\x3A\x00\x81\x2D"
+      "\x69\x9A\x5F\x5B\x6F\x2C\x99\x61\x36\x15\x6B\x44\xD8\x06\xC1\x54"
+      "\xC1\x4C\xFB\x70\x6A\xB6\x64\x81\x78\xF3\x94\x2F\x30\x5D\x29\x29"
+      "\x28\x37\x3A\x63\x6F\x6D\x6D\x65\x6E\x74\x32\x32\x3A\x2F\x68\x6F"
+      "\x6D\x65\x2F\x77\x6B\x2F\x2E\x73\x73\x68\x2F\x69\x64\x5F\x65\x63"
+      "\x64\x73\x61\x29\x29"
+    };
+
   struct
   {
     const char *key;
@@ -167,6 +184,9 @@ test_agent_protect (void)
       { key_rsa_bogus_1.string,
        "passphrase", 0, 0, NULL, 0, GPG_ERR_INV_SEXP, NULL, 0 },
 
+      { key_ecdsa_valid.string,
+       "passphrase", 0, 0, NULL, 0, 0, NULL, 0 },
+
       /* FIXME: add more test data.  */
     };
 
@@ -177,12 +197,12 @@ test_agent_protect (void)
                           &specs[i].result, &specs[i].resultlen);
       if (gpg_err_code (ret) != specs[i].ret_expected)
        {
-         printf ("agent_protect() returned `%i/%s'; expected `%i/%s'\n",
-                 ret, gpg_strerror (ret),
+         printf ("agent_protect(%d) returned '%i/%s'; expected '%i/%s'\n",
+                 i, ret, gpg_strerror (ret),
                  specs[i].ret_expected, gpg_strerror (specs[i].ret_expected));
          abort ();
        }
-      
+
       if (specs[i].no_result_expected)
        {
          assert (! specs[i].result);
@@ -234,14 +254,14 @@ static void
 test_make_shadow_info (void)
 {
 #if 0
-  static struct 
+  static struct
   {
-    const char *snstr; 
+    const char *snstr;
     const char *idstr;
     const char *expected;
   } data[] = {
     { "", "", NULL },
-    
+
   };
   int i;
   unsigned char *result;
@@ -298,7 +318,7 @@ main (int argc, char **argv)
   (void)argv;
 
   gcry_control (GCRYCTL_DISABLE_SECMEM);
-  
+
   test_agent_protect ();
   test_agent_unprotect ();
   test_agent_private_key_type ();
index be5406b..ef9c661 100644 (file)
@@ -731,7 +731,8 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
     }
   else
     es_fputs (nameformatted, fp);
-  es_fprintf (fp, "\n%s%s %c\n", yes_i_trust?"":"!", fprformatted, flag);
+  es_fprintf (fp, "\n%s%s %c%s\n", yes_i_trust?"":"!", fprformatted, flag,
+              flag == 'S'? " relax":"");
   if (es_ferror (fp))
     err = gpg_error_from_syserror ();
   
index be34ca3..b868e7c 100644 (file)
@@ -7,18 +7,18 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 localedir = $(datadir)/locale
 
-AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\" 
+AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
 
 if ! HAVE_DOSISH_SYSTEM
 AM_CPPFLAGS += -DGNUPG_BINDIR="\"$(bindir)\""            \
@@ -48,6 +48,12 @@ if GNUPG_PROTECT_TOOL_PGM
 AM_CPPFLAGS += -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
 endif
 
+if HAVE_W32_SYSTEM
+.rc.o:
+       $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
+endif
+resource_objs =
 
 # Convenience macros
 libcommon = ../common/libcommon.a
index 289c21e..605babf 100755 (executable)
@@ -62,7 +62,7 @@ if test "$1" = "--build-w32"; then
 
     # Locate the cross compiler
     crossbindir=
-    for host in i586-mingw32msvc i386-mingw32msvc mingw32; do
+    for host in i686-w64-mingw32 i586-mingw32msvc i386-mingw32msvc mingw32; do
         if ${host}-gcc --version >/dev/null 2>&1 ; then
             crossbindir=/usr/${host}/bin
             conf_CC="CC=${host}-gcc"
@@ -84,7 +84,7 @@ if test "$1" = "--build-w32"; then
         fi
     fi
 
-    ./configure --enable-maintainer-mode --prefix=${w32root}  \
+    $tsdir/configure --enable-maintainer-mode --prefix=${w32root}  \
              --host=${host} --build=${build} \
              --enable-gpgtar \
              --with-gpg-error-prefix=${w32root} \
@@ -94,6 +94,7 @@ if test "$1" = "--build-w32"; then
             --with-zlib=${w32root} \
             --with-regex=${w32root} \
              --with-pth-prefix=${w32root} \
+             --with-libiconv-prefix=${w32root} \
              --with-adns=${w32root} "$@"
     rc=$?
     exit $rc
@@ -209,7 +210,7 @@ if [ -d .git ]; then
     To deactivate this pre-commit hook again move .git/hooks/pre-commit
     and .git/hooks/pre-commit.sample out of the way.
 EOF
-      cp -av .git/hooks/pre-commit.sample .git/hooks/pre-commit
+      cp .git/hooks/pre-commit.sample .git/hooks/pre-commit
       chmod -c +x  .git/hooks/pre-commit
   fi
   tmp=$(git config --get filter.cleanpo.clean)
@@ -223,7 +224,7 @@ EOF
     cat <<EOF >&2
 *** Activating commit log message check hook. ***
 EOF
-      cp -av scripts/git-hooks/commit-msg .git/hooks/commit-msg
+      cp scripts/git-hooks/commit-msg .git/hooks/commit-msg
       chmod -c +x  .git/hooks/commit-msg
   fi
 fi
index 75b4623..337e246 100644 (file)
@@ -19,7 +19,8 @@
 ## Process this file with automake to produce Makefile.in
 
 EXTRA_DIST = mkstrtable.awk exaudit.awk exstatus.awk \
-             audit-events.h status-codes.h ChangeLog-2011
+             audit-events.h status-codes.h ChangeLog-2011 \
+            w32info-rc.h.in gnupg.ico
 
 noinst_LIBRARIES = libcommon.a libcommonpth.a libsimple-pwquery.a libgpgrl.a
 noinst_PROGRAMS = $(module_tests) $(module_maint_tests)
@@ -27,11 +28,11 @@ TESTS = $(module_tests)
 
 BUILT_SOURCES = audit-events.h status-codes.h
 
-CLEANFILES = audit-events.h status-codes.h
+MAINTAINERCLEANFILES = audit-events.h status-codes.h
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS)
 
 include $(top_srcdir)/am/cmacros.am
 
@@ -51,6 +52,7 @@ common_sources = \
        gettime.c \
        yesno.c \
        b64enc.c b64dec.c \
+       zb32.c \
        convert.c \
        percent.c \
        miscellaneous.c \
index 04c00b1..668fdb3 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -74,7 +91,7 @@ host_triplet = @host@
 noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 TESTS = $(am__EXEEXT_1)
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/am/cmacros.am
+       $(srcdir)/w32info-rc.h.in $(top_srcdir)/am/cmacros.am
 @HAVE_DOSISH_SYSTEM_FALSE@am__append_1 = -DGNUPG_BINDIR="\"$(bindir)\""            \
 @HAVE_DOSISH_SYSTEM_FALSE@               -DGNUPG_LIBEXECDIR="\"$(libexecdir)\""    \
 @HAVE_DOSISH_SYSTEM_FALSE@               -DGNUPG_LIBDIR="\"$(libdir)/@PACKAGE@\""  \
@@ -120,7 +137,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = w32info-rc.h
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
@@ -130,20 +147,21 @@ am__libcommon_a_SOURCES_DIST = common-defs.h util.h i18n.c i18n.h \
        status.c status.h openpgpdefs.h gc-opt-flags.h keyserver.h \
        sexp-parse.h tlv.c tlv.h init.c init.h sexputil.c sysutils.c \
        sysutils.h homedir.c gettime.c yesno.c b64enc.c b64dec.c \
-       convert.c percent.c miscellaneous.c xasprintf.c xreadline.c \
-       membuf.c membuf.h iobuf.c iobuf.h ttyio.c ttyio.h asshelp.c \
-       asshelp.h exechelp.c exechelp.h signal.c estream.c estream.h \
-       estream-printf.c estream-printf.h audit.c audit.h srv.h \
-       dns-cert.c dns-cert.h pka.c pka.h http.c http.h localename.c \
-       session-env.c session-env.h ssh-utils.c ssh-utils.h helpfile.c \
-       get-passphrase.c get-passphrase.h srv.c
+       zb32.c convert.c percent.c miscellaneous.c xasprintf.c \
+       xreadline.c membuf.c membuf.h iobuf.c iobuf.h ttyio.c ttyio.h \
+       asshelp.c asshelp.h exechelp.c exechelp.h signal.c estream.c \
+       estream.h estream-printf.c estream-printf.h audit.c audit.h \
+       srv.h dns-cert.c dns-cert.h pka.c pka.h http.c http.h \
+       localename.c session-env.c session-env.h ssh-utils.c \
+       ssh-utils.h helpfile.c get-passphrase.c get-passphrase.h srv.c
 am__objects_1 = libcommon_a-i18n.$(OBJEXT) \
        libcommon_a-status.$(OBJEXT) libcommon_a-tlv.$(OBJEXT) \
        libcommon_a-init.$(OBJEXT) libcommon_a-sexputil.$(OBJEXT) \
        libcommon_a-sysutils.$(OBJEXT) libcommon_a-homedir.$(OBJEXT) \
        libcommon_a-gettime.$(OBJEXT) libcommon_a-yesno.$(OBJEXT) \
        libcommon_a-b64enc.$(OBJEXT) libcommon_a-b64dec.$(OBJEXT) \
-       libcommon_a-convert.$(OBJEXT) libcommon_a-percent.$(OBJEXT) \
+       libcommon_a-zb32.$(OBJEXT) libcommon_a-convert.$(OBJEXT) \
+       libcommon_a-percent.$(OBJEXT) \
        libcommon_a-miscellaneous.$(OBJEXT) \
        libcommon_a-xasprintf.$(OBJEXT) \
        libcommon_a-xreadline.$(OBJEXT) libcommon_a-membuf.$(OBJEXT) \
@@ -167,13 +185,13 @@ am__libcommonpth_a_SOURCES_DIST = common-defs.h util.h i18n.c i18n.h \
        status.c status.h openpgpdefs.h gc-opt-flags.h keyserver.h \
        sexp-parse.h tlv.c tlv.h init.c init.h sexputil.c sysutils.c \
        sysutils.h homedir.c gettime.c yesno.c b64enc.c b64dec.c \
-       convert.c percent.c miscellaneous.c xasprintf.c xreadline.c \
-       membuf.c membuf.h iobuf.c iobuf.h ttyio.c ttyio.h asshelp.c \
-       asshelp.h exechelp.c exechelp.h signal.c estream.c estream.h \
-       estream-printf.c estream-printf.h audit.c audit.h srv.h \
-       dns-cert.c dns-cert.h pka.c pka.h http.c http.h localename.c \
-       session-env.c session-env.h ssh-utils.c ssh-utils.h helpfile.c \
-       srv.c
+       zb32.c convert.c percent.c miscellaneous.c xasprintf.c \
+       xreadline.c membuf.c membuf.h iobuf.c iobuf.h ttyio.c ttyio.h \
+       asshelp.c asshelp.h exechelp.c exechelp.h signal.c estream.c \
+       estream.h estream-printf.c estream-printf.h audit.c audit.h \
+       srv.h dns-cert.c dns-cert.h pka.c pka.h http.c http.h \
+       localename.c session-env.c session-env.h ssh-utils.c \
+       ssh-utils.h helpfile.c srv.c
 am__objects_4 = libcommonpth_a-i18n.$(OBJEXT) \
        libcommonpth_a-status.$(OBJEXT) libcommonpth_a-tlv.$(OBJEXT) \
        libcommonpth_a-init.$(OBJEXT) \
@@ -182,7 +200,7 @@ am__objects_4 = libcommonpth_a-i18n.$(OBJEXT) \
        libcommonpth_a-homedir.$(OBJEXT) \
        libcommonpth_a-gettime.$(OBJEXT) \
        libcommonpth_a-yesno.$(OBJEXT) libcommonpth_a-b64enc.$(OBJEXT) \
-       libcommonpth_a-b64dec.$(OBJEXT) \
+       libcommonpth_a-b64dec.$(OBJEXT) libcommonpth_a-zb32.$(OBJEXT) \
        libcommonpth_a-convert.$(OBJEXT) \
        libcommonpth_a-percent.$(OBJEXT) \
        libcommonpth_a-miscellaneous.$(OBJEXT) \
@@ -272,6 +290,11 @@ DIST_SOURCES = $(am__libcommon_a_SOURCES_DIST) \
        $(libsimple_pwquery_a_SOURCES) t-b64.c t-convert.c \
        t-exechelp.c t-gettime.c t-helpfile.c t-percent.c \
        t-session-env.c t-sexputil.c t-ssh-utils.c t-sysutils.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -293,7 +316,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -472,16 +499,18 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = mkstrtable.awk exaudit.awk exstatus.awk \
-             audit-events.h status-codes.h ChangeLog-2011
+             audit-events.h status-codes.h ChangeLog-2011 \
+            w32info-rc.h.in gnupg.ico
 
 noinst_LIBRARIES = libcommon.a libcommonpth.a libsimple-pwquery.a libgpgrl.a
 BUILT_SOURCES = audit-events.h status-codes.h
-CLEANFILES = audit-events.h status-codes.h
+MAINTAINERCLEANFILES = audit-events.h status-codes.h
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl \
        -DLOCALEDIR=\"$(localedir)\" $(am__append_1) $(am__append_2) \
        $(am__append_3) $(am__append_4) $(am__append_5) \
        $(am__append_6)
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS)
+resource_objs = 
 
 # Convenience macros
 libcommon = ../common/libcommon.a
@@ -502,6 +531,7 @@ common_sources = \
        gettime.c \
        yesno.c \
        b64enc.c b64dec.c \
+       zb32.c \
        convert.c \
        percent.c \
        miscellaneous.c \
@@ -566,7 +596,7 @@ all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -588,6 +618,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -597,56 +628,58 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+w32info-rc.h: $(top_builddir)/config.status $(srcdir)/w32info-rc.h.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libcommon.a: $(libcommon_a_OBJECTS) $(libcommon_a_DEPENDENCIES) 
+libcommon.a: $(libcommon_a_OBJECTS) $(libcommon_a_DEPENDENCIES) $(EXTRA_libcommon_a_DEPENDENCIES) 
        -rm -f libcommon.a
        $(libcommon_a_AR) libcommon.a $(libcommon_a_OBJECTS) $(libcommon_a_LIBADD)
        $(RANLIB) libcommon.a
-libcommonpth.a: $(libcommonpth_a_OBJECTS) $(libcommonpth_a_DEPENDENCIES) 
+libcommonpth.a: $(libcommonpth_a_OBJECTS) $(libcommonpth_a_DEPENDENCIES) $(EXTRA_libcommonpth_a_DEPENDENCIES) 
        -rm -f libcommonpth.a
        $(libcommonpth_a_AR) libcommonpth.a $(libcommonpth_a_OBJECTS) $(libcommonpth_a_LIBADD)
        $(RANLIB) libcommonpth.a
-libgpgrl.a: $(libgpgrl_a_OBJECTS) $(libgpgrl_a_DEPENDENCIES) 
+libgpgrl.a: $(libgpgrl_a_OBJECTS) $(libgpgrl_a_DEPENDENCIES) $(EXTRA_libgpgrl_a_DEPENDENCIES) 
        -rm -f libgpgrl.a
        $(libgpgrl_a_AR) libgpgrl.a $(libgpgrl_a_OBJECTS) $(libgpgrl_a_LIBADD)
        $(RANLIB) libgpgrl.a
-libsimple-pwquery.a: $(libsimple_pwquery_a_OBJECTS) $(libsimple_pwquery_a_DEPENDENCIES) 
+libsimple-pwquery.a: $(libsimple_pwquery_a_OBJECTS) $(libsimple_pwquery_a_DEPENDENCIES) $(EXTRA_libsimple_pwquery_a_DEPENDENCIES) 
        -rm -f libsimple-pwquery.a
        $(libsimple_pwquery_a_AR) libsimple-pwquery.a $(libsimple_pwquery_a_OBJECTS) $(libsimple_pwquery_a_LIBADD)
        $(RANLIB) libsimple-pwquery.a
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-t-b64$(EXEEXT): $(t_b64_OBJECTS) $(t_b64_DEPENDENCIES) 
+t-b64$(EXEEXT): $(t_b64_OBJECTS) $(t_b64_DEPENDENCIES) $(EXTRA_t_b64_DEPENDENCIES) 
        @rm -f t-b64$(EXEEXT)
        $(LINK) $(t_b64_OBJECTS) $(t_b64_LDADD) $(LIBS)
-t-convert$(EXEEXT): $(t_convert_OBJECTS) $(t_convert_DEPENDENCIES) 
+t-convert$(EXEEXT): $(t_convert_OBJECTS) $(t_convert_DEPENDENCIES) $(EXTRA_t_convert_DEPENDENCIES) 
        @rm -f t-convert$(EXEEXT)
        $(LINK) $(t_convert_OBJECTS) $(t_convert_LDADD) $(LIBS)
-t-exechelp$(EXEEXT): $(t_exechelp_OBJECTS) $(t_exechelp_DEPENDENCIES) 
+t-exechelp$(EXEEXT): $(t_exechelp_OBJECTS) $(t_exechelp_DEPENDENCIES) $(EXTRA_t_exechelp_DEPENDENCIES) 
        @rm -f t-exechelp$(EXEEXT)
        $(LINK) $(t_exechelp_OBJECTS) $(t_exechelp_LDADD) $(LIBS)
-t-gettime$(EXEEXT): $(t_gettime_OBJECTS) $(t_gettime_DEPENDENCIES) 
+t-gettime$(EXEEXT): $(t_gettime_OBJECTS) $(t_gettime_DEPENDENCIES) $(EXTRA_t_gettime_DEPENDENCIES) 
        @rm -f t-gettime$(EXEEXT)
        $(LINK) $(t_gettime_OBJECTS) $(t_gettime_LDADD) $(LIBS)
-t-helpfile$(EXEEXT): $(t_helpfile_OBJECTS) $(t_helpfile_DEPENDENCIES) 
+t-helpfile$(EXEEXT): $(t_helpfile_OBJECTS) $(t_helpfile_DEPENDENCIES) $(EXTRA_t_helpfile_DEPENDENCIES) 
        @rm -f t-helpfile$(EXEEXT)
        $(LINK) $(t_helpfile_OBJECTS) $(t_helpfile_LDADD) $(LIBS)
-t-percent$(EXEEXT): $(t_percent_OBJECTS) $(t_percent_DEPENDENCIES) 
+t-percent$(EXEEXT): $(t_percent_OBJECTS) $(t_percent_DEPENDENCIES) $(EXTRA_t_percent_DEPENDENCIES) 
        @rm -f t-percent$(EXEEXT)
        $(LINK) $(t_percent_OBJECTS) $(t_percent_LDADD) $(LIBS)
-t-session-env$(EXEEXT): $(t_session_env_OBJECTS) $(t_session_env_DEPENDENCIES) 
+t-session-env$(EXEEXT): $(t_session_env_OBJECTS) $(t_session_env_DEPENDENCIES) $(EXTRA_t_session_env_DEPENDENCIES) 
        @rm -f t-session-env$(EXEEXT)
        $(LINK) $(t_session_env_OBJECTS) $(t_session_env_LDADD) $(LIBS)
-t-sexputil$(EXEEXT): $(t_sexputil_OBJECTS) $(t_sexputil_DEPENDENCIES) 
+t-sexputil$(EXEEXT): $(t_sexputil_OBJECTS) $(t_sexputil_DEPENDENCIES) $(EXTRA_t_sexputil_DEPENDENCIES) 
        @rm -f t-sexputil$(EXEEXT)
        $(LINK) $(t_sexputil_OBJECTS) $(t_sexputil_LDADD) $(LIBS)
-t-ssh-utils$(EXEEXT): $(t_ssh_utils_OBJECTS) $(t_ssh_utils_DEPENDENCIES) 
+t-ssh-utils$(EXEEXT): $(t_ssh_utils_OBJECTS) $(t_ssh_utils_DEPENDENCIES) $(EXTRA_t_ssh_utils_DEPENDENCIES) 
        @rm -f t-ssh-utils$(EXEEXT)
        $(LINK) $(t_ssh_utils_OBJECTS) $(t_ssh_utils_LDADD) $(LIBS)
-t-sysutils$(EXEEXT): $(t_sysutils_OBJECTS) $(t_sysutils_DEPENDENCIES) 
+t-sysutils$(EXEEXT): $(t_sysutils_OBJECTS) $(t_sysutils_DEPENDENCIES) $(EXTRA_t_sysutils_DEPENDENCIES) 
        @rm -f t-sysutils$(EXEEXT)
        $(LINK) $(t_sysutils_OBJECTS) $(t_sysutils_LDADD) $(LIBS)
 
@@ -691,6 +724,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-xasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-xreadline.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-yesno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-zb32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-asshelp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-audit.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-b64dec.Po@am__quote@
@@ -724,6 +758,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-xasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-xreadline.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-yesno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-zb32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsimple_pwquery_a-asshelp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsimple_pwquery_a-simple-pwquery.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-b64.Po@am__quote@
@@ -905,6 +940,20 @@ libcommon_a-b64dec.obj: b64dec.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-b64dec.obj `if test -f 'b64dec.c'; then $(CYGPATH_W) 'b64dec.c'; else $(CYGPATH_W) '$(srcdir)/b64dec.c'; fi`
 
+libcommon_a-zb32.o: zb32.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-zb32.o -MD -MP -MF $(DEPDIR)/libcommon_a-zb32.Tpo -c -o libcommon_a-zb32.o `test -f 'zb32.c' || echo '$(srcdir)/'`zb32.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommon_a-zb32.Tpo $(DEPDIR)/libcommon_a-zb32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='zb32.c' object='libcommon_a-zb32.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-zb32.o `test -f 'zb32.c' || echo '$(srcdir)/'`zb32.c
+
+libcommon_a-zb32.obj: zb32.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-zb32.obj -MD -MP -MF $(DEPDIR)/libcommon_a-zb32.Tpo -c -o libcommon_a-zb32.obj `if test -f 'zb32.c'; then $(CYGPATH_W) 'zb32.c'; else $(CYGPATH_W) '$(srcdir)/zb32.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommon_a-zb32.Tpo $(DEPDIR)/libcommon_a-zb32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='zb32.c' object='libcommon_a-zb32.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-zb32.obj `if test -f 'zb32.c'; then $(CYGPATH_W) 'zb32.c'; else $(CYGPATH_W) '$(srcdir)/zb32.c'; fi`
+
 libcommon_a-convert.o: convert.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-convert.o -MD -MP -MF $(DEPDIR)/libcommon_a-convert.Tpo -c -o libcommon_a-convert.o `test -f 'convert.c' || echo '$(srcdir)/'`convert.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommon_a-convert.Tpo $(DEPDIR)/libcommon_a-convert.Po
@@ -1381,6 +1430,20 @@ libcommonpth_a-b64dec.obj: b64dec.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-b64dec.obj `if test -f 'b64dec.c'; then $(CYGPATH_W) 'b64dec.c'; else $(CYGPATH_W) '$(srcdir)/b64dec.c'; fi`
 
+libcommonpth_a-zb32.o: zb32.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-zb32.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-zb32.Tpo -c -o libcommonpth_a-zb32.o `test -f 'zb32.c' || echo '$(srcdir)/'`zb32.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommonpth_a-zb32.Tpo $(DEPDIR)/libcommonpth_a-zb32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='zb32.c' object='libcommonpth_a-zb32.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-zb32.o `test -f 'zb32.c' || echo '$(srcdir)/'`zb32.c
+
+libcommonpth_a-zb32.obj: zb32.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-zb32.obj -MD -MP -MF $(DEPDIR)/libcommonpth_a-zb32.Tpo -c -o libcommonpth_a-zb32.obj `if test -f 'zb32.c'; then $(CYGPATH_W) 'zb32.c'; else $(CYGPATH_W) '$(srcdir)/zb32.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommonpth_a-zb32.Tpo $(DEPDIR)/libcommonpth_a-zb32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='zb32.c' object='libcommonpth_a-zb32.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-zb32.obj `if test -f 'zb32.c'; then $(CYGPATH_W) 'zb32.c'; else $(CYGPATH_W) '$(srcdir)/zb32.c'; fi`
+
 libcommonpth_a-convert.o: convert.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-convert.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-convert.Tpo -c -o libcommonpth_a-convert.o `test -f 'convert.c' || echo '$(srcdir)/'`convert.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libcommonpth_a-convert.Tpo $(DEPDIR)/libcommonpth_a-convert.Po
@@ -1850,14 +1913,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -1908,14 +1972,18 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
        -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1925,6 +1993,7 @@ maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
 clean-am: clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \
@@ -2011,6 +2080,9 @@ uninstall-am:
        tags uninstall uninstall-am
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 # Note: Due to the dependency on Makefile, the file will always be
 # rebuilt, so we allow this only in maintainer mode.
 
index a5f3a69..91917cf 100644 (file)
@@ -52,7 +52,7 @@
 #if defined(HAVE_INTMAX_T) || defined(HAVE_UINTMAX_T)
 # ifdef HAVE_STDINT_H
 #  include <stdint.h>
-# endif 
+# endif
 #endif
 #ifdef HAVE_LANGINFO_THOUSANDS_SEP
 #include <langinfo.h>
 
 /* Allow redefinition of asprintf used malloc functions.  */
 #if defined(_ESTREAM_PRINTF_MALLOC)
-#define my_printf_malloc(a) _ESTREAM_PRINTF_MALLOC((a))  
+#define my_printf_malloc(a) _ESTREAM_PRINTF_MALLOC((a))
 #else
 #define my_printf_malloc(a) malloc((a))
 #endif
 #if defined(_ESTREAM_PRINTF_FREE)
-#define my_printf_free(a)   _ESTREAM_PRINTF_FREE((a))  
+#define my_printf_free(a)   _ESTREAM_PRINTF_FREE((a))
 #else
 #define my_printf_free(a)   free((a))
 #endif
@@ -182,7 +182,7 @@ typedef enum
 
 
 /* A union used to store the actual values. */
-typedef union 
+typedef union
 {
   char a_char;
   signed char a_schar;
@@ -266,7 +266,7 @@ dump_argspecs (argspec_t arg, size_t argcount)
   int idx;
 
   for (idx=0; argcount; argcount--, arg++, idx++)
-    fprintf (stderr, 
+    fprintf (stderr,
              "%2d: len=%u flags=%u width=%d prec=%d mod=%d "
              "con=%d vt=%d pos=%d-%d-%d\n",
              idx,
@@ -290,8 +290,8 @@ compute_type (argspec_t arg)
 {
   switch (arg->conspec)
     {
-    case CONSPEC_UNKNOWN: 
-      arg->vt = VALTYPE_UNSUPPORTED; 
+    case CONSPEC_UNKNOWN:
+      arg->vt = VALTYPE_UNSUPPORTED;
       break;
 
     case CONSPEC_DECIMAL:
@@ -302,7 +302,7 @@ compute_type (argspec_t arg)
         case LENMOD_LONG: arg->vt = VALTYPE_LONG; break;
         case LENMOD_LONGLONG: arg->vt = VALTYPE_LONGLONG; break;
         case LENMOD_INTMAX: arg->vt = VALTYPE_INTMAX; break;
-        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE; break;   
+        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE; break;
         case LENMOD_PTRDIFF: arg->vt = VALTYPE_PTRDIFF; break;
         default: arg->vt = VALTYPE_INT; break;
         }
@@ -319,12 +319,12 @@ compute_type (argspec_t arg)
         case LENMOD_LONG: arg->vt = VALTYPE_ULONG; break;
         case LENMOD_LONGLONG: arg->vt = VALTYPE_ULONGLONG; break;
         case LENMOD_INTMAX: arg->vt = VALTYPE_UINTMAX; break;
-        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE; break;   
+        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE; break;
         case LENMOD_PTRDIFF: arg->vt = VALTYPE_PTRDIFF; break;
         default: arg->vt = VALTYPE_UINT; break;
         }
       break;
-      
+
     case CONSPEC_FLOAT:
     case CONSPEC_FLOAT_UP:
     case CONSPEC_EXP:
@@ -340,9 +340,9 @@ compute_type (argspec_t arg)
         default: arg->vt = VALTYPE_DOUBLE; break;
         }
       break;
-      
+
     case CONSPEC_CHAR:
-      arg->vt = VALTYPE_INT; 
+      arg->vt = VALTYPE_INT;
       break;
 
     case CONSPEC_STRING:
@@ -365,12 +365,12 @@ compute_type (argspec_t arg)
         case LENMOD_LONG: arg->vt = VALTYPE_LONG_PTR; break;
         case LENMOD_LONGLONG: arg->vt = VALTYPE_LONGLONG_PTR; break;
         case LENMOD_INTMAX: arg->vt = VALTYPE_INTMAX_PTR; break;
-        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE_PTR; break;   
+        case LENMOD_SIZET: arg->vt = VALTYPE_SIZE_PTR; break;
         case LENMOD_PTRDIFF: arg->vt = VALTYPE_PTRDIFF_PTR; break;
         default: arg->vt = VALTYPE_INT_PTR; break;
         }
       break;
-      
+
     }
 }
 
@@ -395,7 +395,7 @@ parse_format (const char *format,
 
   if (!format)
     goto leave_einval;
-      
+
   for (; *format; format++)
     {
       unsigned int flags;
@@ -403,7 +403,7 @@ parse_format (const char *format,
       lenmod_t lenmod;
       conspec_t conspec;
       int arg_pos, width_pos, precision_pos;
-      
+
       if (*format != '%')
         continue;
       s = ++format;
@@ -417,7 +417,7 @@ parse_format (const char *format,
       if (*s >= '1' && *s <= '9')
         {
           const char *save_s = s;
-          
+
           arg_pos = (*s++ - '0');
           for (; *s >= '0' && *s <= '9'; s++)
             arg_pos = 10*arg_pos + (*s - '0');
@@ -431,7 +431,7 @@ parse_format (const char *format,
               s = save_s;
             }
         }
-         
+
       /* Parse the flags.  */
       flags = 0;
       for ( ; *s; s++)
@@ -449,7 +449,7 @@ parse_format (const char *format,
             }
         }
     flags_parsed:
-      
+
       /* Parse the field width.  */
       width_pos = 0;
       if (*s == '*')
@@ -532,11 +532,11 @@ parse_format (const char *format,
           if (ignore_value)
             precision = NO_FIELD_VALUE;
         }
-      
+
       /* Parse the length modifiers.  */
       switch (*s)
         {
-        case 'h': 
+        case 'h':
           if (s[1] == 'h')
             {
               lenmod = LENMOD_CHAR;
@@ -562,7 +562,7 @@ parse_format (const char *format,
         case 'L': lenmod = LENMOD_LONGDBL; s++; break;
         default:  lenmod = LENMOD_NONE; break;
         }
-      
+
       /* Parse the conversion specifier.  */
       switch (*s)
         {
@@ -632,7 +632,7 @@ parse_format (const char *format,
   *argspecs_addr = argspecs;
   *r_argspecs_count = argcount;
   return 0; /* Success.  */
-  
+
  leave_einval:
   errno = EINVAL;
  leave:
@@ -663,14 +663,14 @@ read_values (valueitem_t valuetable, size_t valuetable_len, va_list vaargs)
           value->a_char_ptr = va_arg (vaargs, char *);
           break;
         case VALTYPE_SCHAR: value->a_schar = va_arg (vaargs, int); break;
-        case VALTYPE_SCHAR_PTR: 
-          value->a_schar_ptr = va_arg (vaargs, signed char *); 
+        case VALTYPE_SCHAR_PTR:
+          value->a_schar_ptr = va_arg (vaargs, signed char *);
           break;
         case VALTYPE_UCHAR: value->a_uchar = va_arg (vaargs, int); break;
         case VALTYPE_SHORT: value->a_short = va_arg (vaargs, int); break;
         case VALTYPE_USHORT: value->a_ushort = va_arg (vaargs, int); break;
-        case VALTYPE_SHORT_PTR: 
-          value->a_short_ptr = va_arg (vaargs, short *); 
+        case VALTYPE_SHORT_PTR:
+          value->a_short_ptr = va_arg (vaargs, short *);
           break;
         case VALTYPE_INT:
           value->a_int = va_arg (vaargs, int);
@@ -684,20 +684,20 @@ read_values (valueitem_t valuetable, size_t valuetable_len, va_list vaargs)
         case VALTYPE_LONG:
           value->a_long = va_arg (vaargs, long);
           break;
-        case VALTYPE_ULONG: 
+        case VALTYPE_ULONG:
           value->a_ulong = va_arg (vaargs, unsigned long);
           break;
-        case VALTYPE_LONG_PTR: 
-          value->a_long_ptr = va_arg (vaargs, long *); 
+        case VALTYPE_LONG_PTR:
+          value->a_long_ptr = va_arg (vaargs, long *);
           break;
 #ifdef HAVE_LONG_LONG_INT
         case VALTYPE_LONGLONG:
           value->a_longlong = va_arg (vaargs, long long int);
           break;
-        case VALTYPE_ULONGLONG: 
-          value->a_ulonglong = va_arg (vaargs, unsigned long long int); 
+        case VALTYPE_ULONGLONG:
+          value->a_ulonglong = va_arg (vaargs, unsigned long long int);
           break;
-        case VALTYPE_LONGLONG_PTR: 
+        case VALTYPE_LONGLONG_PTR:
           value->a_longlong_ptr = va_arg (vaargs, long long *);
           break;
 #endif
@@ -712,31 +712,31 @@ read_values (valueitem_t valuetable, size_t valuetable_len, va_list vaargs)
         case VALTYPE_STRING:
           value->a_string = va_arg (vaargs, const char *);
           break;
-        case VALTYPE_POINTER: 
+        case VALTYPE_POINTER:
           value->a_void_ptr = va_arg (vaargs, void *);
           break;
 #ifdef HAVE_INTMAX_T
         case VALTYPE_INTMAX:
           value->a_intmax = va_arg (vaargs, intmax_t);
           break;
-        case VALTYPE_INTMAX_PTR: 
-          value->a_intmax_ptr = va_arg (vaargs, intmax_t *); 
+        case VALTYPE_INTMAX_PTR:
+          value->a_intmax_ptr = va_arg (vaargs, intmax_t *);
           break;
 #endif
 #ifdef HAVE_UINTMAX_T
-        case VALTYPE_UINTMAX: 
-          value->a_uintmax = va_arg (vaargs, uintmax_t); 
+        case VALTYPE_UINTMAX:
+          value->a_uintmax = va_arg (vaargs, uintmax_t);
           break;
 #endif
         case VALTYPE_SIZE:
           value->a_size = va_arg (vaargs, size_t);
           break;
-        case VALTYPE_SIZE_PTR: 
-          value->a_size_ptr = va_arg (vaargs, size_t *); 
+        case VALTYPE_SIZE_PTR:
+          value->a_size_ptr = va_arg (vaargs, size_t *);
           break;
 #ifdef HAVE_PTRDIFF_T
         case VALTYPE_PTRDIFF:
-          value->a_ptrdiff = va_arg (vaargs, ptrdiff_t); 
+          value->a_ptrdiff = va_arg (vaargs, ptrdiff_t);
           break;
         case VALTYPE_PTRDIFF_PTR:
           value->a_ptrdiff_ptr = va_arg (vaargs, ptrdiff_t *);
@@ -771,7 +771,7 @@ pad_out (estream_printf_out_t outfnc, void *outfncarg,
       *nbytes += n;
       count -= n;
     }
-  
+
   return 0;
 }
 
@@ -808,18 +808,18 @@ pr_integer (estream_printf_out_t outfnc, void *outfncarg,
         {
         case VALTYPE_SHORT: along = value.a_short; break;
         case VALTYPE_INT: along = value.a_int; break;
-        case VALTYPE_LONG: along = value.a_long; break;  
+        case VALTYPE_LONG: along = value.a_long; break;
 #ifdef HAVE_LONG_LONG_INT
-        case VALTYPE_LONGLONG: along = value.a_longlong; break;  
-        case VALTYPE_SIZE: along = value.a_size; break;  
+        case VALTYPE_LONGLONG: along = value.a_longlong; break;
+        case VALTYPE_SIZE: along = value.a_size; break;
 # ifdef HAVE_INTMAX_T
-        case VALTYPE_INTMAX: along = value.a_intmax; break;  
+        case VALTYPE_INTMAX: along = value.a_intmax; break;
 # endif
 # ifdef HAVE_PTRDIFF_T
-        case VALTYPE_PTRDIFF: along = value.a_ptrdiff; break;  
+        case VALTYPE_PTRDIFF: along = value.a_ptrdiff; break;
 # endif
 #endif /*HAVE_LONG_LONG_INT*/
-        default: 
+        default:
           return -1;
         }
       if (along < 0)
@@ -836,18 +836,18 @@ pr_integer (estream_printf_out_t outfnc, void *outfncarg,
         {
         case VALTYPE_USHORT: aulong = value.a_ushort; break;
         case VALTYPE_UINT: aulong = value.a_uint; break;
-        case VALTYPE_ULONG: aulong = value.a_ulong; break;  
+        case VALTYPE_ULONG: aulong = value.a_ulong; break;
 #ifdef HAVE_LONG_LONG_INT
-        case VALTYPE_ULONGLONG: aulong = value.a_ulonglong; break;  
-        case VALTYPE_SIZE: aulong = value.a_size; break;  
+        case VALTYPE_ULONGLONG: aulong = value.a_ulonglong; break;
+        case VALTYPE_SIZE: aulong = value.a_size; break;
 # ifdef HAVE_UINTMAX_T
-        case VALTYPE_UINTMAX: aulong = value.a_uintmax; break;  
+        case VALTYPE_UINTMAX: aulong = value.a_uintmax; break;
 # endif
 # ifdef HAVE_PTRDIFF_T
-        case VALTYPE_PTRDIFF: aulong = value.a_ptrdiff; break;  
+        case VALTYPE_PTRDIFF: aulong = value.a_ptrdiff; break;
 # endif
 #endif /*HAVE_LONG_LONG_INT*/
-        default: 
+        default:
           return -1;
         }
     }
@@ -878,7 +878,7 @@ pr_integer (estream_printf_out_t outfnc, void *outfncarg,
 
       do
         {
-          if ((arg->flags & FLAG_GROUPING) 
+          if ((arg->flags & FLAG_GROUPING)
               && (++grouping == 3) && *grouping_string)
             {
               *--p = *grouping_string;
@@ -913,7 +913,7 @@ pr_integer (estream_printf_out_t outfnc, void *outfncarg,
       if ((arg->flags & FLAG_ALT_CONV))
         n_extra += 2;
     }
-  
+
   n = pend - p;
 
   if ((arg->flags & FLAG_ZERO_PAD)
@@ -958,7 +958,7 @@ pr_integer (estream_printf_out_t outfnc, void *outfncarg,
       if (rc)
         return rc;
     }
-      
+
   rc = outfnc (outfncarg, p, pend - p);
   if (rc)
     return rc;
@@ -1011,7 +1011,7 @@ pr_float (estream_printf_out_t outfnc, void *outfncarg,
       adblfloat = value.a_longdouble;
       use_dbl=1; break;
 #endif
-    default: 
+    default:
       return -1;
     }
 
@@ -1122,7 +1122,7 @@ pr_char (estream_printf_out_t outfnc, void *outfncarg,
   if(rc)
     return rc;
   *nbytes += 1;
-  
+
   return 0;
 }
 
@@ -1143,7 +1143,9 @@ pr_string (estream_printf_out_t outfnc, void *outfncarg,
     string = "(null)";
   if (arg->precision >= 0)
     {
-      for (n=0,s=string; *s && n < arg->precision; s++) 
+      /* Test for nul after N so that we can pass a non-nul terminated
+         string.  */
+      for (n=0,s=string; n < arg->precision && *s; s++)
         n++;
     }
   else
@@ -1169,7 +1171,7 @@ pr_string (estream_printf_out_t outfnc, void *outfncarg,
       if (rc)
         return rc;
     }
-  
+
   return 0;
 }
 
@@ -1210,7 +1212,7 @@ pr_pointer (estream_printf_out_t outfnc, void *outfncarg,
     *--p = '0';
   *--p = 'x';
   *--p = '0';
-  
+
   rc = outfnc (outfncarg, p, pend - p);
   if (rc)
     return rc;
@@ -1229,14 +1231,14 @@ pr_bytes_so_far (estream_printf_out_t outfnc, void *outfncarg,
 
   switch (arg->vt)
     {
-    case VALTYPE_SCHAR_PTR: 
-      *value.a_schar_ptr = (signed char)(unsigned int)(*nbytes); 
+    case VALTYPE_SCHAR_PTR:
+      *value.a_schar_ptr = (signed char)(unsigned int)(*nbytes);
       break;
-    case VALTYPE_SHORT_PTR:  
+    case VALTYPE_SHORT_PTR:
       *value.a_short_ptr = (short)(unsigned int)(*nbytes);
       break;
-    case VALTYPE_LONG_PTR:     
-      *value.a_long_ptr = (long)(*nbytes); 
+    case VALTYPE_LONG_PTR:
+      *value.a_long_ptr = (long)(*nbytes);
       break;
 #ifdef HAVE_LONG_LONG_INT
     case VALTYPE_LONGLONG_PTR:
@@ -1244,12 +1246,12 @@ pr_bytes_so_far (estream_printf_out_t outfnc, void *outfncarg,
       break;
 #endif
 #ifdef HAVE_INTMAX_T
-    case VALTYPE_INTMAX_PTR:   
+    case VALTYPE_INTMAX_PTR:
       *value.a_intmax_ptr = (intmax_t)(*nbytes);
       break;
 #endif
     case VALTYPE_SIZE_PTR:
-      *value.a_size_ptr = (*nbytes); 
+      *value.a_size_ptr = (*nbytes);
       break;
 #ifdef HAVE_PTRDIFF_T
     case VALTYPE_PTRDIFF_PTR:
@@ -1274,8 +1276,8 @@ pr_bytes_so_far (estream_printf_out_t outfnc, void *outfncarg,
    holds the values and may be directly addressed using the position
    arguments given by ARGSPECS.  MYERRNO is used for the "%m"
    conversion. NBYTES well be updated to reflect the number of bytes
-   send to the output function. */ 
-static int 
+   send to the output function. */
+static int
 do_format (estream_printf_out_t outfnc, void *outfncarg,
            const char *format, argspec_t argspecs, size_t argspecs_len,
            valueitem_t valuetable, int myerrno, size_t *nbytes)
@@ -1319,7 +1321,7 @@ do_format (estream_printf_out_t outfnc, void *outfncarg,
       /* Save the next start.  */
       s += arg->length;
       format = s;
+
       assert (argidx < argspecs_len);
       argidx++;
 
@@ -1387,9 +1389,9 @@ do_format (estream_printf_out_t outfnc, void *outfncarg,
         }
       if (rc)
         return rc;
-      arg++;    
+      arg++;
     }
-  
+
   /* Print out any trailing stuff. */
   n = s - format;
   rc = n? outfnc (outfncarg, format, n) : 0;
@@ -1407,7 +1409,7 @@ do_format (estream_printf_out_t outfnc, void *outfncarg,
    output of the formatted stuff.  FORMAT is the format specification
    and VAARGS a variable argumemt list matching the arguments of
    FORMAT.  */
-int 
+int
 estream_format (estream_printf_out_t outfnc,
                 void *outfncarg,
                 const char *format, va_list vaargs)
@@ -1442,7 +1444,7 @@ estream_format (estream_printf_out_t outfnc,
   /* Check that all ARG_POS fields are set.  */
   for (argidx=0,max_pos=0; argidx < argspecs_len; argidx++)
     {
-      if (argspecs[argidx].arg_pos != -1 
+      if (argspecs[argidx].arg_pos != -1
           && argspecs[argidx].arg_pos > max_pos)
         max_pos = argspecs[argidx].arg_pos;
       if (argspecs[argidx].width_pos > max_pos)
@@ -1523,13 +1525,13 @@ estream_format (estream_printf_out_t outfnc,
           valuetable[validx].vt = VALTYPE_INT;
         }
     }
-  
+
   /* Read all the arguments.  This will error out for unsupported
      types and for not given positional arguments. */
   rc = read_values (valuetable, max_pos, vaargs);
   if (rc)
-    goto leave_einval;  
-  
+    goto leave_einval;
+
 /*   for (validx=0; validx < max_pos; validx++) */
 /*     fprintf (stderr, "%2d: vt=%d\n", validx, valuetable[validx].vt); */
 
@@ -1538,7 +1540,7 @@ estream_format (estream_printf_out_t outfnc,
                   argspecs, argspecs_len, valuetable, myerrno, &nbytes);
 
   goto leave;
-  
+
  leave_einval:
   errno = EINVAL;
  leave_error:
@@ -1572,11 +1574,11 @@ estream_printf (const char *format, ...)
 {
   int rc;
   va_list arg_ptr;
-  
+
   va_start (arg_ptr, format);
   rc = estream_format (plain_stdio_out, stderr, format, arg_ptr);
   va_end (arg_ptr);
-  
+
   return rc;
 }
 
@@ -1586,16 +1588,16 @@ estream_fprintf (FILE *fp, const char *format, ...)
 {
   int rc;
   va_list arg_ptr;
-  
+
   va_start (arg_ptr, format);
   rc = estream_format (plain_stdio_out, fp, format, arg_ptr);
   va_end (arg_ptr);
-  
+
   return rc;
 }
 
 /* A replacement for vfprintf.  */
-int 
+int
 estream_vfprintf (FILE *fp, const char *format, va_list arg_ptr)
 {
   return estream_format (plain_stdio_out, fp, format, arg_ptr);
@@ -1642,7 +1644,7 @@ fixed_buffer_out (void *outfncarg, const char *buf, size_t buflen)
 
 
 /* A replacement for vsnprintf. */
-int 
+int
 estream_vsnprintf (char *buf, size_t bufsize,
                    const char *format, va_list arg_ptr)
 {
@@ -1667,7 +1669,7 @@ estream_vsnprintf (char *buf, size_t bufsize,
 }
 
 /* A replacement for snprintf.  */
-int 
+int
 estream_snprintf (char *buf, size_t bufsize, const char *format, ...)
 {
   int rc;
@@ -1676,7 +1678,7 @@ estream_snprintf (char *buf, size_t bufsize, const char *format, ...)
   va_start (arg_ptr, format);
   rc = estream_vsnprintf (buf, bufsize, format, arg_ptr);
   va_end (arg_ptr);
-    
+
   return rc;
 }
 
@@ -1686,7 +1688,7 @@ estream_snprintf (char *buf, size_t bufsize, const char *format, ...)
    dynamic_buffer_out.  */
 struct dynamic_buffer_parm_s
 {
-  int error_flag; /* Internal helper.  */ 
+  int error_flag; /* Internal helper.  */
   size_t alloced; /* Allocated size of the buffer.  */
   size_t used;    /* Used size of the buffer.  */
   char *buffer;   /* Malloced buffer.  */
@@ -1709,7 +1711,7 @@ dynamic_buffer_out (void *outfncarg, const char *buf, size_t buflen)
   if (parm->used + buflen >= parm->alloced)
     {
       char *p;
-      
+
       parm->alloced += buflen + 512;
       p = realloc (parm->buffer, parm->alloced);
       if (!p)
@@ -1732,7 +1734,7 @@ dynamic_buffer_out (void *outfncarg, const char *buf, size_t buflen)
 /* A replacement for vasprintf.  As with the BSD of vasprintf version -1
    will be returned on error and NULL stored at BUFP.  On success the
    number of bytes printed will be returned. */
-int 
+int
 estream_vasprintf (char **bufp, const char *format, va_list arg_ptr)
 {
   struct dynamic_buffer_parm_s parm;
@@ -1747,7 +1749,7 @@ estream_vasprintf (char **bufp, const char *format, va_list arg_ptr)
       *bufp = NULL;
       return -1;
     }
-  
+
   rc = estream_format (dynamic_buffer_out, &parm, format, arg_ptr);
   if (!rc)
     rc = dynamic_buffer_out (&parm, "", 1); /* Print terminating Nul.  */
@@ -1772,7 +1774,7 @@ estream_vasprintf (char **bufp, const char *format, va_list arg_ptr)
 /* A replacement for asprintf.  As with the BSD of asprintf version -1
    will be returned on error and NULL stored at BUFP.  On success the
    number of bytes printed will be returned. */
-int 
+int
 estream_asprintf (char **bufp, const char *format, ...)
 {
   int rc;
@@ -1781,7 +1783,7 @@ estream_asprintf (char **bufp, const char *format, ...)
   va_start (arg_ptr, format);
   rc = estream_vasprintf (bufp, format, arg_ptr);
   va_end (arg_ptr);
-    
+
   return rc;
 }
 
index 2d68415..86d8e21 100644 (file)
@@ -79,6 +79,9 @@
 #include <stddef.h>
 #include <assert.h>
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #endif
 #ifdef HAVE_W32CE_SYSTEM
@@ -176,15 +179,15 @@ static int estream_pth_killed;
 # define ESTREAM_MUTEX_INITIALIZER PTH_MUTEX_INIT
 # define ESTREAM_MUTEX_LOCK(mutex)                              \
   (estream_pth_killed ? dummy_mutex_call_void ((mutex))         \
-   : pth_mutex_acquire (&(mutex), 0, NULL))
+   : (void)pth_mutex_acquire (&(mutex), 0, NULL))
 # define ESTREAM_MUTEX_UNLOCK(mutex)                            \
-  (estream_pth_killed ? dummy_mutex_call_void ((mutex))         \
+  (estream_pth_killed ? dummy_mutex_call_int ((mutex))          \
    : pth_mutex_release (&(mutex)))
 # define ESTREAM_MUTEX_TRYLOCK(mutex)                                   \
   (estream_pth_killed ? dummy_mutex_call_int ((mutex))                  \
    : ((pth_mutex_acquire (&(mutex), 1, NULL) == TRUE)? 0:-1))
 # define ESTREAM_MUTEX_INITIALIZE(mutex)                        \
-  (estream_pth_killed ? dummy_mutex_call_void ((mutex))         \
+  (estream_pth_killed ? dummy_mutex_call_int ((mutex))          \
    : pth_mutex_init (&(mutex)))
 
 #else /*!HAVE_PTH*/
@@ -214,8 +217,16 @@ static int estream_pth_killed;
 
 #define ES_DEFAULT_OPEN_MODE (S_IRUSR | S_IWUSR)
 
-/* An internal stream object.  */
+/* A private cookie function to implement an internal IOCTL
+   service.  */
+typedef int (*cookie_ioctl_function_t) (void *cookie, int cmd,
+                                       void *ptr, size_t *len);
+/* IOCTL commands for the private cookie function.  */
+#define COOKIE_IOCTL_SNATCH_BUFFER 1
+
 
+
+/* An internal stream object.  */
 struct estream_internal
 {
   unsigned char buffer[BUFFER_BLOCK_SIZE];
@@ -229,6 +240,7 @@ struct estream_internal
   es_cookie_read_function_t func_read;
   es_cookie_write_function_t func_write;
   es_cookie_seek_function_t func_seek;
+  cookie_ioctl_function_t func_ioctl;
   es_cookie_close_function_t func_close;
   int strategy;
   int fd;
@@ -770,6 +782,34 @@ es_func_mem_seek (void *cookie, off_t *offset, int whence)
 }
 
 
+/* An IOCTL function for memory objects.  */
+static int
+es_func_mem_ioctl (void *cookie, int cmd, void *ptr, size_t *len)
+{
+  estream_cookie_mem_t mem_cookie = cookie;
+  int ret;
+
+  if (cmd == COOKIE_IOCTL_SNATCH_BUFFER)
+    {
+      /* Return the internal buffer of the stream to the caller and
+         invalidate it for the stream.  */
+      *(void**)ptr = mem_cookie->memory;
+      *len = mem_cookie->offset;
+      mem_cookie->memory = NULL;
+      mem_cookie->memory_size = 0;
+      mem_cookie->offset = 0;
+      ret = 0;
+    }
+  else
+    {
+      _set_errno (EINVAL);
+      ret = -1;
+    }
+
+  return ret;
+}
+
+
 /* Destroy function for memory objects.  */
 static int
 es_func_mem_destroy (void *cookie)
@@ -1309,6 +1349,7 @@ es_initialize (estream_t stream,
   stream->intern->func_read = functions.func_read;
   stream->intern->func_write = functions.func_write;
   stream->intern->func_seek = functions.func_seek;
+  stream->intern->func_ioctl = NULL;
   stream->intern->func_close = functions.func_close;
   stream->intern->strategy = _IOFBF;
   stream->intern->fd = fd;
@@ -2314,10 +2355,45 @@ es_fopenmem (size_t memlimit, const char *ES__RESTRICT mode)
   if (es_create (&stream, cookie, -1, estream_functions_mem, modeflags, 0))
     (*estream_functions_mem.func_close) (cookie);
 
+  if (stream)
+    stream->intern->func_ioctl = es_func_mem_ioctl;
+
   return stream;
 }
 
 
+/* This is the same as es_fopenmem but intializes the memory with a
+   copy of (DATA,DATALEN).  The stream is initally set to the
+   beginning.  If MEMLIMIT is not 0 but shorter than DATALEN it
+   DATALEN will be used as the value for MEMLIMIT.  */
+estream_t
+es_fopenmem_init (size_t memlimit, const char *ES__RESTRICT mode,
+                  const void *data, size_t datalen)
+{
+  estream_t stream;
+
+  if (memlimit && memlimit < datalen)
+    memlimit = datalen;
+
+  stream = es_fopenmem (memlimit, mode);
+  if (stream && data && datalen)
+    {
+      if (es_writen (stream, data, datalen, NULL))
+        {
+          int saveerrno = errno;
+          es_fclose (stream);
+          stream = NULL;
+          _set_errno (saveerrno);
+        }
+      else
+        {
+          es_seek (stream, 0L, SEEK_SET, NULL);
+          es_set_indicators (stream, 0, 0);
+        }
+    }
+  return stream;
+}
+
 
 estream_t
 es_fopencookie (void *ES__RESTRICT cookie,
@@ -2601,6 +2677,66 @@ es_fclose (estream_t stream)
   return err;
 }
 
+
+/* This is a special version of es_fclose which can be used with
+   es_fopenmem to return the memory buffer.  This is feature is useful
+   to write to a memory buffer using estream.  Note that the function
+   does not close the stream if the stream does not support snatching
+   the buffer.  On error NULL is stored at R_BUFFER.  Note that if no
+   write operation has happened, NULL may also be stored at BUFFER on
+   success.  The caller needs to release the returned memory using
+   es_free.  */
+int
+es_fclose_snatch (estream_t stream, void **r_buffer, size_t *r_buflen)
+{
+  int err;
+
+  /* Note: There is no need to lock the stream in a close call.  The
+     object will be destroyed after the close and thus any other
+     contender for the lock would work on a closed stream.  */
+
+  if (r_buffer)
+    {
+      cookie_ioctl_function_t func_ioctl = stream->intern->func_ioctl;
+      size_t buflen;
+
+      *r_buffer = NULL;
+
+      if (!func_ioctl)
+        {
+          _set_errno (EOPNOTSUPP);
+          err = -1;
+          goto leave;
+        }
+
+      if (stream->flags.writing)
+        {
+          err = es_flush (stream);
+          if (err)
+            goto leave;
+          stream->flags.writing = 0;
+        }
+
+      err = func_ioctl (stream->intern->cookie, COOKIE_IOCTL_SNATCH_BUFFER,
+                        r_buffer, &buflen);
+      if (err)
+        goto leave;
+      if (r_buflen)
+        *r_buflen = buflen;
+    }
+
+  err = es_destroy (stream, 0);
+
+ leave:
+  if (err && r_buffer)
+    {
+      mem_free (*r_buffer);
+      *r_buffer = NULL;
+    }
+  return err;
+}
+
+
 int
 es_fileno_unlocked (estream_t stream)
 {
index 69f19f4..35df20b 100644 (file)
@@ -76,6 +76,7 @@
 #define es_fopen              _ESTREAM_PREFIX(es_fopen)
 #define es_mopen              _ESTREAM_PREFIX(es_mopen)
 #define es_fopenmem           _ESTREAM_PREFIX(es_fopenmem)
+#define es_fopenmem_init      _ESTREAM_PREFIX(es_fopenmem_init)
 #define es_fdopen             _ESTREAM_PREFIX(es_fdopen)
 #define es_fdopen_nc          _ESTREAM_PREFIX(es_fdopen_nc)
 #define es_fpopen             _ESTREAM_PREFIX(es_fpopen)
@@ -85,6 +86,7 @@
 #define es_freopen            _ESTREAM_PREFIX(es_freopen)
 #define es_fopencookie        _ESTREAM_PREFIX(es_fopencookie)
 #define es_fclose             _ESTREAM_PREFIX(es_fclose)
+#define es_fclose_snatch      _ESTREAM_PREFIX(es_fclose_snatch)
 #define es_fileno             _ESTREAM_PREFIX(es_fileno)
 #define es_fileno_unlocked    _ESTREAM_PREFIX(es_fileno_unlocked)
 #define es_flockfile          _ESTREAM_PREFIX(es_flockfile)
@@ -242,6 +244,8 @@ estream_t es_mopen (unsigned char *ES__RESTRICT data,
                    void (*func_free) (void *mem),
                    const char *ES__RESTRICT mode);
 estream_t es_fopenmem (size_t memlimit, const char *ES__RESTRICT mode);
+estream_t es_fopenmem_init (size_t memlimit, const char *ES__RESTRICT mode,
+                            const void *data, size_t datalen);
 estream_t es_fdopen (int filedes, const char *mode);
 estream_t es_fdopen_nc (int filedes, const char *mode);
 estream_t es_fpopen (FILE *fp, const char *mode);
@@ -253,6 +257,7 @@ estream_t es_fopencookie (void *ES__RESTRICT cookie,
                          const char *ES__RESTRICT mode,
                          es_cookie_io_functions_t functions);
 int es_fclose (estream_t stream);
+int es_fclose_snatch (estream_t stream, void **r_buffer, size_t *r_buflen);
 int es_fileno (estream_t stream);
 int es_fileno_unlocked (estream_t stream);
 
diff --git a/common/gnupg.ico b/common/gnupg.ico
new file mode 100644 (file)
index 0000000..4c4bae0
Binary files /dev/null and b/common/gnupg.ico differ
index 5f2e31e..4b03cfe 100644 (file)
@@ -1,5 +1,6 @@
 /* homedir.c - Setup the home directory.
- *     Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
@@ -23,6 +24,9 @@
 #include <fcntl.h>
 
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 #include <shlobj.h>
 #ifndef CSIDL_APPDATA
 #define CSIDL_APPDATA 0x001a
 #include "sysutils.h"
 
 
+#ifdef HAVE_W32_SYSTEM
+/* A flag used to indicate that a control file for gpgconf has been
+   detected.  Under Windows the presence of this file indicates a
+   portable installations and triggers several changes:
+
+   - The GNUGHOME directory is fixed relative to installation
+     directory.  All other means to set the home directory are
+     ignored.
+
+   - All registry variables are ignored.
+
+   This flag is not used on Unix systems.
+ */
+static int w32_portable_app;
+
+/* This flag is true if this process' binary has been installed under
+   bin and not in the root directory. */
+static int w32_bin_is_bin;
+
+/* Just a little prototype.  */
+static const char *w32_rootdir (void);
+
+#endif /*HAVE_W32_SYSTEM*/
+
+
+
+
 /* This is a helper function to load a Windows function from either of
    one DLLs. */
 #ifdef HAVE_W32_SYSTEM
@@ -96,28 +127,39 @@ standard_homedir (void)
 
   if (!dir)
     {
-      char path[MAX_PATH];
-      
-      /* It might be better to use LOCAL_APPDATA because this is
-         defined as "non roaming" and thus more likely to be kept
-         locally.  For private keys this is desired.  However, given
-         that many users copy private keys anyway forth and back,
-         using a system roaming services might be better than to let
-         them do it manually.  A security conscious user will anyway
-         use the registry entry to have better control.  */
-      if (w32_shgetfolderpath (NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE, 
-                               NULL, 0, path) >= 0) 
+      const char *rdir;
+
+      rdir = w32_rootdir ();
+      if (w32_portable_app)
         {
-          char *tmp = xmalloc (strlen (path) + 6 +1);
-          strcpy (stpcpy (tmp, path), "\\gnupg");
-          dir = tmp;
-          
-          /* Try to create the directory if it does not yet exists.  */
-          if (access (dir, F_OK))
-            CreateDirectory (dir, NULL);
+          dir = xstrconcat (rdir, DIRSEP_S "home", NULL);
         }
       else
-        dir = GNUPG_DEFAULT_HOMEDIR;
+        {
+          char path[MAX_PATH];
+
+          /* It might be better to use LOCAL_APPDATA because this is
+             defined as "non roaming" and thus more likely to be kept
+             locally.  For private keys this is desired.  However,
+             given that many users copy private keys anyway forth and
+             back, using a system roaming services might be better
+             than to let them do it manually.  A security conscious
+             user will anyway use the registry entry to have better
+             control.  */
+          if (w32_shgetfolderpath (NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE,
+                                   NULL, 0, path) >= 0)
+            {
+              char *tmp = xmalloc (strlen (path) + 6 +1);
+              strcpy (stpcpy (tmp, path), "\\gnupg");
+              dir = tmp;
+
+              /* Try to create the directory if it does not yet exists.  */
+              if (access (dir, F_OK))
+                CreateDirectory (dir, NULL);
+            }
+          else
+            dir = GNUPG_DEFAULT_HOMEDIR;
+        }
     }
   return dir;
 #else/*!HAVE_W32_SYSTEM*/
@@ -132,12 +174,19 @@ default_homedir (void)
 {
   const char *dir;
 
+#ifdef HAVE_W32_SYSTEM
+  /* For a portable application we only use the standard homedir.  */
+  w32_rootdir ();
+  if (w32_portable_app)
+    return standard_homedir ();
+#endif /*HAVE_W32_SYSTEM*/
+
   dir = getenv ("GNUPGHOME");
 #ifdef HAVE_W32_SYSTEM
   if (!dir || !*dir)
     {
       static const char *saved_dir;
-      
+
       if (!saved_dir)
         {
           if (!dir || !*dir)
@@ -154,7 +203,7 @@ default_homedir (void)
               if (tmp)
                 saved_dir = tmp;
             }
-          
+
           if (!saved_dir)
             saved_dir = standard_homedir ();
         }
@@ -169,6 +218,31 @@ default_homedir (void)
 
 
 #ifdef HAVE_W32_SYSTEM
+/* Check whether gpgconf is installed and if so read the gpgconf.ctl
+   file. */
+static void
+check_portable_app (const char *dir)
+{
+  char *fname;
+
+  fname = xstrconcat (dir, DIRSEP_S "gpgconf.exe", NULL);
+  if (access (fname, F_OK))
+    log_error ("required binary '%s' is not installed\n", fname);
+  else
+    {
+      strcpy (fname + strlen (fname) - 3, "ctl");
+      if (!access (fname, F_OK))
+        {
+          /* gpgconf.ctl file found.  Record this fact.  */
+          w32_portable_app = 1;
+
+          /* FIXME: We should read the file to detect special flags
+             and print a warning if we don't understand them.  */
+        }
+    }
+  xfree (fname);
+}
+
 static const char *
 w32_rootdir (void)
 {
@@ -187,11 +261,25 @@ w32_rootdir (void)
       got_dir = 1;
       p = strrchr (dir, DIRSEP_C);
       if (p)
-        *p = 0;
-      else
+        {
+          *p = 0;
+
+          check_portable_app (dir);
+
+          /* If we are installed below "bin" we strip that and use
+             the top directory instead.  */
+          p = strrchr (dir, DIRSEP_C);
+
+          if (p && !strcmp (p+1, "bin"))
+            {
+              *p = 0;
+              w32_bin_is_bin = 1;
+            }
+        }
+      if (!p)
         {
           log_debug ("bad filename `%s' returned for this process\n", dir);
-          *dir = 0; 
+          *dir = 0;
         }
     }
 
@@ -208,10 +296,19 @@ w32_commondir (void)
 
   if (!dir)
     {
+      const char *rdir;
       char path[MAX_PATH];
 
-      if (w32_shgetfolderpath (NULL, CSIDL_COMMON_APPDATA, 
-                               NULL, 0, path) >= 0) 
+      /* Make sure that w32_rootdir has been called so that we are
+         able to check the portable application flag.  The common dir
+         is identical to the rootdir.  In that case there is also no
+         need to strdup its value.  */
+      rdir = w32_rootdir ();
+      if (w32_portable_app)
+        return rdir;
+
+      if (w32_shgetfolderpath (NULL, CSIDL_COMMON_APPDATA,
+                               NULL, 0, path) >= 0)
         {
           char *tmp = xmalloc (strlen (path) + 4 +1);
           strcpy (stpcpy (tmp, path), "\\GNU");
@@ -223,17 +320,15 @@ w32_commondir (void)
         {
           /* Ooops: Not defined - probably an old Windows version.
              Use the installation directory instead.  */
-          dir = xstrdup (w32_rootdir ());
+          dir = xstrdup (rdir);
         }
     }
-  
+
   return dir;
 }
 #endif /*HAVE_W32_SYSTEM*/
 
 
-
-
 /* Return the name of the sysconfdir.  This is a static string.  This
    function is required because under Windows we can't simply compile
    it in.  */
@@ -262,7 +357,19 @@ const char *
 gnupg_bindir (void)
 {
 #ifdef HAVE_W32_SYSTEM
-  return w32_rootdir ();
+  const char *rdir;
+
+  rdir = w32_rootdir ();
+  if (w32_bin_is_bin)
+    {
+      static char *name;
+
+      if (!name)
+        name = xstrconcat (rdir, DIRSEP_S "bin", NULL);
+      return name;
+    }
+  else
+    return rdir;
 #else /*!HAVE_W32_SYSTEM*/
   return GNUPG_BINDIR;
 #endif /*!HAVE_W32_SYSTEM*/
@@ -275,7 +382,7 @@ const char *
 gnupg_libexecdir (void)
 {
 #ifdef HAVE_W32_SYSTEM
-  return w32_rootdir ();
+  return gnupg_bindir ();
 #else /*!HAVE_W32_SYSTEM*/
   return GNUPG_LIBEXECDIR;
 #endif /*!HAVE_W32_SYSTEM*/
@@ -388,42 +495,42 @@ gnupg_module_name (int which)
             strcpy (stpcpy (name, s), s2);                   \
           }                                                  \
         return name;                                         \
-      } while (0)                                                     
+      } while (0)
 
   switch (which)
     {
     case GNUPG_MODULE_NAME_AGENT:
 #ifdef GNUPG_DEFAULT_AGENT
       return GNUPG_DEFAULT_AGENT;
-#else 
+#else
       X(bindir, "gpg-agent");
 #endif
-      
+
     case GNUPG_MODULE_NAME_PINENTRY:
 #ifdef GNUPG_DEFAULT_PINENTRY
       return GNUPG_DEFAULT_PINENTRY;
-#else 
+#else
       X(bindir, "pinentry");
 #endif
 
     case GNUPG_MODULE_NAME_SCDAEMON:
 #ifdef GNUPG_DEFAULT_SCDAEMON
       return GNUPG_DEFAULT_SCDAEMON;
-#else 
-      X(bindir, "scdaemon");
+#else
+      X(libexecdir, "scdaemon");
 #endif
 
     case GNUPG_MODULE_NAME_DIRMNGR:
 #ifdef GNUPG_DEFAULT_DIRMNGR
       return GNUPG_DEFAULT_DIRMNGR;
-#else 
+#else
       X(bindir, "dirmngr");
 #endif
 
     case GNUPG_MODULE_NAME_PROTECT_TOOL:
 #ifdef GNUPG_DEFAULT_PROTECT_TOOL
       return GNUPG_DEFAULT_PROTECT_TOOL;
-#else 
+#else
       X(libexecdir, "gpg-protect-tool");
 #endif
 
@@ -442,7 +549,7 @@ gnupg_module_name (int which)
     case GNUPG_MODULE_NAME_GPGCONF:
       X(bindir, "gpgconf");
 
-    default: 
+    default:
       BUG ();
     }
 #undef X
index c12bd2b..15d64c4 100644 (file)
@@ -1,6 +1,6 @@
 /* http.c  -  HTTP protocol handler
  * Copyright (C) 1999, 2001, 2002, 2003, 2004, 2006,
- *               2009 Free Software Foundation, Inc.
+ *               2009, 2012, 2013 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -46,6 +46,9 @@
 #include <unistd.h>
 
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #else /*!HAVE_W32_SYSTEM*/
 # include <sys/types.h>
@@ -129,12 +132,12 @@ static int insert_escapes (char *buffer, const char *string,
                            const char *special);
 static uri_tuple_t parse_tuple (char *string);
 static gpg_error_t send_request (http_t hd, const char *auth,const char *proxy,
-                                const char *srvtag,strlist_t headers);
+                                struct http_srv *srv,strlist_t headers);
 static char *build_rel_path (parsed_uri_t uri);
 static gpg_error_t parse_response (http_t hd);
 
 static int connect_server (const char *server, unsigned short port,
-                           unsigned int flags, const char *srvtag);
+                           unsigned int flags, struct http_srv *srv);
 static gpg_error_t write_server (int sock, const char *data, size_t length);
 
 #ifdef HTTP_USE_ESTREAM
@@ -150,7 +153,7 @@ static es_cookie_io_functions_t cookie_functions =
     cookie_close
   };
 
-struct cookie_s 
+struct cookie_s
 {
   int fd;  /* File descriptor or -1 if already closed. */
   gnutls_session_t tls_session;  /* TLS session context or NULL if not used. */
@@ -176,7 +179,7 @@ typedef struct header_s *header_t;
 
 
 /* Our handle context. */
-struct http_context_s 
+struct http_context_s
 {
   unsigned int status_code;
   int sock;
@@ -228,14 +231,14 @@ init_sockets (void)
   if (initialized)
     return;
 
-  if ( WSAStartup( MAKEWORD (REQ_WINSOCK_MINOR, REQ_WINSOCK_MAJOR), &wsdata ) ) 
+  if ( WSAStartup( MAKEWORD (REQ_WINSOCK_MINOR, REQ_WINSOCK_MAJOR), &wsdata ) )
     {
-      log_error ("error initializing socket library: ec=%d\n", 
+      log_error ("error initializing socket library: ec=%d\n",
                  (int)WSAGetLastError () );
       return;
     }
-  if ( LOBYTE(wsdata.wVersion) != REQ_WINSOCK_MAJOR  
-       || HIBYTE(wsdata.wVersion) != REQ_WINSOCK_MINOR ) 
+  if ( LOBYTE(wsdata.wVersion) != REQ_WINSOCK_MAJOR
+       || HIBYTE(wsdata.wVersion) != REQ_WINSOCK_MINOR )
     {
       log_error ("socket library version is %x.%x - but %d.%d needed\n",
                  LOBYTE(wsdata.wVersion), HIBYTE(wsdata.wVersion),
@@ -260,7 +263,7 @@ static char *
 make_header_line (const char *prefix, const char *suffix,
                    const void *data, size_t len )
 {
-  static unsigned char bintoasc[] = 
+  static unsigned char bintoasc[] =
     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
     "abcdefghijklmnopqrstuvwxyz"
     "0123456789+/";
@@ -278,7 +281,7 @@ make_header_line (const char *prefix, const char *suffix,
       *p++ = bintoasc[(((s[1]<<2)&074)|((s[2]>>6)&03))&077];
       *p++ = bintoasc[s[2]&077];
     }
-  if ( len == 2 ) 
+  if ( len == 2 )
     {
       *p++ = bintoasc[(s[0] >> 2) & 077];
       *p++ = bintoasc[(((s[0] <<4)&060)|((s[1] >> 4)&017))&077];
@@ -306,7 +309,7 @@ http_register_tls_callback ( gpg_error_t (*cb) (http_t, void *, int) )
   tls_callback = (gpg_error_t (*) (http_t, gnutls_session_t, int))cb;
 #else
   (void)cb;
-#endif  
+#endif
 }
 
 
@@ -315,13 +318,13 @@ http_register_tls_callback ( gpg_error_t (*cb) (http_t, void *, int) )
    pointer for completing the the request and to wait for the
    response. */
 gpg_error_t
-http_open (http_t *r_hd, http_req_t reqtype, const char *url, 
+http_open (http_t *r_hd, http_req_t reqtype, const char *url,
            const char *auth, unsigned int flags, const char *proxy,
-           void *tls_context, const char *srvtag,strlist_t headers)
+           void *tls_context, struct http_srv *srv, strlist_t headers)
 {
   gpg_error_t err;
   http_t hd;
-  
+
   *r_hd = NULL;
 
   if (!(reqtype == HTTP_REQ_GET || reqtype == HTTP_REQ_POST))
@@ -338,8 +341,8 @@ http_open (http_t *r_hd, http_req_t reqtype, const char *url,
 
   err = http_parse_uri (&hd->uri, url);
   if (!err)
-    err = send_request (hd, auth, proxy, srvtag, headers);
-  
+    err = send_request (hd, auth, proxy, srv, headers);
+
   if (err)
     {
       if (!hd->fp_read && !hd->fp_write && hd->sock != -1)
@@ -382,7 +385,7 @@ http_wait_response (http_t hd)
   gpg_error_t err;
 
   /* Make sure that we are in the data. */
-  http_start_data (hd);        
+  http_start_data (hd);
 
   /* We dup the socket, to cope with the fact that fclose closes the
      underlying socket. In TLS mode we don't do that because we can't
@@ -417,8 +420,6 @@ http_wait_response (http_t hd)
   hd->write_cookie = NULL;
 #endif
 
-  if (!(hd->flags & HTTP_FLAG_NO_SHUTDOWN))
-    shutdown (hd->sock, 1);
   hd->in_data = 0;
 
 #ifdef HTTP_USE_ESTREAM
@@ -455,14 +456,15 @@ http_wait_response (http_t hd)
    be used as an HTTP proxy and any enabled $http_proxy gets
    ignored. */
 gpg_error_t
-http_open_document (http_t *r_hd, const char *document, 
+http_open_document (http_t *r_hd, const char *document,
                     const char *auth, unsigned int flags, const char *proxy,
-                    void *tls_context, const char *srvtag,strlist_t headers)
+                    void *tls_context, struct http_srv *srv,
+                   strlist_t headers)
 {
   gpg_error_t err;
 
   err = http_open (r_hd, HTTP_REQ_GET, document, auth, flags,
-                   proxy, tls_context, srvtag, headers);
+                   proxy, tls_context, srv, headers);
   if (err)
     return err;
 
@@ -608,7 +610,7 @@ do_parse_uri (parsed_uri_t uri, int only_local_part)
 
       p++;
       if (*p == '/') /* There seems to be a hostname. */
-       { 
+       {
          p++;
          if ((p2 = strchr (p, '/')))
            *p2++ = 0;
@@ -666,7 +668,7 @@ do_parse_uri (parsed_uri_t uri, int only_local_part)
     return gpg_error (GPG_ERR_BAD_URI);        /* Path includes a Nul. */
   p = p2 ? p2 : NULL;
 
-  if (!p || !*p)       
+  if (!p || !*p)
     return 0; /* We don't have a query string.  Okay. */
 
   /* Now parse the query string. */
@@ -836,7 +838,7 @@ parse_tuple (char *string)
  */
 static gpg_error_t
 send_request (http_t hd, const char *auth,
-             const char *proxy,const char *srvtag,strlist_t headers)
+             const char *proxy, struct http_srv *srv, strlist_t headers)
 {
   gnutls_session_t tls_session;
   gpg_error_t err;
@@ -860,7 +862,7 @@ send_request (http_t hd, const char *auth,
 
   if ( (proxy && *proxy)
        || ( (hd->flags & HTTP_FLAG_TRY_PROXY)
-            && (http_proxy = getenv (HTTP_PROXY_ENV)) 
+            && (http_proxy = getenv (HTTP_PROXY_ENV))
             && *http_proxy ))
     {
       parsed_uri_t uri;
@@ -894,20 +896,20 @@ send_request (http_t hd, const char *auth,
 
       hd->sock = connect_server (*uri->host ? uri->host : "localhost",
                                 uri->port ? uri->port : 80,
-                                 hd->flags, srvtag);
+                                 hd->flags, srv);
       save_errno = errno;
       http_release_parsed_uri (uri);
     }
   else
     {
-      hd->sock = connect_server (server, port, hd->flags, srvtag);
+      hd->sock = connect_server (server, port, hd->flags, srv);
       save_errno = errno;
     }
 
   if (hd->sock == -1)
     {
       xfree (proxy_authstr);
-      return (save_errno 
+      return (save_errno
               ? gpg_error_from_errno (save_errno)
               : gpg_error (GPG_ERR_NOT_FOUND));
     }
@@ -947,7 +949,7 @@ send_request (http_t hd, const char *auth,
   if (auth || hd->uri->auth)
     {
       char *myauth;
-      
+
       if (auth)
         {
           myauth = xtrystrdup (auth);
@@ -975,12 +977,12 @@ send_request (http_t hd, const char *auth,
           return gpg_error_from_syserror ();
         }
     }
-  
+
   p = build_rel_path (hd->uri);
   if (!p)
     return gpg_error_from_syserror ();
 
-  request = xtrymalloc (2 * strlen (server) 
+  request = xtrymalloc (2 * strlen (server)
                         + strlen (p)
                         + (authstr?strlen(authstr):0)
                         + (proxy_authstr?strlen(proxy_authstr):0)
@@ -1007,8 +1009,8 @@ send_request (http_t hd, const char *auth,
   else
     {
       char portstr[35];
-        
-      if (port == 80)
+
+      if (port == 80 || (srv && srv->used_server))
         *portstr = 0;
       else
         sprintf (portstr, ":%u", port);
@@ -1189,7 +1191,7 @@ my_read_line (
   char *p;
 
   if (!buffer) /* Must allocate a new buffer. */
-    {          
+    {
       length = 256;
       buffer = xtrymalloc (length);
       *addr_of_buffer = buffer;
@@ -1206,7 +1208,7 @@ my_read_line (
   while ((c = P_ES(getc) (fp)) != EOF)
     {
       if (nbytes == length) /* Increase the buffer. */
-       {                       
+       {
          if (length > maxlen) /* Limit reached. */
            {
              /* Skip the rest of the line. */
@@ -1311,7 +1313,7 @@ store_header (http_t hd, char *line)
   while (*p == ' ' || *p == '\t')
     p++;
   value = p;
-  
+
   for (h=hd->headers; h; h = h->next)
     if ( !strcmp (h->name, line) )
       break;
@@ -1540,12 +1542,14 @@ start_server ()
    error.  ERRNO is set on error. */
 static int
 connect_server (const char *server, unsigned short port,
-                unsigned int flags, const char *srvtag)
+                unsigned int flags, struct http_srv *srv)
 {
   int sock = -1;
   int srvcount = 0;
+  int fakesrv = 0;
   int hostfound = 0;
-  int srv, connected;
+  int srvindex, connected;
+  int chosen = -1;
   int last_errno = 0;
   struct srventry *serverlist = NULL;
 
@@ -1564,9 +1568,9 @@ connect_server (const char *server, unsigned short port,
   if ( inaddr != INADDR_NONE )
     {
       struct sockaddr_in addr;
-      
+
       memset(&addr,0,sizeof(addr));
-      
+
       sock = socket(AF_INET,SOCK_STREAM,0);
       if ( sock==INVALID_SOCKET )
        {
@@ -1574,9 +1578,9 @@ connect_server (const char *server, unsigned short port,
          return -1;
        }
 
-      addr.sin_family = AF_INET; 
+      addr.sin_family = AF_INET;
       addr.sin_port = htons(port);
-      memcpy (&addr.sin_addr,&inaddr,sizeof(inaddr));      
+      memcpy (&addr.sin_addr,&inaddr,sizeof(inaddr));
 
       if (!connect (sock,(struct sockaddr *)&addr,sizeof(addr)) )
        return sock;
@@ -1587,14 +1591,14 @@ connect_server (const char *server, unsigned short port,
 
 #ifdef USE_DNS_SRV
   /* Do the SRV thing */
-  if (srvtag)
+  if (srv && srv->srvtag)
     {
       /* We're using SRV, so append the tags. */
-      if (1+strlen (srvtag) + 6 + strlen (server) + 1 <= MAXDNAME)
+      if (1+strlen (srv->srvtag) + 6 + strlen (server) + 1 <= MAXDNAME)
        {
          char srvname[MAXDNAME];
 
-         stpcpy (stpcpy (stpcpy (stpcpy (srvname,"_"), srvtag),
+         stpcpy (stpcpy (stpcpy (stpcpy (srvname,"_"), srv->srvtag),
                            "._tcp."), server);
          srvcount = getsrv (srvname, &serverlist);
        }
@@ -1612,19 +1616,20 @@ connect_server (const char *server, unsigned short port,
       strncpy (serverlist->target, server, MAXDNAME);
       serverlist->target[MAXDNAME-1] = '\0';
       srvcount = 1;
+      fakesrv = 1;
     }
 
 #ifdef HAVE_GETADDRINFO
   connected = 0;
-  for (srv=0; srv < srvcount && !connected; srv++)
+  for (srvindex=0; srvindex < srvcount && !connected; srvindex++)
     {
       struct addrinfo hints, *res, *ai;
       char portstr[35];
 
-      sprintf (portstr, "%hu", port);
+      sprintf (portstr, "%hu", serverlist[srvindex].port);
       memset (&hints, 0, sizeof (hints));
       hints.ai_socktype = SOCK_STREAM;
-      if (getaddrinfo (serverlist[srv].target, portstr, &hints, &res))
+      if (getaddrinfo (serverlist[srvindex].target, portstr, &hints, &res))
         continue; /* Not found - try next one. */
       hostfound = 1;
 
@@ -1642,17 +1647,20 @@ connect_server (const char *server, unsigned short port,
               errno = save_errno;
               return -1;
             }
-          
+
           if (connect (sock, ai->ai_addr, ai->ai_addrlen))
             last_errno = errno;
           else
-            connected = 1;
+            {
+             connected = 1;
+             chosen = srvindex;
+           }
         }
       freeaddrinfo (res);
     }
 #else /* !HAVE_GETADDRINFO */
   connected = 0;
-  for (srv=0; srv < srvcount && !connected; srv++)
+  for (srvindex=0; srvindex < srvcount && !connected; srvindex++)
     {
       int i;
       struct hostent *host = NULL;
@@ -1661,7 +1669,7 @@ connect_server (const char *server, unsigned short port,
       /* Note: This code is not thread-safe.  */
 
       memset (&addr, 0, sizeof (addr));
-      host = gethostbyname (serverlist[srv].target);
+      host = gethostbyname (serverlist[srvindex].target);
       if (!host)
         continue;
       hostfound = 1;
@@ -1675,20 +1683,20 @@ connect_server (const char *server, unsigned short port,
           xfree (serverlist);
           return -1;
         }
-      
+
       addr.sin_family = host->h_addrtype;
       if (addr.sin_family != AF_INET)
        {
          log_error ("unknown address family for `%s'\n",
-                     serverlist[srv].target);
+                     serverlist[srvindex].target);
           xfree (serverlist);
          return -1;
        }
-      addr.sin_port = htons (serverlist[srv].port);
+      addr.sin_port = htons (serverlist[srvindex].port);
       if (host->h_length != 4)
         {
           log_error ("illegal address length for `%s'\n",
-                     serverlist[srv].target);
+                     serverlist[srvindex].target);
           xfree (serverlist);
           return -1;
         }
@@ -1702,12 +1710,19 @@ connect_server (const char *server, unsigned short port,
           else
             {
               connected = 1;
+             chosen = srvindex;
               break;
             }
         }
     }
 #endif /* !HAVE_GETADDRINFO */
 
+  if(!fakesrv && chosen >- 1 && srv)
+    {
+      srv->used_server = xstrdup (serverlist[chosen].target);
+      srv->used_port = serverlist[chosen].port;
+    }
+
   xfree (serverlist);
 
   if (!connected)
@@ -1741,9 +1756,9 @@ write_server (int sock, const char *data, size_t length)
     {
 #ifdef HAVE_W32_SYSTEM
       int nwritten;
-      
+
       nwritten = send (sock, data, nleft, 0);
-      if ( nwritten == SOCKET_ERROR ) 
+      if ( nwritten == SOCKET_ERROR )
         {
           log_info ("network write failed: ec=%d\n", (int)WSAGetLastError ());
           return gpg_error (GPG_ERR_NETWORK);
@@ -1796,7 +1811,7 @@ cookie_read (void *cookie, void *buffer, size_t size)
           if (nread == GNUTLS_E_AGAIN)
             {
               struct timeval tv;
-              
+
               tv.tv_sec = 0;
               tv.tv_usec = 50000;
               select (0, NULL, NULL, NULL, &tv);
@@ -1817,7 +1832,7 @@ cookie_read (void *cookie, void *buffer, size_t size)
 #ifdef HAVE_W32_SYSTEM
           /* Under Windows we need to use recv for a socket.  */
           nread = recv (c->fd, buffer, size, 0);
-#else          
+#else
           nread = read (c->fd, buffer, size);
 #endif
         }
@@ -1840,7 +1855,7 @@ cookie_write (void *cookie, const void *buffer, size_t size)
       int nleft = size;
       while (nleft > 0)
         {
-          nwritten = gnutls_record_send (c->tls_session, buffer, nleft); 
+          nwritten = gnutls_record_send (c->tls_session, buffer, nleft);
           if (nwritten <= 0)
             {
               if (nwritten == GNUTLS_E_INTERRUPTED)
@@ -1848,7 +1863,7 @@ cookie_write (void *cookie, const void *buffer, size_t size)
               if (nwritten == GNUTLS_E_AGAIN)
                 {
                   struct timeval tv;
-                  
+
                   tv.tv_sec = 0;
                   tv.tv_usec = 50000;
                   select (0, NULL, NULL, NULL, &tv);
@@ -2025,8 +2040,7 @@ main (int argc, char **argv)
   http_release_parsed_uri (uri);
   uri = NULL;
 
-  rc = http_open_document (&hd, *argv, NULL, 
-                           HTTP_FLAG_NO_SHUTDOWN | HTTP_FLAG_NEED_HEADER,
+  rc = http_open_document (&hd, *argv, NULL, HTTP_FLAG_NEED_HEADER,
                            NULL, tls_session);
   if (rc)
     {
index 28a5304..0b1dc4d 100644 (file)
@@ -1,6 +1,6 @@
 /* http.h  -  HTTP protocol handler
  * Copyright (C) 1999, 2000, 2001, 2003,
- *               2006 Free Software Foundation, Inc.
+ *               2006, 2012, 2013 Free Software Foundation, Inc.
  *     
  * This file is part of GnuPG.
  *
@@ -62,9 +62,8 @@ http_req_t;
 enum
   { 
     HTTP_FLAG_TRY_PROXY = 1,
-    HTTP_FLAG_NO_SHUTDOWN = 2,
-    HTTP_FLAG_LOG_RESP = 4,
-    HTTP_FLAG_NEED_HEADER = 8
+    HTTP_FLAG_LOG_RESP = 2,
+    HTTP_FLAG_NEED_HEADER = 4
   };
 
 struct http_context_s;
@@ -76,13 +75,20 @@ gpg_error_t http_parse_uri (parsed_uri_t *ret_uri, const char *uri);
 
 void http_release_parsed_uri (parsed_uri_t uri);
 
+struct http_srv
+{
+  const char *srvtag;
+  char *used_server;
+  unsigned short used_port;
+};
+
 gpg_error_t http_open (http_t *r_hd, http_req_t reqtype,
                        const char *url,
                        const char *auth,
                        unsigned int flags,
                        const char *proxy,
                        void *tls_context,
-                      const char *srvtag,
+                      struct http_srv *srv,
                       strlist_t headers);
 
 void http_start_data (http_t hd);
@@ -97,7 +103,7 @@ gpg_error_t http_open_document (http_t *r_hd,
                                 unsigned int flags,
                                 const char *proxy,
                                 void *tls_context,
-                               const char *srvtag,
+                               struct http_srv *srv,
                                strlist_t headers);
 
 #ifdef HTTP_USE_ESTREAM
index 5425ace..7be8af0 100644 (file)
 #endif
 
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 #include <windows.h>
 #endif
-#ifdef HAVE_PTH      
+#ifdef HAVE_PTH
 #include <pth.h>
 #endif
 
@@ -46,7 +49,7 @@ void
 init_common_subsystems (void)
 {
   /* Try to auto set the character set.  */
-  set_native_charset (NULL); 
+  set_native_charset (NULL);
 
 #ifdef HAVE_W32_SYSTEM
   /* For W32 we need to initialize the socket layer.  This is because
index 04b17ff..ae9bfa9 100644 (file)
@@ -30,6 +30,9 @@
 #include <fcntl.h>
 #include <unistd.h>
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #endif
 #ifdef __riscos__
@@ -43,7 +46,7 @@
 
 /*-- Begin configurable part.  --*/
 
-/* The size of the internal buffers. 
+/* The size of the internal buffers.
    NOTE: If you change this value you MUST also adjust the regression
    test "armored_key_8192" in armor.test! */
 #define IOBUF_BUFFER_SIZE  8192
    be aware that there is no fsync support for the stdio backend.  */
 #undef FILE_FILTER_USES_STDIO
 
+/* To avoid a potential DoS with compression packets we better limit
+   the number of filters in a chain.  */
+#define MAX_NESTING_FILTER 64
+
 /*-- End configurable part.  --*/
 
 
    implementation.  What we define here are 3 macros to make the
    appropriate calls:
 
-   my_fileno 
+   my_fileno
      Is expanded to fileno(a) if using a stdion backend and to a if we
      are using the low-level backend.
 
-   my_fopen 
+   my_fopen
      Is defined to fopen for the stdio backend and to direct_open if
      we are using the low-evel backend.
 
-   my_fopen_ro 
+   my_fopen_ro
      Is defined to fopen for the stdio backend and to fd_cache_open if
      we are using the low-evel backend.
 
 typedef struct
 {
   fp_or_fd_t fp;       /* Open file pointer or handle.  */
-  int keep_open; 
+  int keep_open;
   int no_cache;
   int eof_seen;
   int print_only_name; /* Flags indicating that fname is not a real file.  */
@@ -196,7 +203,7 @@ fd_cache_strcmp (const char *a, const char *b)
 #ifdef HAVE_DOSISH_SYSTEM
   for (; *a && *b; a++, b++)
     {
-      if (*a != *b && !((*a == '/' && *b == '\\') 
+      if (*a != *b && !((*a == '/' && *b == '\\')
                         || (*a == '\\' && *b == '/')) )
         break;
     }
@@ -353,7 +360,7 @@ direct_open (const char *fname, const char *mode)
 
 
 /*
- * Instead of closing an FD we keep it open and cache it for later reuse 
+ * Instead of closing an FD we keep it open and cache it for later reuse
  * Note that this caching strategy only works if the process does not chdir.
  */
 static void
@@ -477,13 +484,13 @@ file_filter (void *opaque, int control, iobuf_t chain, byte * buf,
     {
       assert (size);  /* We need a buffer. */
       if (feof (f))
-       { 
+       {
           /* On terminals you could easily read as many EOFs as you
              call fread() or fgetc() repeatly.  Every call will block
              until you press CTRL-D. So we catch this case before we
              call fread() again.  */
-         rc = -1;              
-         *ret_len = 0;         
+         rc = -1;
+         *ret_len = 0;
        }
       else
        {
@@ -891,7 +898,7 @@ block_filter (void *opaque, int control, iobuf_t chain, byte * buffer,
                  /*  log_debug("partial: ctx=%p c=%02x size=%u\n", a, c, a->size); */
                }
              else
-               BUG (); 
+               BUG ();
            }
 
          while (!rc && size && a->size)
@@ -1506,7 +1513,7 @@ iobuf_ioctl (iobuf_t a, int cmd, int intval, void *ptrval)
     {                          /* keep system filepointer/descriptor open */
       if (DBG_IOBUF)
        log_debug ("iobuf-%d.%d: ioctl `%s' keep=%d\n",
-                  a ? a->no : -1, a ? a->subno : -1, 
+                  a ? a->no : -1, a ? a->subno : -1,
                    a && a->desc ? a->desc : "?",
                   intval);
       for (; a; a = a->chain)
@@ -1543,7 +1550,7 @@ iobuf_ioctl (iobuf_t a, int cmd, int intval, void *ptrval)
     {                          /* disallow/allow caching */
       if (DBG_IOBUF)
        log_debug ("iobuf-%d.%d: ioctl `%s' no_cache=%d\n",
-                  a ? a->no : -1, a ? a->subno : -1, 
+                  a ? a->no : -1, a ? a->subno : -1,
                    a && a->desc? a->desc : "?",
                   intval);
       for (; a; a = a->chain)
@@ -1612,6 +1619,13 @@ iobuf_push_filter2 (iobuf_t a,
 
   if (a->use == 2 && (rc = iobuf_flush (a)))
     return rc;
+
+  if (a->subno >= MAX_NESTING_FILTER)
+    {
+      log_error ("i/o filter too deeply nested - corrupted data?\n");
+      return GPG_ERR_BAD_DATA;
+    }
+
   /* make a copy of the current stream, so that
    * A is the new stream and B the original one.
    * The contents of the buffers are transferred to the
@@ -1663,7 +1677,7 @@ iobuf_push_filter2 (iobuf_t a,
 
   if (DBG_IOBUF)
     {
-      log_debug ("iobuf-%d.%d: push `%s'\n", a->no, a->subno, 
+      log_debug ("iobuf-%d.%d: push `%s'\n", a->no, a->subno,
                  a->desc?a->desc:"?");
       print_chain (a);
     }
@@ -2170,24 +2184,24 @@ iobuf_get_filelength (iobuf_t a, int *overflow)
 
   if (overflow)
     *overflow = 0;
-  
-  if ( a->directfp )  
+
+  if ( a->directfp )
     {
       FILE *fp = a->directfp;
-      
+
       if ( !fstat(fileno(fp), &st) )
         return st.st_size;
       log_error("fstat() failed: %s\n", strerror(errno) );
       return 0;
     }
-  
+
   /* Hmmm: file_filter may have already been removed */
   for ( ; a; a = a->chain )
     if ( !a->chain && a->filter == file_filter )
       {
         file_filter_ctx_t *b = a->filter_ov;
         fp_or_fd_t fp = b->fp;
-        
+
 #if defined(HAVE_W32_SYSTEM) && !defined(FILE_FILTER_USES_STDIO)
         ulong size;
         static int (* __stdcall get_file_size_ex) (void *handle,
@@ -2197,7 +2211,7 @@ iobuf_get_filelength (iobuf_t a, int *overflow)
         if (!get_file_size_ex_initialized)
           {
             void *handle;
-            
+
             handle = dlopen ("kernel32.dll", RTLD_LAZY);
             if (handle)
               {
@@ -2207,21 +2221,21 @@ iobuf_get_filelength (iobuf_t a, int *overflow)
               }
             get_file_size_ex_initialized = 1;
           }
-        
+
         if (get_file_size_ex)
           {
             /* This is a newer system with GetFileSizeEx; we use this
                then because it seem that GetFileSize won't return a
                proper error in case a file is larger than 4GB. */
             LARGE_INTEGER exsize;
-            
+
             if (get_file_size_ex (fp, &exsize))
               {
                 if (!exsize.u.HighPart)
                   return exsize.u.LowPart;
                 if (overflow)
                   *overflow = 1;
-                return 0; 
+                return 0;
               }
           }
         else
@@ -2238,14 +2252,14 @@ iobuf_get_filelength (iobuf_t a, int *overflow)
 #endif
         break/*the for loop*/;
       }
-  
+
     return 0;
 }
 
 
 /* Return the file descriptor of the underlying file or -1 if it is
    not available.  */
-int 
+int
 iobuf_get_fd (iobuf_t a)
 {
   if (a->directfp)
@@ -2518,7 +2532,7 @@ translate_file_handle (int fd, int for_write)
 # else
   {
     int x;
-    
+
     (void)for_write;
 
     if (fd == 0)
@@ -2551,13 +2565,13 @@ iobuf_skip_rest (iobuf_t a, unsigned long n, int partial)
     {
       for (;;)
         {
-          if (a->nofast || a->d.start >= a->d.len) 
+          if (a->nofast || a->d.start >= a->d.len)
             {
               if (iobuf_readbyte (a) == -1)
                 {
                   break;
                 }
-           } 
+           }
           else
             {
               unsigned long count = a->d.len - a->d.start;
@@ -2565,11 +2579,11 @@ iobuf_skip_rest (iobuf_t a, unsigned long n, int partial)
               a->d.start = a->d.len;
            }
        }
-    } 
+    }
   else
     {
       unsigned long remaining = n;
-      while (remaining > 0) 
+      while (remaining > 0)
         {
           if (a->nofast || a->d.start >= a->d.len)
             {
@@ -2578,11 +2592,11 @@ iobuf_skip_rest (iobuf_t a, unsigned long n, int partial)
                   break;
                }
               --remaining;
-           } 
-          else 
+           }
+          else
             {
               unsigned long count = a->d.len - a->d.start;
-              if (count > remaining) 
+              if (count > remaining)
                 {
                   count = remaining;
                }
index e2de802..30cb451 100644 (file)
@@ -89,6 +89,37 @@ get_fingerprint (gcry_sexp_t key, void **r_fpr, size_t *r_len,
       elems = "pqgy";
       gcry_md_write (md, "\0\0\0\x07ssh-dss", 11);
       break;
+#if GCRYPT_VERSION_NUMBER >= 0x010600
+    case GCRY_PK_ECC:
+#endif
+    case GCRY_PK_ECDSA:
+      /* We only support the 3 standard curves for now.  It is just a
+         quick hack.  */
+      elems = "q";
+      gcry_md_write (md, "\0\0\0\x13" "ecdsa-sha2-nistp", 20);
+      l2 = gcry_sexp_find_token (list, "curve", 0);
+      if (!l2)
+        elems = "";
+      else
+        {
+          gcry_free (name);
+          name = gcry_sexp_nth_string (l2, 1);
+          gcry_sexp_release (l2);
+          l2 = NULL;
+          if (!name)
+            elems = "";
+          else if (!strcmp (name, "NIST P-256") || !strcmp (name, "nistp256"))
+            gcry_md_write (md, "256\0\0\0\x08nistp256", 15);
+          else if (!strcmp (name, "NIST P-384") || !strcmp (name, "nistp384"))
+            gcry_md_write (md, "384\0\0\0\x08nistp521", 15);
+          else if (!strcmp (name, "NIST P-521") || !strcmp (name, "nistp521"))
+            gcry_md_write (md, "521\0\0\0\x08nistp521", 15);
+          else
+            elems = "";
+        }
+      if (!*elems)
+        err = gpg_err_make (errsource, GPG_ERR_UNKNOWN_CURVE);
+      break;
     default:
       elems = "";
       err = gpg_err_make (errsource, GPG_ERR_PUBKEY_ALGO);
index 8e0c75c..8f93ff5 100644 (file)
@@ -1,6 +1,7 @@
 /* sysutils.c -  system helpers
  * Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004,
  *               2007, 2008  Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
 # include <sys/resource.h>
 #endif
 #ifdef HAVE_W32_SYSTEM
-# define WINVER 0x0500  /* Required for AllowSetForegroundWindow.  */
+# ifndef WINVER
+#  define WINVER 0x0500  /* Required for AllowSetForegroundWindow.  */
+# endif
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #endif
-#ifdef HAVE_PTH      
+#ifdef HAVE_PTH
 # include <pth.h>
 #endif
 #include <fcntl.h>
@@ -144,8 +150,8 @@ get_session_marker( size_t *rlen )
         initialized = 1;
         /* Although this marker is guessable it is not easy to use
          * for a faked control packet because an attacker does not
-         * have enough control about the time the verification does 
-         * take place.  Of course, we can add just more random but 
+         * have enough control about the time the verification does
+         * take place.  Of course, we can add just more random but
          * than we need the random generator even for verification
          * tasks - which does not make sense. */
         a = aa ^ (ulong)getpid();
@@ -260,7 +266,7 @@ gnupg_sleep (unsigned int seconds)
      the process will give up its timeslot.  */
   if (!seconds)
     {
-# ifdef HAVE_W32_SYSTEM    
+# ifdef HAVE_W32_SYSTEM
       Sleep (0);
 # else
       sleep (0);
@@ -269,7 +275,7 @@ gnupg_sleep (unsigned int seconds)
   pth_sleep (seconds);
 #else
   /* Fixme:  make sure that a sleep won't wake up to early.  */
-# ifdef HAVE_W32_SYSTEM    
+# ifdef HAVE_W32_SYSTEM
   Sleep (seconds*1000);
 # else
   sleep (seconds);
@@ -291,7 +297,7 @@ translate_sys2libc_fd (gnupg_fd_t fd, int for_write)
 
   if (fd == GNUPG_INVALID_FD)
     return -1;
-  
+
   /* Note that _open_osfhandle is currently defined to take and return
      a long.  */
   x = _open_osfhandle ((long)fd, for_write ? 1 : 0);
@@ -414,7 +420,7 @@ gnupg_tmpfile (void)
    Must be called before we open any files! */
 void
 gnupg_reopen_std (const char *pgmname)
-{  
+{
 #if defined(HAVE_STAT) && !defined(HAVE_W32_SYSTEM)
   struct stat statbuf;
   int did_stdin = 0;
@@ -429,7 +435,7 @@ gnupg_reopen_std (const char *pgmname)
       else
        did_stdin = 2;
     }
-  
+
   if (fstat (STDOUT_FILENO, &statbuf) == -1 && errno == EBADF)
     {
       if (open ("/dev/null",O_WRONLY) == STDOUT_FILENO)
@@ -478,15 +484,71 @@ gnupg_reopen_std (const char *pgmname)
 
 
 /* Hack required for Windows.  */
-void 
+void
 gnupg_allow_set_foregound_window (pid_t pid)
 {
   if (!pid)
     log_info ("%s called with invalid pid %lu\n",
               "gnupg_allow_set_foregound_window", (unsigned long)pid);
-#ifdef HAVE_W32_SYSTEM  
+#ifdef HAVE_W32_SYSTEM
   else if (!AllowSetForegroundWindow ((pid_t)pid == (pid_t)(-1)?ASFW_ANY:pid))
     log_info ("AllowSetForegroundWindow(%lu) failed: %s\n",
                (unsigned long)pid, w32_strerror (-1));
 #endif
 }
+
+
+#ifdef HAVE_W32_SYSTEM
+/* Return the user's security identifier from the current process.  */
+PSID
+w32_get_user_sid (void)
+{
+  int okay = 0;
+  HANDLE proc = NULL;
+  HANDLE token = NULL;
+  TOKEN_USER *user = NULL;
+  PSID sid = NULL;
+  DWORD tokenlen, sidlen;
+
+  proc = OpenProcess (PROCESS_QUERY_INFORMATION, FALSE, GetCurrentProcessId());
+  if (!proc)
+    goto leave;
+
+  if (!OpenProcessToken (proc, TOKEN_QUERY, &token))
+    goto leave;
+
+  if (!GetTokenInformation (token, TokenUser, NULL, 0, &tokenlen)
+      && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
+    goto leave;
+
+  user = xtrymalloc (tokenlen);
+  if (!user)
+    goto leave;
+
+  if (!GetTokenInformation (token, TokenUser, user, tokenlen, &tokenlen))
+    goto leave;
+  if (!IsValidSid (user->User.Sid))
+    goto leave;
+  sidlen = GetLengthSid (user->User.Sid);
+  sid = xtrymalloc (sidlen);
+  if (!sid)
+    goto leave;
+  if (!CopySid (sidlen, sid, user->User.Sid))
+    goto leave;
+  okay = 1;
+
+ leave:
+  xfree (user);
+  if (token)
+    CloseHandle (token);
+  if (proc)
+    CloseHandle (proc);
+
+  if (!okay)
+    {
+      xfree (sid);
+      sid = NULL;
+    }
+  return sid;
+}
+#endif /*HAVE_W32_SYSTEM*/
index fd4340f..0a05e2b 100644 (file)
@@ -51,8 +51,9 @@ void gnupg_allow_set_foregound_window (pid_t pid);
 
 
 #ifdef HAVE_W32_SYSTEM
+void *w32_get_user_sid (void);
 
-#include "../jnlib/w32help.h"
+# include "../jnlib/w32help.h"
 
 #endif /*HAVE_W32_SYSTEM*/
 
index fc27407..e70a205 100644 (file)
 #include <stdarg.h>
 #include <unistd.h>
 #ifdef HAVE_TCGETATTR
-#include <termios.h>
+# include <termios.h>
 #else
-#ifdef HAVE_TERMIO_H
-/* simulate termios with termio */
-#include <termio.h>
-#define termios termio
-#define tcsetattr ioctl
-#define TCSAFLUSH TCSETAF
-#define tcgetattr(A,B) ioctl(A,TCGETA,B)
-#define HAVE_TCGETATTR
-#endif
+# ifdef HAVE_TERMIO_H
+   /* Simulate termios with termio.  */
+#  include <termio.h>
+#  define termios termio
+#  define tcsetattr ioctl
+#  define TCSAFLUSH TCSETAF
+#  define tcgetattr(A,B) ioctl(A,TCGETA,B)
+#  define HAVE_TCGETATTR
+# endif
 #endif
 #ifdef _WIN32 /* use the odd Win32 functions */
-#include <windows.h>
-#ifdef HAVE_TCGETATTR
-#error mingw32 and termios
-#endif
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>
+# ifdef HAVE_TCGETATTR
+#  error mingw32 and termios
+# endif
 #endif
 #include <errno.h>
 #include <ctype.h>
@@ -179,7 +182,7 @@ init_ttyfp(void)
     if (my_rl_init_stream)
       my_rl_init_stream (ttyfp);
 #endif
-    
+
 
 #ifdef HAVE_TCGETATTR
     atexit( cleanup );
@@ -218,7 +221,7 @@ tty_printf( const char *fmt, ... )
 
     va_start( arg_ptr, fmt ) ;
 #ifdef _WIN32
-    {   
+    {
         char *buf = NULL;
         int n;
        DWORD nwritten;
@@ -226,7 +229,7 @@ tty_printf( const char *fmt, ... )
        n = vasprintf(&buf, fmt, arg_ptr);
        if( !buf )
            log_bug("vasprintf() failed\n");
-        
+
        if( !WriteConsoleA( con.out, buf, n, &nwritten, NULL ) )
            log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
        if( n != nwritten )
@@ -265,7 +268,7 @@ tty_fprintf (FILE *fp, const char *fmt, ... )
 
     va_start( arg_ptr, fmt ) ;
 #ifdef _WIN32
-    {   
+    {
         char *buf = NULL;
         int n;
        DWORD nwritten;
@@ -273,7 +276,7 @@ tty_fprintf (FILE *fp, const char *fmt, ... )
        n = vasprintf(&buf, fmt, arg_ptr);
        if( !buf )
            log_bug("vasprintf() failed\n");
-        
+
        if( !WriteConsoleA( con.out, buf, n, &nwritten, NULL ) )
            log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
        if( n != nwritten )
@@ -531,7 +534,7 @@ tty_get( const char *prompt )
     {
       char *line;
       char *buf;
-      
+
       if (!initialized)
        init_ttyfp();
 
index cad6c8e..48d02e0 100644 (file)
 #include <errno.h>  /* We need errno.  */
 #include <gpg-error.h> /* We need gpg_error_t. */
 
-/* Add error codes available only in newer versions of libgpg-error.  */
-#ifndef GPG_ERR_NOT_ENABLED
-#define GPG_ERR_NOT_ENABLED 179
-#endif
-#ifndef GPG_ERR_MISSING_ISSUER_CERT
-#define GPG_ERR_MISSING_ISSUER_CERT 185
-#endif
 
 /* Hash function used with libksba. */
 #define HASH_FNC ((void (*)(void *, const void*,size_t))gcry_md_write)
 
 
 /* GCC attributes.  */
-#if __GNUC__ >= 4 
+#if __GNUC__ >= 4
 # define GNUPG_GCC_A_SENTINEL(a) __attribute__ ((sentinel(a)))
 #else
-# define GNUPG_GCC_A_SENTINEL(a) 
+# define GNUPG_GCC_A_SENTINEL(a)
 #endif
 
 
@@ -159,14 +152,14 @@ int answer_is_yes_no_quit (const char *s);
 int answer_is_okay_cancel (const char *s, int def_answer);
 
 /*-- xreadline.c --*/
-ssize_t read_line (FILE *fp, 
+ssize_t read_line (FILE *fp,
                    char **addr_of_buffer, size_t *length_of_buffer,
                    size_t *max_length);
 
 
 /*-- b64enc.c and b64dec.c --*/
-struct b64state 
-{ 
+struct b64state
+{
   unsigned int flags;
   int idx;
   int quad_count;
@@ -189,6 +182,8 @@ gpg_error_t b64dec_proc (struct b64state *state, void *buffer, size_t length,
 gpg_error_t b64dec_finish (struct b64state *state);
 
 
+/*-- zb32.c --*/
+char *zb32_encode (const void *data, unsigned int databits);
 
 
 /*-- sexputil.c */
@@ -205,9 +200,9 @@ unsigned char *make_canon_sexp_from_rsa_pk (const void *m, size_t mlen,
                                             size_t *r_len);
 gpg_error_t get_rsa_pk_from_canon_sexp (const unsigned char *keydata,
                                         size_t keydatalen,
-                                        unsigned char const **r_n, 
+                                        unsigned char const **r_n,
                                         size_t *r_nlen,
-                                        unsigned char const **r_e, 
+                                        unsigned char const **r_e,
                                         size_t *r_elen);
 gpg_error_t get_pk_algo_from_canon_sexp (const unsigned char *keydata,
                                          size_t keydatalen,
@@ -246,7 +241,7 @@ const char *dirmngr_socket_name (void);
    gpgconf. */
 #define GNUPG_MODULE_NAME_AGENT        1
 #define GNUPG_MODULE_NAME_PINENTRY     2
-#define GNUPG_MODULE_NAME_SCDAEMON     3 
+#define GNUPG_MODULE_NAME_SCDAEMON     3
 #define GNUPG_MODULE_NAME_DIRMNGR      4
 #define GNUPG_MODULE_NAME_PROTECT_TOOL 5
 #define GNUPG_MODULE_NAME_CHECK_PATTERN 6
@@ -296,7 +291,7 @@ int match_multistr (const char *multistr,const char *match);
 #ifndef HAVE_TTYNAME
 /* Systems without ttyname (W32) will merely return NULL. */
 static inline char *
-ttyname (int fd) 
+ttyname (int fd)
 {
   (void)fd;
   return NULL;
diff --git a/common/w32info-rc.h.in b/common/w32info-rc.h.in
new file mode 100644 (file)
index 0000000..1a427ee
--- /dev/null
@@ -0,0 +1,32 @@
+/* w32info-rc.h.in  - Common defs for VERSIONINFO resources.
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/* This file is processed by configure to create w32info-rc.h . */
+
+#define W32INFO_COMMENTS "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 3 of the License, or (at your option) any later version.\0"
+
+#define W32INFO_COMPANYNAME "g10 Code GmbH\0"
+
+#define W32INFO_VI_FILEVERSION    @BUILD_FILEVERSION@
+#define W32INFO_VI_PRODUCTVERSION @BUILD_FILEVERSION@
+
+#define W32INFO_FILEVERSION "@VERSION@ (@BUILD_REVISION@) \
+built on @BUILD_HOSTNAME@ at @BUILD_TIMESTAMP@\0"
+
+#define W32INFO_PRODUCTNAME    "GNU Privacy Guard (GnuPG)\0"
+#define W32INFO_PRODUCTVERSION "@VERSION@\0"
+
+#define W32INFO_LEGALCOPYRIGHT "Copyright \xa9 \
+2013 Free Software Foundation, Inc.\0"
diff --git a/common/zb32.c b/common/zb32.c
new file mode 100644 (file)
index 0000000..05aa0ea
--- /dev/null
@@ -0,0 +1,120 @@
+/* zb32.c - z-base-32 functions
+ * Copyright (C) 2014  Werner Koch
+ *
+ * This file is part of GnuPG.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
+ *
+ *   - the GNU Lesser General Public License as published by the Free
+ *     Software Foundation; either version 3 of the License, or (at
+ *     your option) any later version.
+ *
+ * or
+ *
+ *   - 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.
+ *
+ * or both in parallel, as here.
+ *
+ * This file 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <assert.h>
+
+#include "util.h"
+
+
+/* Zooko's base32 variant. See RFC-6189 and
+   http://philzimmermann.com/docs/human-oriented-base-32-encoding.txt
+   Caller must xfree the returned string.  Returns NULL and sets ERRNO
+   on error.  To avoid integer overflow DATALEN is limited to 2^16
+   bytes.  Note, that DATABITS is measured in bits!.  */
+char *
+zb32_encode (const void *data, unsigned int databits)
+{
+  static char const zb32asc[32] = {'y','b','n','d','r','f','g','8',
+                                   'e','j','k','m','c','p','q','x',
+                                   'o','t','1','u','w','i','s','z',
+                                   'a','3','4','5','h','7','6','9' };
+  const unsigned char *s;
+  char *output, *d;
+  size_t datalen;
+
+  datalen = (databits + 7) / 8;
+  if (datalen > (1 << 16))
+    {
+      errno = EINVAL;
+      return NULL;
+    }
+
+  d = output = xtrymalloc (8 * (datalen / 5)
+                           + 2 * (datalen % 5)
+                           - ((datalen%5)>2)
+                           + 1);
+  if (!output)
+    return NULL;
+
+  /* I use straightforward code.  The compiler should be able to do a
+     better job on optimization than me and it is easier to read.  */
+  for (s = data; datalen >= 5; s += 5, datalen -= 5)
+    {
+      *d++ = zb32asc[((s[0]      ) >> 3)               ];
+      *d++ = zb32asc[((s[0] &   7) << 2) | (s[1] >> 6) ];
+      *d++ = zb32asc[((s[1] &  63) >> 1)               ];
+      *d++ = zb32asc[((s[1] &   1) << 4) | (s[2] >> 4) ];
+      *d++ = zb32asc[((s[2] &  15) << 1) | (s[3] >> 7) ];
+      *d++ = zb32asc[((s[3] & 127) >> 2)               ];
+      *d++ = zb32asc[((s[3] &   3) << 3) | (s[4] >> 5) ];
+      *d++ = zb32asc[((s[4] &  31)     )               ];
+    }
+
+  switch (datalen)
+    {
+    case 4:
+      *d++ = zb32asc[((s[0]      ) >> 3)               ];
+      *d++ = zb32asc[((s[0] &   7) << 2) | (s[1] >> 6) ];
+      *d++ = zb32asc[((s[1] &  63) >> 1)               ];
+      *d++ = zb32asc[((s[1] &   1) << 4) | (s[2] >> 4) ];
+      *d++ = zb32asc[((s[2] &  15) << 1) | (s[3] >> 7) ];
+      *d++ = zb32asc[((s[3] & 127) >> 2)               ];
+      *d++ = zb32asc[((s[3] &   3) << 3)               ];
+      break;
+    case 3:
+      *d++ = zb32asc[((s[0]      ) >> 3)               ];
+      *d++ = zb32asc[((s[0] &   7) << 2) | (s[1] >> 6) ];
+      *d++ = zb32asc[((s[1] &  63) >> 1)               ];
+      *d++ = zb32asc[((s[1] &   1) << 4) | (s[2] >> 4) ];
+      *d++ = zb32asc[((s[2] &  15) << 1)               ];
+      break;
+    case 2:
+      *d++ = zb32asc[((s[0]      ) >> 3)               ];
+      *d++ = zb32asc[((s[0] &   7) << 2) | (s[1] >> 6) ];
+      *d++ = zb32asc[((s[1] &  63) >> 1)               ];
+      *d++ = zb32asc[((s[1] &   1) << 4)               ];
+      break;
+    case 1:
+      *d++ = zb32asc[((s[0]      ) >> 3)               ];
+      *d++ = zb32asc[((s[0] &   7) << 2)               ];
+      break;
+    default:
+      break;
+    }
+  *d = 0;
+
+  /* Need to strip some bytes if not a multiple of 40.  */
+  output[(databits + 5 - 1) / 5] = 0;
+  return output;
+}
index c10904b..f5ef401 100644 (file)
 /* Define to the number of bits in type 'wint_t'. */
 #undef BITSIZEOF_WINT_T
 
+/* GIT commit id revision used to build this package */
+#undef BUILD_REVISION
+
+/* The time this package was configured for a build */
+#undef BUILD_TIMESTAMP
+
 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c' support on those systems.
    */
 /* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
 
+/* Define to 1 if you have the `inet_ntop' function. */
+#undef HAVE_INET_NTOP
+
 /* Define to 1 if the system has the type `intmax_t'. */
 #undef HAVE_INTMAX_T
 
 /* Defined if libcurl supports TFTP */
 #undef LIBCURL_PROTOCOL_TFTP
 
+/* The version of the libcurl library in packed hex form */
+#undef LIBCURL_VERNUM
+
 /* Defined if the host has little endian byte ordering */
 #undef LITTLE_ENDIAN_HOST
 
    'wint_t'. */
 #undef WINT_T_SUFFIX
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
 /* We don't want the old assuan codes anymore. */
 #define _ASSUAN_ONLY_GPG_ERRORS 1
 
+/* We don't need any of the old gcrypt functions.  */
+#define GCRYPT_NO_DEPRECATED 1
+
 /* We explicitly need to disable PTH's soft mapping as Debian
    currently enables it by default for no reason. */
 #define PTH_SYSCALL_SOFT 0
index 829fc79..c022805 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,13 +1,11 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for gnupg 2.0.19.
+# Generated by GNU Autoconf 2.69 for gnupg 2.0.26.
 #
 # Report bugs to <http://bugs.gnupg.org>.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -136,6 +134,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -214,21 +238,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -331,6 +359,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -452,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -486,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -507,28 +547,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -560,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gnupg'
 PACKAGE_TARNAME='gnupg'
-PACKAGE_VERSION='2.0.19'
-PACKAGE_STRING='gnupg 2.0.19'
+PACKAGE_VERSION='2.0.26'
+PACKAGE_STRING='gnupg 2.0.26'
 PACKAGE_BUGREPORT='http://bugs.gnupg.org'
 PACKAGE_URL=''
 
@@ -607,6 +627,10 @@ ac_header_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
+BUILD_HOSTNAME
+BUILD_TIMESTAMP
+BUILD_FILEVERSION
+BUILD_REVISION
 RUN_GPG_TESTS_FALSE
 RUN_GPG_TESTS_TRUE
 BUILD_GPGTAR_FALSE
@@ -766,6 +790,7 @@ CPP
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -885,6 +910,7 @@ enable_maintainer_mode
 enable_largefile
 with_tar
 enable_standard_socket
+with_libgpg_error_prefix
 with_gpg_error_prefix
 with_libgcrypt_prefix
 with_libassuan_prefix
@@ -1375,8 +1401,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1462,7 +1486,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gnupg 2.0.19 to adapt to many kinds of systems.
+\`configure' configures gnupg 2.0.26 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1532,7 +1556,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gnupg 2.0.19:";;
+     short | recursive ) echo "Configuration of gnupg 2.0.26:";;
    esac
   cat <<\_ACEOF
 
@@ -1593,14 +1617,15 @@ Optional Packages:
   --with-photo-viewer=FIXED_VIEWER  set a fixed photo ID viewer
   --with-capabilities     use linux capabilities default=no
   --with-tar=PATH         look for a tar program in PATH
-  --with-gpg-error-prefix=PFX
+  --with-libgpg-error-prefix=PFX
                           prefix where GPG Error is installed (optional)
+
   --with-libgcrypt-prefix=PFX
                           prefix where LIBGCRYPT is installed (optional)
   --with-libassuan-prefix=PFX
                           prefix where LIBASSUAN is installed (optional)
   --with-ksba-prefix=PFX  prefix where KSBA is installed (optional)
-  --with-pth-prefix=PFX   prefix where GNU Pth is installed (optional)
+  --with-pth-prefix=PFX   prefix where GNU Pth is installed
   --with-adns=DIR         look for the adns library in DIR
   --with-ldap=DIR         look for the LDAP library in DIR
   --with-libcurl=DIR      look for the curl library in DIR
@@ -1693,10 +1718,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gnupg configure 2.0.19
-generated by GNU Autoconf 2.68
+gnupg configure 2.0.26
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1973,7 +1998,7 @@ $as_echo "$ac_try_echo"; } >&5
         test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
         test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
+        test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -2176,7 +2201,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2192,7 +2218,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2218,7 +2245,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2234,7 +2262,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2268,7 +2297,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2340,8 +2370,8 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gnupg $as_me 2.0.19, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+It was created by gnupg $as_me 2.0.26, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2694,12 +2724,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-# Set development_version to yes if the minor number is odd or you
-# feel that the default check for a development version is not
-# sufficient.
-development_version=no
 
-NEED_GPG_ERROR_VERSION=1.7
+NEED_GPG_ERROR_VERSION=1.11
 
 NEED_LIBGCRYPT_API=1
 NEED_LIBGCRYPT_VERSION=1.4.0
@@ -2710,7 +2736,7 @@ NEED_LIBASSUAN_VERSION=2.0.0
 NEED_KSBA_API=1
 NEED_KSBA_VERSION=1.0.7
 
-
+development_version=no
 PACKAGE=$PACKAGE_NAME
 PACKAGE_GT=${PACKAGE_NAME}2
 VERSION=$PACKAGE_VERSION
@@ -2786,7 +2812,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -2955,7 +2981,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2995,7 +3021,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3046,7 +3072,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
         for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
           case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
             'mkdir (GNU coreutils) '* | \
             'mkdir (coreutils) '* | \
@@ -3099,7 +3125,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3215,11 +3241,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
@@ -3372,6 +3398,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -3404,7 +3431,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3444,7 +3471,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3497,7 +3524,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3538,7 +3565,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3596,7 +3623,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3640,7 +3667,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4086,8 +4113,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4185,6 +4211,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -4244,7 +4271,7 @@ else
        break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -4454,7 +4481,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4520,7 +4547,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4727,8 +4754,8 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#        define __EXTENSIONS__ 1
-         $ac_includes_default
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
 int
 main ()
 {
@@ -5475,7 +5502,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5521,7 +5548,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5561,7 +5588,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5614,7 +5641,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5655,7 +5682,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -5713,7 +5740,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5757,7 +5784,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5953,8 +5980,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -6052,6 +6078,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -6111,7 +6138,7 @@ else
        break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -6461,7 +6488,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6501,7 +6528,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6553,7 +6580,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6593,7 +6620,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6646,7 +6673,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6685,7 +6712,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6725,7 +6752,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_WINDRES="windres"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7002,6 +7029,8 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for faqprog.pl" >&5
@@ -7055,7 +7084,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7307,21 +7336,30 @@ $as_echo "$as_me: checking for libraries" >&6;}
 # related projects.
 #
 
+  gpg_error_config_prefix=""
+
+# Check whether --with-libgpg-error-prefix was given.
+if test "${with_libgpg_error_prefix+set}" = set; then :
+  withval=$with_libgpg_error_prefix; gpg_error_config_prefix="$withval"
+fi
+
+
+
 # Check whether --with-gpg-error-prefix was given.
 if test "${with_gpg_error_prefix+set}" = set; then :
   withval=$with_gpg_error_prefix; gpg_error_config_prefix="$withval"
-else
-  gpg_error_config_prefix=""
 fi
 
+
   if test x$gpg_error_config_prefix != x ; then
      if test x${GPG_ERROR_CONFIG+set} != xset ; then
         GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
      fi
   fi
 
-  # Extract the first word of "gpg-error-config", so it can be a program name with args.
-set dummy gpg-error-config; ac_word=$2
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gpg-error-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gpg-error-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 if ${ac_cv_path_GPG_ERROR_CONFIG+:} false; then :
@@ -7338,7 +7376,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GPG_ERROR_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7347,7 +7385,6 @@ done
   done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_GPG_ERROR_CONFIG" && ac_cv_path_GPG_ERROR_CONFIG="no"
   ;;
 esac
 fi
@@ -7361,11 +7398,69 @@ $as_echo "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_path_GPG_ERROR_CONFIG"; then
+  ac_pt_GPG_ERROR_CONFIG=$GPG_ERROR_CONFIG
+  # Extract the first word of "gpg-error-config", so it can be a program name with args.
+set dummy gpg-error-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_GPG_ERROR_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_GPG_ERROR_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_GPG_ERROR_CONFIG="$ac_pt_GPG_ERROR_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_GPG_ERROR_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_GPG_ERROR_CONFIG=$ac_cv_path_ac_pt_GPG_ERROR_CONFIG
+if test -n "$ac_pt_GPG_ERROR_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_GPG_ERROR_CONFIG" >&5
+$as_echo "$ac_pt_GPG_ERROR_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_GPG_ERROR_CONFIG" = x; then
+    GPG_ERROR_CONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    GPG_ERROR_CONFIG=$ac_pt_GPG_ERROR_CONFIG
+  fi
+else
+  GPG_ERROR_CONFIG="$ac_cv_path_GPG_ERROR_CONFIG"
+fi
+
   min_gpg_error_version="$NEED_GPG_ERROR_VERSION"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5
 $as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; }
   ok=no
-  if test "$GPG_ERROR_CONFIG" != "no" ; then
+  if test "$GPG_ERROR_CONFIG" != "no" \
+     && test -f "$GPG_ERROR_CONFIG" ; then
     req_major=`echo $min_gpg_error_version | \
                sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'`
     req_minor=`echo $min_gpg_error_version | \
@@ -7391,6 +7486,27 @@ $as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6;
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5
 $as_echo "yes ($gpg_error_config_version)" >&6; }
     have_gpg_error=yes
+    gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none`
+    if test x"$gpg_error_config_host" != xnone ; then
+      if test x"$gpg_error_config_host" != x"$host" ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+***
+*** The config script $GPG_ERROR_CONFIG was
+*** built for $gpg_error_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-gpg-error-prefix
+*** to specify a matching config script.
+***" >&5
+$as_echo "$as_me: WARNING:
+***
+*** The config script $GPG_ERROR_CONFIG was
+*** built for $gpg_error_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-gpg-error-prefix
+*** to specify a matching config script.
+***" >&2;}
+      fi
+    fi
   else
     GPG_ERROR_CFLAGS=""
     GPG_ERROR_LIBS=""
@@ -7407,6 +7523,7 @@ $as_echo "no" >&6; }
 # Libgcrypt is our generic crypto library
 #
 
+
 # Check whether --with-libgcrypt-prefix was given.
 if test "${with_libgcrypt_prefix+set}" = set; then :
   withval=$with_libgcrypt_prefix; libgcrypt_config_prefix="$withval"
@@ -7420,8 +7537,9 @@ fi
      fi
   fi
 
-  # Extract the first word of "libgcrypt-config", so it can be a program name with args.
-set dummy libgcrypt-config; ac_word=$2
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}libgcrypt-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}libgcrypt-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 if ${ac_cv_path_LIBGCRYPT_CONFIG+:} false; then :
@@ -7438,7 +7556,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_LIBGCRYPT_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7447,7 +7565,6 @@ done
   done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_LIBGCRYPT_CONFIG" && ac_cv_path_LIBGCRYPT_CONFIG="no"
   ;;
 esac
 fi
@@ -7461,6 +7578,63 @@ $as_echo "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_path_LIBGCRYPT_CONFIG"; then
+  ac_pt_LIBGCRYPT_CONFIG=$LIBGCRYPT_CONFIG
+  # Extract the first word of "libgcrypt-config", so it can be a program name with args.
+set dummy libgcrypt-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_LIBGCRYPT_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_LIBGCRYPT_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_LIBGCRYPT_CONFIG="$ac_pt_LIBGCRYPT_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_LIBGCRYPT_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_LIBGCRYPT_CONFIG=$ac_cv_path_ac_pt_LIBGCRYPT_CONFIG
+if test -n "$ac_pt_LIBGCRYPT_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LIBGCRYPT_CONFIG" >&5
+$as_echo "$ac_pt_LIBGCRYPT_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_LIBGCRYPT_CONFIG" = x; then
+    LIBGCRYPT_CONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIBGCRYPT_CONFIG=$ac_pt_LIBGCRYPT_CONFIG
+  fi
+else
+  LIBGCRYPT_CONFIG="$ac_cv_path_LIBGCRYPT_CONFIG"
+fi
+
   tmp="$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION"
   if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
      req_libgcrypt_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
@@ -7533,6 +7707,27 @@ $as_echo "does not match. want=$req_libgcrypt_api got=$tmp" >&6; }
     LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
     LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
     have_libgcrypt=yes
+    libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
+    if test x"$libgcrypt_config_host" != xnone ; then
+      if test x"$libgcrypt_config_host" != x"$host" ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+***
+*** The config script $LIBGCRYPT_CONFIG was
+*** built for $libgcrypt_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libgcrypt-prefix
+*** to specify a matching config script.
+***" >&5
+$as_echo "$as_me: WARNING:
+***
+*** The config script $LIBGCRYPT_CONFIG was
+*** built for $libgcrypt_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libgcrypt-prefix
+*** to specify a matching config script.
+***" >&2;}
+      fi
+    fi
   else
     LIBGCRYPT_CFLAGS=""
     LIBGCRYPT_LIBS=""
@@ -7578,7 +7773,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_LIBASSUAN_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7703,6 +7898,7 @@ fi
 # libksba is our X.509 support library
 #
 
+
 # Check whether --with-ksba-prefix was given.
 if test "${with_ksba_prefix+set}" = set; then :
   withval=$with_ksba_prefix; ksba_config_prefix="$withval"
@@ -7735,7 +7931,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_KSBA_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7830,6 +8026,27 @@ $as_echo "does not match.  want=$req_ksba_api got=$tmp." >&6; }
     KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags`
     KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs`
     have_ksba=yes
+    libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none`
+    if test x"$libksba_config_host" != xnone ; then
+      if test x"$libksba_config_host" != x"$host" ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+***
+*** The config script $LIBKSBA_CONFIG was
+*** built for $libksba_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libksba-prefix
+*** to specify a matching config script.
+***" >&5
+$as_echo "$as_me: WARNING:
+***
+*** The config script $LIBKSBA_CONFIG was
+*** built for $libksba_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libksba-prefix
+*** to specify a matching config script.
+***" >&2;}
+      fi
+    fi
   else
     KSBA_CFLAGS=""
     KSBA_LIBS=""
@@ -8039,7 +8256,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SHRED="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8103,7 +8320,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PTH_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9187,7 +9404,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9213,52 +9430,21 @@ done
 
 
      _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[1]+256*A[2]+A[3]; print X;}'"
+     # More recent versions of curl-config have a direct --vernum
+     # option, but we'd like this code to work with older versions as
+     # well, so just convert --version.
+     _libcurl_vernum_parse="eval $AWK '{printf \"0x%06X\",\$NF}'"
 
      _libcurl_try_link=yes
 
      if test -d "$_libcurl_with" ; then
         LIBCURL_CPPFLAGS="-I$withval/include"
         _libcurl_ldflags="-L$withval/lib"
-        # Extract the first word of ""$withval/bin/curl-config"", so it can be a program name with args.
-set dummy "$withval/bin/curl-config"; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path__libcurl_config+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $_libcurl_config in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path__libcurl_config="$_libcurl_config" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-_libcurl_config=$ac_cv_path__libcurl_config
-if test -n "$_libcurl_config"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_libcurl_config" >&5
-$as_echo "$_libcurl_config" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
+        if test -x "$withval/bin/curl-config" ; then
+          _libcurl_config="$withval/bin/curl-config"
+        else
+          _libcurl_config=
+        fi
      else
        # Extract the first word of "curl-config", so it can be a program name with args.
 set dummy curl-config; ac_word=$2
@@ -9278,7 +9464,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9452,6 +9638,14 @@ $as_echo "#define HAVE_LIBCURL 1" >>confdefs.h
 
 
 
+          _libcurl_vernum=`echo $_libcurl_version | $_libcurl_vernum_parse`
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBCURL_VERNUM $_libcurl_vernum
+_ACEOF
+
+
            for _libcurl_feature in $_libcurl_features ; do
              cat >>confdefs.h <<_ACEOF
 #define `$as_echo "libcurl_feature_$_libcurl_feature" | $as_tr_cpp` 1
@@ -9498,6 +9692,7 @@ _ACEOF
      unset _libcurl_protocol
      unset _libcurl_protocols
      unset _libcurl_version
+     unset _libcurl_vernum
      unset _libcurl_ldflags
   fi
 
@@ -9563,7 +9758,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SENDMAIL="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9635,6 +9830,7 @@ _ACEOF
 #
 # Checking for iconv
 #
+missing_iconv=no
 
       if test "X$prefix" = "XNONE"; then
     acl_final_prefix="$ac_default_prefix"
@@ -10297,14 +10493,16 @@ else
     am_cv_lib_iconv=no
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
   ;
   return 0;
 }
@@ -10319,14 +10517,16 @@ rm -f core conftest.err conftest.$ac_objext \
       LIBS="$LIBS $LIBICONV"
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
   ;
   return 0;
 }
@@ -10350,15 +10550,17 @@ if ${am_cv_func_iconv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-            am_save_LIBS="$LIBS"
+                  am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
       if test "$cross_compiling" = yes; then :
-  case "$host_os" in
+
+         case "$host_os" in
            aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
            *)            am_cv_func_iconv_works="guessing yes" ;;
          esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10367,6 +10569,7 @@ else
 #include <string.h>
 int main ()
 {
+  int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
@@ -10383,7 +10586,47 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static const char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        const char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #if 0 /* This bug could be worked around by the caller.  */
@@ -10402,7 +10645,8 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
-          return 1;
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #endif
@@ -10416,8 +10660,8 @@ int main ()
       && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
       /* Try HP-UX names.  */
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
-  return 0;
+    result |= 16;
+  return result;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -10499,17 +10743,21 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
     am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
-         }$am_cv_proto_iconv" >&5
-$as_echo "${ac_t:-
-         }$am_cv_proto_iconv" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+         $am_cv_proto_iconv" >&5
+$as_echo "
+         $am_cv_proto_iconv" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define ICONV_CONST $am_cv_proto_iconv_arg1
 _ACEOF
 
+
   fi
 
+if test "$am_cv_func_iconv" != yes; then
+   missing_iconv=yes
+fi
 
 
 #
@@ -10628,7 +10876,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11028,14 +11276,16 @@ else
     am_cv_lib_iconv=no
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
   ;
   return 0;
 }
@@ -11050,14 +11300,16 @@ rm -f core conftest.err conftest.$ac_objext \
       LIBS="$LIBS $LIBICONV"
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int
 main ()
 {
 iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
   ;
   return 0;
 }
@@ -11081,15 +11333,17 @@ if ${am_cv_func_iconv_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
-            am_save_LIBS="$LIBS"
+                  am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
       if test "$cross_compiling" = yes; then :
-  case "$host_os" in
+
+         case "$host_os" in
            aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
            *)            am_cv_func_iconv_works="guessing yes" ;;
          esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -11098,6 +11352,7 @@ else
 #include <string.h>
 int main ()
 {
+  int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
@@ -11114,7 +11369,47 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static const char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        const char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #if 0 /* This bug could be worked around by the caller.  */
@@ -11133,7 +11428,8 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
-          return 1;
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #endif
@@ -11147,8 +11443,8 @@ int main ()
       && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
       /* Try HP-UX names.  */
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
-  return 0;
+    result |= 16;
+  return result;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -12108,11 +12404,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -12129,8 +12425,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -12146,10 +12443,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -13330,7 +13627,7 @@ _ACEOF
 fi
 done
 
-for ac_func in unsetenv fcntl ftruncate
+for ac_func in unsetenv fcntl ftruncate inet_ntop
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -13610,23 +13907,20 @@ else
 /* end confdefs.h.  */
 $ac_includes_default
 int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
 }
 
 int
-main ()
+main (int argc, char **argv)
 {
-  return find_stack_direction () < 0;
+  return find_stack_direction (0, argc + !argv + 20) < 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -13718,22 +14012,19 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-  /* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
+  /* For now, do not test the preprocessor; as of 2007 there are too many
+         implementations with broken preprocessors.  Perhaps this can
+         be revisited in 2012.  In the meantime, code should not expect
+         #if to work with literals wider than 32 bits.  */
       /* Test literals.  */
       long long int ll = 9223372036854775807ll;
       long long int nll = -9223372036854775807LL;
       unsigned long long int ull = 18446744073709551615ULL;
       /* Test constant expressions.   */
       typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       int i = 63;
 int
 main ()
@@ -13742,40 +14033,40 @@ main ()
       long long int llmax = 9223372036854775807ll;
       unsigned long long int ullmax = 18446744073709551615ull;
       return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));
+              | (llmax / ll) | (llmax % ll)
+              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+              | (ullmax / ull) | (ullmax % ull));
   ;
   return 0;
 }
 
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-                       if test "$cross_compiling" = yes; then :
+                          if test "$cross_compiling" = yes; then :
   ac_cv_type_long_long_int=yes
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <limits.h>
-              #ifndef LLONG_MAX
-              # define HALF \
-                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-              # define LLONG_MAX (HALF - 1 + HALF)
-              #endif
+               #ifndef LLONG_MAX
+               # define HALF \
+                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+               # define LLONG_MAX (HALF - 1 + HALF)
+               #endif
 int
 main ()
 {
 long long int n = 1;
-              int i;
-              for (i = 0; ; i++)
-                {
-                  long long int m = n << i;
-                  if (m >> i != n)
-                    return 1;
-                  if (LLONG_MAX / 2 < m)
-                    break;
-                }
-              return 0;
+               int i;
+               for (i = 0; ; i++)
+                 {
+                   long long int m = n << i;
+                   if (m >> i != n)
+                     return 1;
+                   if (LLONG_MAX / 2 < m)
+                     break;
+                 }
+               return 0;
   ;
   return 0;
 }
@@ -13899,22 +14190,19 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-  /* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
+  /* For now, do not test the preprocessor; as of 2007 there are too many
+         implementations with broken preprocessors.  Perhaps this can
+         be revisited in 2012.  In the meantime, code should not expect
+         #if to work with literals wider than 32 bits.  */
       /* Test literals.  */
       long long int ll = 9223372036854775807ll;
       long long int nll = -9223372036854775807LL;
       unsigned long long int ull = 18446744073709551615ULL;
       /* Test constant expressions.   */
       typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       int i = 63;
 int
 main ()
@@ -13923,9 +14211,9 @@ main ()
       long long int llmax = 9223372036854775807ll;
       unsigned long long int ullmax = 18446744073709551615ull;
       return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));
+              | (llmax / ll) | (llmax % ll)
+              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+              | (ullmax / ull) | (ullmax % ull));
   ;
   return 0;
 }
@@ -15266,17 +15554,7 @@ $as_echo "#define HAVE_LIBREADLINE 1" >>confdefs.h
   fi
 
 
-#
-# Allow users to append something to the version string without
-# flagging it as development version.  The user version parts is
-# considered everything after a dash.
-#
-if test "$development_version" != yes; then
-    tmp_pat='[a-zA-Z]'
-    if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
-    development_version=yes
-  fi
-fi
+
 if test "$development_version" = yes; then
 
 $as_echo "#define IS_DEVELOPMENT_VERSION 1" >>confdefs.h
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cc features" >&5
 $as_echo "$as_me: checking for cc features" >&6;}
 if test "$GCC" = yes; then
+    # Check whether gcc does not emit a diagnositc for unknow -Wno-*
+    # options.  This is the case for gcc >= 4.6
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc ignores unknown -Wno-* options" >&5
+$as_echo_n "checking if gcc ignores unknown -Wno-* options... " >&6; }
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 )
+#kickerror
+#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  _gcc_silent_wno=yes
+else
+  _gcc_silent_wno=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_silent_wno" >&5
+$as_echo "$_gcc_silent_wno" >&6; }
+
     # Note that it is okay to use CFLAGS here because this are just
     # warning options and the user should have a chance of overriding
     # them.
     if test "$USE_MAINTAINER_MODE" = "yes"; then
         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
         CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-missing-field-initializers" >&5
+        if test x"$_gcc_silent_wno" = xyes ; then
+          _gcc_wopt=yes
+        else
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-missing-field-initializers" >&5
 $as_echo_n "checking if gcc supports -Wno-missing-field-initializers... " >&6; }
-        _gcc_cflags_save=$CFLAGS
-        CFLAGS="-Wno-missing-field-initializers"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+          _gcc_cflags_save=$CFLAGS
+          CFLAGS="-Wno-missing-field-initializers"
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -15359,12 +15667,14 @@ else
   _gcc_wopt=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_wopt" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_wopt" >&5
 $as_echo "$_gcc_wopt" >&6; }
-        CFLAGS=$_gcc_cflags_save;
+          CFLAGS=$_gcc_cflags_save;
+        fi
         if test x"$_gcc_wopt" = xyes ; then
           CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers"
         fi
+
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wdeclaration-after-statement" >&5
 $as_echo_n "checking if gcc supports -Wdeclaration-after-statement... " >&6; }
         _gcc_cflags_save=$CFLAGS
@@ -15396,11 +15706,14 @@ $as_echo "$_gcc_wopt" >&6; }
         CFLAGS="$CFLAGS -Wall"
     fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-pointer-sign" >&5
+    if test x"$_gcc_silent_wno" = xyes ; then
+      _gcc_psign=yes
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-pointer-sign" >&5
 $as_echo_n "checking if gcc supports -Wno-pointer-sign... " >&6; }
-    _gcc_cflags_save=$CFLAGS
-    CFLAGS="-Wno-pointer-sign"
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+      _gcc_cflags_save=$CFLAGS
+      CFLAGS="-Wno-pointer-sign"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -15417,9 +15730,10 @@ else
   _gcc_psign=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_psign" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_psign" >&5
 $as_echo "$_gcc_psign" >&6; }
-    CFLAGS=$_gcc_cflags_save;
+      CFLAGS=$_gcc_cflags_save;
+    fi
     if test x"$_gcc_psign" = xyes ; then
        CFLAGS="$CFLAGS -Wno-pointer-sign"
     fi
@@ -15451,6 +15765,14 @@ $as_echo "$_gcc_psign" >&6; }
     if test x"$_gcc_psign" = xyes ; then
        CFLAGS="$CFLAGS -Wpointer-arith"
     fi
+
+    # The undocumented option -Wno-psabi suppresses the annoying
+    #   "the ABI of passing union with long double has changed in GCC 4.4"
+    # which is emitted in estream-printf.c but entirely irrelvant
+    # because that union is local to the file.
+    if test x"$_gcc_silent_wno" = xyes ; then
+       CFLAGS="$CFLAGS -Wno-psabi"
+    fi
 fi
 
 
@@ -15493,22 +15815,19 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-  /* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
+  /* For now, do not test the preprocessor; as of 2007 there are too many
+         implementations with broken preprocessors.  Perhaps this can
+         be revisited in 2012.  In the meantime, code should not expect
+         #if to work with literals wider than 32 bits.  */
       /* Test literals.  */
       long long int ll = 9223372036854775807ll;
       long long int nll = -9223372036854775807LL;
       unsigned long long int ull = 18446744073709551615ULL;
       /* Test constant expressions.   */
       typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
+                     ? 1 : -1)];
       int i = 63;
 int
 main ()
@@ -15517,40 +15836,40 @@ main ()
       long long int llmax = 9223372036854775807ll;
       unsigned long long int ullmax = 18446744073709551615ull;
       return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));
+              | (llmax / ll) | (llmax % ll)
+              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+              | (ullmax / ull) | (ullmax % ull));
   ;
   return 0;
 }
 
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-                       if test "$cross_compiling" = yes; then :
+                          if test "$cross_compiling" = yes; then :
   ac_cv_type_long_long_int=yes
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <limits.h>
-              #ifndef LLONG_MAX
-              # define HALF \
-                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-              # define LLONG_MAX (HALF - 1 + HALF)
-              #endif
+               #ifndef LLONG_MAX
+               # define HALF \
+                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+               # define LLONG_MAX (HALF - 1 + HALF)
+               #endif
 int
 main ()
 {
 long long int n = 1;
-              int i;
-              for (i = 0; ; i++)
-                {
-                  long long int m = n << i;
-                  if (m >> i != n)
-                    return 1;
-                  if (LLONG_MAX / 2 < m)
-                    break;
-                }
-              return 0;
+               int i;
+               for (i = 0; ; i++)
+                 {
+                   long long int m = n << i;
+                   if (m >> i != n)
+                     return 1;
+                   if (LLONG_MAX / 2 < m)
+                     break;
+                 }
+               return 0;
   ;
   return 0;
 }
@@ -15597,7 +15916,8 @@ main ()
 {
 static int test_array [1 - 2 * !(/* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
              sizeof (double) <= sizeof (long double))];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 
 
 #
+# Provide information about the build.
+#
+BUILD_REVISION="5b2dcdd"
+
+
+cat >>confdefs.h <<_ACEOF
+#define BUILD_REVISION "$BUILD_REVISION"
+_ACEOF
+
+
+BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'`
+BUILD_FILEVERSION="${BUILD_FILEVERSION}23341"
+
+
+BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+
+
+cat >>confdefs.h <<_ACEOF
+#define BUILD_TIMESTAMP "$BUILD_TIMESTAMP"
+_ACEOF
+
+BUILD_HOSTNAME="$ac_hostname"
+
+
+
+#
 # Print errors here so that they are visible all
 # together and the user can acquire them all together.
 #
@@ -15998,6 +16344,19 @@ $as_echo "$as_me:
 ***" >&6;}
    die=yes
 fi
+if test "$missing_iconv" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}:
+***
+*** It is now required to build with support for iconv
+*** Please install a suitable iconv implementation.
+***" >&5
+$as_echo "$as_me:
+***
+*** It is now required to build with support for iconv
+*** Please install a suitable iconv implementation.
+***" >&6;}
+   die=yes
+fi
 
 if test "$die" = "yes"; then
     as_fn_error $? "
@@ -16009,7 +16368,7 @@ fi
 
 
 
-ac_config_files="$ac_config_files m4/Makefile Makefile po/Makefile.in gl/Makefile include/Makefile jnlib/Makefile common/Makefile kbx/Makefile g10/Makefile sm/Makefile agent/Makefile scd/Makefile keyserver/Makefile keyserver/gpg2keys_mailto keyserver/gpg2keys_test tools/gpg-zip tools/Makefile doc/Makefile tests/Makefile tests/openpgp/Makefile tests/pkits/Makefile"
+ac_config_files="$ac_config_files m4/Makefile Makefile po/Makefile.in gl/Makefile include/Makefile jnlib/Makefile common/Makefile common/w32info-rc.h kbx/Makefile g10/Makefile sm/Makefile agent/Makefile scd/Makefile keyserver/Makefile keyserver/gpg2keys_mailto keyserver/gpg2keys_test tools/gpg-zip tools/Makefile doc/Makefile tests/Makefile tests/openpgp/Makefile tests/pkits/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -16542,16 +16901,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -16611,28 +16970,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -16653,8 +17000,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gnupg $as_me 2.0.19, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+This file was extended by gnupg $as_me 2.0.26, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -16719,11 +17066,11 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gnupg config.status 2.0.19
-configured by $0, generated by GNU Autoconf 2.68,
+gnupg config.status 2.0.26
+configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -16814,7 +17161,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -16865,6 +17212,7 @@ do
     "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
     "jnlib/Makefile") CONFIG_FILES="$CONFIG_FILES jnlib/Makefile" ;;
     "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
+    "common/w32info-rc.h") CONFIG_FILES="$CONFIG_FILES common/w32info-rc.h" ;;
     "kbx/Makefile") CONFIG_FILES="$CONFIG_FILES kbx/Makefile" ;;
     "g10/Makefile") CONFIG_FILES="$CONFIG_FILES g10/Makefile" ;;
     "sm/Makefile") CONFIG_FILES="$CONFIG_FILES sm/Makefile" ;;
@@ -17725,6 +18073,7 @@ fi
 echo "
         GnuPG v${VERSION} has been configured as follows:
 
+        Revision:  5b2dcdd  (23341)
         Platform:  $PRINTABLE_OS_NAME ($host)
 
         OpenPGP:   $build_gpg
index 7cc3a83..417cf25 100644 (file)
 AC_PREREQ(2.61)
 min_automake_version="1.10"
 
-# Remember to change the version number immediately *after* a release.
-# Set my_issvn to "yes" for non-released code.  Remember to run an
-# "svn up" and "autogen.sh" right before creating a distribution.
-m4_define([my_version], [2.0.19])
-m4_define([my_issvn], [no])
-
-m4_define([svn_revision], m4_esyscmd([printf "%d" $(svn info 2>/dev/null \
-          | sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)]))
-m4_define([git_revision], m4_esyscmd([git branch -v 2>/dev/null \
-          | awk '/^\* / {printf "%s",$3}']))
-m4_define([my_full_version], [my_version[]m4_if(my_issvn,[yes],
-          [m4_if(git_revision,[],[-svn[]svn_revision],[-git[]git_revision])])])
-
-AC_INIT([gnupg],[my_full_version],[http://bugs.gnupg.org])
-# Set development_version to yes if the minor number is odd or you
-# feel that the default check for a development version is not
-# sufficient.
-development_version=no
-
-NEED_GPG_ERROR_VERSION=1.7
+# To build a release you need to create a tag with the version number
+# (git tag -s gnupg-2.n.m) and run "./autogen.sh --force".  Please
+# bump the version number immediately *after* the release and do
+# another commit and push so that the git magic is able to work.
+m4_define([mym4_version], [2.0.26])
+
+# Below is m4 magic to extract and compute the git revision number,
+# the decimalized short revision number, a beta version string and a
+# flag indicating a development version (mym4_isgit).  Note that the
+# m4 processing is done by autoconf and not during the configure run.
+m4_define([mym4_revision],
+          m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
+m4_define([mym4_revision_dec],
+          m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
+m4_define([mym4_betastring],
+          m4_esyscmd_s([git describe --match 'gnupg-2.[0-9].*[0-9]' --long|\
+                        awk -F- '$3!=0{print"-beta"$3}']))
+m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes]))
+m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
+
+AC_INIT([gnupg],[mym4_full_version], [http://bugs.gnupg.org])
+
+NEED_GPG_ERROR_VERSION=1.11
 
 NEED_LIBGCRYPT_API=1
 NEED_LIBGCRYPT_VERSION=1.4.0
@@ -52,7 +55,7 @@ NEED_LIBASSUAN_VERSION=2.0.0
 NEED_KSBA_API=1
 NEED_KSBA_VERSION=1.0.7
 
-
+development_version=mym4_isgit
 PACKAGE=$PACKAGE_NAME
 PACKAGE_GT=${PACKAGE_NAME}2
 VERSION=$PACKAGE_VERSION
@@ -439,6 +442,9 @@ AH_BOTTOM([
 /* We don't want the old assuan codes anymore. */
 #define _ASSUAN_ONLY_GPG_ERRORS 1
 
+/* We don't need any of the old gcrypt functions.  */
+#define GCRYPT_NO_DEPRECATED 1
+
 /* We explicitly need to disable PTH's soft mapping as Debian
    currently enables it by default for no reason. */
 #define PTH_SYSCALL_SOFT 0
@@ -973,7 +979,11 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
 #
 # Checking for iconv
 #
+missing_iconv=no
 AM_ICONV
+if test "$am_cv_func_iconv" != yes; then
+   missing_iconv=yes
+fi
 
 
 #
@@ -1107,7 +1117,7 @@ AC_FUNC_VPRINTF
 AC_FUNC_FORK
 AC_CHECK_FUNCS([strerror strlwr tcgetattr mmap])
 AC_CHECK_FUNCS([strcasecmp strncasecmp ctermid times gmtime_r])
-AC_CHECK_FUNCS([unsetenv fcntl ftruncate])
+AC_CHECK_FUNCS([unsetenv fcntl ftruncate inet_ntop])
 AC_CHECK_FUNCS([gettimeofday getrusage getrlimit setrlimit clock_gettime])
 AC_CHECK_FUNCS([atexit raise getpagesize strftime nl_langinfo setlocale])
 AC_CHECK_FUNCS([waitpid wait4 sigaction sigprocmask pipe stat getaddrinfo])
@@ -1252,19 +1262,7 @@ AC_SUBST(ZLIBS)
 # Check for readline support
 GNUPG_CHECK_READLINE
 
-#
-# Allow users to append something to the version string without
-# flagging it as development version.  The user version parts is
-# considered everything after a dash.
-#
-if test "$development_version" != yes; then
-  changequote(,)dnl
-  tmp_pat='[a-zA-Z]'
-  changequote([,])dnl
-  if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
-    development_version=yes
-  fi
-fi
+
 if test "$development_version" = yes; then
     AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
             [Defined if this is not a regular release])
@@ -1292,22 +1290,36 @@ AC_SUBST(W32SOCKLIBS)
 #
 AC_MSG_NOTICE([checking for cc features])
 if test "$GCC" = yes; then
+    # Check whether gcc does not emit a diagnositc for unknow -Wno-*
+    # options.  This is the case for gcc >= 4.6
+    AC_MSG_CHECKING([if gcc ignores unknown -Wno-* options])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 )
+#kickerror
+#endif]],[])],[_gcc_silent_wno=yes],[_gcc_silent_wno=no])
+    AC_MSG_RESULT($_gcc_silent_wno)
+
     # Note that it is okay to use CFLAGS here because this are just
     # warning options and the user should have a chance of overriding
     # them.
     if test "$USE_MAINTAINER_MODE" = "yes"; then
         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
         CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security"
-        AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
-        _gcc_cflags_save=$CFLAGS
-        CFLAGS="-Wno-missing-field-initializers"
-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
-                          [_gcc_wopt=yes],[_gcc_wopt=no])
-        AC_MSG_RESULT($_gcc_wopt)
-        CFLAGS=$_gcc_cflags_save;
+        if test x"$_gcc_silent_wno" = xyes ; then
+          _gcc_wopt=yes
+        else
+          AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
+          _gcc_cflags_save=$CFLAGS
+          CFLAGS="-Wno-missing-field-initializers"
+          AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
+                            [_gcc_wopt=yes],[_gcc_wopt=no])
+          AC_MSG_RESULT($_gcc_wopt)
+          CFLAGS=$_gcc_cflags_save;
+        fi
         if test x"$_gcc_wopt" = xyes ; then
           CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers"
         fi
+
         AC_MSG_CHECKING([if gcc supports -Wdeclaration-after-statement])
         _gcc_cflags_save=$CFLAGS
         CFLAGS="-Wdeclaration-after-statement"
@@ -1322,12 +1334,17 @@ if test "$GCC" = yes; then
         CFLAGS="$CFLAGS -Wall"
     fi
 
-    AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
-    _gcc_cflags_save=$CFLAGS
-    CFLAGS="-Wno-pointer-sign"
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[_gcc_psign=yes],[_gcc_psign=no])
-    AC_MSG_RESULT($_gcc_psign)
-    CFLAGS=$_gcc_cflags_save;
+    if test x"$_gcc_silent_wno" = xyes ; then
+      _gcc_psign=yes
+    else
+      AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
+      _gcc_cflags_save=$CFLAGS
+      CFLAGS="-Wno-pointer-sign"
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
+                        [_gcc_psign=yes],[_gcc_psign=no])
+      AC_MSG_RESULT($_gcc_psign)
+      CFLAGS=$_gcc_cflags_save;
+    fi
     if test x"$_gcc_psign" = xyes ; then
        CFLAGS="$CFLAGS -Wno-pointer-sign"
     fi
@@ -1341,6 +1358,14 @@ if test "$GCC" = yes; then
     if test x"$_gcc_psign" = xyes ; then
        CFLAGS="$CFLAGS -Wpointer-arith"
     fi
+
+    # The undocumented option -Wno-psabi suppresses the annoying
+    #   "the ABI of passing union with long double has changed in GCC 4.4"
+    # which is emitted in estream-printf.c but entirely irrelvant
+    # because that union is local to the file.
+    if test x"$_gcc_silent_wno" = xyes ; then
+       CFLAGS="$CFLAGS -Wno-psabi"
+    fi
 fi
 
 
@@ -1424,6 +1449,28 @@ AM_CONDITIONAL(RUN_GPG_TESTS,
 
 
 #
+# Provide information about the build.
+#
+BUILD_REVISION="mym4_revision"
+AC_SUBST(BUILD_REVISION)
+AC_DEFINE_UNQUOTED(BUILD_REVISION, "$BUILD_REVISION",
+                   [GIT commit id revision used to build this package])
+
+changequote(,)dnl
+BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'`
+changequote([,])dnl
+BUILD_FILEVERSION="${BUILD_FILEVERSION}mym4_revision_dec"
+AC_SUBST(BUILD_FILEVERSION)
+
+BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+AC_SUBST(BUILD_TIMESTAMP)
+AC_DEFINE_UNQUOTED(BUILD_TIMESTAMP, "$BUILD_TIMESTAMP",
+                   [The time this package was configured for a build])
+BUILD_HOSTNAME="$ac_hostname"
+AC_SUBST(BUILD_HOSTNAME)
+
+
+#
 # Print errors here so that they are visible all
 # together and the user can acquire them all together.
 #
@@ -1482,6 +1529,14 @@ if test "$missing_pth" = "yes"; then
 ***]])
    die=yes
 fi
+if test "$missing_iconv" = "yes"; then
+    AC_MSG_NOTICE([[
+***
+*** It is now required to build with support for iconv
+*** Please install a suitable iconv implementation.
+***]])
+   die=yes
+fi
 
 if test "$die" = "yes"; then
     AC_MSG_ERROR([[
@@ -1500,6 +1555,7 @@ gl/Makefile
 include/Makefile
 jnlib/Makefile
 common/Makefile
+common/w32info-rc.h
 kbx/Makefile
 g10/Makefile
 sm/Makefile
@@ -1521,6 +1577,7 @@ AC_OUTPUT
 echo "
         GnuPG v${VERSION} has been configured as follows:
 
+        Revision:  mym4_revision  (mym4_revision_dec)
         Platform:  $PRINTABLE_OS_NAME ($host)
 
         OpenPGP:   $build_gpg
index 423eea9..e9d2d6f 100644 (file)
@@ -3,8 +3,8 @@ Format of colon listings
 ========================
 First an example:
 
-$ gpg --fixed-list-mode --with-colons --list-keys \
-   --with-fingerprint --with-fingerprint wk@gnupg.org
+$ gpg --with-colons --list-keys \
+      --with-fingerprint --with-fingerprint wk@gnupg.org
 
 pub:f:1024:17:6C7EE1B8621CC013:899817715:1055898235::m:::scESC:
 fpr:::::::::ECAF7590EB3443B5C7CF3ACB6C7EE1B8621CC013:
@@ -147,6 +147,10 @@ record; gpg2 does this by default and the option is a dummy.
 15. Field   Used in sec/sbb to print the serial number of a token
             (internal protect mode 1002) or a '#' if that key is a
             simple stub (internal protect mode 1001)
+16. Field:  For sig records, this is the used hash algorithm:
+                2 = SHA-1
+                8 = SHA-256
+           (for other id's see include/cipher.h)
 
 All dates are displayed in the format yyyy-mm-dd unless you use the
 option --fixed-list-mode in which case they are displayed as seconds
index e27bc07..e1b83b7 100644 (file)
@@ -2,6 +2,11 @@
                   ================================
                   (Some notes on GNUPG internals.)
 
+      ************************************************************
+      *** Please see the file HACKING in the GIT master branch ***
+      ***            for up-to-date information.               ***
+      ************************************************************
+
 
 * No more ChangeLog files
 
@@ -26,6 +31,7 @@ ChangeLog lines, each with its leading TAB, will not exceed 80 columns.
 
 
 
+
 ===> What follows is probably out of date <===
 
 
index c8d799b..376a8f3 100644 (file)
@@ -34,7 +34,7 @@ EXTRA_DIST = samplekeys.asc ChangeLog-2011 \
              gnupg-card-architecture.pdf \
              FAQ gnupg7.texi \
              opt-homedir.texi see-also-note.texi specify-user-id.texi \
-            gpgv.texi texi.css  yat2m.c
+            gpgv.texi yat2m.c
 
 BUILT_SOURCES = gnupg-card-architecture.eps gnupg-card-architecture.png \
                 gnupg-card-architecture.pdf
@@ -55,7 +55,7 @@ gnupg_TEXINFOS = \
 
 DVIPS = TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" dvips
 
-AM_MAKEINFOFLAGS = -I $(srcdir) --css-include=$(srcdir)/texi.css
+AM_MAKEINFOFLAGS = -I $(srcdir) --css-ref=/share/site.css
 
 YAT2M_OPTIONS = -I $(srcdir) \
         --release "GnuPG @PACKAGE_VERSION@" --source "GNU Privacy Guard"
@@ -93,16 +93,13 @@ yat2m: yat2m.c
 .fig.pdf:
        fig2dev -L pdf `test -f '$<' || echo '$(srcdir)/'`$< $@
 
-# Note that yatm --store has a bug in that the @ifset gpgtwoone still
-# creates a dirmngr-client page from tools.texi.
 yat2m-stamp: $(myman_sources)
-       @rm -f yat2m-stamp.tmp
-       @touch yat2m-stamp.tmp
+       rm -f yat2m-stamp.tmp
+       touch yat2m-stamp.tmp
        for file in $(myman_sources) ; do \
               ./yat2m $(YAT2M_OPTIONS) --store \
                  `test -f '$$file' || echo '$(srcdir)/'`$$file ; done
-       @test -f dirmngr-client.1 && rm dirmngr-client.1
-       @mv -f yat2m-stamp.tmp $@
+       mv -f yat2m-stamp.tmp $@
 
 yat2m-stamp: yat2m
 
@@ -139,12 +136,12 @@ online: gnupg.html gnupg.pdf
        set -e; \
        echo "Uploading current manuals to www.gnupg.org ..."; \
        cp $(srcdir)/gnupg-logo.png gnupg.html/; \
-        user=werner ; dashdevel="" ; \
+        user=werner ; webhost=ftp.gnupg.org; dashdevel="" ; \
         if echo "@PACKAGE_VERSION@" | grep -- "-git" >/dev/null; then \
          dashdevel="-devel" ; \
        else \
-          rsync -v gnupg.pdf $${user}@cvs.gnupg.org:webspace/manuals/ ; \
+          rsync -v gnupg.pdf $${user}@$${webhost}:webspace/manuals/ ; \
         fi ; \
        cd gnupg.html ; \
-        rsync -vr --exclude='.svn' .  \
-         $${user}@cvs.gnupg.org:webspace/manuals/gnupg$${dashdevel}/
+        rsync -vr --exclude='.git' .  \
+         $${user}@$${webhost}:webspace/manuals/gnupg$${dashdevel}/
index cb96a30..b274160 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -99,6 +116,11 @@ TEXI2DVI = texi2dvi
 TEXI2PDF = $(TEXI2DVI) --pdf --batch
 MAKEINFOHTML = $(MAKEINFO) --html
 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \
        "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgdatadir)" \
        "$(DESTDIR)$(docdir)"
@@ -123,6 +145,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 man8dir = $(mandir)/man8
 NROFF = nroff
@@ -145,7 +173,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -340,7 +372,7 @@ EXTRA_DIST = samplekeys.asc ChangeLog-2011 \
              gnupg-card-architecture.pdf \
              FAQ gnupg7.texi \
              opt-homedir.texi see-also-note.texi specify-user-id.texi \
-            gpgv.texi texi.css  yat2m.c
+            gpgv.texi yat2m.c
 
 BUILT_SOURCES = gnupg-card-architecture.eps gnupg-card-architecture.png \
                 gnupg-card-architecture.pdf
@@ -357,7 +389,7 @@ gnupg_TEXINFOS = \
        howtos.texi howto-create-a-server-cert.texi
 
 DVIPS = TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" dvips
-AM_MAKEINFOFLAGS = -I $(srcdir) --css-include=$(srcdir)/texi.css
+AM_MAKEINFOFLAGS = -I $(srcdir) --css-ref=/share/site.css
 YAT2M_OPTIONS = -I $(srcdir) \
         --release "GnuPG @PACKAGE_VERSION@" --source "GNU Privacy Guard"
 
@@ -504,9 +536,7 @@ uninstall-html-am:
 
 uninstall-info-am:
        @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+       @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -578,11 +608,18 @@ maintainer-clean-aminfo:
        done
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -611,16 +648,21 @@ uninstall-man1:
          sed -n '/\.1[a-z]*$$/p'; \
        } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-       test -z "$$files" || { \
-         echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-         cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+       dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 install-man8: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
-       @list=''; test -n "$(man8dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.8[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man8dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.8[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -649,13 +691,14 @@ uninstall-man8:
          sed -n '/\.8[a-z]*$$/p'; \
        } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-       test -z "$$files" || { \
-         echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
-         cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
+       dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
 install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
        @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -669,20 +712,21 @@ uninstall-dist_pkgdataDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files
+       dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 install-nobase_dist_docDATA: $(nobase_dist_doc_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
        @list='$(nobase_dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
+       fi; \
        $(am__nobase_list) | while read dir files; do \
          xfiles=; for file in $$files; do \
            if test -f "$$file"; then xfiles="$$xfiles $$file"; \
            else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
          test -z "$$xfiles" || { \
            test "x$$dir" = x. || { \
-             echo "$(MKDIR_P) '$(DESTDIR)$(docdir)/$$dir'"; \
+             echo " $(MKDIR_P) '$(DESTDIR)$(docdir)/$$dir'"; \
              $(MKDIR_P) "$(DESTDIR)$(docdir)/$$dir"; }; \
            echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(docdir)/$$dir'"; \
            $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(docdir)/$$dir" || exit $$?; }; \
@@ -692,9 +736,7 @@ uninstall-nobase_dist_docDATA:
        @$(NORMAL_UNINSTALL)
        @list='$(nobase_dist_doc_DATA)'; test -n "$(docdir)" || list=; \
        $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(docdir)" && rm -f $$files
+       dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
 tags: TAGS
 TAGS:
 
@@ -767,10 +809,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -812,8 +859,11 @@ install-dvi: install-dvi-am
 
 install-dvi-am: $(DVIS)
        @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
        @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -828,18 +878,22 @@ install-html: install-html-am
 
 install-html-am: $(HTMLS)
        @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
        @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
@@ -851,9 +905,12 @@ install-info: install-info-am
 
 install-info-am: $(INFO_DEPS)
        @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+       fi; \
        for file in $$list; do \
          case $$file in \
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
@@ -871,8 +928,7 @@ install-info-am: $(INFO_DEPS)
          echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+       @if $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -886,8 +942,11 @@ install-pdf: install-pdf-am
 
 install-pdf-am: $(PDFS)
        @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
        @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -899,8 +958,11 @@ install-ps: install-ps-am
 
 install-ps-am: $(PSS)
        @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
        @list='$(PSS)'; test -n "$(psdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -968,16 +1030,13 @@ yat2m: yat2m.c
 .fig.pdf:
        fig2dev -L pdf `test -f '$<' || echo '$(srcdir)/'`$< $@
 
-# Note that yatm --store has a bug in that the @ifset gpgtwoone still
-# creates a dirmngr-client page from tools.texi.
 yat2m-stamp: $(myman_sources)
-       @rm -f yat2m-stamp.tmp
-       @touch yat2m-stamp.tmp
+       rm -f yat2m-stamp.tmp
+       touch yat2m-stamp.tmp
        for file in $(myman_sources) ; do \
               ./yat2m $(YAT2M_OPTIONS) --store \
                  `test -f '$$file' || echo '$(srcdir)/'`$$file ; done
-       @test -f dirmngr-client.1 && rm dirmngr-client.1
-       @mv -f yat2m-stamp.tmp $@
+       mv -f yat2m-stamp.tmp $@
 
 yat2m-stamp: yat2m
 
@@ -1014,15 +1073,15 @@ online: gnupg.html gnupg.pdf
        set -e; \
        echo "Uploading current manuals to www.gnupg.org ..."; \
        cp $(srcdir)/gnupg-logo.png gnupg.html/; \
-        user=werner ; dashdevel="" ; \
+        user=werner ; webhost=ftp.gnupg.org; dashdevel="" ; \
         if echo "@PACKAGE_VERSION@" | grep -- "-git" >/dev/null; then \
          dashdevel="-devel" ; \
        else \
-          rsync -v gnupg.pdf $${user}@cvs.gnupg.org:webspace/manuals/ ; \
+          rsync -v gnupg.pdf $${user}@$${webhost}:webspace/manuals/ ; \
         fi ; \
        cd gnupg.html ; \
-        rsync -vr --exclude='.svn' .  \
-         $${user}@cvs.gnupg.org:webspace/manuals/gnupg$${dashdevel}/
+        rsync -vr --exclude='.git' .  \
+         $${user}@$${webhost}:webspace/manuals/gnupg$${dashdevel}/
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 70f4536..33f65f0 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%Title: /home/wk/w/gnupg-stable/doc/gnupg-card-architecture.fig
+%%Title: /home/wk/s/gnupg/doc/gnupg-card-architecture.fig
 %%Creator: fig2dev Version 3.2 Patchlevel 5d
-%%CreationDate: Tue Mar 27 10:23:53 2012
+%%CreationDate: Tue Aug 12 14:38:36 2014
 %%BoundingBox: 0 0 823 458
 %Magnification: 1.0000
 %%EndComments
index dac8c4c..48f0475 100644 (file)
Binary files a/doc/gnupg-card-architecture.pdf and b/doc/gnupg-card-architecture.pdf differ
index 860bbb9..de94101 100644 (file)
Binary files a/doc/gnupg-card-architecture.png and b/doc/gnupg-card-architecture.png differ
index bc2da62..31b084a 100644 (file)
@@ -1,8 +1,8 @@
-This is /home/wk/w/gnupg-stable/doc/gnupg.info, produced by makeinfo
-version 4.13 from /home/wk/w/gnupg-stable/doc/gnupg.texi.
+This is /home/wk/s/gnupg/doc/gnupg.info, produced by makeinfo version
+4.13 from /home/wk/s/gnupg/doc/gnupg.texi.
 
-This is the `The GNU Privacy Guard Manual' (version 2.0.19,
-March 2012).
+This is the `The GNU Privacy Guard Manual' (version 2.0.26,
+August 2014).
 
    Copyright (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software
 Foundation, Inc.
@@ -22,157 +22,162 @@ END-INFO-DIR-ENTRY
 
 \1f
 Indirect:
-gnupg.info-1: 871
-gnupg.info-2: 299961
+gnupg.info-1: 858
+gnupg.info-2: 294574
 \1f
 Tag Table:
 (Indirect)
-Node: Top\7f871
-Node: Installation\7f2489
-Node: Invoking GPG-AGENT\7f5502
-Node: Agent Commands\7f8324
-Node: Agent Options\7f9734
-Ref: option --options\7f9891
-Ref: option --homedir\7f10160
-Ref: option --log-file\7f14140
-Ref: option --allow-mark-trusted\7f14474
-Ref: option --enable-ssh-support\7f19677
-Node: Agent Configuration\7f21742
-Node: Agent Signals\7f27217
-Node: Agent Examples\7f28523
-Node: Agent Protocol\7f29337
-Node: Agent PKDECRYPT\7f31364
-Node: Agent PKSIGN\7f33073
-Node: Agent GENKEY\7f35179
-Node: Agent IMPORT\7f36439
-Node: Agent EXPORT\7f36881
-Node: Agent ISTRUSTED\7f37096
-Node: Agent GET_PASSPHRASE\7f39474
-Node: Agent GET_CONFIRMATION\7f41855
-Node: Agent HAVEKEY\7f42522
-Node: Agent LEARN\7f43152
-Node: Agent PASSWD\7f43447
-Node: Agent UPDATESTARTUPTTY\7f43751
-Node: Agent GETEVENTCOUNTER\7f44229
-Node: Agent GETINFO\7f45037
-Node: Agent OPTION\7f45744
-Node: Invoking GPG\7f46721
-Node: GPG Commands\7f48087
-Node: General GPG Commands\7f48918
-Node: Operational GPG Commands\7f49549
-Ref: option --export-ownertrust\7f61814
-Node: OpenPGP Key Management\7f63613
-Node: GPG Options\7f75675
-Node: GPG Configuration Options\7f76899
-Node: GPG Key related Options\7f106612
-Node: GPG Input and Output\7f110195
-Node: OpenPGP Options\7f115796
-Node: GPG Esoteric Options\7f123517
-Ref: GPG Esoteric Options-Footnote-1\7f145993
-Node: GPG Configuration\7f146147
-Node: GPG Examples\7f149430
-Node: Unattended Usage of GPG\7f153764
-Node: Unattended GPG key generation\7f154203
-Node: Invoking GPGSM\7f163335
-Node: GPGSM Commands\7f164204
-Node: General GPGSM Commands\7f164642
-Node: Operational GPGSM Commands\7f165330
-Node: Certificate Management\7f167363
-Node: GPGSM Options\7f171728
-Node: Configuration Options\7f172302
-Node: Certificate Options\7f174587
-Node: Input and Output\7f178480
-Ref: option --p12-charset\7f179062
-Node: CMS Options\7f181309
-Node: Esoteric Options\7f182331
-Node: GPGSM Configuration\7f186703
-Node: GPGSM Examples\7f192398
-Node: Unattended Usage\7f192595
-Node: Automated signature checking\7f193186
-Node: CSR and certificate creation\7f194985
-Node: GPGSM Protocol\7f200045
-Node: GPGSM ENCRYPT\7f201210
-Node: GPGSM DECRYPT\7f203878
-Node: GPGSM SIGN\7f204711
-Node: GPGSM VERIFY\7f206159
-Node: GPGSM GENKEY\7f206674
-Node: GPGSM LISTKEYS\7f207688
-Node: GPGSM EXPORT\7f208613
-Node: GPGSM IMPORT\7f209570
-Node: GPGSM DELETE\7f210310
-Node: GPGSM GETINFO\7f210813
-Node: Invoking SCDAEMON\7f211463
-Node: Scdaemon Commands\7f212137
-Node: Scdaemon Options\7f213258
-Node: Card applications\7f220966
-Node: OpenPGP Card\7f221575
-Node: NKS Card\7f222051
-Node: DINSIG Card\7f222377
-Node: PKCS#15 Card\7f222753
-Node: Geldkarte Card\7f223023
-Node: Undefined Card\7f223415
-Node: Scdaemon Configuration\7f223829
-Node: Scdaemon Examples\7f224866
-Node: Scdaemon Protocol\7f225049
-Node: Scdaemon SERIALNO\7f226545
-Node: Scdaemon LEARN\7f227474
-Node: Scdaemon READCERT\7f228330
-Node: Scdaemon READKEY\7f228731
-Node: Scdaemon PKSIGN\7f229017
-Node: Scdaemon PKDECRYPT\7f229743
-Node: Scdaemon GETATTR\7f230255
-Node: Scdaemon SETATTR\7f230459
-Node: Scdaemon WRITEKEY\7f230666
-Node: Scdaemon GENKEY\7f231370
-Node: Scdaemon RANDOM\7f231575
-Node: Scdaemon PASSWD\7f231798
-Node: Scdaemon CHECKPIN\7f232191
-Node: Scdaemon RESTART\7f233196
-Node: Scdaemon APDU\7f233731
-Node: Specify a User ID\7f234707
-Ref: how-to-specify-a-user-id\7f234865
-Node: Helper Tools\7f239496
-Node: watchgnupg\7f240335
-Ref: option watchgnupg --tcp\7f241063
-Node: gpgv\7f242394
-Node: addgnupghome\7f245561
-Node: gpgconf\7f246259
-Ref: gpgconf-Footnote-1\7f248395
-Node: Invoking gpgconf\7f248693
-Node: Format conventions\7f251569
-Node: Listing components\7f256895
-Node: Checking programs\7f258986
-Node: Listing options\7f261735
-Node: Changing options\7f269225
-Node: Listing global options\7f270926
-Node: Files used by gpgconf\7f272696
-Node: applygnupgdefaults\7f273046
-Node: gpgsm-gencert.sh\7f273786
-Node: gpg-preset-passphrase\7f274154
-Node: Invoking gpg-preset-passphrase\7f275032
-Node: gpg-connect-agent\7f276302
-Node: Invoking gpg-connect-agent\7f277015
-Node: Controlling gpg-connect-agent\7f279148
-Node: gpgparsemail\7f285604
-Node: symcryptrun\7f285925
-Node: Invoking symcryptrun\7f286824
-Node: gpg-zip\7f288612
-Node: Howtos\7f290438
-Node: Howto Create a Server Cert\7f290705
-Node: System Notes\7f299961
-Node: W32 Notes\7f302433
-Node: Debugging\7f302854
-Node: Debugging Tools\7f303683
-Node: kbxutil\7f303963
-Ref: kbxutil-Footnote-1\7f305532
-Node: Debugging Hints\7f305628
-Node: Common Problems\7f306230
-Node: Architecture Details\7f311438
-Node: GnuPG-1 and GnuPG-2\7f311689
-Node: Copying\7f312013
-Node: Contributors\7f349637
-Node: Glossary\7f355870
-Node: Option Index\7f358396
-Node: Index\7f417494
+Node: Top\7f858
+Node: Installation\7f2477
+Node: Invoking GPG-AGENT\7f5490
+Node: Agent Commands\7f8312
+Node: Agent Options\7f9722
+Ref: option --options\7f9879
+Ref: option --homedir\7f10148
+Ref: option --log-file\7f14128
+Ref: option --allow-mark-trusted\7f14462
+Ref: option --enable-ssh-support\7f19766
+Node: Agent Configuration\7f21831
+Node: Agent Signals\7f27306
+Node: Agent Examples\7f28645
+Node: Agent Protocol\7f29459
+Node: Agent PKDECRYPT\7f31540
+Node: Agent PKSIGN\7f33454
+Node: Agent GENKEY\7f35560
+Node: Agent IMPORT\7f36820
+Node: Agent EXPORT\7f37262
+Node: Agent ISTRUSTED\7f37477
+Node: Agent GET_PASSPHRASE\7f39855
+Node: Agent CLEAR_PASSPHRASE\7f42236
+Node: Agent GET_CONFIRMATION\7f42520
+Node: Agent HAVEKEY\7f43189
+Node: Agent LEARN\7f43821
+Node: Agent PASSWD\7f44116
+Node: Agent UPDATESTARTUPTTY\7f44420
+Node: Agent GETEVENTCOUNTER\7f44898
+Node: Agent GETINFO\7f45706
+Node: Agent OPTION\7f46413
+Node: Invoking GPG\7f47390
+Node: GPG Commands\7f48756
+Node: General GPG Commands\7f49587
+Node: Operational GPG Commands\7f50218
+Ref: option --export-ownertrust\7f63525
+Node: OpenPGP Key Management\7f65324
+Node: GPG Options\7f77386
+Node: GPG Configuration Options\7f78714
+Ref: gpg-option --options\7f89176
+Node: GPG Key related Options\7f109000
+Node: GPG Input and Output\7f112583
+Node: OpenPGP Options\7f118184
+Node: Compliance Options\7f122936
+Node: GPG Esoteric Options\7f126048
+Ref: GPG Esoteric Options-Footnote-1\7f147673
+Node: Deprecated Options\7f147827
+Node: GPG Configuration\7f149293
+Node: GPG Examples\7f152578
+Node: Unattended Usage of GPG\7f156912
+Node: Unattended GPG key generation\7f157351
+Node: Invoking GPGSM\7f166667
+Node: GPGSM Commands\7f167536
+Node: General GPGSM Commands\7f167974
+Node: Operational GPGSM Commands\7f168662
+Node: Certificate Management\7f170695
+Node: GPGSM Options\7f175053
+Node: Configuration Options\7f175627
+Ref: gpgsm-option --options\7f175896
+Node: Certificate Options\7f177912
+Node: Input and Output\7f181805
+Ref: option --p12-charset\7f182387
+Node: CMS Options\7f184634
+Node: Esoteric Options\7f185656
+Node: GPGSM Configuration\7f190028
+Node: GPGSM Examples\7f195729
+Node: Unattended Usage\7f195926
+Node: Automated signature checking\7f196517
+Node: CSR and certificate creation\7f198357
+Node: GPGSM Protocol\7f203458
+Node: GPGSM ENCRYPT\7f204623
+Node: GPGSM DECRYPT\7f207291
+Node: GPGSM SIGN\7f208124
+Node: GPGSM VERIFY\7f209572
+Node: GPGSM GENKEY\7f210087
+Node: GPGSM LISTKEYS\7f211101
+Node: GPGSM EXPORT\7f212026
+Node: GPGSM IMPORT\7f212983
+Node: GPGSM DELETE\7f213723
+Node: GPGSM GETINFO\7f214226
+Node: Invoking SCDAEMON\7f214876
+Node: Scdaemon Commands\7f215550
+Node: Scdaemon Options\7f216671
+Node: Card applications\7f224773
+Node: OpenPGP Card\7f225382
+Node: NKS Card\7f225858
+Node: DINSIG Card\7f226184
+Node: PKCS#15 Card\7f226560
+Node: Geldkarte Card\7f226830
+Node: Undefined Card\7f227222
+Node: Scdaemon Configuration\7f227636
+Node: Scdaemon Examples\7f228673
+Node: Scdaemon Protocol\7f228856
+Node: Scdaemon SERIALNO\7f230352
+Node: Scdaemon LEARN\7f231281
+Node: Scdaemon READCERT\7f232137
+Node: Scdaemon READKEY\7f232538
+Node: Scdaemon PKSIGN\7f232824
+Node: Scdaemon PKDECRYPT\7f233550
+Node: Scdaemon GETATTR\7f234299
+Node: Scdaemon SETATTR\7f234503
+Node: Scdaemon WRITEKEY\7f234710
+Node: Scdaemon GENKEY\7f235414
+Node: Scdaemon RANDOM\7f235619
+Node: Scdaemon PASSWD\7f235842
+Node: Scdaemon CHECKPIN\7f236235
+Node: Scdaemon RESTART\7f237240
+Node: Scdaemon APDU\7f237775
+Node: Specify a User ID\7f238751
+Ref: how-to-specify-a-user-id\7f238909
+Node: Helper Tools\7f243540
+Node: watchgnupg\7f244379
+Ref: option watchgnupg --tcp\7f245107
+Node: gpgv\7f246438
+Node: addgnupghome\7f249605
+Node: gpgconf\7f250303
+Ref: gpgconf-Footnote-1\7f252439
+Node: Invoking gpgconf\7f252737
+Node: Format conventions\7f255356
+Node: Listing components\7f260682
+Node: Checking programs\7f262773
+Node: Listing options\7f265522
+Node: Changing options\7f273012
+Node: Listing global options\7f274713
+Node: Files used by gpgconf\7f276483
+Node: applygnupgdefaults\7f276833
+Node: gpgsm-gencert.sh\7f277573
+Node: gpg-preset-passphrase\7f277941
+Node: Invoking gpg-preset-passphrase\7f278901
+Node: gpg-connect-agent\7f280171
+Node: Invoking gpg-connect-agent\7f280884
+Node: Controlling gpg-connect-agent\7f283017
+Node: gpgparsemail\7f289473
+Node: symcryptrun\7f289794
+Node: Invoking symcryptrun\7f290693
+Node: gpg-zip\7f292481
+Node: Howtos\7f294307
+Node: Howto Create a Server Cert\7f294574
+Node: System Notes\7f303830
+Node: W32 Notes\7f306302
+Node: Debugging\7f306723
+Node: Debugging Tools\7f307552
+Node: kbxutil\7f307832
+Ref: kbxutil-Footnote-1\7f309401
+Node: Debugging Hints\7f309497
+Node: Common Problems\7f310099
+Node: Architecture Details\7f315307
+Node: GnuPG-1 and GnuPG-2\7f315558
+Node: Copying\7f315882
+Node: Contributors\7f353418
+Node: Glossary\7f359651
+Node: Option Index\7f362177
+Node: Index\7f421375
 \1f
 End Tag Table
index 4ae6e74..02a6881 100644 (file)
@@ -1,8 +1,8 @@
-This is /home/wk/w/gnupg-stable/doc/gnupg.info, produced by makeinfo
-version 4.13 from /home/wk/w/gnupg-stable/doc/gnupg.texi.
+This is /home/wk/s/gnupg/doc/gnupg.info, produced by makeinfo version
+4.13 from /home/wk/s/gnupg/doc/gnupg.texi.
 
-This is the `The GNU Privacy Guard Manual' (version 2.0.19,
-March 2012).
+This is the `The GNU Privacy Guard Manual' (version 2.0.26,
+August 2014).
 
    Copyright (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software
 Foundation, Inc.
@@ -26,8 +26,8 @@ File: gnupg.info,  Node: Top,  Next: Installation,  Up: (dir)
 Using the GNU Privacy Guard
 ***************************
 
-This is the `The GNU Privacy Guard Manual' (version 2.0.19,
-March 2012).
+This is the `The GNU Privacy Guard Manual' (version 2.0.26,
+August 2014).
 
    Copyright (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software
 Foundation, Inc.
@@ -418,12 +418,14 @@ File: gnupg.info,  Node: Agent Options,  Next: Agent Configuration,  Prev: Agent
 `--max-cache-ttl N'
      Set the maximum time a cache entry is valid to N seconds.  After
      this time a cache entry will be expired even if it has been
-     accessed recently.  The default is 2 hours (7200 seconds).
+     accessed recently or has been set using `gpg-preset-passphrase'.
+     The default is 2 hours (7200 seconds).
 
 `--max-cache-ttl-ssh N'
      Set the maximum time a cache entry used for SSH keys is valid to N
      seconds.  After this time a cache entry will be expired even if it
-     has been accessed recently.  The default is 2 hours (7200 seconds).
+     has been accessed recently or has been set using
+     `gpg-preset-passphrase'.  The default is 2 hours (7200 seconds).
 
 `--enforce-passphrase-constraints'
      Enforce the passphrase constraints by not allowing the user to
@@ -699,10 +701,11 @@ A running `gpg-agent' may be controlled by signals, i.e. using the
      read again.  Only certain options are honored: `quiet', `verbose',
      `debug', `debug-all', `debug-level', `no-grab',
      `pinentry-program', `default-cache-ttl', `max-cache-ttl',
-     `ignore-cache-for-signing', `allow-mark-trusted' and
-     `disable-scdaemon'.  `scdaemon-program' is also supported but due
-     to the current implementation, which calls the scdaemon only once,
-     it is not of much use unless you manually kill the scdaemon.
+     `ignore-cache-for-signing', `allow-mark-trusted',
+     `disable-scdaemon', and `disable-check-own-socket'.
+     `scdaemon-program' is also supported but due to the current
+     implementation, which calls the scdaemon only once, it is not of
+     much use unless you manually kill the scdaemon.
 
 `SIGTERM'
      Shuts down the process but waits until all current requests are
@@ -783,6 +786,7 @@ secret keys.
 * Agent EXPORT::          Exporting a Secret Key
 * Agent ISTRUSTED::       Importing a Root Certificate
 * Agent GET_PASSPHRASE::  Ask for a passphrase
+* Agent CLEAR_PASSPHRASE:: Expire a cached passphrase
 * Agent GET_CONFIRMATION:: Ask for confirmation
 * Agent HAVEKEY::         Check whether a key is available
 * Agent LEARN::           Register a smartcard
@@ -845,9 +849,14 @@ means of "D" lines.
         C: D    (b 3F444677CA)))
         C: END
         S: # session key follows
+        S: S PADDING 0
         S: D (value 1234567890ABCDEF0)
         S: OK descryption successful
 
+   The “PADDING” status line is only send if gpg-agent can tell
+what kind of padding is used.  As of now only the value 0 is used to
+indicate that the padding has been removed.
+
 \1f
 File: gnupg.info,  Node: Agent PKSIGN,  Next: Agent GENKEY,  Prev: Agent PKDECRYPT,  Up: Agent Protocol
 
@@ -1066,7 +1075,7 @@ table:
      Replaced by a single `@'
 
 \1f
-File: gnupg.info,  Node: Agent GET_PASSPHRASE,  Next: Agent GET_CONFIRMATION,  Prev: Agent ISTRUSTED,  Up: Agent Protocol
+File: gnupg.info,  Node: Agent GET_PASSPHRASE,  Next: Agent CLEAR_PASSPHRASE,  Prev: Agent ISTRUSTED,  Up: Agent Protocol
 
 2.6.7 Ask for a passphrase
 --------------------------
@@ -1119,9 +1128,19 @@ quality is shown.
 function returns with OK even when there is no cached passphrase.
 
 \1f
-File: gnupg.info,  Node: Agent GET_CONFIRMATION,  Next: Agent HAVEKEY,  Prev: Agent GET_PASSPHRASE,  Up: Agent Protocol
+File: gnupg.info,  Node: Agent CLEAR_PASSPHRASE,  Next: Agent GET_CONFIRMATION,  Prev: Agent GET_PASSPHRASE,  Up: Agent Protocol
+
+2.6.8 Remove a cached passphrase
+--------------------------------
+
+Use this command to remove a cached passphrase.
+
+       CLEAR_PASSPHRASE <cache_id>
+
+\1f
+File: gnupg.info,  Node: Agent GET_CONFIRMATION,  Next: Agent HAVEKEY,  Prev: Agent CLEAR_PASSPHRASE,  Up: Agent Protocol
 
-2.6.8 Ask for confirmation
+2.6.9 Ask for confirmation
 --------------------------
 
 This command may be used to ask for a simple confirmation by presenting
@@ -1140,8 +1159,8 @@ command.
 \1f
 File: gnupg.info,  Node: Agent HAVEKEY,  Next: Agent LEARN,  Prev: Agent GET_CONFIRMATION,  Up: Agent Protocol
 
-2.6.9 Check whether a key is available
---------------------------------------
+2.6.10 Check whether a key is available
+---------------------------------------
 
 This can be used to see whether a secret key is available.  It does not
 return any information on whether the key is somehow protected.
@@ -1156,7 +1175,7 @@ least one of the keygrips corresponds to an available secret key.
 \1f
 File: gnupg.info,  Node: Agent LEARN,  Next: Agent PASSWD,  Prev: Agent HAVEKEY,  Up: Agent Protocol
 
-2.6.10 Register a smartcard
+2.6.11 Register a smartcard
 ---------------------------
 
        LEARN [--send]
@@ -1167,7 +1186,7 @@ given the certificates are send back.
 \1f
 File: gnupg.info,  Node: Agent PASSWD,  Next: Agent UPDATESTARTUPTTY,  Prev: Agent LEARN,  Up: Agent Protocol
 
-2.6.11 Change a Passphrase
+2.6.12 Change a Passphrase
 --------------------------
 
        PASSWD KEYGRIP
@@ -1178,7 +1197,7 @@ key identified by the hex string KEYGRIP.
 \1f
 File: gnupg.info,  Node: Agent UPDATESTARTUPTTY,  Next: Agent GETEVENTCOUNTER,  Prev: Agent PASSWD,  Up: Agent Protocol
 
-2.6.12 Change the standard display
+2.6.13 Change the standard display
 ----------------------------------
 
        UPDATESTARTUPTTY
@@ -1191,7 +1210,7 @@ ssh-agent protocol to convey this information.
 \1f
 File: gnupg.info,  Node: Agent GETEVENTCOUNTER,  Next: Agent GETINFO,  Prev: Agent UPDATESTARTUPTTY,  Up: Agent Protocol
 
-2.6.13 Get the Event Counters
+2.6.14 Get the Event Counters
 -----------------------------
 
        GETEVENTCOUNTER
@@ -1216,7 +1235,7 @@ detect a change.
 \1f
 File: gnupg.info,  Node: Agent GETINFO,  Next: Agent OPTION,  Prev: Agent GETEVENTCOUNTER,  Up: Agent Protocol
 
-2.6.14 Return information about the process
+2.6.15 Return information about the process
 -------------------------------------------
 
 This is a multipurpose function to return a variety of information.
@@ -1241,7 +1260,7 @@ This is a multipurpose function to return a variety of information.
 \1f
 File: gnupg.info,  Node: Agent OPTION,  Prev: Agent GETINFO,  Up: Agent Protocol
 
-2.6.15 Set options for the session
+2.6.16 Set options for the session
 ----------------------------------
 
 Here is a list of session options which are not yet described with
@@ -1429,6 +1448,14 @@ File: gnupg.info,  Node: Operational GPG Commands,  Next: OpenPGP Key Management
      a detached signature cannot read the signed material from STDIN
      without denoting it in the above way.
 
+     Note: When verifying a cleartext signature, `gpg' verifies only
+     what makes up the cleartext signed data and not any extra data
+     outside of the cleartext signature or header lines following
+     directly the dash marker line.  The option `--output' may be used
+     to write out the actual signed data; but there are other pitfalls
+     with this format as well.  It is suggested to avoid cleartext
+     signatures in favor of detached signatures.
+
 `--multifile'
      This modifies certain other commands to accept multiple files for
      processing on the command line or read from STDIN with each
@@ -1533,8 +1560,8 @@ File: gnupg.info,  Node: Operational GPG Commands,  Next: OpenPGP Key Management
      safeguard against accidental deletion of multiple keys.
 
 `--delete-secret-key `name''
-     Remove key from the secret and public keyring. In batch mode the
-     key must be specified by fingerprint.
+     Remove key from the secret keyring. In batch mode the key must be
+     specified by fingerprint.
 
 `--delete-secret-and-public-key `name''
      Same as `--delete-key', but if a secret key exists, it will be
@@ -1544,9 +1571,9 @@ File: gnupg.info,  Node: Operational GPG Commands,  Next: OpenPGP Key Management
 `--export'
      Either export all keys from all keyrings (default keyrings and
      those registered via option `--keyring'), or if at least one name
-     is given, those of the given name. The new keyring is written to
-     STDOUT or to the file given with option `--output'. Use together
-     with `--armor' to mail those keys.
+     is given, those of the given name. The exported keys are written
+     to STDOUT or to the file given with option `--output'.  Use
+     together with `--armor' to mail those keys.
 
 `--send-keys `key IDs''
      Similar to `--export' but sends the keys to a keyserver.
@@ -1558,13 +1585,25 @@ File: gnupg.info,  Node: Operational GPG Commands,  Next: OpenPGP Key Management
 
 `--export-secret-keys'
 `--export-secret-subkeys'
-     Same as `--export', but exports the secret keys instead.  This is
-     normally not very useful and a security risk.  The second form of
-     the command has the special property to render the secret part of
-     the primary key useless; this is a GNU extension to OpenPGP and
-     other implementations can not be expected to successfully import
-     such a key.  See the option `--simple-sk-checksum' if you want to
-     import such an exported key with an older OpenPGP implementation.
+     Same as `--export', but exports the secret keys instead.  The
+     exported keys are written to STDOUT or to the file given with
+     option `--output'.  This command is often used along with the
+     option `--armor' to allow easy printing of the key for paper
+     backup; however the external tool `paperkey' does a better job for
+     creating backups on paper.  Note that exporting a secret key can
+     be a security risk if the exported keys are send over an insecure
+     channel.
+
+     The second form of the command has the special property to render
+     the secret part of the primary key useless; this is a GNU
+     extension to OpenPGP and other implementations can not be expected
+     to successfully import such a key.  Its intended use is to
+     generated a full key with an additional signing subkey on a
+     dedicated machine and then using this command to export the key
+     without the primary key to the main machine.
+
+     See the option `--simple-sk-checksum' if you want to import an
+     exported secret key into ancient OpenPGP implementations.
 
 `--import'
 `--fast-import'
@@ -1988,7 +2027,9 @@ to change the default configuration.
 * GPG Key related Options::     Key related options.
 * GPG Input and Output::        Input and Output.
 * OpenPGP Options::             OpenPGP protocol specific options.
+* Compliance Options::          Compliance options.
 * GPG Esoteric Options::        Doing things one usually don't want to do.
+* Deprecated Options::          Deprecated options.
 
    Long options can be put in an options file (default
 "~/.gnupg/gpg.conf"). Short option names will not work - for example,
@@ -2184,9 +2225,10 @@ in the option file.
      image type (e.g. "jpg"), "%T" for the MIME type of the image (e.g.
      "image/jpeg"), "%v" for the single-character calculated validity
      of the image being viewed (e.g. "f"), "%V" for the calculated
-     validity as a string (e.g.  "full"), and "%%" for an actual
-     percent sign. If neither %i or %I are present, then the photo will
-     be supplied to the viewer on standard input.
+     validity as a string (e.g.  "full"), "%U" for a base32 encoded
+     hash of the user ID, and "%%" for an actual percent sign. If
+     neither %i or %I are present, then the photo will be supplied to
+     the viewer on standard input.
 
      The default viewer is "xloadimage -fork -quiet -title 'KeyID 0x%k'
      STDIN". Note that if your image viewer program is not secure, then
@@ -2376,7 +2418,8 @@ in the option file.
           some   external validation scheme. This option also
           suppresses the   "[uncertain]" tag printed with signature
           checks when there is no   evidence that the user ID is bound
-          to the key.
+          to the key.  Note that this   trust model still does not
+          allow the use of expired, revoked, or   disabled keys.
 
     auto
           Select the trust model depending on whatever the internal
@@ -2423,6 +2466,10 @@ in the option file.
           are tried.  The   position of this mechanism in the list does
           not matter.  It is not   required if `local' is also used.
 
+    clear
+          Clear all defined mechanisms.  This is useful to override
+          mechanisms given in a config file.
+
 
 `--keyid-format `short|0xshort|long|0xlong''
      Select how to display key IDs. "short" is the traditional
@@ -2559,6 +2606,7 @@ in the option file.
           helper is   built with, this may actually be a directory or a
           file.
 
+
 `--completes-needed `n''
      Number of completely trusted users to introduce a new key signer
      (defaults to 1).
@@ -2613,6 +2661,12 @@ in the option file.
 `--gpg-agent-info'
      This is dummy option. It has no effect when used with `gpg2'.
 
+`--agent-program FILE'
+     Specify an agent program to be used for secret key operations.  The
+     default value is the `/usr/bin/gpg-agent'.  This is only used as a
+     fallback when the environment variable `GPG_AGENT_INFO' is not set
+     or a running agent cannot be connected.
+
 `--lock-once'
      Lock the databases the first time a lock is requested and do not
      release the lock until the process terminates.
@@ -2910,7 +2964,7 @@ File: gnupg.info,  Node: GPG Input and Output,  Next: OpenPGP Options,  Prev: GP
 
 
 \1f
-File: gnupg.info,  Node: OpenPGP Options,  Next: GPG Esoteric Options,  Prev: GPG Input and Output,  Up: GPG Options
+File: gnupg.info,  Node: OpenPGP Options,  Next: Compliance Options,  Prev: GPG Input and Output,  Up: GPG Options
 
 3.2.4 OpenPGP protocol specific options.
 ----------------------------------------
@@ -3008,6 +3062,9 @@ File: gnupg.info,  Node: OpenPGP Options,  Next: GPG Esoteric Options,  Prev: GP
      only meaningful if `--s2k-mode' is 3.
 
 
+\1f
+File: gnupg.info,  Node: Compliance Options,  Next: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG Options
+
 3.2.5 Compliance options
 ------------------------
 
@@ -3051,9 +3108,9 @@ OPENPGP PROGRAMS section below before using one of these options.
      common baseline.
 
      This option implies `--rfc1991 --disable-mdc --no-force-v4-certs
-     --escape-from-lines --force-v3-sigs --cipher-algo IDEA
-     --digest-algo MD5 --compress-algo ZIP'. It also disables
-     `--textmode' when encrypting.
+     --escape-from-lines --force-v3-sigs --allow-weak-digest-algos
+     --cipher-algo IDEA --digest-algo MD5 --compress-algo ZIP'.  It
+     also disables `--textmode' when encrypting.
 
 `--pgp6'
      Set up all options to be as PGP 6 compliant as possible. This
@@ -3081,7 +3138,7 @@ OPENPGP PROGRAMS section below before using one of these options.
 
 
 \1f
-File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG Options
+File: gnupg.info,  Node: GPG Esoteric Options,  Next: Deprecated Options,  Prev: Compliance Options,  Up: GPG Options
 
 3.2.6 Doing things one usually doesn't want to do.
 --------------------------------------------------
@@ -3187,8 +3244,12 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
 
 `--emit-version'
 `--no-emit-version'
-     Force inclusion of the version string in ASCII armored output.
-     `--no-emit-version' disables this option.
+     Force inclusion of the version string in ASCII armored output.  If
+     given once only the name of the program and the major number is
+     emitted (default), given twice the minor is also emitted, given
+     triple the micro is added, and given quad an operating system
+     identification is also emitted.  `--no-emit-version' disables the
+     version line.
 
 `--sig-notation `name=value''
 `--cert-notation `name=value''
@@ -3202,7 +3263,7 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
      may be any printable string; it will be encoded in UTF8, so you
      should check that your `--display-charset' is set correctly. If
      you prefix `name' with an exclamation mark (!), the notation data
-     will be flagged as critical (rfc2440:5.2.3.15). `--sig-notation'
+     will be flagged as critical (rfc4880:5.2.3.16). `--sig-notation'
      sets a notation for data signatures. `--cert-notation' sets a
      notation for key signatures (certifications). `--set-notation'
      sets both.
@@ -3223,7 +3284,7 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
 `--sig-policy-url `string''
 `--cert-policy-url `string''
 `--set-policy-url `string''
-     Use `string' as a Policy URL for signatures (rfc2440:5.2.3.19).  If
+     Use `string' as a Policy URL for signatures (rfc4880:5.2.3.20).  If
      you prefix it with an exclamation mark (!), the policy URL packet
      will be flagged as critical. `--sig-policy-url' sets a policy url
      for data signatures. `--cert-policy-url' sets a policy url for key
@@ -3426,6 +3487,11 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
      may also mean that the message was tampered with intentionally by
      an attacker.
 
+`--allow-weak-digest-algos'
+     Signatures made with the broken MD5 algorithm are normally rejected
+     with an "invalid digest algorithm" message.  This option allows the
+     verification of signatures made with such weak algorithms.
+
 `--no-default-keyring'
      Do not add the default keyrings to the list of keyrings. Note that
      GnuPG will not operate without any keyrings, so if you use this
@@ -3560,6 +3626,15 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
      a syntax check on the configuration file.
 
 
+   ---------- Footnotes ----------
+
+   (1) Using a little social engineering anyone who is able to decrypt
+the message can check whether one of the other recipients is the one he
+suspects.
+
+\1f
+File: gnupg.info,  Node: Deprecated Options,  Prev: GPG Esoteric Options,  Up: GPG Options
+
 3.2.7 Deprecated options
 ------------------------
 
@@ -3597,12 +3672,6 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Prev: OpenPGP Options,  Up: GPG
      [no-]show-policy-url' instead.
 
 
-   ---------- Footnotes ----------
-
-   (1) Using a little social engineering anyone who is able to decrypt
-the message can check whether one of the other recipients is the one he
-suspects.
-
 \1f
 File: gnupg.info,  Node: GPG Configuration,  Next: GPG Examples,  Prev: GPG Options,  Up: Invoking GPG
 
@@ -3618,7 +3687,7 @@ directory (*note option --homedir::).
      startup.  It may contain any valid long option; the leading two
      dashes   may not be entered and the option may not be abbreviated.
      This default   name may be changed on the command line (*note
-     option --options::).    You should backup this file.
+     gpg-option --options::).    You should backup this file.
 
 
    Note that on larger installations, it is useful to put predefined
@@ -3630,18 +3699,15 @@ helper script is provided to create these files (*note addgnupghome::).
 files; They all live in in the current home directory (*note option
 --homedir::).  Only the `gpg2' may modify these files.
 
-`~/.gnupg/secring.gpg'
-     The secret keyring.  You should backup this file.
-
-`~/.gnupg/secring.gpg.lock'
-     The lock file for the secret keyring.
-
 `~/.gnupg/pubring.gpg'
      The public keyring.  You should backup this file.
 
 `~/.gnupg/pubring.gpg.lock'
      The lock file for the public keyring.
 
+`~/.gnupg/secring.gpg'
+     The secret keyring.  You should backup this file.
+
 `~/.gnupg/trustdb.gpg'
      The trust database.  There is no need to backup this file; it is
      better   to backup the ownertrust values (*note option
@@ -3653,6 +3719,9 @@ files; They all live in in the current home directory (*note option
 `~/.gnupg/random_seed'
      A file used to preserve the state of the internal random pool.
 
+`~/.gnupg/secring.gpg.lock'
+     The lock file for the secret keyring.
+
 `/usr[/local]/share/gnupg/options.skel'
      The skeleton options file.
 
@@ -3669,7 +3738,7 @@ GNUPGHOME
      If set directory used instead of "~/.gnupg".
 
 GPG_AGENT_INFO
-     Used to locate the gpg-agent.      The value consists of 3 colon
+     Used to locate the gpg-agent.    The value consists of 3 colon
      delimited fields: The first is the path   to the Unix Domain
      Socket, the second the PID of the gpg-agent and the   protocol
      version which should be set to 1. When starting the gpg-agent   as
@@ -3822,8 +3891,8 @@ always required for this.
 \1f
 File: gnupg.info,  Node: Unattended GPG key generation,  Up: Unattended Usage of GPG
 
-3.6 Unattended key generation
-=============================
+3.5.1 Unattended key generation
+-------------------------------
 
 The command `--gen-key' may be used along with the option `--batch' for
 unattended key generation.  The parameters are either read from stdin
@@ -3963,21 +4032,24 @@ Name-Email: EMAIL
 
 Expire-Date: ISO-DATE|(NUMBER[d|w|m|y])
      Set the expiration date for the key (and the subkey).  It may
-     either be entered in ISO date format (2000-08-15) or as number of
-     days, weeks, month or years.  The special notation "seconds=N" is
-     also allowed to directly give an Epoch value. Without a letter
-     days are assumed.  Note that there is no check done on the
-     overflow of the type used by OpenPGP for timestamps.  Thus you
-     better make sure that the given value make sense.  Although
-     OpenPGP works with time intervals, GnuPG uses an absolute value
-     internally and thus the last year we can represent is 2105.
+     either be entered in ISO date format (e.g. "20000815T145012") or
+     as number of days, weeks, month or years after the creation date.
+     The special notation "seconds=N" is also allowed to specify a
+     number of seconds since creation.  Without a letter days are
+     assumed.  Note that there is no check done on the overflow of the
+     type used by OpenPGP for timestamps.  Thus you better make sure
+     that the given value make sense.  Although OpenPGP works with time
+     intervals, GnuPG uses an absolute value internally and thus the
+     last year we can represent is 2105.
 
 Ceation-Date: ISO-DATE
      Set the creation date of the key as stored in the key information
      and which is also part of the fingerprint calculation.  Either a
      date like "1986-04-26" or a full timestamp like "19860426T042640"
-     may be used.  The time is considered to be UTC.  If it is not
-     given the current time is used.
+     may be used.  The time is considered to be UTC.  The special
+     notation "seconds=N" may be used to directly specify a the number
+     of seconds since Epoch (Unix time).  If it is not given the
+     current time is used.
 
 Preferences: STRING
      Set the cipher, hash, and compression preference values for this
@@ -4236,7 +4308,7 @@ File: gnupg.info,  Node: Certificate Management,  Prev: Operational GPGSM Comman
 
 `--export-secret-key-p12 KEY-ID'
      Export the private key and the certificate identified by KEY-ID in
-     a PKCS#12 format. When using along with the `--armor' option a few
+     a PKCS#12 format. When used with the `--armor' option a few
      informational lines are prepended to the output.  Note, that the
      PKCS#12 format is not very secure and this command is only
      provided if there is no other way to exchange the private key.
@@ -4659,8 +4731,8 @@ home directory (*note option --homedir::).
      This is the standard configuration file read by `gpgsm' on
      startup.  It may contain any valid long option; the leading two
      dashes may not be entered and the option may not be abbreviated.
-     This default name may be changed on the command line (*note option
-     --options::).  You should backup this file.
+     This default name may be changed on the command line (*note
+     gpgsm-option --options::).  You should backup this file.
 
 `policies.txt'
      This is a list of allowed CA policies.  This file should list the
@@ -4791,10 +4863,10 @@ but may also be used in the standard operation mode by using the
 * CSR and certificate creation::  CSR and certificate creation.
 
 \1f
-File: gnupg.info,  Node: Automated signature checking,  Up: Unattended Usage
+File: gnupg.info,  Node: Automated signature checking,  Next: CSR and certificate creation,  Up: Unattended Usage
 
-4.6 Automated signature checking
-================================
+4.5.1 Automated signature checking
+----------------------------------
 
 It is very important to understand the semantics used with signature
 verification.  Checking a signature is not as simple as it may sound and
@@ -4836,10 +4908,10 @@ Error verifying a signature
 
 
 \1f
-File: gnupg.info,  Node: CSR and certificate creation,  Up: Unattended Usage
+File: gnupg.info,  Node: CSR and certificate creation,  Prev: Automated signature checking,  Up: Unattended Usage
 
-4.7 CSR and certificate creation
-================================
+4.5.2 CSR and certificate creation
+----------------------------------
 
 *Please notice*: The immediate creation of certificates is only
 supported by GnuPG version 2.1 or later.  With a 2.0 version you may
@@ -4975,7 +5047,7 @@ Hash-Algo: HASH-ALGO
 \1f
 File: gnupg.info,  Node: GPGSM Protocol,  Prev: Unattended Usage,  Up: Invoking GPGSM
 
-4.8 The Protocol the Server Mode Uses.
+4.6 The Protocol the Server Mode Uses.
 ======================================
 
 Description of the protocol used to access `GPGSM'.  `GPGSM' does
@@ -5005,7 +5077,7 @@ Assuan manual for details.
 \1f
 File: gnupg.info,  Node: GPGSM ENCRYPT,  Next: GPGSM DECRYPT,  Up: GPGSM Protocol
 
-4.8.1 Encrypting a Message
+4.6.1 Encrypting a Message
 --------------------------
 
 Before encryption can be done the recipient must be set using the
@@ -5067,7 +5139,7 @@ closed.
 \1f
 File: gnupg.info,  Node: GPGSM DECRYPT,  Next: GPGSM SIGN,  Prev: GPGSM ENCRYPT,  Up: GPGSM Protocol
 
-4.8.2 Decrypting a message
+4.6.2 Decrypting a message
 --------------------------
 
 Input and output FDs are set the same way as in encryption, but `INPUT'
@@ -5089,7 +5161,7 @@ this by requesting this from the user.
 \1f
 File: gnupg.info,  Node: GPGSM SIGN,  Next: GPGSM VERIFY,  Prev: GPGSM DECRYPT,  Up: GPGSM Protocol
 
-4.8.3 Signing a Message
+4.6.3 Signing a Message
 -----------------------
 
 Signing is usually done with these commands:
@@ -5128,7 +5200,7 @@ signers which is in contrats to the `RECIPIENT' command.
 \1f
 File: gnupg.info,  Node: GPGSM VERIFY,  Next: GPGSM GENKEY,  Prev: GPGSM SIGN,  Up: GPGSM Protocol
 
-4.8.4 Verifying a Message
+4.6.4 Verifying a Message
 -------------------------
 
 To verify a mesage the command:
@@ -5144,7 +5216,7 @@ client must provide it.
 \1f
 File: gnupg.info,  Node: GPGSM GENKEY,  Next: GPGSM LISTKEYS,  Prev: GPGSM VERIFY,  Up: GPGSM Protocol
 
-4.8.5 Generating a Key
+4.6.5 Generating a Key
 ----------------------
 
 This is used to generate a new keypair, store the secret part in the
@@ -5172,7 +5244,7 @@ Status lines may be issued as a progress indicator.
 \1f
 File: gnupg.info,  Node: GPGSM LISTKEYS,  Next: GPGSM EXPORT,  Prev: GPGSM GENKEY,  Up: GPGSM Protocol
 
-4.8.6 List available keys
+4.6.6 List available keys
 -------------------------
 
 To list the keys in the internal database or using an external key
@@ -5211,7 +5283,7 @@ are done.
 \1f
 File: gnupg.info,  Node: GPGSM EXPORT,  Next: GPGSM IMPORT,  Prev: GPGSM LISTKEYS,  Up: GPGSM Protocol
 
-4.8.7 Export certificates
+4.6.7 Export certificates
 -------------------------
 
 To export certificate from the internal key database the command:
@@ -5235,7 +5307,7 @@ command.
 \1f
 File: gnupg.info,  Node: GPGSM IMPORT,  Next: GPGSM DELETE,  Prev: GPGSM EXPORT,  Up: GPGSM Protocol
 
-4.8.8 Import certificates
+4.6.8 Import certificates
 -------------------------
 
 To import certificates into the internal key database, the command
@@ -5255,7 +5327,7 @@ removing their ephemeral flag.
 \1f
 File: gnupg.info,  Node: GPGSM DELETE,  Next: GPGSM GETINFO,  Prev: GPGSM IMPORT,  Up: GPGSM Protocol
 
-4.8.9 Delete certificates
+4.6.9 Delete certificates
 -------------------------
 
 To delete a certificate the command
@@ -5272,7 +5344,7 @@ is returned.
 \1f
 File: gnupg.info,  Node: GPGSM GETINFO,  Prev: GPGSM DELETE,  Up: GPGSM Protocol
 
-4.8.10 Return information about the process
+4.6.10 Return information about the process
 -------------------------------------------
 
 This is a multipurpose function to return a variety of information.
@@ -5529,8 +5601,16 @@ File: gnupg.info,  Node: Scdaemon Options,  Next: Card applications,  Prev: Scda
      down immediately at the next timer tick for any value of N other
      than 0.
 
-`--disable-keypad'
-     Even if a card reader features a keypad, do not try to use it.
+`--enable-pinpad-varlen'
+     Please specify this option when the card reader supports variable
+     length input for pinpad (default is no).  For known readers
+     (listed in ccid-driver.c and apdu.c), this option is not needed.
+     Note that if your card reader doesn't supports variable length
+     input but you want to use it, you need to specify your pinpad
+     request on your card.
+
+`--disable-pinpad'
+     Even if a card reader features a pinpad, do not try to use it.
 
 `--deny-admin'
      This option disables the use of admin class commands for card
@@ -5817,6 +5897,11 @@ command
 
    where KEYID is the hexified ID of the key to be used.
 
+   If the card is ware of the apdding format a status line with padding
+information is send before the plaintext data.  The key for this status
+line is `PADDING' with the only defined value being 0 and meaning
+padding has been removed.
+
 \1f
 File: gnupg.info,  Node: Scdaemon GETATTR,  Next: Scdaemon SETATTR,  Prev: Scdaemon PKDECRYPT,  Up: Scdaemon Protocol
 
@@ -6372,12 +6457,6 @@ One of the following commands must be given:
      sending a SIGHUP to the component.  Components which don't support
      reloading are ignored.
 
-`--kill [COMPONENT]'
-     Kill the given component.  Components which support killing are
-     gpg-agent and scdaemon.  Components which don't support reloading
-     are ignored.  Note that as of now reload and kill have the same
-     effect for scdaemon.
-
 
    The following options may be used:
 
@@ -6994,8 +7073,9 @@ startup.
    Passphrases set with this utility don't expire unless the `--forget'
 option is used to explicitly clear them from the cache -- or
 `gpg-agent' is either restarted or reloaded (by sending a SIGHUP to
-it).  It is necessary to allow this passphrase presetting by starting
-`gpg-agent' with the `--allow-preset-passphrase'.
+it).  Nite that the maximum cache time as set with `--max-cache-ttl' is
+still honored.  It is necessary to allow this passphrase presetting by
+starting `gpg-agent' with the `--allow-preset-passphrase'.
 
 * Menu:
 
@@ -7521,232 +7601,3 @@ This is a collection of small howto documents.
 
 * Howto Create a Server Cert::  Creating a TLS server certificate.
 
-\1f
-File: gnupg.info,  Node: Howto Create a Server Cert,  Up: Howtos
-
-8.1 Creating a TLS server certificate
-=====================================
-
-Here is a brief run up on how to create a server certificate. It has
-actually been done this way to get a certificate from CAcert to be used
-on a real server.  It has only been tested with this CA, but there
-shouldn't be any problem to run this against any other CA.
-
-   Before you start, make sure that gpg-agent is running.  As there is
-no need for a configuration file, you may simply enter:
-
-       $ gpgsm-gencert.sh >a.p10
-       Key type
-        [1] RSA
-        [2] Existing key
-        [3] Direct from card
-       Your selection: 1
-       You selected: RSA
-
-   I opted for creating a new RSA key. The other option is to use an
-already existing key, by selecting `2' and entering the so-called
-keygrip.  Running the command `gpgsm --dump-secret-key USERID' shows
-you this keygrip.  Using `3' offers another menu to create a
-certificate directly from a smart card based key.
-
-   Let's continue:
-
-       Key length
-        [1] 1024
-        [2] 2048
-       Your selection: 1
-       You selected: 1024
-
-   The script offers  two common key sizes. With the current setup of
-CAcert, it does not make much sense to use a 2k key; their policies need
-to be revised anyway (a CA root key valid for 30 years is not really
-serious).
-
-       Key usage
-        [1] sign, encrypt
-        [2] sign
-        [3] encrypt
-       Your selection: 1
-       You selected: sign, encrypt
-
-   We want to sign and encrypt using this key. This is just a suggestion
-and the CA may actually assign other key capabilities.
-
-   Now for some real data:
-
-       Name (DN)
-       > CN=kerckhoffs.g10code.com
-
-   This is the most important value for a server certificate. Enter here
-the canonical name of your server machine. You may add other virtual
-server names later.
-
-       E-Mail addresses (end with an empty line)
-       >
-
-   We don't need email addresses in a server certificate and CAcert
-would anyway ignore such a request. Thus just hit enter.
-
-   If you want to create a client certificate for email encryption, this
-would be the place to enter your mail address (e.g. <joe@example.org>).
-You may enter as many addresses as you like, however the CA may not
-accept them all or reject the entire request.
-
-       DNS Names (optional; end with an empty line)
-       > www.g10code.com
-       DNS Names (optional; end with an empty line)
-       > ftp.g10code.com
-       DNS Names (optional; end with an empty line)
-       >
-
-   Here I entered the names of the servers which actually run on the
-machine given in the DN above. The browser will accept a certificate for
-any of these names. As usual the CA must approve all of these names.
-
-       URIs (optional; end with an empty line)
-       >
-
-   It is possible to insert arbitrary URIs into a certificate; for a
-server certificate this does not make sense.
-
-   We have now entered all required information and `gpgsm' will
-display what it has gathered and ask whether to create the certificate
-request:
-
-       Parameters for certificate request to create:
-            1  Key-Type: RSA
-            2  Key-Length: 1024
-            3  Key-Usage: sign, encrypt
-            4  Name-DN: CN=kerckhoffs.g10code.com
-            5  Name-DNS: www.g10code.com
-            6  Name-DNS: ftp.g10code.com
-
-       Really create such a CSR?
-        [1] yes
-        [2] no
-       Your selection: 1
-       You selected: yes
-
-   `gpgsm' will now start working on creating the request. As this
-includes the creation of an RSA key it may take a while. During this
-time you will be asked 3 times for a passphrase to protect the created
-private key on your system. A pop up window will appear to ask for it.
-The first two prompts are for the new passphrase and for re-entering it;
-the third one is required to actually create the certificate signing
-request.
-
-   When it is ready, you should see the final notice:
-
-       gpgsm: certificate request created
-
-   Now, you may look at the created request:
-
-       $ cat a.p10
-       -----BEGIN CERTIFICATE REQUEST-----
-       MIIBnzCCAQgCAQAwITEfMB0GA1UEAxMWa2VyY2tob2Zmcy5nMTBjb2RlLmNvbTCB
-       nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5h+uKRenpvbe+BnMY6siPO50LVyg
-       HtB7kr+YISlPJ5JAFO12yQFz9Y0sBLHbjR+V+TOawwP1dZhGjlgnEBkMdWKuEBlS
-       wFTALLX78GAyvAYAmPqSPDEYXkMECyUXVX/bbGI1bY8Y2OGy4w4D+v7e+xD2NBkm
-       Bj5cNy+YMbGVldECAwEAAaA+MDwGCSqGSIb3DQEJDjEvMC0wKwYDVR0RBCQwIoIP
-       d3d3LmcxMGNvZGUuY29tgg9mdHAuZzEwY29kZS5jb20wDQYJKoZIhvcNAQEFBQAD
-       gYEAzBRIi8KTfKyebOlMtDN6oDYBOv+r9A4w3u/Z1ikjffaiN1Bmd2o9Ez9KXKHA
-       IezLeSEA/rGUPN5Ur5qIJnRNQ8xrS+iLftr8msWQSZppVnA/vnqMrtqBUpitqAr0
-       eYBmt1Uem2Y3UFABrKPglv2xzgGkrKX6AqmFoOnJWQ0QcTw=
-       -----END CERTIFICATE REQUEST-----
-       $
-
-   You may now proceed by logging into your account at the CAcert
-website, choose `Server Certificates - New', check `sign by class 3 root
-certificate', paste the above request block into the text field and
-click on `Submit'.
-
-   If everything works out fine, a certificate will be shown. Now run
-
-     $ gpgsm --import
-
-   and paste the certificate from the CAcert page into your terminal
-followed by a Ctrl-D
-
-       -----BEGIN CERTIFICATE-----
-       MIIEIjCCAgqgAwIBAgIBTDANBgkqhkiG9w0BAQQFADBUMRQwEgYDVQQKEwtDQWNl
-       cnQgSW5jLjEeMBwGA1UECxMVaHR0cDovL3d3dy5DQWNlcnQub3JnMRwwGgYDVQQD
-       ExNDQWNlcnQgQ2xhc3MgMyBSb290MB4XDTA1MTAyODE2MjA1MVoXDTA3MTAyODE2
-       MjA1MVowITEfMB0GA1UEAxMWa2VyY2tob2Zmcy5nMTBjb2RlLmNvbTCBnzANBgkq
-       hkiG9w0BAQEFAAOBjQAwgYkCgYEA5h+uKRenpvbe+BnMY6siPO50LVygHtB7kr+Y
-       ISlPJ5JAFO12yQFz9Y0sBLHbjR+V+TOawwP1dZhGjlgnEBkMdWKuEBlSwFTALLX7
-       8GAyvAYAmPqSPDEYXkMECyUXVX/bbGI1bY8Y2OGy4w4D+v7e+xD2NBkmBj5cNy+Y
-       MbGVldECAwEAAaOBtTCBsjAMBgNVHRMBAf8EAjAAMDQGA1UdJQQtMCsGCCsGAQUF
-       BwMCBggrBgEFBQcDAQYJYIZIAYb4QgQBBgorBgEEAYI3CgMDMAsGA1UdDwQEAwIF
-       oDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLmNhY2Vy
-       dC5vcmcwKwYDVR0RBCQwIoIPd3d3LmcxMGNvZGUuY29tgg9mdHAuZzEwY29kZS5j
-       b20wDQYJKoZIhvcNAQEEBQADggIBAAj5XAHCtzQR8PV6PkQBgZqUCbcfxGO/ZIp9
-       aIT6J2z0Jo1OZI6KmConbqnZG9WyDlV5P7msQXW/Z9nBfoj4KSmNR8G/wtb8ClJn
-       W8s75+K3ZLq1UgEyxBDrS7GjtbVaj7gsfZsuiQzxmk9lbl1gbkpJ3VEMjwVCTMlM
-       fpjp8etyPhUZqOZaoKVaq//KTOsjhPMwz7TcfOkHvXketPrWTcefJQU7NKLH16D3
-       mZAwnBxp3P51H6E6VG8AoJO8xCBuVwsbXKEf/FW+tmKG9pog6CaZQ9WibROTtnKj
-       NJjSBsrUk5C+JowO/EyZRGm6R1tlok8iFXj+2aimyeBqDcxozNmFgh9F3S5u0wK0
-       6cfYgkPVMHxgwV3f3Qh+tJkgLExN7KfO9hvpZqAh+CLQtxVmvpxEVEXKR6nwBI5U
-       BaseulvVy3wUfg2daPkG17kDDBzQlsWC0BRF8anH+FWSrvseC3nS0a9g3sXF1Ic3
-       gIqeAMhkant1Ac3RR6YCWtJKr2rcQNdDAxXK35/gUSQNCi9dclEzoOgjziuA1Mha
-       94jYcvGKcwThn0iITVS5hOsCfaySBLxTzfIruLbPxXlpWuCW/6I/7YyivppKgEZU
-       rUTFlNElRXCwIl0YcJkIaYYqWf7+A/aqYJCi8+51usZwMy3Jsq3hJ6MA3h1BgwZs
-       Rtct3tIX
-       -----END CERTIFICATE-----
-       gpgsm: issuer certificate (#/CN=CAcert Class 3 Ro[...]) not found
-       gpgsm: certificate imported
-
-       gpgsm: total number processed: 1
-       gpgsm:               imported: 1
-
-   gpgsm tells you that it has imported the certificate. It is now
-associated with the key you used when creating the request. The root
-certificate has not been found, so you may want to import it from the
-CACert website.
-
-   To see the content of your certificate, you may now enter:
-
-       $ gpgsm -K kerckhoffs.g10code.com
-       /home/foo/.gnupg/pubring.kbx
-       ---------------------------
-       Serial number: 4C
-              Issuer: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.[...]
-             Subject: /CN=kerckhoffs.g10code.com
-                 aka: (dns-name www.g10code.com)
-                 aka: (dns-name ftp.g10code.com)
-            validity: 2005-10-28 16:20:51 through 2007-10-28 16:20:51
-            key type: 1024 bit RSA
-           key usage: digitalSignature keyEncipherment
-       ext key usage: clientAuth (suggested), serverAuth (suggested), [...]
-         fingerprint: 0F:9C:27:B2:DA:05:5F:CB:33:19:D8:E9:65:B9:BD:4F:B1:98:CC:57
-
-   I used `-K' above because this will only list certificates for which
-a private key is available.  To see more details, you may use
-`--dump-secret-keys' instead of `-K'.
-
-   To make actual use of the certificate you need to install it on your
-server. Server software usually expects a PKCS\#12 file with key and
-certificate. To create such a file, run:
-
-       $ gpgsm --export-secret-key-p12 -a >kerckhoffs-cert.pem
-
-   You will be asked for the passphrase as well as for a new passphrase
-to be used to protect the PKCS\#12 file. The file now contains the
-certificate as well as the private key:
-
-       $ cat kerckhoffs-cert.pem
-       Issuer ...: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.CA[...]
-       Serial ...: 4C
-       Subject ..: /CN=kerckhoffs.g10code.com
-           aka ..: (dns-name www.g10code.com)
-           aka ..: (dns-name ftp.g10code.com)
-
-       -----BEGIN PKCS12-----
-       MIIHlwIBAzCCB5AGCSqGSIb37QdHAaCCB4EEggd9MIIHeTk1BJ8GCSqGSIb3DQEu
-       [...many more lines...]
-       -----END PKCS12-----
-       $
-
-   Copy this file in a secure way to the server, install it there and
-delete the file then. You may export the file again at any time as long
-as it is available in GnuPG's private key database.
-
index 5959a28..28ef830 100644 (file)
@@ -1,8 +1,8 @@
-This is /home/wk/w/gnupg-stable/doc/gnupg.info, produced by makeinfo
-version 4.13 from /home/wk/w/gnupg-stable/doc/gnupg.texi.
+This is /home/wk/s/gnupg/doc/gnupg.info, produced by makeinfo version
+4.13 from /home/wk/s/gnupg/doc/gnupg.texi.
 
-This is the `The GNU Privacy Guard Manual' (version 2.0.19,
-March 2012).
+This is the `The GNU Privacy Guard Manual' (version 2.0.26,
+August 2014).
 
    Copyright (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software
 Foundation, Inc.
@@ -21,6 +21,235 @@ START-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 \1f
+File: gnupg.info,  Node: Howto Create a Server Cert,  Up: Howtos
+
+8.1 Creating a TLS server certificate
+=====================================
+
+Here is a brief run up on how to create a server certificate. It has
+actually been done this way to get a certificate from CAcert to be used
+on a real server.  It has only been tested with this CA, but there
+shouldn't be any problem to run this against any other CA.
+
+   Before you start, make sure that gpg-agent is running.  As there is
+no need for a configuration file, you may simply enter:
+
+       $ gpgsm-gencert.sh >a.p10
+       Key type
+        [1] RSA
+        [2] Existing key
+        [3] Direct from card
+       Your selection: 1
+       You selected: RSA
+
+   I opted for creating a new RSA key. The other option is to use an
+already existing key, by selecting `2' and entering the so-called
+keygrip.  Running the command `gpgsm --dump-secret-key USERID' shows
+you this keygrip.  Using `3' offers another menu to create a
+certificate directly from a smart card based key.
+
+   Let's continue:
+
+       Key length
+        [1] 1024
+        [2] 2048
+       Your selection: 1
+       You selected: 1024
+
+   The script offers  two common key sizes. With the current setup of
+CAcert, it does not make much sense to use a 2k key; their policies need
+to be revised anyway (a CA root key valid for 30 years is not really
+serious).
+
+       Key usage
+        [1] sign, encrypt
+        [2] sign
+        [3] encrypt
+       Your selection: 1
+       You selected: sign, encrypt
+
+   We want to sign and encrypt using this key. This is just a suggestion
+and the CA may actually assign other key capabilities.
+
+   Now for some real data:
+
+       Name (DN)
+       > CN=kerckhoffs.g10code.com
+
+   This is the most important value for a server certificate. Enter here
+the canonical name of your server machine. You may add other virtual
+server names later.
+
+       E-Mail addresses (end with an empty line)
+       >
+
+   We don't need email addresses in a server certificate and CAcert
+would anyway ignore such a request. Thus just hit enter.
+
+   If you want to create a client certificate for email encryption, this
+would be the place to enter your mail address (e.g. <joe@example.org>).
+You may enter as many addresses as you like, however the CA may not
+accept them all or reject the entire request.
+
+       DNS Names (optional; end with an empty line)
+       > www.g10code.com
+       DNS Names (optional; end with an empty line)
+       > ftp.g10code.com
+       DNS Names (optional; end with an empty line)
+       >
+
+   Here I entered the names of the servers which actually run on the
+machine given in the DN above. The browser will accept a certificate for
+any of these names. As usual the CA must approve all of these names.
+
+       URIs (optional; end with an empty line)
+       >
+
+   It is possible to insert arbitrary URIs into a certificate; for a
+server certificate this does not make sense.
+
+   We have now entered all required information and `gpgsm' will
+display what it has gathered and ask whether to create the certificate
+request:
+
+       Parameters for certificate request to create:
+            1  Key-Type: RSA
+            2  Key-Length: 1024
+            3  Key-Usage: sign, encrypt
+            4  Name-DN: CN=kerckhoffs.g10code.com
+            5  Name-DNS: www.g10code.com
+            6  Name-DNS: ftp.g10code.com
+
+       Really create such a CSR?
+        [1] yes
+        [2] no
+       Your selection: 1
+       You selected: yes
+
+   `gpgsm' will now start working on creating the request. As this
+includes the creation of an RSA key it may take a while. During this
+time you will be asked 3 times for a passphrase to protect the created
+private key on your system. A pop up window will appear to ask for it.
+The first two prompts are for the new passphrase and for re-entering it;
+the third one is required to actually create the certificate signing
+request.
+
+   When it is ready, you should see the final notice:
+
+       gpgsm: certificate request created
+
+   Now, you may look at the created request:
+
+       $ cat a.p10
+       -----BEGIN CERTIFICATE REQUEST-----
+       MIIBnzCCAQgCAQAwITEfMB0GA1UEAxMWa2VyY2tob2Zmcy5nMTBjb2RlLmNvbTCB
+       nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5h+uKRenpvbe+BnMY6siPO50LVyg
+       HtB7kr+YISlPJ5JAFO12yQFz9Y0sBLHbjR+V+TOawwP1dZhGjlgnEBkMdWKuEBlS
+       wFTALLX78GAyvAYAmPqSPDEYXkMECyUXVX/bbGI1bY8Y2OGy4w4D+v7e+xD2NBkm
+       Bj5cNy+YMbGVldECAwEAAaA+MDwGCSqGSIb3DQEJDjEvMC0wKwYDVR0RBCQwIoIP
+       d3d3LmcxMGNvZGUuY29tgg9mdHAuZzEwY29kZS5jb20wDQYJKoZIhvcNAQEFBQAD
+       gYEAzBRIi8KTfKyebOlMtDN6oDYBOv+r9A4w3u/Z1ikjffaiN1Bmd2o9Ez9KXKHA
+       IezLeSEA/rGUPN5Ur5qIJnRNQ8xrS+iLftr8msWQSZppVnA/vnqMrtqBUpitqAr0
+       eYBmt1Uem2Y3UFABrKPglv2xzgGkrKX6AqmFoOnJWQ0QcTw=
+       -----END CERTIFICATE REQUEST-----
+       $
+
+   You may now proceed by logging into your account at the CAcert
+website, choose `Server Certificates - New', check `sign by class 3 root
+certificate', paste the above request block into the text field and
+click on `Submit'.
+
+   If everything works out fine, a certificate will be shown. Now run
+
+     $ gpgsm --import
+
+   and paste the certificate from the CAcert page into your terminal
+followed by a Ctrl-D
+
+       -----BEGIN CERTIFICATE-----
+       MIIEIjCCAgqgAwIBAgIBTDANBgkqhkiG9w0BAQQFADBUMRQwEgYDVQQKEwtDQWNl
+       cnQgSW5jLjEeMBwGA1UECxMVaHR0cDovL3d3dy5DQWNlcnQub3JnMRwwGgYDVQQD
+       ExNDQWNlcnQgQ2xhc3MgMyBSb290MB4XDTA1MTAyODE2MjA1MVoXDTA3MTAyODE2
+       MjA1MVowITEfMB0GA1UEAxMWa2VyY2tob2Zmcy5nMTBjb2RlLmNvbTCBnzANBgkq
+       hkiG9w0BAQEFAAOBjQAwgYkCgYEA5h+uKRenpvbe+BnMY6siPO50LVygHtB7kr+Y
+       ISlPJ5JAFO12yQFz9Y0sBLHbjR+V+TOawwP1dZhGjlgnEBkMdWKuEBlSwFTALLX7
+       8GAyvAYAmPqSPDEYXkMECyUXVX/bbGI1bY8Y2OGy4w4D+v7e+xD2NBkmBj5cNy+Y
+       MbGVldECAwEAAaOBtTCBsjAMBgNVHRMBAf8EAjAAMDQGA1UdJQQtMCsGCCsGAQUF
+       BwMCBggrBgEFBQcDAQYJYIZIAYb4QgQBBgorBgEEAYI3CgMDMAsGA1UdDwQEAwIF
+       oDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLmNhY2Vy
+       dC5vcmcwKwYDVR0RBCQwIoIPd3d3LmcxMGNvZGUuY29tgg9mdHAuZzEwY29kZS5j
+       b20wDQYJKoZIhvcNAQEEBQADggIBAAj5XAHCtzQR8PV6PkQBgZqUCbcfxGO/ZIp9
+       aIT6J2z0Jo1OZI6KmConbqnZG9WyDlV5P7msQXW/Z9nBfoj4KSmNR8G/wtb8ClJn
+       W8s75+K3ZLq1UgEyxBDrS7GjtbVaj7gsfZsuiQzxmk9lbl1gbkpJ3VEMjwVCTMlM
+       fpjp8etyPhUZqOZaoKVaq//KTOsjhPMwz7TcfOkHvXketPrWTcefJQU7NKLH16D3
+       mZAwnBxp3P51H6E6VG8AoJO8xCBuVwsbXKEf/FW+tmKG9pog6CaZQ9WibROTtnKj
+       NJjSBsrUk5C+JowO/EyZRGm6R1tlok8iFXj+2aimyeBqDcxozNmFgh9F3S5u0wK0
+       6cfYgkPVMHxgwV3f3Qh+tJkgLExN7KfO9hvpZqAh+CLQtxVmvpxEVEXKR6nwBI5U
+       BaseulvVy3wUfg2daPkG17kDDBzQlsWC0BRF8anH+FWSrvseC3nS0a9g3sXF1Ic3
+       gIqeAMhkant1Ac3RR6YCWtJKr2rcQNdDAxXK35/gUSQNCi9dclEzoOgjziuA1Mha
+       94jYcvGKcwThn0iITVS5hOsCfaySBLxTzfIruLbPxXlpWuCW/6I/7YyivppKgEZU
+       rUTFlNElRXCwIl0YcJkIaYYqWf7+A/aqYJCi8+51usZwMy3Jsq3hJ6MA3h1BgwZs
+       Rtct3tIX
+       -----END CERTIFICATE-----
+       gpgsm: issuer certificate (#/CN=CAcert Class 3 Ro[...]) not found
+       gpgsm: certificate imported
+
+       gpgsm: total number processed: 1
+       gpgsm:               imported: 1
+
+   gpgsm tells you that it has imported the certificate. It is now
+associated with the key you used when creating the request. The root
+certificate has not been found, so you may want to import it from the
+CACert website.
+
+   To see the content of your certificate, you may now enter:
+
+       $ gpgsm -K kerckhoffs.g10code.com
+       /home/foo/.gnupg/pubring.kbx
+       ---------------------------
+       Serial number: 4C
+              Issuer: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.[...]
+             Subject: /CN=kerckhoffs.g10code.com
+                 aka: (dns-name www.g10code.com)
+                 aka: (dns-name ftp.g10code.com)
+            validity: 2005-10-28 16:20:51 through 2007-10-28 16:20:51
+            key type: 1024 bit RSA
+           key usage: digitalSignature keyEncipherment
+       ext key usage: clientAuth (suggested), serverAuth (suggested), [...]
+         fingerprint: 0F:9C:27:B2:DA:05:5F:CB:33:19:D8:E9:65:B9:BD:4F:B1:98:CC:57
+
+   I used `-K' above because this will only list certificates for which
+a private key is available.  To see more details, you may use
+`--dump-secret-keys' instead of `-K'.
+
+   To make actual use of the certificate you need to install it on your
+server. Server software usually expects a PKCS\#12 file with key and
+certificate. To create such a file, run:
+
+       $ gpgsm --export-secret-key-p12 -a >kerckhoffs-cert.pem
+
+   You will be asked for the passphrase as well as for a new passphrase
+to be used to protect the PKCS\#12 file. The file now contains the
+certificate as well as the private key:
+
+       $ cat kerckhoffs-cert.pem
+       Issuer ...: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.CA[...]
+       Serial ...: 4C
+       Subject ..: /CN=kerckhoffs.g10code.com
+           aka ..: (dns-name www.g10code.com)
+           aka ..: (dns-name ftp.g10code.com)
+
+       -----BEGIN PKCS12-----
+       MIIHlwIBAzCCB5AGCSqGSIb37QdHAaCCB4EEggd9MIIHeTk1BJ8GCSqGSIb3DQEu
+       [...many more lines...]
+       -----END PKCS12-----
+       $
+
+   Copy this file in a secure way to the server, install it there and
+delete the file then. You may export the file again at any time as long
+as it is available in GnuPG's private key database.
+
+\1f
 File: gnupg.info,  Node: System Notes,  Next: Debugging,  Prev: Howtos,  Up: Top
 
 9 Notes pertaining to certain OSes.
@@ -995,64 +1224,65 @@ modification follow.
      connection with the Program, unless a warranty or assumption of
      liability accompanies a copy of the Program in return for a fee.
 
-                        END OF TERMS AND CONDITIONS
+
+                      END OF TERMS AND CONDITIONS
 How to Apply These Terms to Your New Programs
 =============================================
 
-     If you develop a new program, and you want it to be of the greatest
+If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
 free software which everyone can redistribute and change under these
 terms.
 
-     To do so, attach the following notices to the program.  It is
-safest to attach them to the start of each source file to most
-effectively state the exclusion of warranty; and each file should have
-at least the "copyright" line and a pointer to where the full notice is
-found.
-          ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
-          Copyright (C) YEAR NAME OF AUTHOR
+   To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
 
-          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 3 of the License, or (at
-          your option) any later version.
+     ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
+     Copyright (C) YEAR NAME OF AUTHOR
 
-          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.
+     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 3 of the License, or (at
+     your option) any later version.
 
-          You should have received a copy of the GNU General Public License
-          along with this program.  If not, see `http://www.gnu.org/licenses/'.
+     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.
 
-     Also add information on how to contact you by electronic and paper
-mail.
+     You should have received a copy of the GNU General Public License
+     along with this program.  If not, see `http://www.gnu.org/licenses/'.
 
-     If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
+Also add information on how to contact you by electronic and paper mail.
 
-          PROGRAM Copyright (C) YEAR NAME OF AUTHOR
-          This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-          This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+If the program does terminal interaction, make it output a short notice
+like this when it starts in an interactive mode:
 
-     The hypothetical commands `show w' and `show c' should show the
+     PROGRAM Copyright (C) YEAR NAME OF AUTHOR
+     This program comes with ABSOLUTELY NO WARRANTY; for details
+     type `show w'.  This is free software, and you are
+     welcome to redistribute it under certain conditions;
+     type `show c' for details.
+
+   The hypothetical commands `show w' and `show c' should show the
 appropriate parts of the General Public License.  Of course, your
 program's commands might be different; for a GUI interface, you would
 use an "about box".
 
-     You should also get your employer (if you work as a programmer) or
+   You should also get your employer (if you work as a programmer) or
 school, if any, to sign a "copyright disclaimer" for the program, if
 necessary.  For more information on this, and how to apply and follow
 the GNU GPL, see `http://www.gnu.org/licenses/'.
 
-     The GNU General Public License does not permit incorporating your
+   The GNU General Public License does not permit incorporating your
 program into proprietary programs.  If your program is a subroutine
 library, you may consider it more useful to permit linking proprietary
 applications with the library.  If this is what you want to do, use the
 GNU Lesser General Public License instead of this License.  But first,
 please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.
 
-
 \1f
 File: gnupg.info,  Node: Contributors,  Next: Glossary,  Prev: Copying,  Up: Top
 
@@ -1236,29 +1466,32 @@ Option Index
 
 * agent-program <1>:                     Invoking gpg-connect-agent.
                                                               (line  30)
-* agent-program:                         Configuration Options.
+* agent-program <2>:                     Configuration Options.
                                                               (line  34)
-* allow-admin:                           Scdaemon Options.    (line 184)
+* agent-program:                         GPG Configuration Options.
+                                                              (line 618)
+* allow-admin:                           Scdaemon Options.    (line 192)
 * allow-freeform-uid:                    GPG Esoteric Options.
-                                                              (line 312)
+                                                              (line 316)
 * allow-mark-trusted:                    Agent Options.       (line 147)
 * allow-multiple-messages:               GPG Esoteric Options.
-                                                              (line 429)
+                                                              (line 438)
 * allow-non-selfsigned-uid:              GPG Esoteric Options.
-                                                              (line 307)
+                                                              (line 311)
 * allow-secret-key-import:               GPG Esoteric Options.
-                                                              (line 424)
-* always-trust:                          GPG Esoteric Options.
-                                                              (line 498)
+                                                              (line 433)
+* allow-weak-digest-algos:               GPG Esoteric Options.
+                                                              (line 351)
+* always-trust:                          Deprecated Options.  (line  21)
 * armor <1>:                             Input and Output.    (line   8)
 * armor:                                 GPG Input and Output.
                                                               (line   8)
 * ask-cert-expire:                       GPG Esoteric Options.
-                                                              (line 411)
+                                                              (line 420)
 * ask-cert-level:                        GPG Configuration Options.
-                                                              (line 302)
+                                                              (line 303)
 * ask-sig-expire:                        GPG Esoteric Options.
-                                                              (line 397)
+                                                              (line 406)
 * assume-armor:                          Input and Output.    (line  14)
 * assume-base64:                         Input and Output.    (line  18)
 * assume-binary:                         Input and Output.    (line  21)
@@ -1267,63 +1500,63 @@ Option Index
 * attribute-file:                        GPG Esoteric Options.
                                                               (line  91)
 * auto-check-trustdb:                    GPG Configuration Options.
-                                                              (line 598)
+                                                              (line 605)
 * auto-issuer-key-retrieve:              Certificate Options. (line  51)
 * auto-key-locate:                       GPG Configuration Options.
-                                                              (line 382)
+                                                              (line 384)
 * base64:                                Input and Output.    (line  11)
 * batch <1>:                             GPG Configuration Options.
                                                               (line  39)
 * batch:                                 Agent Options.       (line  33)
 * bzip2-compress-level:                  GPG Configuration Options.
-                                                              (line 276)
+                                                              (line 277)
 * bzip2-decompress-lowmem:               GPG Configuration Options.
-                                                              (line 286)
+                                                              (line 287)
 * call-dirmngr:                          Operational GPGSM Commands.
                                                               (line  27)
 * call-protect-tool:                     Operational GPGSM Commands.
                                                               (line  41)
 * card-edit:                             Operational GPG Commands.
-                                                              (line 157)
+                                                              (line 165)
 * card-status:                           Operational GPG Commands.
-                                                              (line 163)
+                                                              (line 171)
 * card-timeout:                          Scdaemon Options.    (line 168)
 * cert-digest-algo:                      GPG Esoteric Options.
-                                                              (line 221)
+                                                              (line 225)
 * cert-notation:                         GPG Esoteric Options.
-                                                              (line 113)
+                                                              (line 117)
 * cert-policy-url:                       GPG Esoteric Options.
-                                                              (line 143)
+                                                              (line 147)
 * change-pin:                            Operational GPG Commands.
-                                                              (line 166)
-* check-passphrase-pattern:              Agent Options.       (line 191)
+                                                              (line 174)
+* check-passphrase-pattern:              Agent Options.       (line 193)
 * check-sigs:                            Operational GPG Commands.
-                                                              (line 126)
+                                                              (line 134)
 * check-trustdb:                         Operational GPG Commands.
-                                                              (line 257)
+                                                              (line 277)
 * cipher-algo <1>:                       CMS Options.         (line  13)
 * cipher-algo:                           GPG Esoteric Options.
-                                                              (line 181)
+                                                              (line 185)
 * clearsign:                             Operational GPG Commands.
                                                               (line  17)
 * command-fd:                            GPG Esoteric Options.
-                                                              (line 295)
+                                                              (line 299)
 * command-file:                          GPG Esoteric Options.
-                                                              (line 302)
+                                                              (line 306)
 * comment:                               GPG Esoteric Options.
                                                               (line  96)
 * compliant-needed:                      GPG Configuration Options.
-                                                              (line 557)
+                                                              (line 564)
 * compress-algo:                         GPG Esoteric Options.
-                                                              (line 198)
+                                                              (line 202)
 * compress-level:                        GPG Configuration Options.
-                                                              (line 276)
+                                                              (line 277)
 * csh:                                   Agent Options.       (line 118)
 * ctapi-driver:                          Scdaemon Options.    (line 146)
 * daemon <1>:                            Scdaemon Commands.   (line  31)
 * daemon:                                Agent Commands.      (line  27)
 * dearmor:                               Operational GPG Commands.
-                                                              (line 312)
+                                                              (line 332)
 * debug <1>:                             Scdaemon Options.    (line  61)
 * debug <2>:                             Esoteric Options.    (line  58)
 * debug <3>:                             GPG Esoteric Options.
@@ -1356,70 +1589,70 @@ Option Index
 * decrypt:                               Operational GPG Commands.
                                                               (line  52)
 * decrypt-files:                         Operational GPG Commands.
-                                                              (line  87)
+                                                              (line  95)
 * default-cache-ttl:                     Agent Options.       (line 158)
 * default-cert-expire:                   GPG Esoteric Options.
-                                                              (line 417)
+                                                              (line 426)
 * default-cert-level:                    GPG Configuration Options.
-                                                              (line 310)
+                                                              (line 311)
 * default-key <1>:                       Input and Output.    (line  34)
 * default-key:                           GPG Configuration Options.
                                                               (line  10)
 * default-keyserver-url:                 GPG Esoteric Options.
-                                                              (line 457)
+                                                              (line 466)
 * default-preference-list:               GPG Esoteric Options.
-                                                              (line 452)
+                                                              (line 461)
 * default-recipient:                     GPG Configuration Options.
                                                               (line  15)
 * default-recipient-self:                GPG Configuration Options.
                                                               (line  19)
 * default-sig-expire:                    GPG Esoteric Options.
-                                                              (line 403)
+                                                              (line 412)
 * delete-key:                            Operational GPG Commands.
-                                                              (line 171)
+                                                              (line 179)
 * delete-keys:                           Certificate Management.
                                                               (line  57)
 * delete-secret-and-public-key:          Operational GPG Commands.
-                                                              (line 180)
+                                                              (line 188)
 * delete-secret-key:                     Operational GPG Commands.
-                                                              (line 176)
-* deny-admin:                            Scdaemon Options.    (line 184)
+                                                              (line 184)
+* deny-admin:                            Scdaemon Options.    (line 192)
 * desig-revoke:                          OpenPGP Key Management.
                                                               (line  21)
 * detach-sign:                           Operational GPG Commands.
                                                               (line  27)
 * digest-algo:                           GPG Esoteric Options.
-                                                              (line 190)
-* dirmnr-program:                        Configuration Options.
+                                                              (line 194)
+* dirmngr-program:                       Configuration Options.
                                                               (line  40)
-* disable-application:                   Scdaemon Options.    (line 194)
+* disable-application:                   Scdaemon Options.    (line 202)
 * disable-ccid:                          Scdaemon Options.    (line 151)
 * disable-cipher-algo:                   GPG Esoteric Options.
-                                                              (line 229)
+                                                              (line 233)
 * disable-crl-checks:                    Certificate Options. (line  13)
 * disable-dsa2:                          GPG Configuration Options.
                                                               (line 167)
-* disable-keypad:                        Scdaemon Options.    (line 181)
 * disable-mdc:                           OpenPGP Options.     (line  40)
 * disable-ocsp:                          Certificate Options. (line  42)
+* disable-pinpad:                        Scdaemon Options.    (line 189)
 * disable-policy-checks:                 Certificate Options. (line   8)
 * disable-pubkey-algo:                   GPG Esoteric Options.
-                                                              (line 234)
-* disable-scdaemon:                      Agent Options.       (line 230)
+                                                              (line 238)
+* disable-scdaemon:                      Agent Options.       (line 232)
 * disable-trusted-cert-crl-check:        Certificate Options. (line  19)
-* display:                               Agent Options.       (line 257)
+* display:                               Agent Options.       (line 259)
 * display-charset:                       GPG Configuration Options.
-                                                              (line 231)
+                                                              (line 232)
 * display-charset:iso-8859-1:            GPG Configuration Options.
-                                                              (line 240)
+                                                              (line 241)
 * display-charset:iso-8859-15:           GPG Configuration Options.
-                                                              (line 246)
+                                                              (line 247)
 * display-charset:iso-8859-2:            GPG Configuration Options.
-                                                              (line 243)
+                                                              (line 244)
 * display-charset:koi8-r:                GPG Configuration Options.
-                                                              (line 249)
+                                                              (line 250)
 * display-charset:utf-8:                 GPG Configuration Options.
-                                                              (line 252)
+                                                              (line 253)
 * dry-run:                               GPG Esoteric Options.
                                                               (line   8)
 * dump-cert:                             Certificate Management.
@@ -1446,64 +1679,67 @@ Option Index
 * enable-dsa2:                           GPG Configuration Options.
                                                               (line 167)
 * enable-ocsp:                           Certificate Options. (line  42)
-* enable-passphrase-history:             Agent Options.       (line 210)
+* enable-passphrase-history:             Agent Options.       (line 212)
+* enable-pinpad-varlen:                  Scdaemon Options.    (line 181)
 * enable-policy-checks:                  Certificate Options. (line   8)
 * enable-progress-filter:                GPG Esoteric Options.
                                                               (line  64)
 * enable-special-filenames:              GPG Esoteric Options.
-                                                              (line 439)
-* enable-ssh-support:                    Agent Options.       (line 267)
+                                                              (line 448)
+* enable-ssh-support:                    Agent Options.       (line 269)
 * enable-trusted-cert-crl-check:         Certificate Options. (line  19)
 * enarmor:                               Operational GPG Commands.
-                                                              (line 312)
+                                                              (line 332)
 * encrypt <1>:                           gpg-zip.             (line  17)
 * encrypt <2>:                           Operational GPGSM Commands.
                                                               (line   7)
 * encrypt:                               Operational GPG Commands.
                                                               (line  31)
 * encrypt-files:                         Operational GPG Commands.
-                                                              (line  84)
+                                                              (line  92)
 * encrypt-to:                            GPG Key related Options.
                                                               (line  21)
-* enforce-passphrase-constraints:        Agent Options.       (line 176)
+* enforce-passphrase-constraints:        Agent Options.       (line 178)
 * escape-from-lines:                     GPG Esoteric Options.
-                                                              (line 259)
+                                                              (line 263)
 * exec:                                  Invoking gpg-connect-agent.
                                                               (line  41)
 * exec-path:                             GPG Configuration Options.
-                                                              (line 190)
+                                                              (line 191)
 * exit-on-status-write-error:            GPG Configuration Options.
-                                                              (line 626)
+                                                              (line 639)
 * expert:                                GPG Configuration Options.
-                                                              (line 684)
+                                                              (line 697)
 * export <1>:                            Certificate Management.
                                                               (line  66)
 * export:                                Operational GPG Commands.
-                                                              (line 185)
+                                                              (line 193)
 * export-options:                        GPG Input and Output.
                                                               (line  67)
 * export-ownertrust:                     Operational GPG Commands.
-                                                              (line 272)
+                                                              (line 292)
+* export-secret-key-p12:                 Certificate Management.
+                                                              (line  79)
 * export-secret-keys:                    Operational GPG Commands.
-                                                              (line 201)
+                                                              (line 209)
 * export-secret-subkeys:                 Operational GPG Commands.
-                                                              (line 201)
+                                                              (line 209)
 * extra-digest-algo:                     Esoteric Options.    (line   7)
 * faked-system-time <1>:                 Esoteric Options.    (line  18)
 * faked-system-time <2>:                 GPG Esoteric Options.
                                                               (line  58)
 * faked-system-time:                     Agent Options.       (line  37)
 * fast-list-mode:                        GPG Esoteric Options.
-                                                              (line 362)
+                                                              (line 371)
 * fetch-keys:                            Operational GPG Commands.
-                                                              (line 242)
+                                                              (line 262)
 * fingerprint:                           Operational GPG Commands.
-                                                              (line 146)
+                                                              (line 154)
 * fixed-list-mode:                       GPG Input and Output.
                                                               (line 118)
 * fixed-passphrase:                      Esoteric Options.    (line 111)
 * for-your-eyes-only:                    GPG Esoteric Options.
-                                                              (line 167)
+                                                              (line 171)
 * force:                                 watchgnupg.          (line  22)
 * force-crl-refresh:                     Certificate Options. (line  31)
 * force-mdc:                             OpenPGP Options.     (line  34)
@@ -1516,20 +1752,20 @@ Option Index
 * gen-key:                               OpenPGP Key Management.
                                                               (line   9)
 * gen-prime:                             Operational GPG Commands.
-                                                              (line 306)
+                                                              (line 326)
 * gen-random:                            Operational GPG Commands.
-                                                              (line 299)
+                                                              (line 319)
 * gen-revoke:                            OpenPGP Key Management.
                                                               (line  17)
-* gnupg:                                 OpenPGP Options.     (line 108)
+* gnupg:                                 Compliance Options.  (line  12)
 * gpg:                                   gpg-zip.             (line  50)
 * gpg-agent-info:                        GPG Configuration Options.
-                                                              (line 608)
+                                                              (line 615)
 * gpg-args:                              gpg-zip.             (line  53)
 * gpgconf-list:                          GPG Esoteric Options.
-                                                              (line 470)
+                                                              (line 479)
 * gpgconf-test:                          GPG Esoteric Options.
-                                                              (line 474)
+                                                              (line 483)
 * group:                                 GPG Key related Options.
                                                               (line  41)
 * help <1>:                              gpg-zip.             (line  65)
@@ -1555,32 +1791,32 @@ Option Index
 * homedir <5>:                           Configuration Options.
                                                               (line  16)
 * homedir <6>:                           GPG Configuration Options.
-                                                              (line 223)
+                                                              (line 224)
 * homedir:                               Agent Options.       (line  13)
 * ignore-cache-for-signing:              Agent Options.       (line 152)
 * ignore-cert-extension:                 Certificate Options. (line  71)
 * ignore-crc-error:                      GPG Esoteric Options.
-                                                              (line 332)
+                                                              (line 336)
 * ignore-mdc-error:                      GPG Esoteric Options.
-                                                              (line 339)
+                                                              (line 343)
 * ignore-time-conflict <1>:              gpgv.                (line  47)
 * ignore-time-conflict:                  GPG Esoteric Options.
-                                                              (line 318)
+                                                              (line 322)
 * ignore-valid-from:                     GPG Esoteric Options.
-                                                              (line 325)
+                                                              (line 329)
 * import <1>:                            Certificate Management.
                                                               (line  87)
 * import:                                Operational GPG Commands.
-                                                              (line 211)
+                                                              (line 231)
 * import-options:                        GPG Input and Output.
                                                               (line  29)
 * import-ownertrust:                     Operational GPG Commands.
-                                                              (line 278)
+                                                              (line 298)
 * include-certs:                         CMS Options.         (line   7)
 * interactive:                           GPG Esoteric Options.
                                                               (line  19)
-* keep-display:                          Agent Options.       (line 262)
-* keep-tty:                              Agent Options.       (line 262)
+* keep-display:                          Agent Options.       (line 264)
+* keep-tty:                              Agent Options.       (line 264)
 * keydb-clear-some-cert-flags:           Certificate Management.
                                                               (line  49)
 * keyedit:addcardkey:                    OpenPGP Key Management.
@@ -1660,30 +1896,29 @@ Option Index
 * keyedit:uid:                           OpenPGP Key Management.
                                                               (line  31)
 * keyid-format:                          GPG Configuration Options.
-                                                              (line 422)
+                                                              (line 428)
 * keyring <1>:                           gpgv.                (line  34)
 * keyring:                               GPG Configuration Options.
-                                                              (line 197)
+                                                              (line 198)
 * keyserver:                             GPG Configuration Options.
-                                                              (line 429)
+                                                              (line 435)
 * keyserver-options:                     GPG Configuration Options.
-                                                              (line 449)
-* kill:                                  Invoking gpgconf.    (line  53)
-* lc-ctype:                              Agent Options.       (line 257)
-* lc-messages:                           Agent Options.       (line 257)
+                                                              (line 455)
+* lc-ctype:                              Agent Options.       (line 259)
+* lc-messages:                           Agent Options.       (line 259)
 * learn-card:                            Certificate Management.
                                                               (line  92)
 * limit-card-insert-tries:               GPG Configuration Options.
-                                                              (line 635)
+                                                              (line 648)
 * list-archive:                          gpg-zip.             (line  43)
 * list-chain:                            Certificate Management.
                                                               (line  29)
 * list-config:                           GPG Esoteric Options.
-                                                              (line 462)
+                                                              (line 471)
 * list-keys <1>:                         Certificate Management.
                                                               (line  14)
 * list-keys:                             Operational GPG Commands.
-                                                              (line  92)
+                                                              (line 100)
 * list-only:                             GPG Esoteric Options.
                                                               (line  11)
 * list-options:                          GPG Configuration Options.
@@ -1713,25 +1948,25 @@ Option Index
 * list-options:show-user-notations:      GPG Configuration Options.
                                                               (line  81)
 * list-packets:                          Operational GPG Commands.
-                                                              (line 153)
+                                                              (line 161)
 * list-secret-keys <1>:                  Certificate Management.
                                                               (line  21)
 * list-secret-keys:                      Operational GPG Commands.
-                                                              (line 102)
+                                                              (line 110)
 * list-sigs:                             Operational GPG Commands.
-                                                              (line 108)
+                                                              (line 116)
 * local-user <1>:                        gpg-zip.             (line  40)
 * local-user <2>:                        Input and Output.    (line  42)
 * local-user:                            GPG Key related Options.
                                                               (line  63)
 * locate-keys:                           Operational GPG Commands.
-                                                              (line 139)
+                                                              (line 147)
 * lock-multiple:                         GPG Configuration Options.
-                                                              (line 615)
+                                                              (line 628)
 * lock-never:                            GPG Configuration Options.
-                                                              (line 619)
+                                                              (line 632)
 * lock-once:                             GPG Configuration Options.
-                                                              (line 611)
+                                                              (line 624)
 * log-file <1>:                          Invoking symcryptrun.
                                                               (line  46)
 * log-file <2>:                          Scdaemon Options.    (line 136)
@@ -1746,23 +1981,23 @@ Option Index
 * lsign-key:                             OpenPGP Key Management.
                                                               (line 289)
 * mangle-dos-filenames:                  GPG Configuration Options.
-                                                              (line 294)
+                                                              (line 295)
 * marginals-needed:                      GPG Configuration Options.
-                                                              (line 561)
+                                                              (line 568)
 * max-cache-ttl:                         Agent Options.       (line 166)
-* max-cache-ttl-ssh:                     Agent Options.       (line 171)
+* max-cache-ttl-ssh:                     Agent Options.       (line 172)
 * max-cert-depth:                        GPG Configuration Options.
-                                                              (line 565)
+                                                              (line 572)
 * max-output:                            GPG Input and Output.
                                                               (line  19)
-* max-passphrase-days:                   Agent Options.       (line 205)
+* max-passphrase-days:                   Agent Options.       (line 207)
 * min-cert-level:                        GPG Configuration Options.
-                                                              (line 339)
-* min-passphrase-len:                    Agent Options.       (line 180)
-* min-passphrase-nonalpha:               Agent Options.       (line 185)
+                                                              (line 340)
+* min-passphrase-len:                    Agent Options.       (line 182)
+* min-passphrase-nonalpha:               Agent Options.       (line 187)
 * multi-server:                          Scdaemon Commands.   (line  26)
 * multifile:                             Operational GPG Commands.
-                                                              (line  73)
+                                                              (line  81)
 * no:                                    GPG Configuration Options.
                                                               (line  56)
 * no-armor:                              GPG Input and Output.
@@ -1771,7 +2006,7 @@ Option Index
                                                               (line  39)
 * no-common-certs-import:                Esoteric Options.    (line 116)
 * no-default-keyring:                    GPG Esoteric Options.
-                                                              (line 347)
+                                                              (line 356)
 * no-default-recipient:                  GPG Configuration Options.
                                                               (line  25)
 * no-detach <1>:                         Scdaemon Options.    (line 132)
@@ -1779,95 +2014,95 @@ Option Index
 * no-encrypt-to:                         GPG Key related Options.
                                                               (line  37)
 * no-expensive-trust-checks:             GPG Esoteric Options.
-                                                              (line 444)
+                                                              (line 453)
 * no-ext-connect:                        Invoking gpg-connect-agent.
                                                               (line  48)
 * no-grab:                               Agent Options.       (line 136)
 * no-greeting:                           GPG Configuration Options.
-                                                              (line 649)
+                                                              (line 662)
 * no-groups:                             GPG Key related Options.
                                                               (line  59)
 * no-literal:                            GPG Esoteric Options.
-                                                              (line 370)
+                                                              (line 379)
 * no-mangle-dos-filenames:               GPG Configuration Options.
-                                                              (line 294)
+                                                              (line 295)
 * no-mdc-warning:                        GPG Configuration Options.
-                                                              (line 668)
+                                                              (line 681)
 * no-options:                            GPG Configuration Options.
-                                                              (line 269)
+                                                              (line 270)
 * no-random-seed-file:                   GPG Configuration Options.
-                                                              (line 643)
+                                                              (line 656)
 * no-secmem-warning <1>:                 Configuration Options.
                                                               (line  55)
 * no-secmem-warning:                     GPG Configuration Options.
-                                                              (line 652)
+                                                              (line 665)
 * no-sig-cache:                          GPG Configuration Options.
-                                                              (line 579)
+                                                              (line 586)
 * no-sig-create-check:                   GPG Configuration Options.
-                                                              (line 588)
+                                                              (line 595)
 * no-skip-hidden-recipients:             GPG Key related Options.
                                                               (line  75)
 * no-tty:                                GPG Configuration Options.
                                                               (line  48)
-* no-use-standard-socket:                Agent Options.       (line 237)
+* no-use-standard-socket:                Agent Options.       (line 239)
 * no-verbose:                            GPG Configuration Options.
                                                               (line  32)
 * not-dash-escaped:                      GPG Esoteric Options.
-                                                              (line 249)
-* openpgp:                               OpenPGP Options.     (line 116)
+                                                              (line 253)
+* openpgp:                               Compliance Options.  (line  20)
 * options <1>:                           Scdaemon Options.    (line   7)
 * options <2>:                           Configuration Options.
                                                               (line  10)
 * options <3>:                           GPG Configuration Options.
-                                                              (line 264)
+                                                              (line 265)
 * options:                               Agent Options.       (line   7)
 * output <1>:                            gpg-zip.             (line  47)
 * output <2>:                            Input and Output.    (line  52)
 * output:                                GPG Input and Output.
                                                               (line  16)
 * override-session-key:                  GPG Esoteric Options.
-                                                              (line 388)
+                                                              (line 397)
 * p12-charset:                           Input and Output.    (line  24)
 * passphrase <1>:                        Invoking gpg-preset-passphrase.
                                                               (line  35)
 * passphrase:                            GPG Esoteric Options.
-                                                              (line 288)
+                                                              (line 292)
 * passphrase-fd:                         GPG Esoteric Options.
-                                                              (line 271)
+                                                              (line 275)
 * passphrase-file:                       GPG Esoteric Options.
-                                                              (line 279)
+                                                              (line 283)
 * passphrase-repeat:                     GPG Esoteric Options.
-                                                              (line 266)
+                                                              (line 270)
 * passwd <1>:                            Certificate Management.
                                                               (line  97)
 * passwd:                                OpenPGP Key Management.
                                                               (line 294)
 * pcsc-driver:                           Scdaemon Options.    (line 140)
 * permission-warning:                    GPG Configuration Options.
-                                                              (line 655)
+                                                              (line 668)
 * personal-cipher-preferences:           OpenPGP Options.     (line  45)
 * personal-compress-preferences:         OpenPGP Options.     (line  64)
 * personal-digest-preferences:           OpenPGP Options.     (line  54)
-* pgp2:                                  OpenPGP Options.     (line 134)
-* pgp6:                                  OpenPGP Options.     (line 147)
-* pgp7:                                  OpenPGP Options.     (line 158)
-* pgp8:                                  OpenPGP Options.     (line 164)
+* pgp2:                                  Compliance Options.  (line  38)
+* pgp6:                                  Compliance Options.  (line  51)
+* pgp7:                                  Compliance Options.  (line  62)
+* pgp8:                                  Compliance Options.  (line  68)
 * photo-viewer:                          GPG Configuration Options.
                                                               (line 173)
-* pinentry-program:                      Agent Options.       (line 213)
-* pinentry-touch-file:                   Agent Options.       (line 217)
+* pinentry-program:                      Agent Options.       (line 215)
+* pinentry-touch-file:                   Agent Options.       (line 219)
 * policy-file:                           Configuration Options.
                                                               (line  31)
 * prefer-system-dirmngr:                 Configuration Options.
                                                               (line  46)
 * preserve-permissions:                  GPG Esoteric Options.
-                                                              (line 447)
+                                                              (line 456)
 * preset:                                Invoking gpg-preset-passphrase.
                                                               (line  20)
 * primary-keyring:                       GPG Configuration Options.
-                                                              (line 211)
+                                                              (line 212)
 * print-md:                              Operational GPG Commands.
-                                                              (line 294)
+                                                              (line 314)
 * q <1>:                                 Invoking symcryptrun.
                                                               (line  35)
 * q:                                     Invoking gpg-connect-agent.
@@ -1884,65 +2119,61 @@ Option Index
                                                               (line  34)
 * reader-port:                           Scdaemon Options.    (line 157)
 * rebuild-keydb-caches:                  Operational GPG Commands.
-                                                              (line 288)
+                                                              (line 308)
 * recipient <1>:                         gpg-zip.             (line  36)
 * recipient <2>:                         Input and Output.    (line  47)
 * recipient:                             GPG Key related Options.
                                                               (line   8)
 * recv-keys:                             Operational GPG Commands.
-                                                              (line 220)
+                                                              (line 240)
 * refresh-keys:                          Operational GPG Commands.
-                                                              (line 224)
+                                                              (line 244)
 * reload:                                Invoking gpgconf.    (line  48)
 * require-cross-certification:           GPG Configuration Options.
-                                                              (line 677)
+                                                              (line 690)
 * require-secmem:                        GPG Configuration Options.
-                                                              (line 672)
-* rfc1991:                               OpenPGP Options.     (line 131)
-* rfc2440:                               OpenPGP Options.     (line 127)
-* rfc4880:                               OpenPGP Options.     (line 122)
+                                                              (line 685)
+* rfc1991:                               Compliance Options.  (line  35)
+* rfc2440:                               Compliance Options.  (line  31)
+* rfc4880:                               Compliance Options.  (line  26)
 * run:                                   Invoking gpg-connect-agent.
                                                               (line  53)
 * s2k-cipher-algo:                       OpenPGP Options.     (line  74)
 * s2k-count:                             OpenPGP Options.     (line  91)
 * s2k-digest-algo:                       OpenPGP Options.     (line  80)
 * s2k-mode:                              OpenPGP Options.     (line  84)
-* scdaemon-program:                      Agent Options.       (line 226)
+* scdaemon-program:                      Agent Options.       (line 228)
 * search-keys:                           Operational GPG Commands.
-                                                              (line 233)
+                                                              (line 253)
 * secret-keyring:                        GPG Configuration Options.
-                                                              (line 208)
+                                                              (line 209)
 * send-keys:                             Operational GPG Commands.
-                                                              (line 192)
+                                                              (line 200)
 * server <1>:                            Scdaemon Commands.   (line  22)
 * server <2>:                            Operational GPGSM Commands.
                                                               (line  24)
 * server:                                Agent Commands.      (line  23)
 * set-filename:                          GPG Esoteric Options.
-                                                              (line 161)
+                                                              (line 165)
 * set-filesize:                          GPG Esoteric Options.
-                                                              (line 374)
+                                                              (line 383)
 * set-notation:                          GPG Esoteric Options.
-                                                              (line 113)
+                                                              (line 117)
 * set-policy-url:                        GPG Esoteric Options.
-                                                              (line 143)
+                                                              (line 147)
 * sh:                                    Agent Options.       (line 118)
-* show-keyring:                          GPG Esoteric Options.
-                                                              (line 493)
-* show-notation:                         GPG Esoteric Options.
-                                                              (line 502)
-* show-photos:                           GPG Esoteric Options.
-                                                              (line 485)
-* show-policy-url:                       GPG Esoteric Options.
-                                                              (line 510)
+* show-keyring:                          Deprecated Options.  (line  16)
+* show-notation:                         Deprecated Options.  (line  25)
+* show-photos:                           Deprecated Options.  (line   8)
+* show-policy-url:                       Deprecated Options.  (line  33)
 * show-session-key:                      GPG Esoteric Options.
-                                                              (line 378)
+                                                              (line 387)
 * sig-keyserver-url:                     GPG Esoteric Options.
-                                                              (line 153)
+                                                              (line 157)
 * sig-notation:                          GPG Esoteric Options.
-                                                              (line 113)
+                                                              (line 117)
 * sig-policy-url:                        GPG Esoteric Options.
-                                                              (line 143)
+                                                              (line 147)
 * sign <1>:                              Operational GPGSM Commands.
                                                               (line  16)
 * sign:                                  Operational GPG Commands.
@@ -1950,11 +2181,11 @@ Option Index
 * sign-key:                              OpenPGP Key Management.
                                                               (line 285)
 * simple-sk-checksum:                    GPG Configuration Options.
-                                                              (line 568)
+                                                              (line 575)
 * skip-hidden-recipients:                GPG Key related Options.
                                                               (line  75)
 * skip-verify:                           GPG Esoteric Options.
-                                                              (line 354)
+                                                              (line 363)
 * status-fd <1>:                         gpgv.                (line  40)
 * status-fd:                             GPG Esoteric Options.
                                                               (line  69)
@@ -1970,38 +2201,38 @@ Option Index
 * tar-args:                              gpg-zip.             (line  59)
 * textmode:                              OpenPGP Options.     (line   8)
 * throw-keyids:                          GPG Esoteric Options.
-                                                              (line 240)
+                                                              (line 244)
 * trust-mode:always:                     GPG Configuration Options.
-                                                              (line 368)
+                                                              (line 369)
 * trust-mode:auto:                       GPG Configuration Options.
-                                                              (line 376)
+                                                              (line 378)
 * trust-mode:classic:                    GPG Configuration Options.
-                                                              (line 360)
+                                                              (line 361)
 * trust-mode:direct:                     GPG Configuration Options.
-                                                              (line 364)
+                                                              (line 365)
 * trust-mode:pgp:                        GPG Configuration Options.
-                                                              (line 355)
+                                                              (line 356)
 * trust-model:                           GPG Configuration Options.
-                                                              (line 352)
+                                                              (line 353)
 * trustdb-name:                          GPG Configuration Options.
-                                                              (line 216)
+                                                              (line 217)
 * trusted-key:                           GPG Configuration Options.
-                                                              (line 345)
+                                                              (line 346)
 * try-all-secrets:                       GPG Key related Options.
                                                               (line  67)
-* ttyname:                               Agent Options.       (line 257)
-* ttytype:                               Agent Options.       (line 257)
+* ttyname:                               Agent Options.       (line 259)
+* ttytype:                               Agent Options.       (line 259)
 * ungroup:                               GPG Key related Options.
                                                               (line  56)
 * update-trustdb:                        Operational GPG Commands.
-                                                              (line 247)
+                                                              (line 267)
 * use-agent:                             GPG Configuration Options.
-                                                              (line 605)
+                                                              (line 612)
 * use-embedded-filename:                 GPG Esoteric Options.
-                                                              (line 176)
-* use-standard-socket:                   Agent Options.       (line 237)
+                                                              (line 180)
+* use-standard-socket:                   Agent Options.       (line 239)
 * utf8-strings:                          GPG Configuration Options.
-                                                              (line 257)
+                                                              (line 258)
 * v <1>:                                 Scdaemon Options.    (line  23)
 * v:                                     Configuration Options.
                                                               (line  26)
@@ -2025,7 +2256,7 @@ Option Index
 * verify:                                Operational GPG Commands.
                                                               (line  60)
 * verify-files:                          Operational GPG Commands.
-                                                              (line  81)
+                                                              (line  89)
 * verify-options:                        GPG Configuration Options.
                                                               (line 118)
 * verify-options:pka-lookups:            GPG Configuration Options.
@@ -2069,10 +2300,10 @@ Option Index
                                                               (line 124)
 * with-key-data <1>:                     Input and Output.    (line  55)
 * with-key-data:                         GPG Esoteric Options.
-                                                              (line 358)
+                                                              (line 367)
 * with-validation:                       Input and Output.    (line  61)
 * write-env-file:                        Agent Options.       (line 124)
-* xauthority:                            Agent Options.       (line 257)
+* xauthority:                            Agent Options.       (line 259)
 * yes:                                   GPG Configuration Options.
                                                               (line  53)
 
@@ -2116,10 +2347,10 @@ Index
 * scdaemon.conf:                         Scdaemon Configuration.
                                                               (line  11)
 * SIGHUP:                                Agent Signals.       (line  12)
-* SIGINT:                                Agent Signals.       (line  28)
-* SIGTERM:                               Agent Signals.       (line  23)
-* SIGUSR1:                               Agent Signals.       (line  31)
-* SIGUSR2:                               Agent Signals.       (line  34)
+* SIGINT:                                Agent Signals.       (line  29)
+* SIGTERM:                               Agent Signals.       (line  24)
+* SIGUSR1:                               Agent Signals.       (line  32)
+* SIGUSR2:                               Agent Signals.       (line  35)
 * sshcontrol:                            Agent Configuration. (line  76)
 
 
index 4c7f13f..c3dfd82 100644 (file)
@@ -372,13 +372,16 @@ seconds.  The default is 1800 seconds.
 @opindex max-cache-ttl
 Set the maximum time a cache entry is valid to @var{n} seconds.  After
 this time a cache entry will be expired even if it has been accessed
-recently.  The default is 2 hours (7200 seconds).
+recently or has been set using @command{gpg-preset-passphrase}.  The
+default is 2 hours (7200 seconds).
 
 @item --max-cache-ttl-ssh @var{n}
 @opindex max-cache-ttl-ssh
-Set the maximum time a cache entry used for SSH keys is valid to @var{n}
-seconds.  After this time a cache entry will be expired even if it has
-been accessed recently.  The default is 2 hours (7200 seconds).
+Set the maximum time a cache entry used for SSH keys is valid to
+@var{n} seconds.  After this time a cache entry will be expired even
+if it has been accessed recently or has been set using
+@command{gpg-preset-passphrase}.  The default is 2 hours (7200
+seconds).
 
 @item --enforce-passphrase-constraints
 @opindex enforce-passphrase-constraints
@@ -449,6 +452,16 @@ Do not make use of the scdaemon tool.  This option has the effect of
 disabling the ability to do smartcard operations.  Note, that enabling
 this option at runtime does not kill an already forked scdaemon.
 
+@ifset gpgtwoone
+@item --disable-check-own-socket
+@opindex disable-check-own-socket
+@command{gpg-agent} employs a periodic self-test to detect a stolen
+socket.  This usually means a second instance of @command{gpg-agent}
+has taken over the socket and @command{gpg-agent} will then terminate
+itself.  This option may be used to disable this self-test for
+debugging purposes.
+@end ifset
+
 @item --use-standard-socket
 @itemx --no-use-standard-socket
 @opindex use-standard-socket
@@ -695,14 +708,16 @@ Here is a list of supported signals:
 @item SIGHUP
 @cpindex SIGHUP
 This signal flushes all cached passphrases and if the program has been
-started with a configuration file, the configuration file is read again.
-Only certain options are honored: @code{quiet}, @code{verbose},
-@code{debug}, @code{debug-all}, @code{debug-level}, @code{no-grab},
-@code{pinentry-program}, @code{default-cache-ttl}, @code{max-cache-ttl},
-@code{ignore-cache-for-signing}, @code{allow-mark-trusted} and
-@code{disable-scdaemon}.  @code{scdaemon-program} is also supported but
-due to the current implementation, which calls the scdaemon only once,
-it is not of much use unless you manually kill the scdaemon.
+started with a configuration file, the configuration file is read
+again.  Only certain options are honored: @code{quiet},
+@code{verbose}, @code{debug}, @code{debug-all}, @code{debug-level},
+@code{no-grab}, @code{pinentry-program}, @code{default-cache-ttl},
+@code{max-cache-ttl}, @code{ignore-cache-for-signing},
+@code{allow-mark-trusted}, @code{disable-scdaemon}, and
+@code{disable-check-own-socket}.  @code{scdaemon-program} is also
+supported but due to the current implementation, which calls the
+scdaemon only once, it is not of much use unless you manually kill the
+scdaemon.
 
 
 @item SIGTERM
@@ -796,6 +811,14 @@ certificate is that it will be possible to use the same keypair for
 different protocols, thereby saving space on the token used to keep the
 secret keys.
 
+@ifset gpgtwoone
+The @command{gpg-agent} may send status messages during a command or when
+returning from a command to inform a client about the progress or result of an
+operation.  For example, the @var{INQUIRE_MAXLEN} status message may be sent
+during a server inquire to inform the client of the maximum usable length of
+the inquired data (which should not be exceeded).
+@end ifset
+
 @menu
 * Agent PKDECRYPT::       Decrypting a session key
 * Agent PKSIGN::          Signing a Hash
@@ -804,6 +827,10 @@ secret keys.
 * Agent EXPORT::          Exporting a Secret Key
 * Agent ISTRUSTED::       Importing a Root Certificate
 * Agent GET_PASSPHRASE::  Ask for a passphrase
+* Agent CLEAR_PASSPHRASE:: Expire a cached passphrase
+@ifset gpgtwoone
+* Agent PRESET_PASSPHRASE:: Set a passphrase for a keygrip
+@end ifset
 * Agent GET_CONFIRMATION:: Ask for confirmation
 * Agent HAVEKEY::         Check whether a key is available
 * Agent LEARN::           Register a smartcard
@@ -873,10 +900,15 @@ Here is an example session:
    C: D    (b 3F444677CA)))
    C: END
    S: # session key follows
+   S: S PADDING 0
    S: D (value 1234567890ABCDEF0)
    S: OK descryption successful
 @end example
 
+The “PADDING” status line is only send if gpg-agent can tell what kind
+of padding is used.  As of now only the value 0 is used to indicate
+that the padding has been removed.
+
 
 @node Agent PKSIGN
 @subsection Signing a Hash
@@ -972,7 +1004,12 @@ option allows to choose the storage location.  To get the secret key out
 of the PSE, a special export tool has to be used.
 
 @example
+@ifset gpgtwoone
+   GENKEY [--no-protection] [--preset] [<cache_nonce>]
+@end ifset
+@ifclear gpgtwoone
    GENKEY
+@end ifclear
 @end example
 
 Invokes the key generation process and the server will then inquire
@@ -1017,6 +1054,13 @@ Here is an example session:
    S  OK key created
 @end example
 
+@ifset gpgtwoone
+The @option{--no-protection} option may be used to prevent prompting for a
+passphrase to protect the secret key while leaving the secret key unprotected.
+The @option{--preset} option may be used to add the passphrase to the cache
+using the default cache parameters.
+@end ifset
+
 @node Agent IMPORT
 @subsection Importing a Secret Key
 
@@ -1173,6 +1217,52 @@ may be used to invalidate the cache entry for a passphrase.  The
 function returns with OK even when there is no cached passphrase.
 
 
+
+@node Agent CLEAR_PASSPHRASE
+@subsection Remove a cached passphrase
+
+Use this command to remove a cached passphrase.
+
+@example
+@ifset gpgtwoone
+  CLEAR_PASSPHRASE [--mode=normal] <cache_id>
+@end ifset
+@ifclear gpgtwoone
+  CLEAR_PASSPHRASE <cache_id>
+@end ifclear
+@end example
+
+@ifset gpgtwoone
+The @option{--mode=normal} option can be used to clear a @var{cache_id} that
+was set by gpg-agent.
+@end ifset
+
+
+
+@ifset gpgtwoone
+@node Agent PRESET_PASSPHRASE
+@subsection Set a passphrase for a keygrip
+
+This command adds a passphrase to the cache for the specified @var{keygrip}.
+
+@example
+  PRESET_PASSPHRASE [--inquire] <string_or_keygrip> <timeout> [<hexstring>]
+@end example
+
+The passphrase is a hexidecimal string when specified. When not specified, the
+passphrase will be retrieved from the pinentry module unless the
+@option{--inquire} option was specified in which case the passphrase will be
+retrieved from the client.
+
+The @var{timeout} parameter keeps the passphrase cached for the specified
+number of seconds. A value of @code{-1} means infinate while @code{0} means
+the default (currently only a timeout of -1 is allowed, which means to never
+expire it).
+@end ifset
+
+
+
+
 @node Agent GET_CONFIRMATION
 @subsection Ask for confirmation
 
@@ -1225,12 +1315,22 @@ option given the certificates are send back.
 @subsection Change a Passphrase
 
 @example
+@ifset gpgtwoone
+  PASSWD [--cache-nonce=<c>] [--passwd-nonce=<s>] [--preset] @var{keygrip}
+@end ifset
+@ifclear gpgtwoone
   PASSWD @var{keygrip}
+@end ifclear
 @end example
 
 This command is used to interactively change the passphrase of the key
 identified by the hex string @var{keygrip}.
 
+@ifset gpgtwoone
+The @option{--preset} option may be used to add the new passphrase to the
+cache using the default cache parameters.
+@end ifset
+
 
 @node Agent UPDATESTARTUPTTY
 @subsection Change the standard display
index 420326b..d66259e 100644 (file)
@@ -252,6 +252,14 @@ signed stuff from STDIN, use @samp{-} as the second filename.  For
 security reasons a detached signature cannot read the signed material
 from STDIN without denoting it in the above way.
 
+Note: When verifying a cleartext signature, @command{gpg} verifies
+only what makes up the cleartext signed data and not any extra data
+outside of the cleartext signature or header lines following directly
+the dash marker line.  The option @code{--output} may be used to write
+out the actual signed data; but there are other pitfalls with this
+format as well.  It is suggested to avoid cleartext signatures in
+favor of detached signatures.
+
 @item --multifile
 @opindex multifile
 This modifies certain other commands to accept multiple files for
@@ -388,7 +396,7 @@ safeguard against accidental deletion of multiple keys.
 
 @item --delete-secret-key @code{name}
 @opindex delete-secret-key
-Remove key from the secret and public keyring. In batch mode the key
+Remove key from the secret keyring. In batch mode the key
 must be specified by fingerprint.
 
 @item --delete-secret-and-public-key @code{name}
@@ -400,8 +408,8 @@ removed first. In batch mode the key must be specified by fingerprint.
 @opindex export
 Either export all keys from all keyrings (default keyrings and those
 registered via option @option{--keyring}), or if at least one name is given,
-those of the given name. The new keyring is written to STDOUT or to the
-file given with option @option{--output}. Use together with
+those of the given name. The exported keys are written to STDOUT or to the
+file given with option @option{--output}.  Use together with
 @option{--armor} to mail those keys.
 
 @item --send-keys @code{key IDs}
@@ -416,14 +424,30 @@ or changed by you.  If no key IDs are given, @command{gpg} does nothing.
 @itemx --export-secret-subkeys
 @opindex export-secret-keys
 @opindex export-secret-subkeys
-Same as @option{--export}, but exports the secret keys instead.  This is
-normally not very useful and a security risk.  The second form of the
-command has the special property to render the secret part of the
-primary key useless; this is a GNU extension to OpenPGP and other
-implementations can not be expected to successfully import such a key.
+Same as @option{--export}, but exports the secret keys instead.  The
+exported keys are written to STDOUT or to the file given with option
+@option{--output}.  This command is often used along with the option
+@option{--armor} to allow easy printing of the key for paper backup;
+however the external tool @command{paperkey} does a better job for
+creating backups on paper.  Note that exporting a secret key can be a
+security risk if the exported keys are send over an insecure channel.
+
+The second form of the command has the special property to render the
+secret part of the primary key useless; this is a GNU extension to
+OpenPGP and other implementations can not be expected to successfully
+import such a key.  Its intended use is to generated a full key with
+an additional signing subkey on a dedicated machine and then using
+this command to export the key without the primary key to the main
+machine.
+
+@ifset gpgtwoone
+GnuPG may ask you to enter the passphrase for the key.  This is
+required because the internal protection method of the secret key is
+different from the one specified by the OpenPGP protocol.
+@end ifset
 @ifclear gpgtwoone
-See the option @option{--simple-sk-checksum} if you want to import such
-an exported key with an older OpenPGP implementation.
+See the option @option{--simple-sk-checksum} if you want to import an
+exported secret key into ancient OpenPGP implementations.
 @end ifclear
 
 @item --import
@@ -898,6 +922,24 @@ Signs a public key with your secret key but marks it as
 non-exportable. This is a shortcut version of the subcommand "lsign"
 from @option{--edit-key}.
 
+@ifset gpgtwoone
+@item --quick-sign-key @code{fpr} [@code{names}]
+@itemx --quick-lsign-key @code{name}
+@opindex quick-sign-key
+@opindex quick-lsign-key
+Directly sign a key from the passphrase without any further user
+interaction.  The @code{fpr} must be the verified primary fingerprint
+of a key in the local keyring. If no @code{names} are given, all
+useful user ids are signed; with given [@code{names}] only useful user
+ids matching one of theses names are signed.  The command
+@option{--quick-lsign-key} marks the signatures as non-exportable.
+
+This command uses reasonable defaults and thus does not provide the
+full flexibility of the "sign" subcommand from @option{--edit-key}.
+Its intended use to help unattended signing using a list of verified
+fingerprints.
+@end ifset
+
 @ifclear gpgone
 @item --passwd @var{user_id}
 @opindex passwd
@@ -926,7 +968,9 @@ behaviour and to change the default configuration.
 * GPG Key related Options::     Key related options.
 * GPG Input and Output::        Input and Output.
 * OpenPGP Options::             OpenPGP protocol specific options.
+* Compliance Options::          Compliance options.
 * GPG Esoteric Options::        Doing things one usually don't want to do.
+* Deprecated Options::          Deprecated options.
 @end menu
 
 Long options can be put in an options file (default
@@ -1167,7 +1211,7 @@ for the key fingerprint, "%t" for the extension of the image type
 (e.g. "jpg"), "%T" for the MIME type of the image (e.g. "image/jpeg"),
 "%v" for the single-character calculated validity of the image being
 viewed (e.g. "f"), "%V" for the calculated validity as a string (e.g.
-"full"),
+"full"), "%U" for a base32 encoded hash of the user ID,
 and "%%" for an actual percent sign. If neither %i or %I are present,
 then the photo will be supplied to the viewer on standard input.
 
@@ -1293,9 +1337,7 @@ encoded in the character set as specified by
 @option{--display-charset}. These options affect all following
 arguments. Both options may be used multiple times.
 
-@ifset gpgone
-@anchor{option --options}
-@end ifset
+@anchor{gpg-option --options}
 @item --options @code{file}
 @opindex options
 Read options from @code{file} and do not try to read them from the
@@ -1423,7 +1465,9 @@ Set what trust model GnuPG should follow. The models are:
   trusted. You generally won't use this unless you are using some
   external validation scheme. This option also suppresses the
   "[uncertain]" tag printed with signature checks when there is no
-  evidence that the user ID is bound to the key.
+  evidence that the user ID is bound to the key.  Note that this
+  trust model still does not allow the use of expired, revoked, or
+  disabled keys.
 
   @item auto
   @opindex trust-mode:auto
@@ -1474,6 +1518,10 @@ mechanisms, in the order they are to be tried:
   position of this mechanism in the list does not matter.  It is not
   required if @code{local} is also used.
 
+  @item clear
+  Clear all defined mechanisms.  This is useful to override
+  mechanisms given in a config file.
+
 @end table
 
 @item --keyid-format @code{short|0xshort|long|0xlong}
@@ -1598,16 +1646,29 @@ are available for all keyserver types, some common options are:
   program uses internally (libcurl, openldap, etc).
 
   @item check-cert
+@ifset gpgtwoone
+  This option has no more function since GnuPG 2.1.  Use the
+  @code{dirmngr} configuration options instead.
+@end ifset
+@ifclear gpgtwoone
   Enable certificate checking if the keyserver presents one (for hkps or
   ldaps).  Defaults to on.
+@end ifclear
 
   @item ca-cert-file
+@ifset gpgtwoone
+  This option has no more function since GnuPG 2.1.  Use the
+  @code{dirmngr} configuration options instead.
+@end ifset
+@ifclear gpgtwoone
   Provide a certificate store to override the system default.  Only
   necessary if check-cert is enabled, and the keyserver is using a
   certificate that is not present in a system default certificate list.
 
   Note that depending on the SSL library that the keyserver helper is
   built with, this may actually be a directory or a file.
+@end ifclear
+
 @end table
 
 @item --completes-needed @code{n}
@@ -1688,6 +1749,25 @@ been given.  Given that this option is not anymore used by
 @command{gpg2}, it should be avoided if possible.
 @end ifset
 
+
+@ifclear gpgone
+@item --agent-program @var{file}
+@opindex agent-program
+Specify an agent program to be used for secret key operations.  The
+default value is the @file{/usr/bin/gpg-agent}.  This is only used
+as a fallback when the environment variable @code{GPG_AGENT_INFO} is not
+set or a running agent cannot be connected.
+@end ifclear
+
+@ifset gpgtwoone
+@item --dirmngr-program @var{file}
+@opindex dirmngr-program
+Specify a dirmngr program to be used for keyserver access.  The
+default value is @file{/usr/sbin/dirmngr}.  This is only used as a
+fallback when the environment variable @code{DIRMNGR_INFO} is not set or
+a running dirmngr cannot be connected.
+@end ifset
+
 @item --lock-once
 @opindex lock-once
 Lock the databases the first time a lock is requested
@@ -2045,6 +2125,15 @@ Since GnuPG 2.0.10, this mode is always used and thus this option is
 obsolete; it does not harm to use it though.
 @end ifclear
 
+@ifset gpgtwoone
+@item --legacy-list-mode
+@opindex legacy-list-mode
+Revert to the pre-2.1 public key list mode.  This only affects the
+human readable output and not the machine interface
+(i.e. @code{--with-colons}).  Note that the legacy format does not
+allow to convey suitable information for elliptic curves.
+@end ifset
+
 @item --with-fingerprint
 @opindex with-fingerprint
 Same as the command @option{--fingerprint} but changes only the format
@@ -2054,6 +2143,12 @@ of the output and may be used together with another command.
 @item --with-keygrip
 @opindex with-keygrip
 Include the keygrip in the key listings.
+
+@item --with-secret
+@opindex with-secret
+Include info about the presence of a secret key in public key listings
+done with @code{--with-colons}.
+
 @end ifset
 
 @end table
@@ -2185,6 +2280,7 @@ meaningful if @option{--s2k-mode} is 3.
 @c ***************************
 @c ******* Compliance ********
 @c ***************************
+@node Compliance Options
 @subsection Compliance options
 
 These options control what GnuPG is compliant to. Only one of these
@@ -2234,10 +2330,18 @@ a message that PGP 2.x will not be able to handle. Note that `PGP
 2.x' here means `MIT PGP 2.6.2'. There are other versions of PGP 2.x
 available, but the MIT release is a good common baseline.
 
-This option implies @option{--rfc1991 --disable-mdc
---no-force-v4-certs --escape-from-lines --force-v3-sigs --cipher-algo
-IDEA --digest-algo MD5 --compress-algo ZIP}. It also disables
-@option{--textmode} when encrypting.
+This option implies
+@ifset gpgone
+@option{--rfc1991 --disable-mdc --no-force-v4-certs
+--escape-from-lines --force-v3-sigs
+--cipher-algo IDEA --digest-algo MD5 --compress-algo ZIP}.
+@end ifset
+@ifclear gpgone
+@option{--rfc1991 --disable-mdc --no-force-v4-certs
+--escape-from-lines --force-v3-sigs --allow-weak-digest-algos
+--cipher-algo IDEA --digest-algo MD5 --compress-algo ZIP}.
+@end ifclear
+It also disables @option{--textmode} when encrypting.
 
 @item --pgp6
 @opindex pgp6
@@ -2399,8 +2503,12 @@ protected by the signature.
 @item --emit-version
 @itemx --no-emit-version
 @opindex emit-version
-Force inclusion of the version string in ASCII armored output.
-@option{--no-emit-version} disables this option.
+Force inclusion of the version string in ASCII armored output.  If
+given once only the name of the program and the major number is
+emitted (default), given twice the minor is also emitted, given triple
+the micro is added, and given quad an operating system identification
+is also emitted.  @option{--no-emit-version} disables the version
+line.
 
 @item --sig-notation @code{name=value}
 @itemx --cert-notation @code{name=value}
@@ -2418,7 +2526,7 @@ check. @code{value} may be any printable string; it will be encoded in
 UTF8, so you should check that your @option{--display-charset} is set
 correctly. If you prefix @code{name} with an exclamation mark (!), the
 notation data will be flagged as critical
-(rfc2440:5.2.3.15). @option{--sig-notation} sets a notation for data
+(rfc4880:5.2.3.16). @option{--sig-notation} sets a notation for data
 signatures. @option{--cert-notation} sets a notation for key signatures
 (certifications). @option{--set-notation} sets both.
 
@@ -2440,7 +2548,7 @@ meaningful when using the OpenPGP smartcard.
 @opindex sig-policy-url
 @opindex cert-policy-url
 @opindex set-policy-url
-Use @code{string} as a Policy URL for signatures (rfc2440:5.2.3.19).  If
+Use @code{string} as a Policy URL for signatures (rfc4880:5.2.3.20).  If
 you prefix it with an exclamation mark (!), the policy URL packet will
 be flagged as critical. @option{--sig-policy-url} sets a policy url for
 data signatures. @option{--cert-policy-url} sets a policy url for key
@@ -2611,6 +2719,26 @@ Note that this passphrase is only used if the option @option{--batch}
 has also been given.  This is different from @command{gpg}.
 @end ifclear
 
+@ifset gpgtwoone
+@item --pinentry-mode @code{mode}
+@opindex pinentry-mode
+Set the pinentry mode to @code{mode}.  Allowed values for @code{mode}
+are:
+@table @asis
+  @item default
+  Use the default of the agent, which is @code{ask}.
+  @item ask
+  Force the use of the Pinentry.
+  @item cancel
+  Emulate use of Pinentry's cancel button.
+  @item error
+  Return a Pinentry error (``No Pinentry'').
+  @item loopback
+  Redirect Pinentry queries to the caller.  Note that in contrast to
+  Pinentry the user is not prompted again if he enters a bad password.
+@end table
+@end ifset
+
 @item --command-fd @code{n}
 @opindex command-fd
 This is a replacement for the deprecated shared-memory IPC mode.
@@ -2669,6 +2797,14 @@ necessary to get as much data as possible out of the corrupt message.
 However, be aware that a MDC protection failure may also mean that the
 message was tampered with intentionally by an attacker.
 
+@ifclear gpgone
+@item --allow-weak-digest-algos
+@opindex allow-weak-digest-algos
+Signatures made with the broken MD5 algorithm are normally rejected
+with an ``invalid digest algorithm'' message.  This option allows the
+verification of signatures made with such weak algorithms.
+@end ifclear
+
 @item --no-default-keyring
 @opindex no-default-keyring
 Do not add the default keyrings to the list of keyrings. Note that
@@ -2827,6 +2963,7 @@ on the configuration file.
 @c *******************************
 @c ******* Deprecated ************
 @c *******************************
+@node Deprecated Options
 @subsection Deprecated options
 
 @table @gnupgtabopt
@@ -2909,7 +3046,7 @@ current home directory (@pxref{option --homedir}).
   This is the standard configuration file read by @command{@gpgname} on
   startup.  It may contain any valid long option; the leading two dashes
   may not be entered and the option may not be abbreviated.  This default
-  name may be changed on the command line (@pxref{option --options}).
+  name may be changed on the command line (@pxref{gpg-option --options}).
   You should backup this file.
 
 @end table
@@ -2929,18 +3066,33 @@ files; They all live in in the current home directory (@pxref{option
 
 
 @table @file
-  @item ~/.gnupg/secring.gpg
-  The secret keyring.  You should backup this file.
-
-  @item ~/.gnupg/secring.gpg.lock
-  The lock file for the secret keyring.
-
   @item ~/.gnupg/pubring.gpg
   The public keyring.  You should backup this file.
 
   @item ~/.gnupg/pubring.gpg.lock
   The lock file for the public keyring.
 
+@ifset gpgtwoone
+  @item ~/.gnupg/pubring.kbx
+  The public keyring using a different format.  This file is sharred
+  with @command{gpgsm}.  You should backup this file.
+
+  @item ~/.gnupg/pubring.kbx.lock
+  The lock file for @file{pubring.kbx}.
+@end ifset
+
+  @item ~/.gnupg/secring.gpg
+@ifclear gpgtwoone
+  The secret keyring.  You should backup this file.
+@end ifclear
+@ifset gpgtwoone
+  A secret keyring as used by GnuPG versions before 2.1.  It is not
+  used by GnuPG 2.1 and later.
+
+  @item ~/.gnupg/.gpg-v21-migrated
+  File indicating that a migration to GnuPG 2.1 has taken place.
+@end ifset
+
   @item ~/.gnupg/trustdb.gpg
   The trust database.  There is no need to backup this file; it is better
   to backup the ownertrust values (@pxref{option --export-ownertrust}).
@@ -2951,6 +3103,9 @@ files; They all live in in the current home directory (@pxref{option
   @item ~/.gnupg/random_seed
   A file used to preserve the state of the internal random pool.
 
+  @item ~/.gnupg/secring.gpg.lock
+  The lock file for the secret keyring.
+
   @item /usr[/local]/share/gnupg/options.skel
   The skeleton options file.
 
@@ -2972,9 +3127,9 @@ Operation is further controlled by a few environment variables:
 
   @item GPG_AGENT_INFO
   Used to locate the gpg-agent.
-  @ifset gpgone
+@ifset gpgone
   This is only honored when @option{--use-agent} is set.
-  @end ifset
+@end ifset
   The value consists of 3 colon delimited fields: The first is the path
   to the Unix Domain Socket, the second the PID of the gpg-agent and the
   protocol version which should be set to 1. When starting the gpg-agent
@@ -3149,8 +3304,8 @@ are almost always required for this.
 @end menu
 
 
-@node Unattended GPG key generation,,,Unattended Usage of GPG
-@section Unattended key generation
+@node Unattended GPG key generation
+@subsection Unattended key generation
 
 The command @option{--gen-key} may be used along with the option
 @option{--batch} for unattended key generation.  The parameters are
@@ -3290,21 +3445,23 @@ If you don't give any of them, no user ID is created.
 
 @item Expire-Date: @var{iso-date}|(@var{number}[d|w|m|y])
 Set the expiration date for the key (and the subkey).  It may either
-be entered in ISO date format (2000-08-15) or as number of days,
-weeks, month or years.  The special notation "seconds=N" is also
-allowed to directly give an Epoch value. Without a letter days are
-assumed.  Note that there is no check done on the overflow of the type
-used by OpenPGP for timestamps.  Thus you better make sure that the
-given value make sense.  Although OpenPGP works with time intervals,
-GnuPG uses an absolute value internally and thus the last year we can
-represent is 2105.
+be entered in ISO date format (e.g. "20000815T145012") or as number of
+days, weeks, month or years after the creation date.  The special
+notation "seconds=N" is also allowed to specify a number of seconds
+since creation.  Without a letter days are assumed.  Note that there
+is no check done on the overflow of the type used by OpenPGP for
+timestamps.  Thus you better make sure that the given value make
+sense.  Although OpenPGP works with time intervals, GnuPG uses an
+absolute value internally and thus the last year we can represent is
+2105.
 
 @item  Ceation-Date: @var{iso-date}
 Set the creation date of the key as stored in the key information and
 which is also part of the fingerprint calculation.  Either a date like
 "1986-04-26" or a full timestamp like "19860426T042640" may be used.
-The time is considered to be UTC.  If it is not given the current time
-is used.
+The time is considered to be UTC.  The special notation "seconds=N"
+may be used to directly specify a the number of seconds since Epoch
+(Unix time).  If it is not given the current time is used.
 
 @item Preferences: @var{string}
 Set the cipher, hash, and compression preference values for this key.
index bdb0378..078d2ad 100644 (file)
@@ -259,13 +259,26 @@ certificate are only exported if all @var{pattern} are given as
 fingerprints or keygrips.
 
 @item --export-secret-key-p12 @var{key-id}
-@opindex export
+@opindex export-secret-key-p12
 Export the private key and the certificate identified by @var{key-id} in
-a PKCS#12 format. When using along with the @code{--armor} option a few
+a PKCS#12 format. When used with the @code{--armor} option a few
 informational lines are prepended to the output.  Note, that the PKCS#12
 format is not very secure and this command is only provided if there is
 no other way to exchange the private key. (@pxref{option --p12-charset})
 
+@ifset gpgtwoone
+@item --export-secret-key-p8 @var{key-id}
+@itemx --export-secret-key-raw @var{key-id}
+@opindex export-secret-key-p8
+@opindex export-secret-key-raw
+Export the private key of the certificate identified by @var{key-id}
+with any encryption stripped.  The @code{...-raw} command exports in
+PKCS#1 format; the @code{...-p8} command exports in PKCS#8 format.
+When used with the @code{--armor} option a few informational lines are
+prepended to the output.  These commands are useful to prepare a key
+for use on a TLS server.
+@end ifset
+
 @item --import [@var{files}]
 @opindex import
 Import the certificates from the PEM or binary encoded files as well as
@@ -319,6 +332,7 @@ in the option file.
 
 @table @gnupgtabopt
 
+@anchor{gpgsm-option --options}
 @item --options @var{file}
 @opindex options
 Reads configuration from @var{file} instead of from the default
@@ -349,7 +363,7 @@ as a fallback when the environment variable @code{GPG_AGENT_INFO} is not
 set or a running agent cannot be connected.
 
 @item --dirmngr-program @var{file}
-@opindex dirmnr-program
+@opindex dirmngr-program
 Specify a dirmngr program to be used for @acronym{CRL} checks.  The
 default value is @file{/usr/sbin/dirmngr}.  This is only used as a
 fallback when the environment variable @code{DIRMNGR_INFO} is not set or
@@ -567,6 +581,13 @@ certificate.
 Include the keygrip in standard key listings.  Note that the keygrip is
 always listed in --with-colons mode.
 
+@ifset gpgtwoone
+@item --with-secret
+@opindex with-secret
+Include info about the presence of a secret key in public key listings
+done with @code{--with-colons}.
+@end ifset
+
 @end table
 
 @c *******************************************
@@ -760,8 +781,8 @@ current home directory (@pxref{option --homedir}).
 This is the standard configuration file read by @command{gpgsm} on
 startup.  It may contain any valid long option; the leading two dashes
 may not be entered and the option may not be abbreviated.  This default
-name may be changed on the command line (@pxref{option
-  --options}).  You should backup this file.
+name may be changed on the command line (@pxref{gpgsm-option --options}).
+You should backup this file.
 
 
 @item policies.txt
@@ -915,8 +936,8 @@ but may also be used in the standard operation mode by using the
 * CSR and certificate creation::  CSR and certificate creation.
 @end menu
 
-@node Automated signature checking,,,Unattended Usage
-@section Automated signature checking
+@node Automated signature checking
+@subsection Automated signature checking
 
 It is very important to understand the semantics used with signature
 verification.  Checking a signature is not as simple as it may sound and
@@ -959,8 +980,8 @@ this is a missing certificate.
 
 @end table
 
-@node CSR and certificate creation,,,Unattended Usage
-@section CSR and certificate creation
+@node CSR and certificate creation
+@subsection CSR and certificate creation
 
 @ifclear gpgtwoone
 @strong{Please notice}: The immediate creation of certificates is only
index 7f9a48a..d13e9e4 100644 (file)
@@ -228,7 +228,7 @@ terms of section 4, provided that you also meet all of these
 conditions:
 
 @enumerate a
-@item 
+@item
 The work must carry prominent notices stating that you modified it,
 and giving a relevant date.
 
@@ -659,12 +659,15 @@ an absolute waiver of all civil liability in connection with the
 Program, unless a warranty or assumption of liability accompanies a
 copy of the Program in return for a fee.
 
+@end enumerate
+
 @iftex
 @heading END OF TERMS AND CONDITIONS
 @end iftex
 @ifinfo
 @center END OF TERMS AND CONDITIONS
 @end ifinfo
+
 @unnumberedsec How to Apply These Terms to Your New Programs
 
 If you develop a new program, and you want it to be of the greatest
@@ -675,9 +678,11 @@ terms.
 To do so, attach the following notices to the program.  It is safest
 to attach them to the start of each source file to most effectively
 state the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-@smallexample
-@var{one line to give the program's name and a brief idea of what it does.}  
+the ``copyright'' line and a pointer to where the full notice is
+found.
+
+@example
+@var{one line to give the program's name and a brief idea of what it does.}
 Copyright (C) @var{year} @var{name of author}
 
 This program is free software: you can redistribute it and/or modify
@@ -692,17 +697,21 @@ 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 @url{http://www.gnu.org/licenses/}.
-@end smallexample
+@end example
 
+@noindent
 Also add information on how to contact you by electronic and paper mail.
 
+@noindent
 If the program does terminal interaction, make it output a short
 notice like this when it starts in an interactive mode:
 
 @smallexample
-@var{program} Copyright (C) @var{year} @var{name of author} 
-This program comes with ABSOLUTELY NO WARRANTY; for details type @samp{show w}.
-This is free software, and you are welcome to redistribute it under certain conditions; type @samp{show c} for details.
+@var{program} Copyright (C) @var{year} @var{name of author}
+This program comes with ABSOLUTELY NO WARRANTY; for details
+type @samp{show w}.  This is free software, and you are
+welcome to redistribute it under certain conditions;
+type @samp{show c} for details.
 @end smallexample
 
 The hypothetical commands @samp{show w} and @samp{show c} should show
@@ -721,5 +730,3 @@ library, you may consider it more useful to permit linking proprietary
 applications with the library.  If this is what you want to do, use
 the GNU Lesser General Public License instead of this License.  But
 first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}.
-
-@end enumerate
index 36c9ffb..0a538b8 100644 (file)
@@ -1,4 +1,4 @@
-# help..txt -  GnuPG online help
+# help.ja.txt - Japanese GnuPG online help
 # Copyright (C) 2007 Free Software Foundation, Inc.
 #
 # This file is part of GnuPG.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 
+.#pinentry.qualitybar.tooltip
+# [ このエントリは有効にするには、上記のキーの # を削除してください。]
+# これは例です。
+このバーは、入力されたパスフレーズの品質を示しています。
 
-.#gpg.edit_ownertrust.value
-# fixme: Please translate and remove the hash mark from the key line.
-It's up to you to assign a value here; this value will never be exported
-to any 3rd party.  We need it to implement the web-of-trust; it has nothing
-to do with the (implicitly created) web-of-certificates.
+バーが赤い色となっている場合、GnuPGはパスフレーズが弱すぎると判断し、受
+け付けません。管理者にパスフレーズの制限の設定について詳細を問い合わせ
+てください。
 .
 
-.#gpg.edit_ownertrust.set_ultimate.okay
-# fixme: Please translate and remove the hash mark from the key line.
-To build the Web-of-Trust, GnuPG needs to know which keys are
-ultimately trusted - those are usually the keys for which you have
-access to the secret key.  Answer "yes" to set this key to
-ultimately trusted
+.gnupg.agent-problem
+# There was a problem accessing or starting the agent.
+動作中のGpg-Agentへの接続ができなかったか、通信の問題が発生しました。
 
+システムは、Gpg-Agentと呼ばれるバックグラウンド・プロセスを利用し、秘密
+鍵とパスフレーズの問い合わせを処理します。このエージェントは通常、ユー
+ザがログインするときに開始され、ログインしている間、動いています。もし、
+エージェントが利用可能でない場合、システムは、その場でエージェントの起
+動を試しますが、この場合、機能がやや制限され、若干の問題がある場合があ
+ります。
+
+もしかしたら、管理者に問い合わせて、この問題をどのように解決したら良い
+か聞いた方が良いかもしれません。とりあえずの方策としては、一度ログアウ
+トしてもう一度ログインし、改善が見られるか試してみることがあります。も
+し、これがうまくいくようであれば管理者に報告してください。それはおそら
+く、ソフトウェアのバグであることを示していますので。
 .
 
-.#gpg.untrusted_key.override
-# fixme: Please translate and remove the hash mark from the key line.
-If you want to use this untrusted key anyway, answer "yes".
+
+.gnupg.dirmngr-problem
+# There was a problen accessing the dirmngr.
+動作中のDirmngrへの接続ができなかったか、通信の問題が発生しました。
+
+証明書失効リスト(CRL)を検索し、OCSPの懸賞とLDAPサーバを通じて鍵を検索す
+るため、システムは、Dirmngrと呼ばれる外部サービス・プログラムを利用しま
+す。Dirmngrは通常、システムサービス(daemon)として実効されます、一般ユー
+ザは気にする必要はありません。問題がある場合、システムは、要求に応じて、
+Dirmngrを起動することがありますが、これは対応策であり、性能に制限が生じ
+ます。
+
+この問題がある場合、システム管理者に連絡し、どのように進めたら良いか問
+い合わせてください。とりあえずの解決策としては、gpgsmの設定でCRLの検証
+を停止させることが考えられます。
 .
 
-.#gpg.pklist.user_id.enter
-# fixme: Please translate and remove the hash mark from the key line.
-Enter the user ID of the addressee to whom you want to send the message.
+
+.gpg.edit_ownertrust.value
+ここでの値の指定は、あなたに任されています。この値は、第三者に開示され
+ることは決してありません。ウェブ・オブ・トラストを実装するためにこの値
+が必要となりますが、(暗黙的に作られる)証明書の網には何も関係しません。
 .
 
-.#gpg.keygen.algo
-# fixme: Please translate and remove the hash mark from the key line.
-Select the algorithm to use.
+.gpg.edit_ownertrust.set_ultimate.okay
+ウェブ・オブ・トラストを構築するためにGnuPGは、どの鍵が究極的に信頼でき
+るかを知る必要があります。その鍵は通常は、あなたが秘密鍵へアクセスでき
+るものです。この鍵が究極的に信頼できる場合、"yes" と答えてください。
+.
 
-DSA (aka DSS) is the Digital Signature Algorithm and can only be used
-for signatures.
 
-Elgamal is an encrypt-only algorithm.
+.gpg.untrusted_key.override
+この信頼されてない鍵をどちらにせよ使いたい場合、"yes" と答えてください。
+.
 
-RSA may be used for signatures or encryption.
+.gpg.pklist.user_id.enter
+このメッセージを送りたい宛先のユーザIDを入力してください。
+.
 
-The first (primary) key must always be a key which is capable of signing.
+.gpg.keygen.algo
+使用するアルゴリズムを選択してください。
+
+DSA (別名 DSS)は電子署名アルゴリズムであり、署名にのみ使えます。
+
+Elgamal は暗号化のみのアルゴリズムです。
+
+RSA は署名と暗号化のどちらにも使えます。
+
+主鍵は常に、署名が可能の鍵である必要があります。
 .
 
-.#gpg.keygen.algo.rsa_se
-# fixme: Please translate and remove the hash mark from the key line.
-In general it is not a good idea to use the same key for signing and
-encryption.  This algorithm should only be used in certain domains.
-Please consult your security expert first.
+
+.gpg.keygen.algo.rsa_se
+一般的に、署名と暗号化に同一の鍵を用いることは良いことではありません。
+このアルゴリズムはある特定の領域だけに使うべきです。まず、セキュリティ
+の専門家に相談してください。
 .
 
-.#gpg.keygen.size
-# fixme: Please translate and remove the hash mark from the key line.
-Enter the size of the key
+
+.gpg.keygen.size
+鍵の長さを入力してください。
+
+提案されたデフォルトが通常良い選択です。
+
+大きな鍵長を使いたい場合、たとえば4096ビットなど、本当に意味があるか再
+検討してください。こちらのウェブページを見るのも良いと思います:
+http://www.xkcd.com/538/
 .
 
-.#gpg.keygen.size.huge.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+.gpg.keygen.size.huge.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keygen.size.large.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+
+.gpg.keygen.size.large.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keygen.valid
-# fixme: Please translate and remove the hash mark from the key line.
-Enter the required value as shown in the prompt.
-It is possible to enter a ISO date (YYYY-MM-DD) but you won't
-get a good error response - instead the system tries to interpret
-the given value as an interval.
+
+.gpg.keygen.valid
+プロンプトで示された必要な値を入力してください。ISO形式の日付
+(YYYY-MM-DD)の入力が可能ですが、良いエラー対応が得られないかもしれませ
+ん。システムが与えられた値を期間と解釈することがあります。.
 .
 
-.#gpg.keygen.valid.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+.gpg.keygen.valid.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keygen.name
-# fixme: Please translate and remove the hash mark from the key line.
-Enter the name of the key holder
+
+.gpg.keygen.name
+鍵の持ち主の名前を入力してください。
+文字 "<" と ">" は許されていません。
+例: Heinrich Heine
 .
 
-.#gpg.keygen.email
-# fixme: Please translate and remove the hash mark from the key line.
-please enter an optional but highly suggested email address
+
+.gpg.keygen.email
+オプションですが推奨される電子メールアドレスを入力してください。
+例: heinrichh@duesseldorf.de
 .
 
-.#gpg.keygen.comment
-# fixme: Please translate and remove the hash mark from the key line.
-Please enter an optional comment
+.gpg.keygen.comment
+オプションのコメントを入力してください。
+文字 "(" と ")" は許されていません。
+一般的にコメントは必要ではありません。
 .
 
-.#gpg.keygen.userid.cmd
-# fixme: Please translate and remove the hash mark from the key line.
-N  to change the name.
-C  to change the comment.
-E  to change the email address.
-O  to continue with key generation.
-Q  to to quit the key generation.
+
+.gpg.keygen.userid.cmd
+# (Keep a leading empty line)
+
+N  名前の変更。
+C  コメントの変更。
+E  電子メールアドレスの変更。
+O  鍵生成に進む。
+Q  鍵生成を止める。
 .
 
-.#gpg.keygen.sub.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" (or just "y") if it is okay to generate the sub key.
+.gpg.keygen.sub.okay
+副鍵を生成してよければ、"yes" (あるいは単に "y") と答えてください。
 .
 
-.#gpg.sign_uid.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+.gpg.sign_uid.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.sign_uid.class
-# fixme: Please translate and remove the hash mark from the key line.
-When you sign a user ID on a key, you should first verify that the key
-belongs to the person named in the user ID.  It is useful for others to
-know how carefully you verified this.
+.gpg.sign_uid.class
+ある鍵のユーザIDに署名するとき、あなたは、まず、その鍵がそのユーザIDの
+人に属するかどうかを確認しなければなりません。あなたがどれくらいこれを
+慎重に確認したかについて、ほかの人が知ることは有用です。
 
-"0" means you make no particular claim as to how carefully you verified the
-    key.
+"0" は、どれくらい慎重に確認したかについて特になにも主張しないことを意味します。
 
-"1" means you believe the key is owned by the person who claims to own it
-    but you could not, or did not verify the key at all.  This is useful for
-    a "persona" verification, where you sign the key of a pseudonymous user.
+"1" は、あなたは、主張するその人が所有する鍵であると考えるが、その鍵について、
+    確認できなかった、あるいはしなかったことを意味します。これは、ペンネームの
+    ユーザの鍵に署名するような "persona" 確認に有用です。
 
-"2" means you did casual verification of the key.  For example, this could
-    mean that you verified the key fingerprint and checked the user ID on the
-    key against a photo ID.
+"2" は、その鍵に対し、通常の検証を行ったことを意味します。たとえば、鍵
+    のフィンガープリントを確認し、写真付きIDでユーザIDを確認したことを
+    意味します。
 
-"3" means you did extensive verification of the key.  For example, this could
-    mean that you verified the key fingerprint with the owner of the key in
-    person, and that you checked, by means of a hard to forge document with a
-    photo ID (such as a passport) that the name of the key owner matches the
-    name in the user ID on the key, and finally that you verified (by exchange
-    of email) that the email address on the key belongs to the key owner.
+"3" は、その鍵に対し、広範な検証を行ったことを意味します。たとえば、鍵
+    のフィンガープリントを対面で確認し、パスポートなど偽造することが難
+    しい写真付きIDでユーザIDを確認し、所有者の名前が鍵のユーザIDに適合
+    し、メールの交換で、メールアドレスが所有者に属することを確認したこ
+    とを意味します。
 
-Note that the examples given above for levels 2 and 3 are *only* examples.
-In the end, it is up to you to decide just what "casual" and "extensive"
-mean to you when you sign other keys.
+上記のレベル2とレベル3で示した例は、単に例であることに注意してください。
+結局は、ほかの鍵に署名するとき、なにがあなたにとって「通常」で、なにが
+「広範」かをを決めるのは、あなた自身に任されています。
 
-If you don't know what the right answer is, answer "0".
+正しい答えがなにかわからないときは "0" と答えてください。
 .
 
-.#gpg.change_passwd.empty.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+.gpg.change_passwd.empty.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keyedit.save.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+
+.gpg.keyedit.save.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keyedit.cancel.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" or "no"
+
+.gpg.keyedit.cancel.okay
+"yes" か "no" で答えてください。
 .
 
-.#gpg.keyedit.sign_all.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" if you want to sign ALL the user IDs
+.gpg.keyedit.sign_all.okay
+すべてのユーザIDに対して署名したい場合、"yes"と答えてください。
 .
 
-.#gpg.keyedit.remove.uid.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" if you really want to delete this user ID.
-All certificates are then also lost!
+.gpg.keyedit.remove.uid.okay
+このユーザIDを本当に削除したい場合、"yes"と答えてください。
+そうすると全部の証明書が失われます!
 .
 
-.#gpg.keyedit.remove.subkey.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" if it is okay to delete the subkey
+.gpg.keyedit.remove.subkey.okay
+副鍵を削除してよい場合、"yes"と答えてください。
 .
 
-.#gpg.keyedit.delsig.valid
-# fixme: Please translate and remove the hash mark from the key line.
-This is a valid signature on the key; you normally don't want
-to delete this signature because it may be important to establish a
-trust connection to the key or another key certified by this key.
+
+.gpg.keyedit.delsig.valid
+これは、この鍵の有効な署名です。通常、この署名を削除することは望まない
+でしょう。この鍵(または、この鍵で証明された別の鍵)への信頼のコネクショ
+ンが成立することが重要となる場合があるからです。
 .
 
-.#gpg.keyedit.delsig.unknown
-# fixme: Please translate and remove the hash mark from the key line.
-This signature can't be checked because you don't have the
-corresponding key.  You should postpone its deletion until you
-know which key was used because this signing key might establish
-a trust connection through another already certified key.
+.gpg.keyedit.delsig.unknown
+この署名は検証できませんでした。対応する鍵を持っていないからです。どの
+鍵が使われたかわかるまでこの削除を延期すべきです。この署名の鍵は、別の
+すでに証明された鍵を通じて信頼のコネクションを成立することがあるからで
+す。
 .
 
-.#gpg.keyedit.delsig.invalid
-# fixme: Please translate and remove the hash mark from the key line.
-The signature is not valid.  It does make sense to remove it from
-your keyring.
+.gpg.keyedit.delsig.invalid
+この署名は有効ではありません。鍵リングから削除することに意味があります。
 .
 
-.#gpg.keyedit.delsig.selfsig
-# fixme: Please translate and remove the hash mark from the key line.
-This is a signature which binds the user ID to the key. It is
-usually not a good idea to remove such a signature.  Actually
-GnuPG might not be able to use this key anymore.  So do this
-only if this self-signature is for some reason not valid and
-a second one is available.
+.gpg.keyedit.delsig.selfsig
+これはこのユーザIDとこの鍵とを結ぶ署名です。通常、このような署名を削除
+することは良いことではありません。実際、GnuPGはこの鍵を使うことができな
+くなってしまうかもしれません。ですから、この自己署名がなんらかの理由に
+よって無効であり、第二のものが利用可能である場合にだけ、実行してくださ
+い。
 .
 
-.#gpg.keyedit.updpref.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Change the preferences of all user IDs (or just of the selected ones)
-to the current list of preferences.  The timestamp of all affected
-self-signatures will be advanced by one second.
+.gpg.keyedit.updpref.okay
+すべてのユーザID(もしくは単に選択された一つ)の優先指定を現行の優先指定
+に変更します。すべての関係する自己署名のタイムスタンプは、一秒進んだも
+のとなります。
+.
 
+.gpg.passphrase.enter
+# (keep a leading empty line)
+
+パスフレーズを入力してください。秘密の文です。
 .
 
-.#gpg.passphrase.enter
-# fixme: Please translate and remove the hash mark from the key line.
-Please enter the passhrase; this is a secret sentence 
 
+.gpg.passphrase.repeat
+もう一度パスフレーズを入力し、間違いなく入力されたことを確認してください。
 .
 
-.#gpg.passphrase.repeat
-# fixme: Please translate and remove the hash mark from the key line.
-Please repeat the last passphrase, so you are sure what you typed in.
+.gpg.detached_signature.filename
+署名が適用されるファイルの名前を与えてください。
 .
 
-.#gpg.detached_signature.filename
-# fixme: Please translate and remove the hash mark from the key line.
-Give the name of the file to which the signature applies
+.gpg.openfile.overwrite.okay
+# openfile.c (overwrite_filep)
+ファイルを上書きしてよければ、"yes"と答えてください。
 .
 
-.#gpg.openfile.overwrite.okay
-# fixme: Please translate and remove the hash mark from the key line.
-Answer "yes" if it is okay to overwrite the file
+.gpg.openfile.askoutname
+# openfile.c (ask_outfile_name)
+新しいファイル名を入力してください。単にEnterを打つと、カッコで示された
+デフォルトのファイルが使われます。
 .
 
-.#gpg.openfile.askoutname
-# fixme: Please translate and remove the hash mark from the key line.
-Please enter a new filename. If you just hit RETURN the default
-file (which is shown in brackets) will be used.
+.gpg.ask_revocation_reason.code
+# revoke.c (ask_revocation_reason)
+証明書の理由を指定します。下記のリストから選択してください:
+  "鍵が危うくなった"
+      承認していない人があなたの秘密鍵へのアクセスを得たと考える理由が
+      ある場合に、これを指定します。
+  "鍵を取り替えた"
+      新しい鍵でこの鍵を置き換えた場合に、これを指定します。
+  "鍵はもう使われない"
+      この鍵を使わなくなった場合に、これを指定します。
+  "ユーザIDが無効となった"
+      ユーザIDをもはや使うべきでない場合に、これを指定します。通常、こ
+      れは、電子メールアドレスが無効となった場合です。
 .
 
-.#gpg.ask_revocation_reason.code
-# fixme: Please translate and remove the hash mark from the key line.
-You should specify a reason for the certification.  Depending on the
-context you have the ability to choose from this list:
-  "Key has been compromised"
-      Use this if you have a reason to believe that unauthorized persons
-      got access to your secret key.
-  "Key is superseded"
-      Use this if you have replaced this key with a newer one.
-  "Key is no longer used"
-      Use this if you have retired this key.
-  "User ID is no longer valid"
-      Use this to state that the user ID should not longer be used;
-      this is normally used to mark an email address invalid.
 
+.gpg.ask_revocation_reason.text
+# revoke.c (ask_revocation_reason)
+必要であれば、この失効証明書を発行する理由を記述する文章を入力する
+ことができます。この文章は簡潔にしてください。空行は文章の終わりを
+意味します。
 .
 
-.#gpg.ask_revocation_reason.text
-# fixme: Please translate and remove the hash mark from the key line.
-If you like, you can enter a text describing why you issue this
-revocation certificate.  Please keep this text concise.
-An empty line ends the text.
 
+.gpgsm.root-cert-not-trusted
+# This text gets displayed by the audit log if
+# a root certificates was not trusted.
+ルート証明書(信頼の拠り所)が信頼できるとされていません。設定にもよりま
+すが、そのルート証明書を信頼できるものと指定するように既に問われたかも
+しれませんし、手動でGnuPGがその証明書を信頼できると扱うように設定する必
+要があります。信頼できる証明書は、GnuPGのホームディレクトリのファイル
+trustlist.txt に設定します。疑問のある場合、システム管理者にこの証明書
+を信頼してよいものかどうか問い合わせてください。
 .
 
 
+.gpgsm.crl-problem
+# This tex is displayed by the audit log for problems with
+# the CRL or OCSP checking.
+設定によりますが、CRLの取得か、OCSP検証の際に問題が起きました。これが動
+かない場合、実に様々な理由がありえます。解決策は、マニュアルを見てくだ
+さい。
+.
+
 
 # Local variables:
 # mode: fundamental
index 34eea8d..034af39 100644 (file)
@@ -1,22 +1,24 @@
   pub   2048D/1E42B367 2007-12-31 [expires: 2018-12-31]
   uid                  Werner Koch <wk@gnupg.org>
   uid                  Werner Koch <wk@g10code.com>
-  sub   1024D/77F95F95 2011-11-02
   sub   2048R/C193565B 2011-11-07 [expires: 2013-12-31]
+  sub   1024D/77F95F95 2011-11-02
 
   pub   4096R/99242560 2002-01-28
   uid                  David M. Shaw <dshaw@jabberwocky.com>
+  sub   2048R/A1BC4FA4 2012-01-10 [expires: 2017-01-31]
+  sub   2048R/6F410A43 2012-01-10 [expires: 2017-01-31]
 
   pub   1024D/87978569 1999-05-13
   uid                  Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
   uid                  Marcus Brinkmann
-  uid                  Marcus Brinkmann <brinkmd@debian.org>
   uid                  Marcus Brinkmann <mb@g10code.de>
   uid                  Marcus Brinkmann <mb@g10code.com>
-  sub   2048g/C3AF90C1 1999-05-13
+  uid                  Marcus Brinkmann <brinkmd@debian.org>
   sub   1024R/08AEA692 2006-04-14
   sub   1024R/FCD2A293 2006-04-14
   sub   1024R/233A942F 2006-04-14
+  sub   2048g/C3AF90C1 1999-05-13
 
   pub   2048R/4F25E3B6 2011-01-12 [expires: 2019-12-31]
   uid                  Werner Koch (dist sig)
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
-mQGiBDWiHh4RBAD+l0rg5p9rW4M3sKvmeyzhs2mDxhRKDTVVUnTwpMIR2kIA9pT4
-3No/coPajDvhZTaDM/vSz25IZDZWJ7gEu86RpoEdtr/eK8GuDcgsWvFs5+YpCDwW
-G2dx39ME7DN+SRvEE1xUm4E9G2Nnd2UNtLgg82wgi/ZK4Ih9CYDyo0a9awCgisn3
-RvZ/MREJmQq1+SjJgDx+c2sEAOEnxGYisqIKcOTdPOTTie7o7x+nem2uac7uOW68
-N+wRWxhGPIxsOdueMIa7U94Wg/Ydn4f2WngJpBvKNaHYmW8j1Q5zvZXXpIWRXSvy
-TR641BceGHNdYiR/PiDBJsGQ3ac7n7pwhV4qex3IViRDJWz5Dzr88x+Oju63KtxY
-urUIBACi7d1rUlHr4ok7iBRlWHYXU2hpUIQ8C+UOE1XXT+HB7mZLSRONQnWMyXnq
-bAAW+EUUX2xpb54CevAg4eOilt0es8GZMmU6c0wdUsnMWWqOKHBFFlDIvyI27aZ9
-quf0yvby63kFCanQKc0QnqGXQKzuXbFqBYW2UQrYgjXji8rd8bQnV2VybmVyIEtv
-Y2ggKGdudXBnIHNpZykgPGRkOWpuQGdudS5vcmc+iGEEExECACECF4AFCQ4Uh/0F
-AkG8aF4GCwkIBwMCAxUCAwMWAgECHgEACgkQaLeriVdUjc0EkwCfTXfXdqDS2COs
-ZRm0OUphuY0h4x4AnRSlWyPGnKUFxKOw8TwwCSLsdvZHmQGiBDbtSOkRBACURhKn
-GIFyXIeX61GAY9hJA5FgG4UalV55ohdz4whBgDzDGLE3XYlO8HCn4ggKilll6MOw
-Y0yZeg6PEU9Y3SqTzpQSV6qj2M7MgcS8xOpi6bNCu0iyZUik0KklUXMdI8e/CVmB
-pQJT9CofbD1dsP6z4dC6z3jil0+5Wbfw6yIXzwCgy/7Fagq5mN0H760/JEiiXILS
-1n0D/3H26lTaxo1vGput9Td1FQN7Vn6YDP0/To5ipsOODROV3zyUwF5QleY+8zTF
-JA3qD5KxRfA726WELOF1mB6Mw44UdkPniOoGdMH5oSx6qnNnlVZBBu3U+e1qfQwL
-QjHu0WX4Z2q00DKpWLThGv7Loh5NKi6OfTbMhfHoevCAzQnmA/wKc6J8GqthENTh
-KXxZaei3Ep0t+PlBmbUzuAYCXZhI6/0KyD6emyQ7LYIaPv9qEfMkMLhxicG0v/AA
-wOCBRKS3bkqc6wAYaO0bjUHJvem3HkWPux82t83+6YPyRnVjm/mwt0uEyKSvt7Md
-2DVrO3lEcKRkRHiYuf0nonPhl5Rs5bQaV2VybmVyIEtvY2ggPHdrQGdudXBnLm9y
-Zz6IawQTEQIAIwIXgAIZAQULBwoDAgMVAgMDFgIBAh4BBQJGtcWFBQkXLil/ABIH
-ZUdQRwABAQkQXeJJllsDWKJBTACfQI8TnuVIxE88u2napOMyUfoWZSMAn2t47LUM
-uyDEHRcYvEBiP/SRVvsrtBxXZXJuZXIgS29jaCA8d2tAZzEwY29kZS5jb20+iGME
-ExECACMCGwMCHgECF4AFCwcKAwIDFQIDAxYCAQUCRrXFkQUJFy4pfwAKCRBd4kmW
-WwNYomksAJ4q+Lv3fDvzDJl4JcOmzWHPsPg2QQCdHcj5DwCCM7YnRLiE58ApHdrg
-11S0C1dlcm5lciBLb2NoiGMEExECABsDCwoDAxUDAgMWAgECF4AFAka1xZEFCRcu
-KX8AEgdlR1BHAAEBCRBd4kmWWwNYokHUAKCKSLq+i1yHrG8ZXqJRk+d4SyanGwCe
-KFwqqRr3tbae+m4iK+EcyY+BR2a0HVdlcm5lciBLb2NoIDx3ZXJuZXJAZnNmZS5v
-cmc+iGMEExECACMCGwMCHgECF4AFCwcKAwIDFQIDAxYCAQUCRrXFkQUJFy4pfwAK
-CRBd4kmWWwNYomC9AKCOTnRhGus67gV2k+8K2SwytYDqVQCfcaEJKu8EBd0sx3F0
-24GX/RNwnZq5AQsEQF3bKQEIANEoVLSVnD/YxrBL3s/edXK3YUX1dZvyyLtP0mCX
-41EX3e6pQ4gLXmze7lJU9zB0iGgbTjBgodMsqHIECMWnhrN8uaIgEMOnfsNjdIC0
-lPpOyBQtH7IWRdtG+4g5Tk3/RbHOsroknCUVUTJo9fvOZZUowKP5IyPYWuaW25VL
-RoJ/SKjef3ttQC+5Td2CNMWgepbjTXuyZ9sThUzCctiLf/VJL2zTKwozo/HnIQze
-hCI5b/2lLjzBIV+zeVeLw3UGKSA91TkUUD7kEZJSHHIV/6Wp2PBwHIELstPd0KsV
-5ZA4vRR5WHrAbjw7rePyO57uZ9Ob7nn25ecP8nrk+IdxlOcABimITwQYEQIADwUC
-QF3bKQIbDAUJA1jvAAAKCRBd4kmWWwNYohLWAKCgnbPg6cDR1W3tkz894CwpcDQo
-VQCfcBXfK5kpfhYfDk+d/mwuYXktSSW5AQsEQ7gWIgEIANFah4LB/iVUglBqEzvK
-0VG88yuRJlDLTvb8jr/hA8qxocj4eegHw+NOYGnIEMsrxjo5/djWE1vvvF76baD7
-xar8FQoe9SLUX7HOzOmeLG0yv5A6LLpTuQIkDp8a+rSqbOtcZy/mteka9bDJl/KZ
-MtbhfZYqA0vxuE4PLS4n1lH9+GMTuecgeAhuhKcEBQ8cKwj0EW6axtTwUqwokI4G
-rOIcTIMduLHu4/oHJiyUfa1TD1Z1BTxjOjaZaiOCFemMTtRPS0BvhA1N3C6suCIQ
-gfm6awzjd6WvX/ad3ToqKBBf41HgyrK1H7bwm0QQq9QvAlmmYTGzgH44HjHyX7ot
-zT8ABimITwQYEQIADwUCQ7gWIgIbDAUJA8EVgAAKCRBd4kmWWwNYol3LAJ43JG07
-X/IjKI2Si1hF87nLfG4ehwCcDIDiNrFrvTaxGziI9H9ZYmQyASq5AaIER3ko1BEE
-AITOSpTeW3g46dEaTnGDrre9/WrhXvHzL7kP1TpzYC4jig7C2t63xUgLCgmv17ie
-C9j+VqiK6olGPIL8y5RdHjJgStNAL+psZ0kjx2yGACUpgDky49hRtfxWGuohJnBH
-Upsp/2DGOCyL0nlzkvJRIVdIZAMgYYmnGu8atilHpHb/AKD/aYLuxeQfHRjylB8y
-Od7iHEE7VwP/QSxhwtSQWXdgz/KyTwjAjN69JGNx6iUKrwNiPLphEufYi0EzdKkr
-xltkTLuZYmd+yoxMKvoKHAOgLe+RcnF9ZZDc2XUjujIlu0lDIe0/2xUXJYQ3zKza
-St1qbzuk414SzRjkisVUne/GuJNuM2wAwTSmeGXhO/fgc++1MiuLdr8D/j/T8lfN
-S48czJ0eF+/VG2FG5l+JVucRbvmBWilVWFXWOTWyoFuqQ+8t6uHAdlyyxZlgt3rZ
-WsU6r2vQ+ayELJ3nny4zZdxlBA8O2XbpV3fXf5NlUsZWY3/tifySOwHIQRvJX0NA
-Sz2Ao4qXBKF7CM6sZzlbXja6XHZyUG5p3anAiJcEGBECAA8FAkd5KNQCGwIFCQah
-TGwAUgkQXeJJllsDWKJHIAQZEQIABgUCR3ko1AAKCRDNP81ePVLCghD5AJ46ond0
-H0ny3nPQrXI5/CQxk12YzACfR+j9+k0y+vLYfzuDCWoSuLeWuvBYygCePPYlR8Tt
-yegne86Z/xquxNFgFjsAoL6wDuo4gsI+6/bzSNlyrkUYmLO7uQENBEd5KWMBCADe
-LY1DPSaB2NyWLeaLLTa1G0QTIXp2y6FpLvgC/PIzR8InRxNhkBDaswFBPuc/oASN
-QCvXTCjFsgPvc1jS6UpTHY3NnZlxB6s5NbW1YDPQE1CklJ73uNU9r8aBxMhsrzoq
-VO/PzLqUhcwWp/6sBjyFz5Zb+WNip4Id9J+ej537r2UJo/GiMh3JOWgp5/SqUTWz
-wowtU111eROlURVh6wrG11ZbQqFo7qMY1lAut8Vt4vJxKvjTdlls7fhRfPwmcxBD
-XxZycPOKO8VF3XJPI3bVxkoKFRuOJZK/fHnghgEYwrviKiG0vDISUOTqOE63haot
-a72gUUlDTJGrorvNO8C/ABEBAAGITwQYEQIADwUCR3kpYwIbDAUJBp/6XQAKCRBd
-4kmWWwNYohbBAKDA1ZUpbI3OWd+5Efnj482Urmv47gCgtXRryMuxJZ8MWhfBZ0Yq
-vH7DeKC5AaIEQF3aTxEEAP9SgfIbIPL6BQ1nqoblsTYoiwWPL48uBZPjkDfy8XsV
-R5V9aRQlggC4x4/MD3Ip5AUgReI7PcHnp4m3vcVLXPl+/7i7hAwd84iKzgN8I8VW
-0EevflcNm7nbWEnpjaGxJWFbhSLI1DmqnafoU8nZgGp2QoE+flgGDd559C3SiHRT
-AKDbqgS3EDhTbwfS+bAhW5Xi8/2CPwP9HueeuW9M/cyt8UvliLsj2eYMEIy7CeSL
-O13XfnqCjcnHK+b59/ADd99dpMaq3gKj7Aj1RIsRV2qWDJpDNXVxP7Cy+FzxelQs
-ytPQOV8H8AkB+RgmSyfxlNRUkC3sQU6jR9IwmPD4iB5fp/SqUpn++77TAArXqsfH
-bmlnwcuU1EAD/i7CEhxLBYS1N77hwxL8DWCqjpi+1PKG+6dc0BQFIU3uUhbzLGfq
-EobUDhveqgtlsvoEZ/lR8RgMv/uOjXEgiATQyTEa7s3M2vjXlpLjXjzklma3Lqmc
-am3dEf/5OR02yZif6hPU/x8f/VQle0kKNKdOCV1+dlo8aJH2UIZRRIvtiJcEGBEC
-AA8CGwIFCQcbVgAFAkR1rB0AUkcgBBkRAgAGBQJEdawTAAoJEGB4TpQBClft2RMA
-n1XiL/bC9hByZInCJTaCd8WS8kYCAKCfpAWwLIxkfwAeD/RI+2p00nQfvAkQXeJJ
-llsDWKKx7QCguc4/HiEs64Ey5p6Yihy67X8E0YsAnRXMFdXVP7ww8uldljPiD1Tg
-yurpiEYEEBECAAYFAjc3I8UACgkQ9u7fIBhLxNmHZQCglWbPDznIcnOxdDW+k7Yg
-A9+/n00An1ZjSiJipverUxLEFHAbSBWI0IntiEYEEBECAAYFAjc6+aMACgkQdQ9k
-lcidkz6GiwCdGe0KSP/vSyEZM/GClQXvjMD4RvMAoJwyTIdcjPZbQizDeAO3btn2
-CCwTiEYEEBECAAYFAjgUDhkACgkQYAeQgHPH80+I2gCdHeTAPusmEfN2bdkijpW1
-gpxBvGoAn1kzL7Mg7tC4pqlqw2fV3kRUy1a5iEYEEBECAAYFAjgqYh4ACgkQ4/JY
-VBKPDnkPkACgmzk7HMlJ1h0qw6OHyMtDE4RI4ToAni+Cm+01pHfzh0EnFQTvLE1M
-9PtoiEYEEBECAAYFAjnKOw4ACgkQK7tDpvCerwquXwCfbW9xGF2AHQakBPakh61x
-KmC8WEEAn3TytfY5qrTjxIj2HZFKN5QuQpYSiEYEEBECAAYFAjnKiy8ACgkQF6ZB
-bfeUj9ombQCfYQYxpipdMGBxbNd8jbL9RDmH3nMAoITmZnDJwXzpHNuSLY8o3c5Y
-hHXziEYEEBECAAYFAjnKnXcACgkQNfZhfFE679le7gCggQjsjFhjaIO1lWHfPusn
-0dqdhRYAn3rOW0XSeh64V9o+VItH2LZngmNAiEYEEBECAAYFAjnLMigACgkQUaz2
-rXW+gJcIVgCfRRq0G2fCcZOFoey9uZGAkWctKsQAoLw6lUhdeZDgULrDC7OQRIk7
-CnMtiEYEEBECAAYFAjnPp1IACgkQkVrMRaj0wv0IqwCfWGMeiZ58ysuZCAP9IsX3
-aKcSPtcAoJno1COOjAMhoWjUiHctgLZX9+gTiEYEEBECAAYFAjnQ39UACgkQbyOL
-wk/aWgxfIwCfb/GeMAD8w84hq5/aUQMCvVqUYqAAn07SKuWYsZLEUuPWIgYY0yoB
-yJxviEYEEBECAAYFAjnSCrEACgkQv+EgZWshSJq8jACfdf20dqs3IWOPHgFMdYb5
-VF+WkJUAn05quvyHB3Xug8csxWg6RwSfQBTBiEYEEBECAAYFAjpMy0UACgkQ7UaB
-yb89+bRUrQCg6aozpYiCEDPVAHe54/8/q48FLP8AniviG9fjxInPaSKB+LXRmQjc
-2jLZiEYEEBECAAYFAjqJgd8ACgkQYogE2yD8bPYGagCggMsqGJN61JuOQkY5MiKb
-4UPQpBwAniNYwQb+hlEzJF7qnPECh0MAxq8OiEYEEBECAAYFAjrBCNQACgkQt1an
-jIgqbEu30gCdEsSeFtJ5KziD5l/CvAhVZt9lnQUAnRrmbV8HkndXp3+DNoREgscZ
-k/rliEYEEBECAAYFAjrB0SkACgkQ0vCiU5+ISsiPkgCeOFayt7NkcymwTC2UKNjj
-yukNDvAAoLq/bOTNZECtztYIMDQ2VrzZ3m6KiEYEEBECAAYFAjr1eYsACgkQ7A6v
-cTZ3gCXdrQCgllIx6G2DkKSGKBhYCgsyywFBXLUAn2PJGrCOov0LS8jCMD2Xo4T7
-qfsjiEYEEBECAAYFAjr1mwEACgkQLBigKrTF83+E4ACffa4yaJ6Pj4uFZY7dVuiO
-fkuoTE8AniIdw0DVkHBuxlNp9PAglhztyE+oiEYEEBECAAYFAjtFbTsACgkQ53Xj
-JNtBs4ex3wCfXLPNscM4Uxtmy0/t5Ygg9lDWEQAAnR39P9eJtEeBtMPfbEGYc10A
-BqjkiEYEEBECAAYFAjtF2QAACgkQI/q1+wgWzBuJgACeIak+A98IheVSowXG4J6j
-zBA439MAn2IFA8EB/EkQ1rn7OEmFNX++PNZyiEYEEBECAAYFAjtF8RYACgkQJ4bC
-RH+KQBfSwgCaAvm7pL+LioYj/oKDBQ1pJAj+UqMAn10W8RKrYblMZ4L11R2TO9xO
-vFn6iEYEEBECAAYFAjtIDxYACgkQBgac8paUV/DLWACgifbHtSi50JxmSr18Wofe
-VcVcAXUAoJs99aH6/t9gkO34ajXjiIQxc0qMiEYEEBECAAYFAjtIJ18ACgkQ11ld
-N0tyliUx5gCggbhG1uzvdgHNY8oCt4cc6TfHUREAoJuRw8q2kbztnt8TQ4mjiTIN
-cBXziEYEEBECAAYFAjtJwaAACgkQUI/TY7yTaDkPjgCcDSJQUZBBP/5OvW48Q3BU
-kUkRSQkAn1Mjqe4WTFEEA8HK5h+KDcqR0aZIiEYEEBECAAYFAjtKFVcACgkQliSD
-4VZixzSYCgCeJpt98LMq02q9W1bK5iPUvCkcsSYAn1dqFcoXctXVnMj53z8zfAaW
-0BcwiEYEEBECAAYFAjtLFwcACgkQDqdWtRRIQ/XMGQCdH1u9tmtUYY3ExVLdT/H2
-IIQCU3MAoI69Y4Z17RDh4Bj2gmJwmEAmfDwbiEYEEBECAAYFAjtMF8oACgkQ1w1f
-WGA80Hj2mwCfazudYZSMmQWO85xZvg0uTB3rhZQAn3DSyrvXxIpmv0CcnBtUQu5N
-21kSiEYEEBECAAYFAjtRuWUACgkQ5DsVPMtGficbLACeNpRJOS9AZ7q7bhX2sBJg
-lKLloTsAoLm5FTnY6iAySfPZZlwAVeE6zMJwiEYEEBECAAYFAjtSxD8ACgkQO/YJ
-xouvzb1F7ACfVp8vhxAWCeRZN3InlvYLrxFTng4An1QO6+D3QUjX+0YRNZ3tpZDT
-Sd6QiEYEEBECAAYFAjtXQl8ACgkQeRYvNvf2qtklNwCfcg4Tss3C9Nf6NiyOAHhX
-O4JLhtkAn055IHb4i2IO5TQLSQi0tk4ktZVfiEYEEBECAAYFAjtnOlkACgkQwAsN
-NiHlPr2cagCg07IN1/MaXn+8yd4Ncp9/723gEBgAnjNCoGAAccbvCCVE29sXBNAv
-Uo8MiEYEEBECAAYFAjuYRI4ACgkQkC29kYw4qQpqwACfcyB4krJFqyeHoKzRYDqW
-8JDUdvcAn2pa3UDeKM7FVe8LgCQyz0McM4JqiEYEEBECAAYFAjwH+10ACgkQ2tKw
-XV88MYVF8gCeMoYaFN7v/VDmuYt+G1BXDxzcuusAnR8fAcIyBjSffB0yEIwaA7O9
-X7ZxiEYEEBECAAYFAjwIEdIACgkQaliC34RARgJ9zgCfS1K0bROVSB+9wX4g+xEE
-0phEAToAn3etSLME5hzsisIRMjUsGbBDe7+aiEYEEBECAAYFAjwjtVQACgkQRHJT
-9Ar9DKjv+QCbBE3lRMzyKxTbPUd9v+nB8EVqv4cAn0DxPkAIkuriAuwtOjCypTDN
-ydyxiEYEEBECAAYFAjxdq0AACgkQ7vDbNLMhJgNwvwCeMc0QmOS0ctJOX1J9a3DW
-kMyUdf4An3iIslZ7stkMOi1VdyE5fR2YDvNFiEYEEBECAAYFAjxw4+MACgkQGM0l
-pSLzivNlngCeLdkkRkcyHVKttl6Z9IQExE+gaNsAnRko+7BQOu5jXMfGarg1rE2z
-DhsFiEYEEBECAAYFAjxxJxIACgkQscRzFz57S3PkJwCg3qepdTsiNKuGYC6a1RlJ
-ZTBqkiEAn2G6ypvCpWAL43LWbMbyyf/rYxSoiEYEEBECAAYFAjxxQYIACgkQOhqm
-NZCaVAYvbACgz9mXzo/nC64mx03IFgL8oFuBAhIAoL91NILXxGYrkaOnM+2Ci20U
-vA3ZiEYEEBECAAYFAjxzeIMACgkQo+C50no0+t5J7QCgpSCgGQ8eMefvsDsF0DlE
-ZzuAHNoAoK1TFwuK7ZowUQJyWp1tKDtNDbx3iEYEEBECAAYFAjx+gfMACgkQjjtz
-nt0rzJ3/dgCgnDMnLna3yPskxeVf32wDbTHLxf0AnjWCw4lfYauS0LumGv9uHN9P
-aErhiEYEEBECAAYFAjyAY8EACgkQ14NrbAzZIOdEPgCgt5DiZfRFkvzAPecRDCIp
-3pOdUwkAnjj1CDE+Kzg2RiK9Z73QM8B0J4driEYEEBECAAYFAjyBd5kACgkQ/3vb
-rZlD49+lmwCfS9apz+gEHsRV6ELS4NtCLvrJsRkAn3AexpisdP+8KwolieJwaVPi
-tN2giEYEEBECAAYFAjyMzCQACgkQhbmQdcKRDkGoiACaAqrwXn6kf3aD7wss1rgQ
-mrCtJKIAoIU6uifoxBubp2+YjW6kjbnkFMD0iEYEEBECAAYFAjyXNDoACgkQoegC
-cNp0M5aGrgCeLBRQ8CAVzPO8OTz2TMFqYLIbFrcAoK2qJqojmF2+THtFCHz0hhiB
-AekNiEYEEBECAAYFAjyXNjgACgkQg2i7WWb7wYxzxwCfcrZ5yTwjn9Sh1S/yL3MB
-KBs8uxUAn0pC4GgIsbbaxcf1QA5AYwFiPcPEiEYEEBECAAYFAjyxODEACgkQJXt5
-TsZsoD0pVgCfTIJ88OFNFlnUFoNZemDdbd4ZqEsAn1y5ZyCl5SYkqFTGiVtkgtII
-EhK7iEYEEBECAAYFAjyxguAACgkQeuuK7Uc6ScnBgACfUlQrrDUb78b93JEvThA/
-f1ZankIAni448ZxagzPjnj/vH33yK14agnq0iEYEEBECAAYFAjyxj4MACgkQocWS
-fM5dzg4qigCdHrjYquNu2aphWggG5E0G6zCW5MEAn1NQJmKkTEUsbanbVOBx1G5w
-vYkeiEYEEBECAAYFAjyyhzsACgkQVlEzpFDUq7k99gCeMJc5KvC2gAHgCVjv6Hn7
-AKgY+rMAnRFIrjunb1Sh77542URoWAVmuPN0iEYEEBECAAYFAjzyIFQACgkQX180
-7qC7Pev9PgCfcW15D2cS4UTkn11BSqn+pgrA4KIAoKzLDc78X3OFDzVXTOvk8V89
-OshGiEYEEBECAAYFAj1uHIwACgkQKMb1a4F8NWhPPQCaAprFvggEHBTVR+KWzm0Z
-3l9ijLIAnAw2QtJ1Mlnz0ctNwSJwORM87/ARiEYEEBECAAYFAj2ERksACgkQ1Dyz
-BZX+yjSzyACgjUKL3CH2UYciEAarZU9H0ZYIIWQAnA6I1aJ0FgWiF2bd/jgWaBL2
-jtd4iEYEEBECAAYFAj2F5U4ACgkQdZc6ENbQhKbt/gCfblKSqJohqhaFawtXPs8T
-X1UqY/sAnjqwumhFN4YAAez36gItTB9BxcmJiEYEEBECAAYFAj43BmIACgkQkQgh
-ntzeiQqeGACfSyyIi1vPniQOq8xLfgjDxFkkVEYAoJSFbH8uhrwBMa8aOIRkjN9u
-RdY2iEYEEBECAAYFAj+Q/gMACgkQdt8qX2QD4/2lhwCgnv3QSQPCGbmTI67mtAxl
-9d4rZ4UAn1WXmoSknE2WYeqRUb6d4wAhG/jViEYEEBECAAYFAkCnUpQACgkQt+hx
-Iz4tn22gnwCfTWoR3vhEv0yp1Ks/vz7jow0Tw6QAn3YXgQn0DS9/9u7AyG5gjh18
-VLtuiEYEEBECAAYFAkCnUqEACgkQt+hxIz4tn22dOACgjeYArERuayyqZmozCahs
-gUyPihMAn0PkgZDTwKgSw690xdLuR2rWJrPQiEYEEBECAAYFAkGD05gACgkQ9oi/
-YaVie2EkhgCg582nMvFSTXDb/PdF0+kZTBQTCGQAmwSEka7EMzOzoCxEefZd+GQm
-EdcXiEYEEBECAAYFAkGGD60ACgkQ6gnEQD//YGyIWQCgruyF9KSG2GuqPVQIsizC
-CV8rjPcAnRQsBzfw9QLM960FP64YWUCqhYkYiEYEEhECAAYFAj0EW94ACgkQj/Ea
-xd/oD7Lv2ACfUACXl0hDfGeEdbGjhIa/hSaZCrkAmwV4SdeJnBoXV22VBEekmTfz
-HKHEiEYEExECAAYFAjyvU4oACgkQ6pxm6rn41tmEewCbB4FZ6z6dmSJ2epBIdeoS
-8KHLNhEAn2ZcUDKfuFpVVDuV/bMhpjbbHJRIiEYEExECAAYFAj0FswMACgkQoWMM
-j3Tgt2a46gCdFwSWzfEmyuvfjnmNPzCyvdO2R2cAoJRl1Ibl/2hPXjenl1f08pQL
-ThZAiEYEExECAAYFAj0GRB8ACgkQKb5dImj9VJ8FHACcDjdyCPMWjSbrXKCVFjDt
-uapl428AnRSI7e1VYRJcVdGmrAtmu360GrQpiEYEExECAAYFAj2J/ScACgkQ74J3
-yv6ZHpg4ogCgj8BllYTJEQ5sF62Qd2q9o2FNJ8cAn2K/7zpy9M/Oig+yIYofaN+5
-fnUUiEYEExECAAYFAj4ykiMACgkQaqtaJwF/Vr1MmgCfcNfOOm6/woHpEtuFVgYX
-vUh0tG4AnRTPBwdemHFViOojNJ0glWck/84ciEYEExECAAYFAkDa3nAACgkQRTxF
-SQIw1gIZCQCg/jjaczO/s9GkLq/kftPN8A6kLr8AoPwGlVzoq5yWxhgCkEMfV+KI
-tmDViEYEExECAAYFAkGE+RcACgkQ3ZHkUS+VgsFX/ACfRYBeswRWTHOdc4gLefxU
-VSGbj8wAnA3CWEF3MQOIpJQ5KSFLE2104h5riEYEExECAAYFAkGNFPwACgkQ+C5c
-wEsrK56k8QCguxJO7l5effxWbaYOgeVko8HiQ80AoKSJGsOZGx1nvQRKeRK/7DrZ
-bB2piEYEExECAAYFAkGqFTYACgkQztt/8ZMtg2MVMgCfZevJcAcVXa4hUUJSjkWo
-0j/b9MkAn2HZC4sNs9nMN1PvX95Ge39wfBEKiEYEExECAAYFAkIrN0cACgkQi0rE
-gawecV4jeQCdF+GUDJuQnCaFZqw6sNgZtol0UncAn1/VQvGDB0Or+JItHnUlCU98
-URNXiEkEExECAAkFAkGD3AUCBwAACgkQQSganqDijRh6lQCgmgm1rqgdF3qYuDQn
-/S1vFxggwpIAn1htaL3fD6o4LnT/8BIm6K6tPGPWiEwEEBECAAwFAj0BE/8Fgwa1
-sWoACgkQFBE43aPkXWatjQCdF96DM2kdreTGbWTKjTMTuwB3AtYAoOxTFERoyUCn
-7nTsufD4QpxIkJCiiEwEEBECAAwFAj2GAuUFgwYwwoQACgkQU+KFTgvh8OP+lgCf
-TLjRfVihRNQQ/MVIuHttesX/s/4An1ZBth8G2EvCfiOU2KoOjl3MZUJ4iEwEEBEC
-AAwFAj+ObrAFgwQoVrkACgkQCmLlNDenkUkzjQCeIR3z4h7TMEeNI9Sy5/4Sgclj
-9WsAoK9yVbdDuWQJQh/ZBUpx0GjxMSW1iEwEEBECAAwFAj+SeAcFgwQkTWIACgkQ
-78vN/2HwW4xfggCgg+yTSXldBhvFoDXoAeOwcC74YqkAn0b+tC5AZ2BQkg0vJXZ6
-tFXuOvhaiEwEEBECAAwFAkCoZL4FgwmwcCoACgkQEgljnRFKqFxfngCfbXYSsBtM
-M5hcUCsnm9IvyCmMhgAAnjtDe7q+5cW/JmzE3illB+u8fc9DiEwEEBECAAwFAkC/
-Rz8FgwmZjakACgkQ2S0k392WXIP5uwCfTlmW1u9U3nck5mCo6DeTHNTmUvkAn2jn
-jXhvqKoLfS2ERRwQlFFAw6NRiEwEEBECAAwFAkDbVF4Fgwl9gIoACgkQ9ijrk0dD
-IGxiBQCeJIrdN0kFT16KL4COSILMmcjVxygAni6OinWWNJqCk+k+BNIvKpm+QKm2
-iEwEEBECAAwFAkDxIncFgwlnsnEACgkQkvv9V4b8pZK7gACgwOU8kI9ZBzryS+Hx
-AeWEo4WjeC8Anjl67/wgPGr4XAS/XA1xmWzRwZiPiEwEEBECAAwFAkGsm40Fgwis
-OVsACgkQLEmBxMM0hsB4NgCeLxvQw1g9MSpWY9+2VbSK/4vNd4EAnicGGKdS3Zy4
-8E4GBZr62ZmWjr/iiEwEEBECAAwFAkHCEoIFgwiWwmYACgkQGFnQH2d7oezd+QCe
-JzuPIHb2H/PX1R9NYqC6z+63wFsAmgJUX4Ei+WzKGs2r8LVtIo03nc/niEwEEBEC
-AAwFAkHCKOAFgwiWrAgACgkQgcL36+ITtpJ6eQCfQ5aTW9WLJNVWTdp4fi618YDd
-nNEAn36Vz84EsZ0gpO0Je9S+geCrffj6iEwEEBECAAwFAkHCKTAFgwiWq7gACgkQ
-a3Ds2V3D9HOXdgCg91Pqo7tiv00Je9XoTIJq82ug6gsAn2Q37v0WzuggX1xyzDSR
-7oxz77owiEwEEBECAAwFAkIi82wFgwg14XwACgkQ2KgHx8zsInvpsgCfdHcjOaK7
-aK1MBAYBaWwkK4rfd7kAoKxblxsQzllz7sLvFbK7xG2ipuNJiEwEEBECAAwFAkIo
-ngEFgwgwNucACgkQLADuUthSlVgXawCcCbstExBnVkd/fHvatuzJ3sJ0g0gAn1t1
-CmnaMwV/HVQlUhfqefYlVN3giEwEEBECAAwFAkJTjYsFgwgFR10ACgkQlvNNek/0
-hjUNPgCfRJZleAq/j/4tbek4A3/lhgXJha0An1aToz0bp8HSf2NBjW1euvf/4VZC
-iEwEEBECAAwFAkKYjoAFgwfARmgACgkQTbbnG4BhqDBuUgCgyBpzBy8k7OKzjiYr
-KMGIWZqiMiYAnjHdHdzo6dKcV+J3ef4hl3VcLqDfiEwEEBECAAwFAkK9MmEFgweb
-oocACgkQr2QksT29OyBNEACfbNEfltwRZ1RmZEkt9ZTwOJSli5gAn3brUt3vc1JI
-xs8dlkwHV1fSJpH8iEwEEBECAAwFAkK9RW4Fgwebj3oACgkQ62zWxYk/rQd1UACg
-wJNmfL/Cs6bYMFPC1dRrNsf2GtAAnR6K37k2u63FX1lbg4aSMLCcNviCiEwEEBEC
-AAwFAkLinZ0Fgwd2N0sACgkQ9D5yZjzIjAkhqgCgj/Uy+2Xvfw9FAwPdWSaC+o4A
-VUEAoIvJ06LeJppo5EQqEt1mc8bYV1UjiEwEEBECAAwFAkLlBZcFgwdzz1EACgkQ
-g2E6UBaCfQMWAwCgk0N+XcWaLDssH7wYu0EtOFW1kKUAn3Vq83yrmg+F4TvieNmP
-hhqTP6W2iEwEEhECAAwFAj5ecYsFgwVYU94ACgkQUF6IRyLnX0ugAwCgnZ5NnBWJ
-3j9/7slzg5Iy/pU6UesAoLaNJiUgVfg+h3uP4vUJhum91P/biEwEEhECAAwFAj97
-CToFgwQ7vC8ACgkQW7P1GVgWeRq/ZACeL6lVKkE1iFiC/YonlBzLqNAdVkgAoIBH
-8VYDXLRIgBpyfSdwc1YxTeDDiEwEEhECAAwFAj+P7j8FgwQm1yoACgkQKLKVw/Ru
-rbuqxACfb1X6tBq7g3z5HgfCXv2sm2gQI5sAn1JLb8gDxuSRcWMHulGZY0hZJfvy
-iEwEEhECAAwFAkCn2cEFgwmw+ycACgkQt5wosOl/hW1B0wCgiQGkFQEonh2cRtw1
-xXowakWqx/EAnjp2Du5T+xpOdf4O+JwV5DmtKqW+iEwEEhECAAwFAkGE6LYFgwjT
-7DIACgkQGKDMjVcGpLQO+QCgsc+A/SO9bY78+ul2KU+7SCcztq8AnRbnT0G0HnJd
-QYMffrLF5Ing2fP5iEwEEhECAAwFAkGxhHAFgwinUHgACgkQAVLWA9/qxLltoQCg
-24DNLxMnSOcPFPCNLTPkyyjyQu4AoIe0tZDEDS7mvM6RQaHREvCuFIOZiEwEEhEC
-AAwFAkKWAqQFgwfC0kQACgkQi5YpQ/wkPzzhMQCgj+rrxz3tJgTrmh3g3+5rIcWE
-EUYAnjKOFjzGL/7SyFlpehh0Xa3oO69WiEwEEhECAAwFAkLrbeoFgwdtZv4ACgkQ
-wm9wFgHGy4MQfQCffyaecfqcThyxP9FNgZ2Uz4pBwAEAnjMFgtk5JN6gZ+Ztgqe+
-YyYrGvvuiEwEEhECAAwFAkLw+X4Fgwdn22oACgkQWNqWrwuQEUHBCgCgn3XtRj5q
-JxudfYkec540HnkoerEAnR2x0A8LAA49rsbhCiLZlmTaaD67iEwEExECAAwFAj0H
-TRcFgwaveFIACgkQPGLK2OTUMk2IMgCfUXkZfmZrMFIiYO8F/naQMBs/94UAn2Xr
-f2uaISYrPudIbRkxYm+R2NrZiEwEExECAAwFAj14eLIFgwY+TLcACgkQ0BqcGU12
-bN6ruACgi2uFjh4Sy0Kjyd760dvfpa/9jtMAnjHyPQ0tHYSqSZDD9qaQvb/F3PlM
-iEwEExECAAwFAj15MRMFgwY9lFYACgkQcFxTidXBs1halQCgiR5GTSx4fSCqkikz
-rOOOXAonDVcAnRFQ13dmkjLcRy4E8bxLtm8xPyAdiEwEExECAAwFAj2DrfMFgwYz
-F3YACgkQAtbtIeMsT0ugzQCaA50Snyeu82nth0ikNVnzHD4W0eAAnA9WxGBmmpvW
-YOq5LOTy2fVe2P+EiEwEExECAAwFAj2F/AoFgwYwyV8ACgkQ9Wsmo6Y5nnPZcgCf
-UvxNXjoWYEsAYJz3z+MWDeGrfJQAn3slXF9ced2OAN3YgYZNTlIC7UUaiEwEExEC
-AAwFAj2IEOQFgwYutIUACgkQg2XL3N1NTv7QVACgr+C/P7gqGDupYTC21jl07mPf
-G/cAoLZ9zkmr1YF6Br7szUKksSan6fwtiEwEExECAAwFAj2IOwAFgwYuimkACgkQ
-Hb1edYOZ4buWMwCff0YYdFZ7gdc1qjCaeXDhCfLe0OAAn1OJuZ/eKGk+i0V/ScLp
-OMLn/SCCiEwEExECAAwFAj22wZ4FgwYAA8sACgkQVkEm8inxm9HyigCfaNbjyIlH
-YA9cAv8sLkz5uHRoTe4AnRyDPfAFiBPZZhwJNDlmTEColXL/iEwEExECAAwFAj72
-Ip0FgwTAoswACgkQofbulCQLTD21TQCfcKuy3MEjJRrikDBgKtpIP1at2cQAmwRl
-ZNeKOT0UJ4RNt2piAHqTD47giEwEExECAAwFAj72z7wFgwS/9a0ACgkQBYtazUQc
-X4H/jgCfaQXW+LvjoJacVNYrdxhXUYx2a+4AoMQV/y+zjcnaNRbZTH6unq4fBDB5
-iEwEExECAAwFAj8AnloFgwS2Jw8ACgkQMozWs+vCdRW8xQCeJLRNfZLO7twP4DnA
-saP9wNdsI+AAoKChEzuM19HrksvckWmBVafawaPRiEwEExECAAwFAj8Fq5cFgwSx
-GdIACgkQTrg06OLM8A+J1wCgmucpP9rc1NjzPHDFNcQokRbp/REAnRvctW/8AwDa
-H/btQjPtXgQGCbrPiEwEExECAAwFAj+PlHgFgwQnMPEACgkQbHYXjKDtmC0gWwCg
-rfQwM+i6i82wTcXx8LRPVHm//88AnjOiqMYKpGj4cpkwdX2nhUlZEyGOiEwEExEC
-AAwFAj+QUxgFgwQmclEACgkQnQioDO2QjWrbcwCeNw1qkRaDRy3/fl41K0F7fbCq
-q58AnRXqq6031t7zmMdmZDvFlB5M6uFXiEwEExECAAwFAj+Qbb4FgwQmV6sACgkQ
-lSxWI2ynbPR51wCgkZpbx8pnoqj6mmXrUQgJSce7eRMAoJcbGZ0ls3JXAJRD5y0P
-YzznxLIriEwEExECAAwFAj+RGicFgwQlq0IACgkQ46aNyqaY2pkmnQCeLsrSrn63
-Mnhc7lwklc3UHlYHQLwAniZuyemrUEsU0fdQKHdafHg471iPiEwEExECAAwFAj+S
-mrkFgwQkKrAACgkQtamfe9tFLSc5AwCfaA0hJcLIfm1Eek+X2hs01q3f2lMAn04y
-qK1H85hZ+77goaEBj2YEEiYsiEwEExECAAwFAj+TKtsFgwQjmo4ACgkQrSAagZQ6
-Xw5tYQCbBE8yHKPJrUivqIYiVJL8y7voOqAAoJc/HBTNTrRSxyjK7nPmyBYlbY8m
-iEwEExECAAwFAj+UBecFgwQiv4IACgkQOiUrvZ0kS1UvJwCg2Lw5xCu5/pUTEFEr
-cShPUDM3uDIAoNLDQt61O5Wego+ez43N2N8doSqFiEwEExECAAwFAj+VCZoFgwQh
-u88ACgkQTDL5CJndlGiZvgCgiM3ez6j21lBLfJnMIKhGMrMhW/gAn0WLirWDnek/
-f9iDEMVcGMEnwOOciEwEExECAAwFAj+cMmsFgwQakv4ACgkQNgJWU6vgsQY8MQCc
-DE5hjYq9uHuyC7ZnBg47a5BkVdsAoNxLfUY6DeCekwPu3e+3qJsbwib7iEwEExEC
-AAwFAj/UdIUFgwPiUOQACgkQW5ql+IAeqTKRqACfd21FYGEziCv14kLK2bD6ghb8
-0jUAni5XNqaFLg8i+0bg/MSQVf88ZQKziEwEExECAAwFAkDcUg4Fgwl8gtoACgkQ
-zQ+com69o1nN6gCfUXjD5LUESFXa08Px3pbfXidXAuAAoMJ1/H/oFgcer7t+tACN
-2vC8GGYsiEwEExECAAwFAkDkGbAFgwl0uzgACgkQHckf8471INHpVQCfV67np1ke
-Bn20I5JABN5Swm51B+EAnRxMBVbypQcppBhdWnxQadrjhHVqiEwEExECAAwFAkDu
-oKIFgwlqNEYACgkQyA90Wa3Cns2o+wCgjBXhs2mEn9HFs5F8WR4AdTpWp0UAnj/Q
-ls/ZRkcy/RAfAN12XgHOkpyciEwEExECAAwFAkENp5kFgwlLLU8ACgkQK6gmAsLO
-gJlWDQCfe7E7rcFCn9xuL5Rh9MDVVueAJY4AoIL6CdZIlgg9Lt/HG2dDFgwPwbkG
-iEwEExECAAwFAkEYu4wFgwlAGVwACgkQ1W4oD4nfjasGFACgyTFOT3NMOo7DObxu
-lYi+WtYriqUAn1Y740hi4fWeByAn5qoUj8brf24piEwEExECAAwFAkEiMZoFgwk2
-o04ACgkQ+FmQsCSK63O7vwCePBtM5gchuVC3gXAMO7r1A/le76AAoIMM0oq6wuiH
-nT/dUAG858Cw09t0iEwEExECAAwFAkGA8OwFgwjX4/wACgkQsYn2tNI6QchEuQCe
-N/pbbqMBzHuAfWO/g9QfmlmVIW0An2WQXrXoE3xnVp2C85BtML2phOWPiEwEExEC
-AAwFAkGEAf8FgwjU0ukACgkQTjypAm4rQ9yB6ACfYnJx27fjxYsq+5UfQEemQt2V
-O3cAnApE8yUw0B3ZpqCyfRo8JQIb/cJUiEwEExECAAwFAkGEkIoFgwjURF4ACgkQ
-lPH09zrL0iMiigCcCIbdWZPauTvF4Pn724WxH6Qed5EAmwcodEzOE/rElE7fqScR
-mudd8Ur7iEwEExECAAwFAkGEvnwFgwjUFmwACgkQTbPZ7n9FhNqFGgCeNgwyzTJY
-1OABEu/EoBXEUOENxdMAnA6Ul/yxKQihc39VvKQfpdwPGUhRiEwEExECAAwFAkGE
-6B8FgwjT7MkACgkQLMilaHDIrOVJxQCeIJI+GgF1UfUOjkYsjkq260Q72OUAoL0e
-kc/ixpvh4Vs0j1q9Wx0fpQUwiEwEExECAAwFAkGFRwQFgwjTjeQACgkQDecnbV4F
-d/JDbACfW5h+kLB3Y0wokkr/sxy8RFXwp9kAnjMs2yoVbG2ZbkHQV2ZODRF66zuM
-iEwEExECAAwFAkGFVkIFgwjTfqYACgkQqI/9z8xhHubw1wCfWLT8UnjyRQIuxGPP
-WjtGVeezdP4An2GJa9XsZW3yv2eOPAsP93+npZtdiEwEExECAAwFAkGFXLkFgwjT
-eC8ACgkQT6RVPNdrU1mZHgCgq9+wyMgDr96Ism0gY9OxSqMA+88Ani8EIVnKhI6t
-rTzgZLZDrZ5pdzDuiEwEExECAAwFAkGG8eAFgwjR4wgACgkQbHYXjKDtmC3wYACg
-1f05WHi83tg/PMHoBkqlngdDIuIAoK7KZ/to5FrkfNphn6Zo0fozB1n0iEwEExEC
-AAwFAkGHwbsFgwjREy0ACgkQVm02LO4Jd+iS0wCfbUWuTf4DZrjdua5kNdfvk65g
-ojgAoLHPPvTdAlVKacX/rnPD7c36LfuYiEwEExECAAwFAkGH6+oFgwjQ6P4ACgkQ
-TTx8oVVPtMYoQQCfXmZAzk9EjL3qPz50zZgSUO8l3m4An0Xoqn603NHFaHfbBKdt
-WGijlgl5iEwEExECAAwFAkGMPFkFgwjMmI8ACgkQiSG13M0VqIMbDQCfSxC8XNls
-eJ9VQ50GJ66KwSDljmMAn33ApYFWTs8qa/EBIQSgqPlVEBO/iEwEExECAAwFAkGS
-MFkFgwjGpI8ACgkQ/2R3A0yRcenRkgCbB5vYhB0cv0S9X1y54Ci1KmaMDNkAnjeO
-H5rAZQsOQZXoDJPzHNrjYpLciEwEExECAAwFAkGTrb0FgwjFJysACgkQ1mvqN8E/
-x7b7ygCaAyFqMIKTMqQYuQ7hnGpMTx7FPmoAoJtfYoL1pFmVZ5Mhwkv9GFUee+HH
-iEwEExECAAwFAkGZWWUFgwi/e4MACgkQSvFUKpY6VLAkgACgiL8te7hejTXfDXRI
-OAZeVzd76/cAoJbmj0tdYt2QGc3j/4yMnmXrKPC/iEwEExECAAwFAkGc8GEFgwi7
-5IcACgkQV5nlLYTPmpDPdACfbASh9WQ47r2zzcVcjlfbvsz2VvgAn0KtwOo73pm3
-e7aPO/mYlLsP4V9iiEwEExECAAwFAkGqMckFgwiuox8ACgkQdDpVTOTwh9cWbgCf
-aMETpI9v6LZgWuTCzE7DceGsuW8AoIcBSwWGF0XkXpRYcvXfjvAg57+piEwEExEC
-AAwFAkGrJUQFgwitr6QACgkQzop515gBbccEhwCfZhBXUVoNKDbW5mpYGxfKrMfS
-cIgAnj0XoOlYmWWNN1hlKoSQrZSvh4FFiEwEExECAAwFAkG3PJoFgwihmE4ACgkQ
-EfLcQ8rmNEIRiwCgpAzSttJZSiGIffSr4/dixsFUVxAAoIwnyzPthchrUSMR10Av
-PAu8Czm9iEwEExECAAwFAkG4HyoFgwigtb4ACgkQ5Vyxg0d4n7u8mQCfdQ++3anp
-pXuhZp6cQIp1DCCz56AAnRA9B/n9ah1wL+IMjoBhFvgSW7JLiEwEExECAAwFAkG4
-K9cFgwigqREACgkQ4We9YdVB4USYCgCeLsm06Ov/Yoi9lfn4UB0IX3qwBFgAoIPE
-VT2gGxQYua51y70pjVYG6t4eiEwEExECAAwFAkG4Wg0FgwigetsACgkQBMQfNs0k
-hKmYzACfZgUeTlimmFrhBDEV6SsslxvVIGUAoKZR9c4+kfE0+BJ069AUZBkkeRKG
-iEwEExECAAwFAkG5dt4FgwifXgoACgkQPrq84hvwIdMBbgCeJhjUvC1klrCPhWqK
-hyfoKJE+hWYAnitsOnNDnjkKDdKta+mrdL23iPD5iEwEExECAAwFAkHCqnIFgwiW
-KnYACgkQPG1Ayb4vCvZS9ACfROLs6kU6Z93eoFUJl5H1M3U/L3sAoIgAGfCxQ3sA
-DvFiYg11GTGnDzffiEwEExECAAwFAkHq47IFgwht8TYACgkQvdkzt4X+wX/UgACf
-eM81+Z/SliH++ZzOmy5ZR9ljTo8AnA5DGAsPAbdU7j1NN0NXUg53dNvkiEwEExEC
-AAwFAkIIjHoFgwhQSG4ACgkQIqUcje1P4MASOwCeLyBkToAQ+3Bvup4B9POq1xip
-ZNgAnAui9pLAdwaGAZ8w5PFxuS2GoXxEiEwEExECAAwFAkI2qnwFgwgiKmwACgkQ
-1cW3Q8Sn6j4gRACfQWmnt2z+J0tB79JQ50hNEVrYuKEAoNAe1Y5xlLlDTSKJmnwj
-qnN0qaeriFsEExECABsFAjbtSOoFCQzJfIADCwoDAxUDAgMWAgECF4AACgkQXeJJ
-llsDWKK11gCfUgltInjqS+wGOrxfjiGjJsNmVtYAoJLaNHln4KYwLlYOo16kdcB7
-dqUDiF4EExECAB4DCwoDAxUDAgMWAgECF4ACGQEFAkBd2egFCRNri/8ACgkQXeJJ
-llsDCRDs0gCgy5RdOqhFvwUFYWj+dHb4LGt7xi0AoKduFxGMuM/loPShQnjvk/VV
-FesAiIMEExECAEMFAkKVnMMFgwfDOCU2Gmh0dHA6Ly93d3cudmFuaGV1c2Rlbi5j
-b20vcGdwLWtleS1zaWduaW5nLXBvbGljeS5odG1sAAoJEDAZDowfKNiuNUAAnjPH
-ZE2+qGvOkOkRYAmqCFMXw9euAJ4lr8dHPg0y8xeNH8M6rSswZaeHT4kAlQMFEDuB
-4BNSrOsu06QsYQEB6AYD/iRZgJ2U+hTGt879PPwLW1y7dQFbjMHqbyyM7eml9ZbC
-+m+jqNvMsniFCR5qvStMgbXuUZGGpd41mL5+vqF0wwM00nBQe+rr5grY2oMPCSEJ
-RNtHEamOsbc4GP59nrwbUhA7MKPSrPCvh9bvh+XQ7MSlar9eVBkqvnYmKdaKI1io
-iKIEEwECAAwFAj+WOcoFgwQgi58ACgkQ4WdUde/jR61yvQQAghvUxGu+fWc6RUEZ
-nrQ8n69FOPRq+od8fiYNF5iSWfBon3hmT8IQi3vRFbqCcKsd7fn+rl2zZjFU5f7S
-uzaF8+hODuH7B/jK+bW/dnhpgDRZyvmZMtLpeAOPh3IkrGEeknV1LeTZcRJnbGTZ
-iSu3LS8E/AVuSXmmj+2tXXBzSFKJARUDBRA3Q97TUoBXRHZTQB0BAchxB/9iTH4O
-9RoIshiUysQgMpncn9o9snx+sCO/NiSuAVleHNBP1d/Kvo6SGLJYoVfbfLPMNVyu
-Z4jGi8JQjsgVjpAz93nIevhjz7Xwd3JpS9oUvPej1mdWnUB4AnkKQfN+5+eso9Gk
-7OC9cWq20lU9tpVMDIlOj8GHR9kYfJ4fBbzdCGbG5Z9pzo+96gDUMzX5ZrHlChdV
-4eHJPMi60XeK+mpocQFQH3GBUSTeM3Sy93JoYJLdAA2ZcwMF5xI8HRx8u0rwCZNX
-nDTgPaRbDiW7587n3dWn7Pwmxu/CPtCQ4YO+WdjcKvHio7CqojtM8/7xuclkp3Wb
-1pE1s9w929ca9SHdiQEVAwUQOcqYVhpPhku+30gxAQGDOwgAjoKCGePm8h7g2edN
-YGosrPTMcZ8PNCMETXMZozgCbEd5oWvotRaZnta2CZyj/u5gOrE7z8XR2PNttenu
-HVDii5y0KwaaTR12/wrp9VJ61wLy/4zncnx/C9Nwg/Mu9Y2bMS8EuL16yWNrm6Yx
-prWsaaYy7G251NI7cseXcVnuAowzm6k8ovEwCAqVl4s7EUibNQQCuDgH4idUdr41
-0fDnpUalpvsGYf1wqhs93RbjU7pNEaLmnlz8zESHYaev+JpMVAfnw/jjWp97xyCu
-al75xrc/aj93anrobvU/sSKCDbteDzW9xYyjqZGu2npn+rBR4iUHZf9j/glwT0PV
-nH/jf4kBHAQTAQIABgUCQQm8qwAKCRAz/XFX/s5mTm10B/wK4tRztfYKQVVYYl3r
-duOE1rEntFEP3yV0H5qkIlPrXNi3j2hgOiUEBNDgFpuJ9rSz7IZ3GcIGlP2IlT9O
-icGwpabAtoB81S8rJKkzI+bBLCK2J1xJslIdjk2FO1u+KjLu1gu3RZYaYPc3bETX
-XmtECI2h5hNazvDw+QS1JTIkqr/vhl3TY9JAxiLwNBWn30phh8kRzvRJh1EI584v
-RVb7nTSd6PYpnpoEskJbXyAc+BV2QLPk95oj52MweGADFNv3uuyUq2WH9H1KP3Mn
-wNReTy++woQfLzobHHMyBr4ccC4uKlqOmBcZ+kkmEjxrJTRALelu2quUhpR7a0tc
-qFxSiQGiBBMBAgAMBQJBhRYSBYMI077WAAoJENJkZhEZk6qtGSkL/0qaizY3Ix+h
-wNj+UAN8sGhPLYNGSnPCgLyLMceByJP7fpF96Try6wIYsVAsXdltuC6wEsDNjIc7
-4FCduAc0HfhnJ5Yu3ciJ/DvR//vlbnE1pp+RysVf7V3CVNxLgOdfSBd76tgktcfb
-sh+R+qKR4JtWjojkET+XAOrCDYNj8P3nNxHzzYO9UHSBsNzrm46RBFNxtETh0nDx
-mgzfu6i2vpSwoRMbi/39VGlHJNYoA7itVZfZx8FebJA9KcirRDGtWcofsUhWWfnQ
-A2K+ahPIx+N0xVzuxjKZoXbkSC+LFwzaoYFUE6OcFsBkUY40QhCNKIWUX3kSZVUW
-ro6WuwMltQAkXG+03awShgpciqzZ3o+Oro8zmMoESJl9c5oUWuIfJwHpvrw7UrAr
-cZLdf6bcOjHlJqGv2XSRJIxeiUtLghPrZF8pqN7j58yL94QC7PsQLsRkcgGLp9aS
-v87O7XzGU9nlyOS7wR56pQPClpTO8tm6ckquKh7T5jIqnszVh2t4yYkCIgQQAQIA
-DAUCQcIpbgWDCJaregAKCRCq4+bOZqFEaCX4D/4kRmZ8eDsYuKrw8OS0yUK3PI9k
-4wyBGxUQmuJKgXFRAbCkUpATHvRh6ZXquWFSVbgkay3cfbGLfZWiT7TAz+k3eiVS
-tm/Mk88pqlTfu2pUq0/5bpqJF9zt/L/i2aY/030A4l5gsEccCsdy5F1FXQPbYGFT
-vjtPJx8hMstAG761HhaOib/A2O8jd7f8elZMGSTubtsFJ1/K2Po6sy/3ylJlfo/F
-zgvqTJYju4IPsIrq44D3k4kQDMahU2W4k6crQncV7w2wqC0zxmuZIuCio1wyvYG3
-ey/pjNfrOemSuA/gmmN38uBJM+vEQIPnUdJslc9H2eH4rVKFEQZuqUk+HUdwVQhJ
-KfwaMmSiGj4PeXphtFc6a3lqfhsiN+7lOnzk0dRMCxZEMgLjIC6pGquJ610zsYGR
-b/viXDUliNBJod7CeOHRH653/00U9aaqh1Km2He+BWmtZt+Kzw10YUm8oox0/E6X
-lE4EL8p/LP1uv8vbaGzTVxX5NIr9gVhrnOVDHHXtlFZxatg7ZLuSNkK6oiqsR2yn
-xk2ysmTQEzyi20UFxnH8ICsUyRyEDbJlbewQPtJRnknpV6QhsUA6bVytyYYA3RkJ
-qSDojEgAgz5LL+Zhm1Ttz9ccwxJY6/ZevzlScNrFxPnzmaotfWPgFis0yF+PLZGT
-uf/gssj8yYMAWhhtBJkBogQ3OvfdEQQAw/+RYsI0gH0jpxd1Y6dsbupdOX+dmT/U
-5Hha81a/nTrEP/vOIjx83r26zigtSXBDr+zrMTh18Xu2CYLOogsLcE6ayhdzMes6
-OSd57S7WmoWufFEQOB1+28aaLFyzI0XW6MpnCPYJVS3mVrMr48My2jWL0jitpZMs
-cjGy5i4afSsAoIwpCTjZRgFmv7Gflb+BGVUuEnOlBADBZ0X//+VHI1zZTApL8VhG
-n7bt2EB/u5INdQ2wc29m1zqQB8T3rU5//5csVlTvW6i2w4gDHIAlIRNxvvdPNIPX
-t/jYIXQwM//UDAc5IN0DEOXT5rMklel/mw7yVYfejiY5W4SxYhiGW3D4ybwKYQ7l
-atQBBHYmGWLPE/YAjxdKFgP+LqWWdZ5KV6clKp43AkUk73hDMvGnl8Z/Vv2M+waj
-66/MbJJdBgUW/Pu2NJGasxVSK8q36EXj9pNB0K8FVrx6u2eANEdrWj9MO/cchQ3s
-C3I3et1N568qqnXOu/7mV1yVHJfS8sQc2tptMTneb7usmXAF5+OziUOcS7ukwSEX
-nJy0Nk1hcmN1cyBCcmlua21hbm4gPE1hcmN1cy5Ccmlua21hbm5AcnVoci11bmkt
-Ym9jaHVtLmRlPohgBBMRAgAYAwsKAwMVAwIDFgIBAheABQI/gWcwAhkBABIHZUdQ
-RwABAQkQwKTLuYeXhWkpeQCdGJrYN/uT05T+grdci+zzNebybfYAmgK2OjM0TLkD
-SZeSjVgKEx6tG7wltBBNYXJjdXMgQnJpbmttYW5uiFUEExECABUFAjc6990DCwoD
-AxUDAgMWAgECF4AACgkQwKTLuYeXhWlAywCdGYJpwUWVH0GGNZ39SAt5NzOerMcA
-n2Nfqz0v/sdr0mMPNbSziGNUevyBtCVNYXJjdXMgQnJpbmttYW5uIDxicmlua21k
-QGRlYmlhbi5vcmc+iF0EExECABUFAjc6+dkDCwoDAxUDAgMWAgECF4AAEgkQwKTL
-uYeXhWkHZUdQRwABAbX/AJ47R66dq4o3vobMe3LqOHhXEdWeUACfTvV0bshBX3MI
-bIY53lhOnqkNvVS0IE1hcmN1cyBCcmlua21hbm4gPG1iQGcxMGNvZGUuZGU+iF8E
-ExECABcFAjxw+b0FCwcKAwQDFQMCAxYCAQIXgAASCRDApMu5h5eFaQdlR1BHAAEB
-jmYAni0grvGxgcgSuXK3vzLErIkfFK+jAJ9OfvRc1QinOAydyujUX5roXM/opLQh
-TWFyY3VzIEJyaW5rbWFubiA8bWJAZzEwY29kZS5jb20+iGYEExECAB4FAjx7ebMC
-GwMGCwcKAwQCAxUDAgMWAgECHgECF4AAEgkQwKTLuYeXhWkHZUdQRwABAZRBAJ4o
-xvVUX6skfJud8oKoYvy0l/ArGQCePXVckzHYxtiuH7NsDTesxWN2Jx25Ag0ENzr5
-dhAIAKcsu8SB0lBBOxYbd/oX0mirpH6wmQCE9p+GAsUA84pj9xE+beb7hWlBLGeD
-mfDWLoel7AsD7vVCciK7u/3I5XDPWE57TIJht0F4pfQ58p90EK2qqIxrVkmj8L51
-ohy0rot2VuklO/+2SlYj7a+wApfwPU9hkBCKmoQKbMNbkeX1C9O6cAOwa3bLyhd+
-5ZwVKtbsFXO08dkEmR0g7i0+jOzKVZdTAzE2uLg/3m58Uy9g3UMxhg4tbWZrS0Hs
-cWdZXoAjo/cw3nC6utaZSy582gxpGXf4D7DjmUOW9AwkDbPZFuHCyYRrpO/Q+4kQ
-vKTkDIi6m3w1P9eGm7eq7ds3Wu8AAwUH/j8DBqWtXC2m1G+9nsj9bUuYtC5OMKyi
-9MRiwbrCdlkR/q7hRgpvojxiui6M69s5raBIDa+3k2mAHVHqfR+7QC+n4KTXIXHO
-rN4GHD6jlEDwnVrylqawMFAgCRutD7ipTPffJ9G5cHqPLuBJo57P49uR+DZ+lpng
-qr4XTRMW9k95RkM5I7GnUU+13Tj54AzThi4se1leKYQjWBYQLbi//MOFZ8EpPeAd
-P4nNCULHRNj0wix4U7hwEBWKHndFSrQKypwotIsTnoyfme2JdArcr532tD8+3miV
-NHqd2BiRYInQRCGsVaLKzEs79sxMreBpv2qp+LCLWZ6V4QMaInonLdmITgQYEQIA
-BgUCNzr5dgASCRDApMu5h5eFaQdlR1BHAAEBnD0Anif1Vuv+XbRwwHOnUyvytsWJ
-WeMYAJ9+8bxaWB4D8NDgqzYSzcgpCWdF1biOBERAD/ABBAClEc+ggo3tKaaLNJSQ
-E+C6sUQjjqXQnFgOengMBFio5Ur7+si8DK9iKolgk6HuIYFH6MeCmFvURicKoclY
-MVGKGx8mc3iq7awBIrU4j74Rj5XiXjeMui/jHggH90bf/ouHNcTTsHX5kziweTdq
-WVYo7Agjdh5ckv6cYqlg8/+DSQAg/KqjY4hJBBgRAgAJBQJEQA/wAhsgAAoJEMCk
-y7mHl4VpGNgAn2cLCf57hXUddxvbPBgtWX4WyPxDAJ9fg38QhJrqfK9+z+zL2pZ7
-GqGrdIhGBBARAgAGBQI3eHY0AAoJEHEtyVg9xXb3TzMAnR0w/cs3O5FAaFw+aVSD
-k9uUJP6yAJ9loILfam+WveF+MrGnusXsDvf93YhGBBARAgAGBQI3eRy6AAoJEDdA
-fgkueqrNIqgAniqrGi+nLmBPc/iORHs3j8yMnN2oAJ9xp5U/RAYg2iPtlROY0EXk
-pvqYL4hGBBARAgAGBQI3jxN5AAoJEKnmZ/8mzHhTgkgAoNlFm5PawxyMGlXB0yNN
-tWu7iGuHAJ9gH6O2TKuIj7fYloIoBLke1F3uXIhGBBARAgAGBQI7QP/MAAoJEHkW
-Lzb39qrZZMgAn04SZfDYEEO0H8+5/pkG3Z1J68AbAJ9hyy44uuT9q+5pvcEllbkl
-yEYtaIhGBBARAgAGBQI7QQXvAAoJEDv2CcaLr829DjAAoNQfXgbkxwImu4O3D53P
-p6Yw+dn9AKCoXLfEm6zS+k3dDRiulTpJ94NMSIhGBBARAgAGBQI7SG89AAoJEOd1
-4yTbQbOHoFoAoJxye0ZLZnOzejGbaAjddDnFFrRFAJ9JiefttTviGzVcZNYi6x9m
-IU3uKYhGBBARAgAGBQI7SzZQAAoJEA6nVrUUSEP1/PAAn1fjkC9n6gLfWZFiD9h2
-5rtlx8NqAJ9+GN3xGvYw5oJkrkK6E/hyJKcI+YhGBBARAgAGBQI7S1hbAAoJECtK
-7KmxIjWtboYAniB0KO+NBf7tH6jfR4atZfB9oJEYAKDUsALj1UN3GoCKQVxBPYWy
-nYA9w4hGBBARAgAGBQI7UsBUAAoJEPHSzMhJehdtJRwAn1ZW50Mgvhp5Eo6mt+rM
-Mgwy2cJ5AJsEuWt5hQhJBhn704ZjghvziiAfoIhGBBARAgAGBQI7Yxq8AAoJEI8f
-38m84JQ2t9wAnR9xQ46nFf/hQzZZCLVWNvtKuxN3AJ0bCgAa4eqwqB5hg/yuNPEz
-FbwhqIhGBBARAgAGBQI8bmBGAAoJEIeVOB4bvrhK6WMAn3ZhE2bM5T2GaF/Fh8Tp
-EIVVQ3FKAJ0Q9Uwjr/Epn/57Yit+lmbMfnVijIhGBBARAgAGBQI8cRerAAoJEJss
-h2hy8fIND28An1Z5Hls+Jskp6DbiIfGErYHYcjaPAKCW1DtpYhFK2uV4Pza37KWi
-lvx4cYhGBBARAgAGBQI8cUClAAoJEDoapjWQmlQG7xkAn0bSTKB3BHl66795wtmR
-doFKZ614AJ42rgO2IJG5XRh/+/jrcGjztvsBSYhGBBARAgAGBQI8dK6yAAoJENGj
-7q+v0QrPm3wAoIe0Co9vlKf6gwjz4Yky9BiXvYyCAJ9m923YzjngFMGB47gqKmS3
-U4IIYohGBBARAgAGBQI8e3KdAAoJEG74r8KGV0rKYiwAniujSnXrQZ2eNGC+mXTS
-oLBEWmzjAJ0Zk27daFO6GUgfwM92bu6XW3ZeT4hGBBARAgAGBQI8fUKyAAoJECwY
-oCq0xfN/PrQAniShB8M6BMHsw3rOuIvxOc3XbAv5AKCYx7ubF1eWysuTN7GyrUZB
-44Z8QIhGBBARAgAGBQI8jL2vAAoJEIW5kHXCkQ5BtCIAoInMgQPBUeS3wW2kq6/H
-Cv5f+S/iAKCrl00OZZomz14dgloHRsz8169iKIhGBBARAgAGBQI9Bsd9AAoJEIy7
-QVMRS68RLqIAniJuMJxQyTaBG1jqO1WN78OXrBMNAJ95cE8pmb0CEMax3jmm3qwJ
-ReaZj4hGBBARAgAGBQI9KMbSAAoJEHw7eXCIx8H3MKoAnj8ejnMUKjC5koe6wJtc
-9LVJT0RpAKCIzW4B7a9CLQ5fz8hPQRvsWRP/o4hGBBARAgAGBQI9KMbdAAoJECdl
-aNdcYVOt6iUAoJuvqfjsSHKGO49j2NrKZMJ67CRdAJ0fnfurvWJ3uQIqruDSQZWH
-p8KYu4hGBBARAgAGBQI9MZAnAAoJEBjNJaUi84rziG0Anj2uvYByl0PC5AdxzFLk
-XXp5dk8pAJ49YzZVnhkMBMPAO0Sm/QI63vBvs4hGBBARAgAGBQI9MuXOAAoJEFCP
-02O8k2g5ZSMAoN4H5EETb1cMQs17fGuL1joMtVLuAJ45UH/ZE+AZLSWAdfe9dDFO
-ZQnkAIhGBBARAgAGBQI9Noz9AAoJEJEIIZ7c3okKP0MAn0EOq7NUy8WKGo1KV/EZ
-n5xqKUiUAJwLjZ+oDrBSqK0DUiyLjjOEIU9VmIhGBBARAgAGBQI9PHAWAAoJEIRj
-NbghwGWY11AAoInXmR/k8Ne9PdwnYSFOE5E4qmmRAJsG+HisIophbRek8Gv/+JJU
-Kua4fohGBBARAgAGBQI9T4h+AAoJEFSPWeucFDVdf0UAniptwdlWlYCFFfKW/pnz
-Dd8FHGWyAKCHM7EKGExVSBggS85+fw4SfBooJohGBBARAgAGBQI9UvZFAAoJEJUz
-dHX4v2Q6fr8An1koj58GE8xW9THsD+MWOUQ7mCC8AJ0ZmZKZ2SLfkPiabIMT2SzF
-w1pivohGBBARAgAGBQI9tOMPAAoJEFKS90Pr1ZNrDF8AoJSdILy4qjGGbQlliBCq
-pWE2shTdAJ0bMLGPV22bdiCAb+ClRTUf+N30zYhGBBARAgAGBQI9vAmLAAoJEKjd
-nYDckq4wdJ0An2EyKrDlGADPuTxalNV9Jl3lk3LzAJ99srXCSn1Q/yiZ4QRN09bG
-+E3QMohGBBARAgAGBQI9vJT9AAoJEDbPukR4kWuEUlgAn38GC0wC5e52psalECLX
-tbhSe5TPAJ94pkrDtmSHfiDzc4wcTHZyTkBx4IhGBBARAgAGBQI9yzuyAAoJEAmU
-kfeRsNO3mSAAnAhDCThzCLAeYLmJuaqEdgUsXuBMAJ9CqoF4TxYaGjLCrvi1BNwm
-k1WsS4hGBBARAgAGBQI+MbfNAAoJEO7w2zSzISYDinoAn0oHAHeQNngKkgOzsYWa
-0yylqnLZAJ0Uw/vXC85jTknV0mnQVdq2gPjK6YhGBBARAgAGBQI+SvTqAAoJEJh2
-iWGe0QG/ozEAoMCIqXaTTFCIxKnv4F+EbB80OdkSAJ97SDPfLqiJzAMXG6lvjHDa
-rw3XdIhGBBARAgAGBQI/UOXyAAoJEJFazEWo9ML9ZBMAn35HFpq2xA/wWHM7Xu4S
-roXw4R4fAJ4lFCPx04BnsgssRiaE031lZQuv0YhGBBARAgAGBQJBfAG5AAoJEBhZ
-0B9ne6HsqnEAn3HyxNjfzzEVjzLoy0XZ+ZQ5hP9/AJoDLUzLUkc2fLXnjVzBlm8g
-ZkAcQ4hGBBARAgAGBQJBfBJgAAoJEIHC9+viE7aSrCgAn2EuRkEC/AiVvXodTQWk
-S5YS3DclAJ0ZkaSD/AB1dfba4ew+eJq1ZhFH1ohGBBARAgAGBQJBfBK4AAoJEGtw
-7Nldw/RzcSoAnRvnV5SsgKsmKVogURBP10GMeWz/AJ44hk9u/COHiSetWHPT6PIH
-72vUeohGBBARAgAGBQJCKNAAAAoJELZr9ntxA8Xa4A8AoLOrStPezgIdnhfSDc53
-3a6f3krSAJ9zJFv7eYIDceXsrBNAVGbKXiEA9IhGBBARAgAGBQJCXCq4AAoJECqL
-xADARsA5ez0AnjIC2fOR4A4laWtCc8DeaeCv+luuAKDhzoNo0SdivuqPXvMYZTZ7
-LFixiIhGBBARAgAGBQJEEXJjAAoJEBJ2JBfPBQjsGUYAnArkZVd+f8AsuxVJJ2/Z
-6HmWOEGpAKCj6YVSBxQBpyoX3dl5TH98CHnbkohGBBIRAgAGBQI9J19CAAoJEAsP
-KSnfge6DXRsAoIDfyLevFYw2Nyfp4OZlB9IUZH5tAJ9bSlzv7sZ7vBiiVgYbYddy
-6U6+hIhGBBIRAgAGBQI/GXHjAAoJEDMLA4tsY3Rt3AIAoLCm358o91ksXqe9TEgy
-qEouaO+YAJoC7eKWbnMe+zOncqmkIe92+3RIeohGBBIRAgAGBQJBi+CkAAoJENvD
-6/wz4/5WsSQAni0OEioU1TqooxTW2d6FocGs+eZ+AJ9byIvaBCapruL0gLAxejwd
-FIrU+ohGBBMRAgAGBQI9BOe4AAoJEHFe1qB+e4rJCI4Ani/RIDLie4DJBD5vcOQl
-XkQ/B0boAJ9Gs8lCM5RJ5Md1WIlPvaLLff6YpYhGBBMRAgAGBQI9NJl7AAoJEDm2
-Yqiv44FpnHcAn2RrMkIIuRwWS+olbhI29rqLOYQcAJ96OTzBv9HnLQk97MgrIk0u
-MTEoC4hGBBMRAgAGBQI9tWUKAAoJEMuWmJRMxwhdbz8An0jDzVqVBr3R8Paca3YG
-rkg/B57VAJ42uzjJS7+2gWdvSCIPbfNqyzJUM4hGBBMRAgAGBQI9tkNMAAoJELLT
-fwi1TAkwUw8An0XpAx/1YVEIAl/bBUh8vQNVfXQ+AJ9ZqEEth2Qm/btpLG21+9PN
-CQimwohGBBMRAgAGBQI9vG9/AAoJEC4s9nt3lqYLkZwAoKliHAv9tlFYFquFB6Uo
-NyJYRRVeAJ9/askE+TClHgOeX/tAutVWTeVgyohGBBMRAgAGBQI9vczLAAoJECn4
-5GVniJZfCtUAn3fwEjTyMPsSkMACHZlRwTKJTn+MAJ9RJGFw+H4SOfcFyzQl26OQ
-xUDla4hGBBMRAgAGBQI9zVX8AAoJEO9n+8dii45pisgAoIlvGenK8VWdjEHdJ9Iq
-zbsVQybaAJ9fR0pBQQF/VSq0iLz0UNfitcs4F4hGBBMRAgAGBQI+SY57AAoJEN56
-r26UwJx/9lYAoOVoRTgMTEI2mPFriutraU32X23OAJ9JwE+eS9nTIOmicFcKL3Nu
-tCQTUIhGBBMRAgAGBQI/hFB8AAoJEMUUr45LpAHDePsAoNyxJbmjCjwi4sPKFF3B
-0Mf2gn2xAKCtEVTTWYUILahVdnjru7PmlHlCIohGBBMRAgAGBQJBcnkMAAoJEE97
-8oSv+wwXC/8AnigNNsG2wTGZSPyaEwk2hYwNxzvhAJ49XlqwWx0yp3NRxzR3R7lo
-cjcozYhGBBMRAgAGBQJCM5T6AAoJEOSLZbVLOU9+BAEAoJmB1Ghp0atCi86bnLcr
-vxLBVJQOAJ47shbjSakiqp7V89s45voH0JZUdYhGBBMRAgAGBQJEEK6PAAoJEL7C
-TATaqJiSTCIAoIE+Fx+fKPJYDhl2YoDdFKyJub3OAJ9IGj6D2KN4UMhhYhBMXEMR
-7pAFmIhdBBMRAgAVBQI3OvnBAwsKAwMVAwIDFgIBAheAABIJEMCky7mHl4VpB2VH
-UEcAAQG3FQCfZy6nZ6K2JJ3p8jnNjP+KnCgBf6IAn3WumBB9RjfvYCPL7EkOWhGR
-J21NiQCVAwUQOHtkh0wn7WU2580JAQHcGQQAij9e1yHjYezeVWVhWhjg07qEfc/V
-5PVQ5u5KW7zW0ztS8RtTIaaJaI8lLnJMV6gj5cx991GzaL4+nD0Hn+XpDacNGnO6
-vTlel4xrvcRJetC5dD6kd/vvb+mKiVwHbK+bF4hiBzbsreJ2T0HUEVKoSz1Wpbhr
-EO2h5N3fPdHKDh6JASIEEAECAAwFAkKczAUFAwASdQAACgkQlxC4m8pXrXzJaQf+
-Nn46e4Gu7Jsj0iBOECOFTHCYwvCtBXYSiAJ2qNbVQ4G9zHCW25nMcmnCxoT5LISX
-buvTpw5wSvDOlIsJtDvAfVK48SXXqoMJ5S/0oj6nJKJllMCGHEIhjCHyvWWVk79Z
-pit5glaUBfG/mYqs07fm6KuYQ8Zt6kB0Sl8igdE/fozRkoUgeIjNUbVqLvr0JXz1
-TCRjQmlwzqc0Pgi/Hb5dbVBh6v3hXK0ELN6jvaNenxz2yDGIgJsI7g2etofHLGQj
-g/pKkAnoHHs7/EeteY94Owz/5SwM7U3dfQ2rKq0Ff+U1UNpnnyQOjMc/xSODFA5R
-q2vB0HeoGmoxBXQjvB+Pi4kCHAQQAQIABgUCQXwTXwAKCRCq4+bOZqFEaJ8SEACo
-zWbFSR5Va3uz7ycxX8Ca6CT0RUyPFXgGfOH1TbvSKsW1Mfbqv/TL1RNI1yHZtAd5
-i8NGLCBsr/bJDZ/HYNdvGjWGKjklcFFjMDiGF/Q4c3CYSLl3JbFyovIX2Vd2FWxf
-PoLFdBRQL8AJkcZSXgkSFUPaqkZ2HUGDbzoCM9H7u9tScmDYjhBnhlWQuFoy5wjp
-baxAidZtcG4yccXfQtuJZKvyPwEp0TFUb1w2hKW7akS0i+wHcZpXlS2qqs2z/Bsy
-0YqNYR2K6qBmbbVkuWiBGYatDyuSBD0XyoE1hcuFX92qt6KfMYgV5sjcwiGE/di7
-Bw1KbZfW4UKhvlJMYtCLncfkR/6qPNA2W4xAh2QDklSeR+W0gsTe2H817y9ud7+7
-xOnMC0u+QGFqXLzRA2O77oMfNFvi+3BvxS9kI+8PBP/aU/e7iGYGnOguvsZqv8NL
-IbEX37AfK03w7G+WdhW8WuseXIjQzshpsE4JNY0vRyfaKCsaVjqkS4Nm3fXsC3KL
-72FzZBLAhZ+650xce11DwshqffGPYrz9WDRC545AdTp2dzw3/XnH/GMJyjZs9mSB
-zUsJ4MkLo+zO0tAguNnL2Olr1H34fmAJkgDT1C1ieLBmRlSiujyfd/xNEnugKAzJ
-4qworARVplLRhhYtuTD+txWkxDUmOnu26DMnulpQSriOBERAEBQBBADTb0UqApeh
-0QVKA86Vdw0FcbCj7//sD2EtgMYWFm6pQx/9j/7om2gMkaEFaJ/qylQci0P35Vdj
-lBTuwt7a4bnLHqdcMMImfI1RiziGrGnU4dXupizQ/jkgZZs+De9JKM3G0u0Tl20+
-Nuqz/rIyDkhxRqu3uRD7CkzYb6sG3EnJkQAgwuBLPYhJBBgRAgAJBQJEQBAUAhsC
-AAoJEMCky7mHl4Vp/3EAn3lLjZHnh5J8vDPX0EfXTiaCxcRwAJ9mXDiOfaSXENw+
-uZGLREwJhEeZxIjnBBgRAgAJAhsCBQJGlKAIAKidIAQZAQIABgUCRpSgAQAKCRD7
-iGK9/NKik3GsA/9kPscavUwGxHQuxeY8DpMF/kYBxY2cupj/JCEymaxZpA5ErBt0
-k3y0P2mNPy1FLmAO8zmr8M7/ehrwinMzYZuNY6o7pc7ldxtRsLnTcM4pRfM/9LKq
-hXz4vFx5W5Qulb92uUnt4qBmepSikFAIajfEDGRjl91b37Sa8/nfkXWZxAkQwKTL
-uYeXhWkzwgCfQaaSyjLGy3WIyGuMVzLdlmuaHtQAn21yptlhrgcvevUDTI6gLyom
-emvvuI4EREAQLgEEANcDmpVzzww3xczTgL8ekK+Tr9hiwvEhtLkUtPtCQVxEVri7
-HvF0U78T5ep59Ex9I8lfGjBmUtJ1T1cFXRnbYys/+HMO8DEbUdoiRTLet3+mR/ek
-2own7avqokaCSO1xr3n6Km02drp7H9HyUlOC+QKhP6FvtdhIpd4Hi7WQyJUdACD1
-VIwTiEkEGBECAAkFAkRAEC4CGwwACgkQwKTLuYeXhWmi1wCeIyRDSxYXMi2CmZYR
-SkmOdAtG+tkAn0KyfLD/DbjXYGLUqIAU3fvZ88UWmQGiBDpU6CcRBADCT/tGpBu0
-EHpjd3G11QtkTWYnihZDBdenjYV2EvotgRZAj5h4ewprq1u/zqzGBYpiYL/9j+5X
-DFcoWF24bzsUmHXsbDSiv+XEyQND1GUdx4wVcEY5rNjkArX06XuZzObvXFXOvqRj
-6LskePtw3xLf5uj8jPN0Nf6YKnhfGIHRWQCg/0UAr3hMK6zcA/egvWRGsm9dJecD
-/18XWekzt5JJeK3febJO/3Mwe43O6VNOxmMpGWOYTrhivyOb/ZLgLedqX+MeXHGd
-GroARZ+kxYq/a9y5jNcivD+EyN+IiNDPD64rl00FNZksx7dijD89PbIULDCtUpps
-2J0gk5inR+yzinf+jDyFnn5UEHI2rPFLUbXWHJXJcp0UBACBkzDdesPjEVXZdTRT
-Lk0sfiWEdcBM/5GpNswMlK4A7A6iqJoSNJ4pO5Qq6PYOwDFqGir19WEfoTyHW0kx
-ipnVbvq4q2vAhSIKOqNEJGxg4DTEKecf3xCdJ0kW8dVSogHDH/c+Q4+RFQq/31ae
-v3HDy20YayxAE94BWIsKkhaMyohhBB8RAgAhBQI6VPBbAgcAFwyAET/HMgQdI+nq
-Zt21AJydvCHfdNxhAAoJEMdGNjmy13leV7gAoKHV2q0XEP8GJkyp0/V5lgbwBmBM
-AJ9TtVfw2khoaZ3LNV2tINSjj0Alp7QiUGhpbGlwIFIuIFppbW1lcm1hbm4gPHBy
-ekBtaXQuZWR1PohdBBARAgAVBQI6VOgnBQsJCAcDAhkBBRsDAAAAABIJEMdGNjmy
-13leB2VHUEcAAQFWUQCfWWfTDHzSezrDawgN2Z4Qb7dHKooAoJyVnm61utdRsdLr
-2e6QnV5Z0yjjtCJQaGlsaXAgUi4gWmltbWVybWFubiA8cHJ6QGFjbS5vcmc+iE4E
-EBECAAYFAjpU6LcAEgkQx0Y2ObLXeV4HZUdQRwABARPJAKDmKL2Aeo6OWwcZKyqS
-WLD4drQxfgCguJ7k7XEuQr+tL0ndoin0RSQTkCHRzH//AAANOgEQAAEBAAAAAAAA
-AAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQ
-Dg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/
-2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
-Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCACQAHgDASIAAhEBAxEB/8QAHwAAAQUB
-AQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID
-AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0
-NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKT
-lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
-5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL
-/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB
-CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj
-ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
-uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIR
-AxEAPwDqKXFKDSEgDJOBXSeeHaoJrqKIfMwqleanyUi/Osi4udqNLM+EUZJNNIlv
-sakuqjnYazbzxKlopLOHYfwqa5S/8QvOxjtyY1z17msqWZpGAzuz1wP61LmuhrGk
-3udHceO9RL4gSNB6EbjVU+Ndd3YEir9UFc+nLYC49jWhbt5UW0RIGbpyKzuzbliu
-huWfjnUw377ypQv3vk2/rXVaV4o07VFCiUQzd43P8j3rzVpnLESIgHoopZJIYIxP
-Dg89Vb7tNSZLppnsIIYAggj1FKa4XQ/G7r5dvexI0R4WVTgj6jpXbxyrNGskZ3Iw
-yCD1FWncxaa3F24oNLRTJIyKKecUUwHjrWbql2Y/3KHk9a084HPauZu7gTXLseme
-KEgkyLmuS8TaqXmNlG3yofnweprp7qdba1lnbpGhavPH3yN5rH55DuJNKo9LF0Y3
-d2T2sTt+8dflPQYzk1twaJK8AeVCxfkKOMVBo1qJLmJSPkHzH3ru4bRJlXjFc7Z2
-JXOBudBlIyEYAevaq8FkLRsld5J69xXpDaNC5PByffAqlJ4b8wkFiPTjpSci/ZnA
-3cXDbmcsRkEmoILGWYkpu9zXfjwkzgGUqVHtWhbaFbWyjEa7vYUlIfszy+e1uLEh
-njfY3Xjiu28EeJZJ3XSpxuVUzFJ3Hsa0dU02IwMCgI78VxEcB0nxAnlOUDfPGfQ1
-pF6mNSN0eu0lQ2c4ubOKYfxoGqatjjG0UtFMQTsFgdj2U1zGB2OfwroNTcrZPjvx
-XP5pxJkZniF9miz5/iwv61xA+aUDOR3x3rq/F0hWwhjH8cmT+ArmIIvNmSJeD61l
-U3OqivdOn0KNTPuU5xxgdBXZ2TAIOe1YGj2ItLYYGTitSK7ghchpBk9hWD1OqKsb
-Ccke1WkdcYIFUYZo3I2uDn0q2FIIx3pGy1JHAJAAHNVpCu4kcCpFJaZgOiioJm2v
-t6E9KQzPvZAUIHNcL4jjC3Fq/cOR+FdtdHnHrXH+JSjMmexP8qqLMah1vgq4kuPD
-NuZc5jLRgnuAeK3s+lYng2PZ4YtAeSdx5/3jW5XUtjzpbsaTRSniimSUdZmCwrF3
-bmsWtDWj/pKD/ZrNzVLYh7lTVbCG8tQ1wGKKTgoeR71yGmWNzPdpLb/NsfOG4yK7
-2+XfoU20Y8uJmJPucf41geG38wSMRwpCiuVu8nc9JRUYRSNoXqiHywjJOy/LH1J9
-hWcraeFBup0jnI3FVXcfyrYvoEmsSdoLqQQ2ORyKVdDRcmNEORz2P51m20aRjcy5
-L0mKIWmpWpVc8mHa2M8c960NP1q9hjYSSJMy85wentg/zph0OSCJ47UCNJAA4JBz
-+lVv7NayUlV3DG04bGc1Dl2NIxstTootVaMFlaEmY4UEkZ9hVPUtZS2lU3Aj3DjC
-PnH8qp60vkWVrDHkMoULjocVizRXDxB41aSbJLh1BUjtjvmmmEtDVk8QWLLuD89g
-3Ga5bxDceY0Ei5AJY4PrV9mit40juNPXbIPneNSNp+hrLvdO86SGCJsB5Pl3N68Y
-FXFmMr9T0vw2mzw7YjrmEH8+a06itYkhto4kXasaBQPoKkNdR57EPSig0UyTH1sE
-XSHsVrNzW7q1uZoBIvVKwqtbEvcfefPoN1GpADR4ye3P/wBesDQEaJHU93PFbNzP
-5em3K7S25OlZumxFGXBGc5I9zya5ZRs2ehCfMkdJbqs0LRN91hg1pQQtDCBKPMI4
-3L396yLeTax7VdGrJbqRlWfsDWLZ1xWhPcXFvEhZoZRj8vzqghM9woMe1B8yoe3u
-feo5pDcobiW4Tcpyq54H1qGDW0aXeFUhOCVOaSa6ltE2twubZZlHzQsGA9aW1WC6
-gVwVdT09foaj1PXbaeLy1CqzcbV706ygiZQs4aFnGUkjOD9D60SaYK4XenW5iJ2c
-/WucVJX1qzEfOJlUH6cmupeJY1w11Iw9OP8ACsSNgNegRFyC/AA6Zq6aVznr6RO3
-4Hako5PUYorrPMENFIaKACQZiYY6iuWcFZCp7Gur61z+qQ+TclscNzTiTIoyLvjZ
-emQRVLTTifyygUr156VezmsbUDLY3YlDYSQ8H0qaqujWhK0jo2woDk8DrXOs8l9e
-TeQHI3EgjkYqpca4fLMcbEMoxyeM07RL42t+vmk7W6iuJxaPRTTdh10bpVMDu0eT
-yDnp9aq2drdfaFaNhgckKwBxXaXKwtH52wEDuRWNJqVgGKPbINo5YDrSTNuWK3Zg
-38N48m9iS2SQA2cYq9aapdJCIblnjKn5WHar32GzuxvjTAPYHFJq7W1qkEPAbpgU
-eRMlbZlqHUjdW2cguDg46fWl0KJ7jxIWIysEe4nHeq1oYYrNSD0GcVueFICIbi6Y
-YM0mVz/d7VtSWpy15e6dATSGkJpO2a6ThFJoppNFAhj3MUf3mFZGqXUdy6BMELU8
-GiXExDXcu0d1Xk1p2+nQWw/cwgH+83JqrWFqznorC7nGUgYL/ebgfrVfVdGa80h1
-UZlQFlx3xXXT7RE67yXI7dKrImxAw7c090C0dzxIFkk2SZznByav2skk0qFDzjLH
-0xXVeLvBzMx1CxA2Ocso7E1xdtI9rO6SDb2NcjXQ9BSuro7bT74y2z2rNkA4znNS
-tpNreyGZTtJTHXpXJR3ptFUhyNwzx61oQeIvs8flocnGCcVm1Y3jNPc04mTSRKGc
-Nj7g+lc5qN897dPcHg54x2FNu9Qku5Bu4XJp+m6Re61MIrZDsj5eRuFH1pxjqROf
-3Gr4etLnVL0LyE6s3YCvRLeFLW3SFOFRQBVHQ9Ihs7IxIoL5yzdCTV4xvE3D/g4r
-qjCyPPnPmdyQkH8aCaZv28suPXHNKGBGQc07MgDn6UUhNFAGmqHkscewpjnJ4qZh
-lKZjJ/CmXYrtFhSzDkn+lMWPAGOhHFXJUypHr/hUUe0t5ZHJGV/qKLisJDtKmNgC
-p4wen0rl/EPgS0ut09rFjOSUX7y+49R7V1DJ5b5/hNVtb1mHRdHlvJ2xtwqcZyx6
-Cs5JM0hJpnkWoaBeW0525aMHA/wqrBoWoXMwSOI7mOABySa6ifW9W1KASBLe3twe
-bhgCfwNNi8XQ6XgpKbmXp+7iChvbNYdTp5tNCzpHw6uSY5dRnVVz80SHJI9zXZix
-tdOsRDaQpDHnhVHU+tSWFyL6yjnG5RIPmRuGQ91PuDQd1zc4AyqV0xSRySk5bkcc
-eyMHkHOanWN2HJyOvNSiIAHPvUuAAvvxVXJsVli4IBwR1HrTXtznrjPtVhky+fUU
-7naCfUU7isUGhZejZ9sUVcdCxxjt1op6CsWs/u/ypFHzfhS9Bj3pT1yKg0FwGB/G
-q7Aq4YdRyKtIMg1E69PUYpDB8MgbsaxtZ05NYhXTp8i3kzvI6j0x/OtUuBGUP1qj
-JJ5CvczSrGicszHhR70xdTy7XLS60y8bR5jmKGMNERwHH96r3gfR7aZ5NZvFL/Z3
-2wRkcbgMlj9M8VDqeo22t+JZL2V3Fq37qM9DtAxn8Sa6fwtAunatPprOJLe5Tzrd
-/cDDD8ufwrFW5rGzb5Tb0xwLad1BCtIWAIx1AqzCjIAwOGPWoogzyunyhSR90VfE
-f9DW2xh1IP3jORk9anVG8sbjyKfgA09edwouFiJ+GH4il2ZUjvQ/b609SN2KYC4A
-GexopkzHyyB1ooSBs//ZiE4EEBECAAYFAjpWjyIAEgkQx0Y2ObLXeV4HZUdQRwAB
-AQfRAKCSnx3toHhFsCAaIsCRkmFdI4Hn9gCbBDKIqvBEjybcnaBW+iZufcjAzsfR
-zNf/AAANkgEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD
-AAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEEx
-NDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7
-Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCACPAHUD
-ASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
-AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
-M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlq
-c3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
-x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEB
-AQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
-BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5
-OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaX
-mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
-8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2aiiigAooooAKyNb8S6boUZN1Lulx8sS/
-eP8Ah+NZXjbxcdCt/sdjh7+UdcjES+p968fvLyW6leaa4mmlY5kkL4AP1qXLsaQh
-fVnc6l8TdSncrYRRW6Zx03t/L+lYsvjjXnA8zUZY8nI2kr/QVzlu0b8+S2R/HvJN
-WFgAYuwDFuvJ/lzms2/M2UbdDrLPxlrETK51CRxn7sm1gfzrs9F8b2d8ix3v+jyn
-+Ij5T/hXkQj8gZX5hnlCMZq9YShm8vzDt7HuDQm0KUUz3ZHWRQ6MGU9CDkGnV5VZ
-6xf6FJ5qTlY8/Mh5Vh9K77QNfi1uEkJskUZI7EeorRSuYyjY16KKKogKKKKACiii
-gArO17VU0XR575sFkXCKf4mPQVo1wHxXvfJ0yztw+N8hdh3IHA/nSew4q7PNdT1G
-a9vpLi4kaaaRyWY8KDRYWCXkuG5Qc+gzWe8mWAUYz19TW9pbGJAScZ6msJuyO2nG
-7NOPTrcxhAMdOmOKp3eg36OWsw0qY4x2rVgkynIyfrite0bKDBrBNo3aOOtvDWr3
-dwPPjEKDOS1dJbeFJYY/3UqKxGC5TJ/Wt+Fdx4HNaMUSlM9yK1TbMJ2RwWo+GtXe
-MiaZLlByCo2mpvCOpTaDrKpdEmA/KxIwVz612rR4PPWue13T4RcwXBUBWYI5A6Z6
-GmpNMmyasejghgCDkHkGlrD8J3ck+lfZ5m3SWreXu/vL/Cfy/lW5XQnc5GrMKKKK
-YgooooAK8j+LF4ZNchtmACQQjGDySefy6V6jqeowaVp099cnEcK7j7+grwXxjq1x
-r2ovqYRUV8DaCTtA7VMmtjWnBv3jMgjM0wAUnFbcCtHGFHOevtUek2RisUmkwS3O
-4HIqeWTaP3e0HPzMemfwrmk7s7oWSuatk7BQG71v28OFUpjHt2rj7XWreH91NLGW
-PQ7W/qK6bTdYs5IgFuI8njGajlsPmubtrmMGVuAo5q7GxWMcZBH51nmVDaIqMpEr
-DJB7VcWf98Y+wXg9jVowlqTtIpGP6Vj+KNv/AAj1y4xuUAr9cjFajHnHWsvxG6DS
-ij8h3H6c0yUW/Aju/n7xg7Rn6gkV2Fc14Lg22MszD53IBPf1rpa6I7HNLcKKKKok
-KKKKAOQ+JchHhuOIMR5twufoATXkjOkjqqAHLYAzxXq3xLikl0uzKAkCYg49SvFe
-YR2htbqKJyN3JODnNc837zO6l/DSNOLeijyuy7cEZzVG50jUbsmWKTamTny1GRzV
-4TAPtUZ+la2nyJbBWmZogScBhgfnWN7G9jmrfR7/AM7ZJdq8GDw8Suf6VRtXubfU
-FjMZR8jATjP0r0jfbMM7ULHvgVyl3BFPreICruTglTwvPr60+buKK1NeKe5S3W5l
-iaNmHBTgKfU//WpJ/E13bYVJxM+MnEYyK25LKNtPtkPCK4U/TNYF94IinuWfcUVj
-uDxnBBpITa7GppvitLnalxZzRseN6pkE/TtUviOVbmC0jhdSGk+b26VlGz1PSpkE
-Vz9sthgGN/vr7hq6PT7Qajq9os4ZI0BfYB1AOcH/AD3rSOrsYzVlc6bQrZrXR4Ed
-drldzD3P+RWjRRXUcQUUUUAFFFFAGN4r06bU9Blhtl3TIQ6qOrY7D8K8fvraW31J
-VmR0ZQPlYYI/Cvea8q+IVi0PiFrgnImjBUY/P+VZTj1OijP7JyP2n/SMnPB9eldX
-pV/5kIRsbfQ9K4yTMbhmyMnvUg1FoGYyI4THAXoPT+dYONztckkb2v69ZwSJa29q
-gLf6ybYPlHt7+9Q6JdWA1NWgYBMdBXOzTf2id0aFg3anW+l3Fkv2tmcL1A/wo5VY
-Sl9x6+ghnswgcEOOcdvemWs7zQHgSMjFGK+oNcZpd/Kl5Ct1JMIVAOA+M/WtGzu1
-0nXHWObdbXZ8xCT3PVTSuRyHTymN1QeUSwYcba1dHt1W5Z2xvVOg9z/9YVmC583G
-OM9BWtoTectzN/CZNi+4H/661p2uc9S6ia1FFFdBzBRRRQAUUVi6x4v0HQwft2ox
-K4/5ZodzfkOn40AbVcX8SrHdo6akg+e2ba2P7p/+v/OsDVvjhYws0elaZLO3Z5m2
-g/gM/wA6525+I+t+IQ+n3ywQ290rDy0jwQMZHJOetS9jSKdzm7i+USAlhkZ56Dr1
-rd0vy5o9r4cuvzcg54rjLzNvcFMY55xW3od8FKx4GR8zMemazlG6N4zfMap02KC6
-bEcTJ6Nx+tbumPYyRrb/AL+Jc/dBEig+wYcU20FtqSguuMcZ7mtCx8PrDMZGkJVG
-yB/Kuf1Oly7Ej6XcyebgQ3IZTtdl2OD26cViw2lxeSrayYTyzklTnbg9veun1LUU
-021IDb5Dwi+vvXOaVfIJZJN4LF8YHuadmTzHTqZEt/3eTIFwg7lu1dnpdn9g06K3
-7gZb6nrXn0mvWujeVqOoI8ltG6/LHyS3b/Gu20TxRo3iCMNp16kj4yYm+Vx/wE10
-U1ZHJWd3oa9FFFamAUUUUAeF+KPijqurI0Fq32K3PaJvmP1avPbi5kuZCWJOTyfW
-mzOzNinwxBRuPXtSNCe3hSIBiMv/ACp1vcbdThkbp5gz9KYzEL9agcE7vXND1Hex
-s6raecSVA3jkZ71nWdy1qWjkG3sQRWlBdi8tQ+cuvyuPcVFMsc3yyrz2P/16yi2t
-GdE4p+8jWsfEMNsU3H7vf+92rdt/FyiI4Zcnt6GvPmsyv3HB46k4zUiQTRKF3gAH
-Od3ehwi9SVOSVrHT6nrjzSYMgJUjknOKgsZnS4MrMVRerY/zk1mafAly2W3SAclg
-NoNWPNaW+kUDbFF8qovQHufr/hVqFkTzXNG+v3v5T5oxGq4WM9AKxlMlheCS1leN
-kO5CrYI59a0XOPvAfX1rN1OPPIB5TB+lUSekeF/ipNEqWutKbhBwJ1Hzj6jv/nrX
-pWnaxp2rRCSxu4pwRnCtyPqOor5ht5G3Dca2bW+mtXEkEzxsDkMuQaCeVM+kqK8W
-sPiPr1rB5bXImx0MqbiPxoouTyM80jh8xyxHyg1KVx1qxEEeNfK5FI6euKZViq5I
-FJDGZA+Occ0sik9BVaYMqZUkFecjjFIksQtJZT7+iEjcPSt63W1mUNIRjFc9ZXhu
-D5FwQSwwre/oa3raW3+xlGwWPr1FRUj1RtSl0GmW1jdlWCNz2Y/40yCBNQZijq0a
-NtKp/X/P51nXk4RJdqYBPJJHJq74a2x6XM4I3NJyM46f5NaQgkyZVG9DRv7hNPsW
-8pQP4VA7k/8A66g06Hy7dcnJbkk9yetU9TZpr+KHnKfO2fXoK0LYqYh1x6ZqpPUm
-JKy45z+XaqV8AUQ89x06VeccHA6896rXSbrZj3Ug1JRjYKsQfXrVxX+Xg+4qCVQQ
-D0NOhJYcdTSEtGWVkIyFU/gtFJGEywbA568c0UFmUomil/dAtk9B3q/nzBjHTqKW
-BVjIPU45NMPDn3pkLQY6jBwRxTIoxJIE7HjmpW4/OmQcXC+maBdTG2FHdckFDxWp
-p7yyyu+eMcD/AGj3qpdLsvpAMdTWxpkQjsVfpn5j+NVFXZCIL6N5YhG5GeWA6laT
-w/c+TJLYy4Al5TI/iHb8v5VYlwblAW6qMZ9c1mztgSleCzAKR26c1T0dwL1sDNPN
-Oed7HafYcCr8MnlSAZwrdSfWobSLZCij0xRLlXHHDVBojSLZGSTz29KYFDK6nncM
-VHbTCSMqx+739RUJvWz+5A4/jbp+VIZSnGFOAOKbC3zZzjr0pbjvnkk9qihyZAB3
-4oFfU0IEO05BH9f0oq1hIkXIySKKBn//2YhGBBARAgAGBQI8ZiQyAAoJEMdGNjmy
-13leJSIAoIx0Ql/m4Gf4ZZeFQ1Of+zq6499DAKCHBzmIEtE740kuUl5HGNvCJ4Qb
-MLQtUGhpbGlwIFIuIFppbW1lcm1hbm4gPHByekBwaGlsemltbWVybWFubi5jb20+
-iEwEEBECAAwFAj6+zxoFCwkIBwMACgkQx0Y2ObLXeV4M5gCgnemzKjFcpG5MpeFC
-TjVg24ptLhsAn03rO14zwfdxKS9ZSuGLeBG+d/eUuQMNBDpU6CcQDADMHXdXJDhK
-4sTw6I4TZ5dOkhNh9tvrJQ4X/faY98h8ebByHTh1+/bBc8SDESYrQ2DD4+jWCv2h
-KCYLrqmus2UPogBTAaB81qujEh76DyrOH3SET8rzF/OkQOnX0ne2Qi0CNsEmy2he
-nXyYCQqNfi3t5F159dSST5sYjvwqp0t8MvZCV7cIfwgXcqK61qlC8wXo+VMROU+2
-8W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZS
-Tz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI6
-1Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/Cl
-WxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgH
-KXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVelMMm8AAgIMAI1R
-XgrY9LqHnvhnc1oGwhB7mORU7jwxKiGMLqzb0KM+GVTv1xAhhaYGm41/CuhnrOW3
-LPpjYWbrlXQh+9WJxHvO8UUI6FqEy6TVyv5Cn3fo4wSr2wtkbFOMKWDCscZLtikx
-JmsQLtuk6YRGOjgX+fliYIckIfxDMI5z37zSCNUSweIlUAGsLzLKSMovnHVX89IC
-sThC0wtuQE8aZBg7DxvHqMIeg7jdCNTNupF8EwdmpZUnKgghkKn6fXdczj4079wN
-WxnxuNyHQsg7IytPzmfbjJ9dGU/SzsEWMubn0mOF/h2O4laKQlrBYROXKkDLzo5h
-FG7AJsjI1q4F5MrL5q9m8Xagu+nAfhSe52kLTr87SOSPaVCmf0QRTDXVHA7qyr3N
-hPABTIp6s3TRxsJ/KJmXTUIijRu1xM7qFArdzrs9qWgn2VUfz+Yfsu6qQwsMfm6C
-SnOZ53/xKit+pWRqSd7pviZHJIUIFdpVmgqYMfNwfahJIyEz17HKHp3OLVsa7ohU
-BBgRAgAMBQI6VOgnBRsMAAAAABIJEMdGNjmy13leB2VHUEcAAQHlbQCg+N+fI3bz
-qF9+fB50J5sFHVHM7hYAn0+9AfDl5ncnr4D7ReMDlYoIZwRRmQILBDxUyXkBEACg
-g6vxNPigg9FQz14CkPtR/dEq3sCjK1r4+2oyeoRno+pqZ6Z7ZfphgA/q5woweFAG
-Og17KD2WXegoQ5pXbFvP+w9j9zm3g59XzTRSzZgScelTibPnKy6g8r8GDAY6IQra
-R6pxe4297/NznqvRvKpTt5g1XP5LyjVBsEv9HAYJE1vyy10qSQRtEz3QunUzfELN
-C4kiYNMZOnmgaFeW4APIIhWDtrrxqW3Ofjp1K4DAhqcnayrfvYbOtqh0sxJ246kv
-Vc3Bc9pH6wDw/yub2deuPq6BZBLBJwrtu/20qD0nsZ9is/5j0aL1MZuVmr7xKYqe
-ehyzJ1WdpJK52qng9natYedS+GefKDIw1Jq7ppQNWfVduTNITFTF0JswggjQuPqK
-T8Td5GCywQWN/kGHbp6EdybiUXZ+9fp4eek0UB5M+srSwbkF4hQ0mBrqlsaoji4C
-uXjc0c+Zx1D0pGfqqBCmvEV1tLul3U8h0TzR4opUA8mLKegQp5cjh/dHz7zTPDxV
-gSr3blJ9FxI1Z69th/+jJj3q6joo3uW/5y8qQCrzdSCzs+TDEWwucZtJIuIhTct8
-AMPY/Ayt+Pf9jXfI+xSQgz3r7Eu5o+rEu02/cthaOc4b3KYDtNkjLKszgiext1BY
-Oq06R+Yyh2qgsg9azzkfudvvpwhCpJ7EOxcdaP3bxwAGKbQlRGF2aWQgTS4gU2hh
-dyA8ZHNoYXdAamFiYmVyd29ja3kuY29tPokCNAQTAQIAHgUCPFTJfAIbAwYLBwoD
-BAIDFQMCAxYCAQIeAQIXgAAKCRDbaY1xmSQlYCQ7D/9MCQd8s1ueGLy81tlxq5LB
-qnSo2cuNQsssxjnskxjbOJId08RdiOAh23fdKXm6T05vTAUAN8oJDsXoaI9jTPjo
-avQ8o/wj94zTm8ni1OoQkTw5wDOte0qbw1B4msSfmeImdC0opJoYz6Nyp+4OXHCW
-fhvmOvAbBvwuchC726NyhGXCzDlfNqFysphgc/epR93AbOHiNKQ0/oJTWaxR0KeG
-j2K+ihOsKx/Tl/0pXVfo7zobAzO+UelHpvH4VMcnaxo2pjIn6eMyDxP4WuiyiqdL
-D3PZI6R6PotPfIdtzCmKJzAXBW4SIBp9ZHdFXs8P5E8oYKBbnO1TDSAtYG8EnqGk
-bbZvCVfd0Utz4miEpvv0EukdoAoqSLz7ZKStrM2jlQNIVVRFbA89srSAZYSGN3s4
-TA3LSxmDaw4Z6gRWBhOtuAeIfhLQ+QTC9h8aqyfWt2nP+4qA8du0FHJANopeBfJo
-vz/4sSx4z0PkbQqUS9lnPxqoNqyqUzP1Ocpg7f8yFYvY28Xsc25c4ImI4ADxlo4r
-/sK00k/vxcGUhg7wE0Xy9r+Rp31GMyUpMd3zF5uD2/qNhd9vVxKM7sWDZuDjczOJ
-yodWjp2DdZWqe+AOvapAvPCQIwWc++Y/xOgina1V8uqadA+Ntc0+jhTM/E3smOfL
-3A0cJIMKSYaU4kfTts6h2rkCDQQ8VMsEEAgA7lKuNHz6iYb+2pAZbxrjp5AHV86p
-btVJQBWpGWkGLERGb6w2hYTL8YXr7JgteBmy1a/+l5ZYjnZFQ8603eZRC1g+/krr
-uWmfiJxE/HtHVcVSDUxXNJiE67DpSdGPf8icIx3c91Xkui9ifS3VMSj1ezWLm5/O
-YF1utTQ5QiwrvzTuaCs8jWDUzxI77FczQYQELuDmHevde4Ke66MeWCJabs9OQ6i6
-1vurJrj1WQQ9pvXOzcbdoQFtAF/vGK82rnr0p5cDyes3S5lCKC4nIhvokHotCf63
-YUU6afG9OLp/ASlcp2h21vmtDp7xSg6D7Ivn5cHtHnBvChG6vjQ9IO5gdwADBQgA
-nNF7z5VcV00LbYQxN1vX77iKwJ1aEZVSYMrJnvthtJPM5alAsOQRRe85pgZsBfd2
-xgKbDZFsQaPei+n59nMPTxl68YsrYOWaBe9IRnEKBYIHSVwDAGsEdxyOKgphNO7c
-QKcpRWdeqi9FQ11cWVLZrSqChmT9Z6uYGLDabKwAhYl6TrEQ2J9OzM586LARZHb8
-m2MOcGrla+XZZannjEVfaei5on8IuhOLalx/vx74C1qLi9B1fI/JyCsJlMQujkDr
-pz80hwIyavutLB9TdQZn8TuNqL/m7cpU1YMbNIa/1Ow2Cio7zrhr/FvTX4KgMaGq
-6ukx7qWDDbME96BF57IMtIkCIgQYAQIADAUCPFTLBAUJEswDAAAKCRDbaY1xmSQl
-YPGsD/40gsxyQv4M8BFfPgnPEOYlSEBwpibr+XRdq7q98n3F9ZlXjJHq74RhX6ao
-tL10wpeMb6fcFKhmaMu8Nhx4PUP9+h11I7EwmMeLn2prG/sSbsgCY4tsEW08NbDz
-cXdj6+KvekpE6lYmOa4ORQTEODx81d9R8DxcqUCYHYn+iYMbEDnBZmHgPc5hkGvB
-Nj2F+dGs4n0iBvxFSBoTSzHb9XksG3/cq8DdW59McJw1/nTyN2kLIvGjNqSeV+2P
-2oeh5NRJAHs9X5W+Zar+sqvlHDa1e0jq2SrMhWdOD1qgTX3BzFyuhWW3IJLdcyFE
-p6NsC/L2eJdkWwclT1xhEvm8LEsB21ndE2UNpIjOUcdFvEnYa84Di8ZpIvEvngG6
-q9tm5K14DXZYQczsN+rrOXgTYfxbEuCzpFCg1DZaRQmWkXcywzo7F2YUgw1nFe9T
-lIrLJgXZcjg+ho3UNmquVr+qNV1IzYCkE6I70J/Q3fuXOfVdM2V0JQTaWfBOUFow
-wVNyzI5XSl8TTwslsGN8roEAGBR33JwhBy6TldhErnR1pvIOVt0kkGXbEqIIYONv
-fsdd2LIFZUfyegh8oFCJNDmKObKnuVyZH53Q3bgTn06D5TdBaCK9usVqUe+JZ1K4
-VLy+20kSiBqaLkel3417o+bqdpL3Uu8gXy1bsOhyo9m79ug8ookCIgQYAQIADAUC
-PFTLCAUJEswDAAAKCRDbaY1xmSQlYGW9D/9ZQP1N5o7Ndm0Nh3WJ6oqSmjhWUQ2f
-AZJqD/4U+z2fqOCQwI5QodSN/DJPRfbx4JnibPkui/8YBktB8SxhoqyD0W7oE5h0
-Xvj0+LeJ/ByhdZCgR/a2RAPu9D64xxh5p/7oyutI2sdLrsTs1OCeCMdaMz5ptrdb
-oGpk4Wv94m1TOC+bztrRhEjDLrEJIPotpOYdSbq+moipSVJBMv9NrxfdeVb40Y4D
-GGqtfsggarquJu9Lnq7PfrCdmdSzQcLI28yP1s6V0f3MZxH+stzTxtCCIsFjTsgx
-Ubuxa/WYiW3qM+At+B6B3HDhBvjFdg2OBP12/2I/2ZiDQdZbUZJ42ND7oi1k34Pd
-fExpCZRMWGr4UTJgtGqlCqSlTLTKmzxkI8d7Z+PHt7uQbew/GnFkzsU+VKtpfpIl
-m3ym+0CgP6ap/nn5B2kSvf77p9iQQXHarl0L3cW7sQMlnPy8L5AqPWkg5+C/ihZW
-gJWT7ujwnbrkrzddJxdBGEBvPNWEoCGzKBp6E0TXxgKfsp4dbszXcGLaaK/cUV2x
-MgVLogjCPnAwaP3l60rc2nb3gV4JfVP9ogoI/Ikbf9nVeruT9dhVWZgNmvj7rRBV
-VN7XjF0VN9ou7N3xuEiRaetd5pmr+Fme0HDCsSlVQuEOcP5LCGQpcwHMdz+DFGvW
-OyACu33k12k2prkBogQ8VMvbEQQA9YjnqxRaPgKrbhTQqrzGMYBuP4QlbsQeEDA3
-y94jlPK++edfyUGUTnquXHDKmPnLwsqszYZCsC35nVP8FOsg0eATYYAj5A9uPDUX
-GQkW1eNQFGoh5p4SxBQZKlVJCAJyVgMxXDtUwDbjQ9CkOONrv1YlajDz9h9yHfFU
-jQrC47sAoOX8LBxMJVdAqGMOQGcI2lTWTfq1BACabalqZ3571+ePoAEsqSxZelhH
-A/Se6oxlfxWNQilDGsgUSm53l7yeJn+8qZuiRm49wMlPZnzLA5isMAh0UyoTSnPs
-8lnZDLbo4/s4H2Jz0+MahJSYtNtSKTNhuJv7Fh/kQGVltAaniUQeecoJK7YxhKbn
-vsXKzg7YEL2DLKDA4AP/RDeDRhK7ehXbkeONeJsOPjvjdATxSa7Io+GIUFB1CSLg
-aHfC43b8j7S5pEiZ8MOW+kwnP35G89h1K89nFpC47Xt8y/5DH4Z/tw3SdaEIr8TS
-L3u/UOK4gZEc5uVhCGBAX/BdIYFWdO2UUjEaO3ox38lgH0HfNscqgN5zCEEc6lmJ
-AiIEGAECAAwFAjxUy9sFCRLMAwAACgkQ22mNcZkkJWAthQ//QCSN1sFaeqFQEki7
-fg6E0n+t7mO+V1llNymp7G8Pq3iSI2d99oijVk2BQnrbhdLy+wjl9LyyzfvvaQ04
-QwAUvJNRgIaOpxkYb3z2tc31ho9eOYsQRmKxVzGWw1ii1OEnMBylsAaG58GpFI/5
-MTfucIlJBvXoESkHSoiyov2Pd1c3hJ/6OuFYbn5dvYplBi2K3pAq12OCmWticFvP
-TBpVlvTED0h+I133oO1e1Rx999u1/PQgLem5qfuz3wLv9r8qkXgy1AqdOEBNsvXS
-o09yWaDTKaZWb6k7viOq6k2aDOi4mr8qgrf8obs6fpOfg6WQw+DRL/T9KUHF0EUS
-PVEMkbMc1V2iHURqXBGnIsa5JAi1eV1cMrp9T25DXWHlEfXRnPPjzTSJyJh2FmL9
-NnQrsmHf8f7DiR7uzCgA8+SZqRmr6o2j0FAPUrV4EmMYB7wTYPwPT7EXXmYs8m0o
-vamXwGbIwT2Z/EGhOc3UdAQF232o156m097tib5HMbTT+8AcjX3TaeXDJpjI35Wy
-bfJ8F2LEWmJsQwPC9MMCfy7SlW8BUqTBaelPvSYoKdLT6FOxtnoAVYn10WRIF7LE
-SySJqENspSpv3ACJ/q1jZN6cXYKFlvKLR5Be/MWtnZ2AXqwHmR/XYGtXI6FRmNd6
-xrb+mP2QwkihMezVT+y2Q/EogXSJAmoEGAECAAwFCRLMAwAFAkQS4BkAUkcgBBkR
-AgAGBQJEEuACAAoJEOJmXIdJ4cvJKsUAn3R2myTGfaAyxiDwL9l3ObofNnX9AJ46
-M4YTuhT9ETVc15IOaHY5VCLcUQkQ22mNcZkkJWCOtg//RVzC6tHMnmZXXA6jslgc
-a2yf/q0zJIULR9azhcraU3yy8OzjVorX1i5Xh5Rr3SmZkHiNUMrOK0jCzyM9ykBa
-58WOwwN1sZoNUQpUtmYja9kj/y444Atf0iIFW9TT4O31j25qEjz7cLZtmv+TnzcS
-IaZekJrIZ/8D74eDqNrfy/WaAi0JK2iMiw4dqwLtIc2W7UTtXfSgiAtNrkp4smrO
-6AUI2Xas7D+3zZiMlIv//W3ZSTF0vHtyBdmvcEPrs6DdjhsM+L7QHLnxD7HD86cv
-Vh+9SzHelc5erhSWbwKMcZKykQ3uHhU9XCt60MYdbc8HHW92g0e9nEipZ7iS23uD
-mzoKvfihtho2+j1w5uKM/S6N/fditlWJ9qHvLHVPLNKPp4DEHo4ns56LCY1cRUX7
-N4TOWu2iVSdtzg8NFvhfnKyWkUTCYFuU64Jiq9XcJLMAn2AY02RzQcF8LwbgzdyI
-NK9pC0y0lH9ZrN6QyGinxILPVtwLsWO17JpDvKQf4+rmR9nHQSsvGJ/FjCDydMx5
-HaT+TfC4KRR8BBgTDgZkq6cllbeC1qgCz3LXgai9pIlvT9httrVcpOL0QHnKM5jd
-7R8JZ1dt5qlltuWsC8Dw52kEGiBn095qmY1FFd02BxL7y7sxHp81m31yTErho+HQ
-lcXTIscl65wt2LwowPG0n2iYjgRDt/rHAQQA0JkZeitcyQMqk2xGd/5mGoc4+YNw
-Qo8OSmVwIvY8UAI3tBorhF6ha9niaqZU4vdldTnXMU0j1oPckAhOgRPaOvaEZhYU
-TF0F/15piAF5dkZQ6dsmXVUkPNYMZTpkc2nA+IACBiOmygGBkLFuXvHRW1i6SNz2
-8iRH/UZcYLi/2iEAIIFWUJm0Jldlcm5lciBLb2NoIChkaXN0IHNpZykgPGRkOWpu
-QGdudS5vcmc+iLwEEwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCTS2M
-twUJClROYQAKCRBTtiDQHODGMPB4A/0U1DJR9LbkWuBs8Ko6KJoKLMVI6iYNJBhA
-tm3dxWeUxA16eYDWW/b9Lk5KnjtSWuGOeqa7MCsXnkyHkO88KE9IcM3mFnhfFN2q
-agd/nRchl9MPsdOgf/ug7j72Alv2V8s28R10HTjfwySe/omXWwK3qn8ou6N7ID+E
-wCV7i2e2u5kDKgRHeRfDEQgAnwKxwiRUep5JsTYlvlBODwFt20JWvSVhagsLuFai
-5DyP5R2+acR33/Bc8tjvPQcQ/+oV0g8dkpVZgBhzgiYUocdb3zRlWDbCZ9qDSudI
-p/ZBrw9PplQAn8uTMj1fJrTHDjNqdfMFlbjHdoHmG3TWIAK35/wzaVP+fTOnglKY
-V5GBA3BAgamUSo0gdSTRJ6hwDPoHOX3OFZWHWfh2AaxGU1/2Sz2YOZH30e18gOiI
-Klj0mND62MQzsRro8nkracmYZpE+3s1c6CgSPspY926Sjq5Lii4wd1uU54Aiy2L0
-0f4O8szcoLf/rq6czTvOSrBiwVQ5JEoUrMIjyHrbdGRQfwDg/A2sKSzVE19nOszO
-ndICn0vPw068V+j0uQOWcwf+MRAaZ45wq9kY5204uJXDS4Pm9uXPZa209Ul8ra1I
-n1EG3DhJAnn5Pl+yT6FP8dw29Q7gveCwGjBX1NqOhlj08wTbRAQbRqYODLOUNcNY
-NYA0RKSjN5hiD8nCyl4QfiX4vKRfqrwakYgN8Z1mQC2T9NPWXy2PvJzAdOrv+fcy
-nC8s/of84wpqSCXRa+cUKLZus7SvEJrNRhtTDlT0NbwlAh4ksCGu1dSrZZWCCLB6
-ke7CF7k0poiyePE6tTWOfZxNYQ+yYnHHIIcj3l+dqJxXxMOahxDyaF4XDo8Urmts
-fVPYu3KSZ8yypyAYXWWu00Ibe/4y+Au+UsvnxMXhEp4PDwgAlAU/s1FMwC3sxjmR
-r8Z/NjjOq0f5dplfVl3qShAfiAzxtSQcKn5dX/NP5iPIYcJK9i2K8oXebvnHnEcu
-9ffd3T0pwGA2srBv/rCFcWM/TOHaFkFYUnvRDiZ4FnL2D+Wwlg8m5pQWECYApKxV
-KjL0EyTgpJaam40Jv7sV2lrpvXUgMaeWHhwiqgSC1J4wVS6Gq5ldG3Fl8KLWYlxX
-d1qZwR4xP0Ep8nBYd9+Pm60fCk0p5kvr+iPgelvlTnMsx7fvFqV7qNWEuKJApmb+
-n8yJX+h3FSTiU/Haaqc8jIap+GGE9C20QvaK3NiqMdIc2oqLPStBKCn+TEUBDLAB
-wHTNDLQcV2VybmVyIEtvY2ggPHdrQGcxMGNvZGUuY29tPohxBBMRCwAhAhsDBQkU
-sIqNAh4BAheABQsHCgkCBRUIAgoDBQJHeR6AAAoJEPKthaweQrNn+kQA33yabKyY
-9z1ujVoxcLF7ROc0mSsX75srRXIjxTgA4NKwgnV1GN1QL6bKH4G7AFTgmJMQjWLy
-wpguY3G0Gldlcm5lciBLb2NoIDx3a0BnbnVwZy5vcmc+iHQEExELACQCGwMFCRSw
-io0CHgECF4AFCwcKCQIFFQgCCgMFAkd5HpcCGQEACgkQ8q2FrB5Cs2eXYwDfUNqv
-I0xrFP47l0+sBBD5j8Z9H9FygT4ZuVZOxwDePf9XYQuNja+MQUqZEtZbvilME5zf
-5wUMo3sVtLkBDQRH47TPAQgArMK+fv08+pw2sCF0DQtk717TSyHmcmn8e7ndGXEB
-xZWy/sQWoZrKKr5/gmkCH3O0p/sSZhijfCzTeElFO0ASFaSAvaXcQqhUnjEcI4ic
-3KLbI7fSqoqgvkJ8qwfIFovb8jMO/tBQgNmYAODTBlnLq5zJIvTvpqEAePBZdd90
-SGiC6vNADZ04D5Pbl3ZdXNwakv1y+eLc4jnYPcAkqsf8U7/ClpGcaADPLC0Kp1lN
-6lYBXRV6QXpEa0qh2JT4PGu7981hFVvKjBdvClbz6E8I3aSny8acUF6bBRV+/H9k
-2lW9xrD7+E3obBXJ55CWOL4ynoS69ii2XyVQxyWz+a7ZlwARAQABiF8EGBELAA8F
-AkfjtM8CGwwFCQcajaEACgkQ8q2FrB5Cs2cuqQDfYDr3l9GbFNxAZSv/HSXKcZ5M
-Jys5TLffQYPQXwDfRzV6imKyGJmI6tAaDVAgLDNld64LDP2wrcOezLkBogROsUyG
-EQQAlCMDC6m1nkcdAK3MV884airO5/akCJhT0CWjd6LxbM27SremsW7HSaUoOSNX
-SXpPgktdDcA7y6Y8cXteGm9+/ZHwNoXgYWnTpWjk50qLre0iCNLcpT1V0cMEev5B
-/2YXOiog/7obnI+tjG/y7V41bNzAceKehSFbSi5hyz7EAZMAoIbBb88QRdsh1RKm
-tHdVXsjuvldpA/0cp/wmWwWEfWMGKvtCk5i6Ayl8T6YHRjtqZwnMFrNbjEssulkQ
-0XpDGRcAyO92utp12sl7h8DWl4OSEFh6rnFVJPrII8YQXahrAchB7Mtc5AzDFFmg
-JqvJdp8WEVnx+nLl9shaRifHUSdLwdt909p+1CFm8ChDl7+eZE7YbvEWGQP+JNA0
-DHFqNSxCFzs667Cnic7op3BkaUN13zNuR1aVpepxUEhkk6LfiiHmQON7QHVAqvtq
-/TO0svyy8nAeFhlWqcXX84tuoobmnsCowa137CXYV/SD7JVjy5X/b6cbs2sIty37
-eJLjoffnxQHvN+azf+JtxtTXhMTedhBQAgdlBGaIoQQYEQgACQUCTrgQCQIbAgBS
-CRDyrYWsHkKzZ0cgBBkRCAAGBQJOuBAJAAoJEE8FQNV3+V+VkpoAnA5MTmFbkcoM
-4N4OYwb3YGMfoAD0AJ9j2e0iEo9fhMfcSoKG9xssLopUTOj0AODNadm6ajGAly1I
-oam+eLSbqxHfSkQEHOxhMiFjAN9q4LuirSOu65uR1bnTmF+Z92++qMIuEkH4/LnN
-uQENBE64FVgBCAChkCmMrdCKW/PWuBQs2/lcTqz3i33KOUCynyj1aOzen9HUJVHy
-mJnN4dZTjq3ARlSTuCSoJmQwcmom0wjDS2L9qqCnUctdyIoFxTetnMP3JkBhJ4j5
-IxtwkTznWa0SgEjvBdNUkLTBG/3lgfMFoqlQNh1or07wsHS+LlvaxvFnqMozssKq
-YLC9mTVqWfXvTeRsCzYLvZ6jy4rqbJnDIJzHgqV3K6cyqA5NcZqoWj8OQNUbS+sV
-CU8nkYkDYQA7wm2nwolEfROSdFtSTmL49PNQS1V3MUdLUb7SfsDmwfm59SDmJUp4
-iw3F535P/ei+G5cBYzHO0jN0nzUH/sfM7njjABEBAAGIXwQYEQgADwUCTrgVWAIb
-DAUJBAqORwAKCRDyrYWsHkKzZ6TKAN0WMNFzexmPvciaqa2LyUVUI/ht3suw/tlV
-SGDCAN9tCWF1UFBrQORgcrpgQBfNKPkUdAxxyiDrXfZ1mQENBE0ti4EBCACqGtKl
-X9jI/enhlBdy2cyQP6Q7JoyxtaG6/ckAKWHYrqFTQk3IUe8TuDrGT742XFncG9Po
-MBfJDUNltIPgKFn8E9tYQqAOlpSA25bOb30cA2ADkrjgjvDAH8cZ+fkIayWtObTx
-wqLfPivjFxEM//IdShFFVQj+QHmXYBJggWyEIil8Bje7KRw6B5ucs4qSzp5VH4Cq
-Dr9PDnLD8lBGHk0x8jpwh4V/yEODJKATY0Vj00793L8uqA35ZiyczUvvJSLYvf7S
-TO943GswkxdAfqxXbYifiK2gjE/7SAmB+2jFxsonUDOB1BAY5s3FKqrkaxZr3BBj
-euGGoCuiSX/cXRIhABEBAAG0Fldlcm5lciBLb2NoIChkaXN0IHNpZymJAT4EEwEC
-ACgFAk0ti4ECGwMFCRDdnwIGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJECSb
-OdJPJeO2PlMIAJxPtFXf5yozPpFjRbSkSdjsk9eru05shKZOAKw3RUePTU80SRLP
-dg4AH+vkm1JMWFFpwvHlgfxqnE9rp13o7L/4UwNUwqH85zCwu7SHz9cX3d4UUwzc
-P6qQP4BQEH9/xlpQS9eTK9b2RMyggqwd/J8mxjvoWzL8Klf/wl6jXHn/yP92xG9/
-YA86lNOL1N3/PhlZzLuJ6bdD9WzsEp/+kh3UDfjkIrOcWkqwupB+d01R4bHPu9tv
-Xy8Xut8Sok2zku2xVkEOsV2TXHbwuHO2AGC5pWDX6wgCE4F5XeCB/0ovao2/bk22
-w1TxzP6PMxo6sLkmaF6D0frhM2bl4C/uSsq5AQ0ETS2LgQEIAKHwucgbaRj0V7Ht
-0FnM6RmbqwZ7IFV2lR+YN1gkZaWRRCaJoPEZFKhhPEBX1bDVwr/iTPaPPEtpi7oQ
-oHk65yeLrhtOmXXpNVkV/5WQjAJIrWn+JQ3z/ZejxHULhzKsGg5FC6pRYcEyzRXH
-tv4BO9kBIKNVirZjEkQG4BnIrQgl6e2YFa47GNMqcQH7nJdwG1cGQOZOIDQQM41g
-BzwoSrStMA6DjHkukFegKfcSbSLArBtYNAwTwmW7RqOMEJwlo0+NYx2Yn75x66bY
-wdlsP0FLOgez/O/IxoPRxXr0l4e+uj6dFHqvBi04dx6JsPmXEyeAyLiCWSh7Rwq8
-uIhBUBUAEQEAAYkBJQQYAQIADwUCTS2LgQIbIAUJEN2fAgAKCRAkmznSTyXjtrsS
-CACRNgfGkD0OqOiwYo1/+KyWnrQLusVvSYOw8hN66geU3BO8iQ0Koy+m0QKY1kWj
-aHwewpg8ZebY4E2sHbNIC9Spyiyz29sAJ2invf4/4MepTgpxNiw4+XmykCkN1AfV
-hvMTQXMzRbO5ZwRtPpjsMr1j5vX1s6U3/RxSAItpAkCu1GGTTOH0r12Ochc/um+Q
-GAyO6WUj/IiZ1MX7toXW0SCo8DSl8z5Q7KmJWF6TQLK1Lku4bIVG1Huwo1/0WHc2
-vCad5BxHjgoy8TsKLTmvYQZWtnjWvQGV2UOABYWcacutZXQQ2PPCIY7LlpuS/45C
-XWbT5Y+mxY3y7dbz4aF+8uyCiJwEEAECAAYFAk0tjQQACgkQU7Yg0BzgxjBGTwQA
-i5qzI6cJslbyOl+TeDZVnLV0FmPuDg8dojvQrVDPxfemIjxZZoMLCVM8ly8AC2JP
-rIYfN040C343saIc0tTtOwwmVMuy7G/Uex22CdWH/0HBMpG4gFuOuQmW9QQDjEdh
-1DgwU2gAWonX54ZlMybWss+2NCikRwMflVUupH57Bas=
-=WK93
+mQGiBDbtSOkRBACURhKnGIFyXIeX61GAY9hJA5FgG4UalV55ohdz4whBgDzDGLE3
+XYlO8HCn4ggKilll6MOwY0yZeg6PEU9Y3SqTzpQSV6qj2M7MgcS8xOpi6bNCu0iy
+ZUik0KklUXMdI8e/CVmBpQJT9CofbD1dsP6z4dC6z3jil0+5Wbfw6yIXzwCgy/7F
+agq5mN0H760/JEiiXILS1n0D/3H26lTaxo1vGput9Td1FQN7Vn6YDP0/To5ipsOO
+DROV3zyUwF5QleY+8zTFJA3qD5KxRfA726WELOF1mB6Mw44UdkPniOoGdMH5oSx6
+qnNnlVZBBu3U+e1qfQwLQjHu0WX4Z2q00DKpWLThGv7Loh5NKi6OfTbMhfHoevCA
+zQnmA/wKc6J8GqthENThKXxZaei3Ep0t+PlBmbUzuAYCXZhI6/0KyD6emyQ7LYIa
+Pv9qEfMkMLhxicG0v/AAwOCBRKS3bkqc6wAYaO0bjUHJvem3HkWPux82t83+6YPy
+RnVjm/mwt0uEyKSvt7Md2DVrO3lEcKRkRHiYuf0nonPhl5Rs5bQaV2VybmVyIEtv
+Y2ggPHdrQGdudXBnLm9yZz6IawQTEQIAIwIXgAIZAQULBwoDAgMVAgMDFgIBAh4B
+BQJGtcWFBQkXLil/ABIHZUdQRwABAQkQXeJJllsDWKJBTACfQI8TnuVIxE88u2na
+pOMyUfoWZSMAn2t47LUMuyDEHRcYvEBiP/SRVvsrtBxXZXJuZXIgS29jaCA8d2tA
+ZzEwY29kZS5jb20+iGMEExECACMCGwMCHgECF4AFCwcKAwIDFQIDAxYCAQUCRrXF
+kQUJFy4pfwAKCRBd4kmWWwNYomksAJ4q+Lv3fDvzDJl4JcOmzWHPsPg2QQCdHcj5
+DwCCM7YnRLiE58ApHdrg11S0C1dlcm5lciBLb2NoiGMEExECABsDCwoDAxUDAgMW
+AgECF4AFAka1xZEFCRcuKX8AEgdlR1BHAAEBCRBd4kmWWwNYokHUAKCKSLq+i1yH
+rG8ZXqJRk+d4SyanGwCeKFwqqRr3tbae+m4iK+EcyY+BR2a0HVdlcm5lciBLb2No
+IDx3ZXJuZXJAZnNmZS5vcmc+iGMEExECACMCGwMCHgECF4AFCwcKAwIDFQIDAxYC
+AQUCRrXFkQUJFy4pfwAKCRBd4kmWWwNYomC9AKCOTnRhGus67gV2k+8K2SwytYDq
+VQCfcaEJKu8EBd0sx3F024GX/RNwnZq5AaIEQF3aTxEEAP9SgfIbIPL6BQ1nqobl
+sTYoiwWPL48uBZPjkDfy8XsVR5V9aRQlggC4x4/MD3Ip5AUgReI7PcHnp4m3vcVL
+XPl+/7i7hAwd84iKzgN8I8VW0EevflcNm7nbWEnpjaGxJWFbhSLI1DmqnafoU8nZ
+gGp2QoE+flgGDd559C3SiHRTAKDbqgS3EDhTbwfS+bAhW5Xi8/2CPwP9HueeuW9M
+/cyt8UvliLsj2eYMEIy7CeSLO13XfnqCjcnHK+b59/ADd99dpMaq3gKj7Aj1RIsR
+V2qWDJpDNXVxP7Cy+FzxelQsytPQOV8H8AkB+RgmSyfxlNRUkC3sQU6jR9IwmPD4
+iB5fp/SqUpn++77TAArXqsfHbmlnwcuU1EAD/i7CEhxLBYS1N77hwxL8DWCqjpi+
+1PKG+6dc0BQFIU3uUhbzLGfqEobUDhveqgtlsvoEZ/lR8RgMv/uOjXEgiATQyTEa
+7s3M2vjXlpLjXjzklma3Lqmcam3dEf/5OR02yZif6hPU/x8f/VQle0kKNKdOCV1+
+dlo8aJH2UIZRRIvtiJcEGBECAA8CGwIFCQcbVgAFAkR1rB0AUkcgBBkRAgAGBQJE
+dawTAAoJEGB4TpQBClft2RMAn1XiL/bC9hByZInCJTaCd8WS8kYCAKCfpAWwLIxk
+fwAeD/RI+2p00nQfvAkQXeJJllsDWKKx7QCguc4/HiEs64Ey5p6Yihy67X8E0YsA
+nRXMFdXVP7ww8uldljPiD1TgyurpiEYEEBECAAYFAjc3I8UACgkQ9u7fIBhLxNmH
+ZQCglWbPDznIcnOxdDW+k7YgA9+/n00An1ZjSiJipverUxLEFHAbSBWI0IntiEYE
+EBECAAYFAjc6+aMACgkQdQ9klcidkz6GiwCdGe0KSP/vSyEZM/GClQXvjMD4RvMA
+oJwyTIdcjPZbQizDeAO3btn2CCwTiEYEEBECAAYFAjgUDhkACgkQYAeQgHPH80+I
+2gCdHeTAPusmEfN2bdkijpW1gpxBvGoAn1kzL7Mg7tC4pqlqw2fV3kRUy1a5iEYE
+EBECAAYFAjgqYh4ACgkQ4/JYVBKPDnkPkACgmzk7HMlJ1h0qw6OHyMtDE4RI4ToA
+ni+Cm+01pHfzh0EnFQTvLE1M9PtoiEYEEBECAAYFAjnKOw4ACgkQK7tDpvCerwqu
+XwCfbW9xGF2AHQakBPakh61xKmC8WEEAn3TytfY5qrTjxIj2HZFKN5QuQpYSiEYE
+EBECAAYFAjnKiy8ACgkQF6ZBbfeUj9ombQCfYQYxpipdMGBxbNd8jbL9RDmH3nMA
+oITmZnDJwXzpHNuSLY8o3c5YhHXziEYEEBECAAYFAjnKnXcACgkQNfZhfFE679le
+7gCggQjsjFhjaIO1lWHfPusn0dqdhRYAn3rOW0XSeh64V9o+VItH2LZngmNAiEYE
+EBECAAYFAjnLMigACgkQUaz2rXW+gJcIVgCfRRq0G2fCcZOFoey9uZGAkWctKsQA
+oLw6lUhdeZDgULrDC7OQRIk7CnMtiEYEEBECAAYFAjnPp1IACgkQkVrMRaj0wv0I
+qwCfWGMeiZ58ysuZCAP9IsX3aKcSPtcAoJno1COOjAMhoWjUiHctgLZX9+gTiEYE
+EBECAAYFAjnQ39UACgkQbyOLwk/aWgxfIwCfb/GeMAD8w84hq5/aUQMCvVqUYqAA
+n07SKuWYsZLEUuPWIgYY0yoByJxviEYEEBECAAYFAjnSCrEACgkQv+EgZWshSJq8
+jACfdf20dqs3IWOPHgFMdYb5VF+WkJUAn05quvyHB3Xug8csxWg6RwSfQBTBiEYE
+EBECAAYFAjpMy0UACgkQ7UaByb89+bRUrQCg6aozpYiCEDPVAHe54/8/q48FLP8A
+niviG9fjxInPaSKB+LXRmQjc2jLZiEYEEBECAAYFAjqJgd8ACgkQYogE2yD8bPYG
+agCggMsqGJN61JuOQkY5MiKb4UPQpBwAniNYwQb+hlEzJF7qnPECh0MAxq8OiEYE
+EBECAAYFAjrBCNQACgkQt1anjIgqbEu30gCdEsSeFtJ5KziD5l/CvAhVZt9lnQUA
+nRrmbV8HkndXp3+DNoREgscZk/rliEYEEBECAAYFAjrB0SkACgkQ0vCiU5+ISsiP
+kgCeOFayt7NkcymwTC2UKNjjyukNDvAAoLq/bOTNZECtztYIMDQ2VrzZ3m6KiEYE
+EBECAAYFAjr1eYsACgkQ7A6vcTZ3gCXdrQCgllIx6G2DkKSGKBhYCgsyywFBXLUA
+n2PJGrCOov0LS8jCMD2Xo4T7qfsjiEYEEBECAAYFAjr1mwEACgkQLBigKrTF83+E
+4ACffa4yaJ6Pj4uFZY7dVuiOfkuoTE8AniIdw0DVkHBuxlNp9PAglhztyE+oiEYE
+EBECAAYFAjtFbTsACgkQ53XjJNtBs4ex3wCfXLPNscM4Uxtmy0/t5Ygg9lDWEQAA
+nR39P9eJtEeBtMPfbEGYc10ABqjkiEYEEBECAAYFAjtF2QAACgkQI/q1+wgWzBuJ
+gACeIak+A98IheVSowXG4J6jzBA439MAn2IFA8EB/EkQ1rn7OEmFNX++PNZyiEYE
+EBECAAYFAjtF8RYACgkQJ4bCRH+KQBfSwgCaAvm7pL+LioYj/oKDBQ1pJAj+UqMA
+n10W8RKrYblMZ4L11R2TO9xOvFn6iEYEEBECAAYFAjtIDxYACgkQBgac8paUV/DL
+WACgifbHtSi50JxmSr18WofeVcVcAXUAoJs99aH6/t9gkO34ajXjiIQxc0qMiEYE
+EBECAAYFAjtIJ18ACgkQ11ldN0tyliUx5gCggbhG1uzvdgHNY8oCt4cc6TfHUREA
+oJuRw8q2kbztnt8TQ4mjiTINcBXziEYEEBECAAYFAjtJwaAACgkQUI/TY7yTaDkP
+jgCcDSJQUZBBP/5OvW48Q3BUkUkRSQkAn1Mjqe4WTFEEA8HK5h+KDcqR0aZIiEYE
+EBECAAYFAjtKFVcACgkQliSD4VZixzSYCgCeJpt98LMq02q9W1bK5iPUvCkcsSYA
+n1dqFcoXctXVnMj53z8zfAaW0BcwiEYEEBECAAYFAjtLFwcACgkQDqdWtRRIQ/XM
+GQCdH1u9tmtUYY3ExVLdT/H2IIQCU3MAoI69Y4Z17RDh4Bj2gmJwmEAmfDwbiEYE
+EBECAAYFAjtMF8oACgkQ1w1fWGA80Hj2mwCfazudYZSMmQWO85xZvg0uTB3rhZQA
+n3DSyrvXxIpmv0CcnBtUQu5N21kSiEYEEBECAAYFAjtRuWUACgkQ5DsVPMtGficb
+LACeNpRJOS9AZ7q7bhX2sBJglKLloTsAoLm5FTnY6iAySfPZZlwAVeE6zMJwiEYE
+EBECAAYFAjtSxD8ACgkQO/YJxouvzb1F7ACfVp8vhxAWCeRZN3InlvYLrxFTng4A
+n1QO6+D3QUjX+0YRNZ3tpZDTSd6QiEYEEBECAAYFAjtXQl8ACgkQeRYvNvf2qtkl
+NwCfcg4Tss3C9Nf6NiyOAHhXO4JLhtkAn055IHb4i2IO5TQLSQi0tk4ktZVfiEYE
+EBECAAYFAjtnOlkACgkQwAsNNiHlPr2cagCg07IN1/MaXn+8yd4Ncp9/723gEBgA
+njNCoGAAccbvCCVE29sXBNAvUo8MiEYEEBECAAYFAjuYRI4ACgkQkC29kYw4qQpq
+wACfcyB4krJFqyeHoKzRYDqW8JDUdvcAn2pa3UDeKM7FVe8LgCQyz0McM4JqiEYE
+EBECAAYFAjwH+10ACgkQ2tKwXV88MYVF8gCeMoYaFN7v/VDmuYt+G1BXDxzcuusA
+nR8fAcIyBjSffB0yEIwaA7O9X7ZxiEYEEBECAAYFAjwIEdIACgkQaliC34RARgJ9
+zgCfS1K0bROVSB+9wX4g+xEE0phEAToAn3etSLME5hzsisIRMjUsGbBDe7+aiEYE
+EBECAAYFAjwjtVQACgkQRHJT9Ar9DKjv+QCbBE3lRMzyKxTbPUd9v+nB8EVqv4cA
+n0DxPkAIkuriAuwtOjCypTDNydyxiEYEEBECAAYFAjxdq0AACgkQ7vDbNLMhJgNw
+vwCeMc0QmOS0ctJOX1J9a3DWkMyUdf4An3iIslZ7stkMOi1VdyE5fR2YDvNFiEYE
+EBECAAYFAjxw4+MACgkQGM0lpSLzivNlngCeLdkkRkcyHVKttl6Z9IQExE+gaNsA
+nRko+7BQOu5jXMfGarg1rE2zDhsFiEYEEBECAAYFAjxxJxIACgkQscRzFz57S3Pk
+JwCg3qepdTsiNKuGYC6a1RlJZTBqkiEAn2G6ypvCpWAL43LWbMbyyf/rYxSoiEYE
+EBECAAYFAjxxQYIACgkQOhqmNZCaVAYvbACgz9mXzo/nC64mx03IFgL8oFuBAhIA
+oL91NILXxGYrkaOnM+2Ci20UvA3ZiEYEEBECAAYFAjxzeIMACgkQo+C50no0+t5J
+7QCgpSCgGQ8eMefvsDsF0DlEZzuAHNoAoK1TFwuK7ZowUQJyWp1tKDtNDbx3iEYE
+EBECAAYFAjx+gfMACgkQjjtznt0rzJ3/dgCgnDMnLna3yPskxeVf32wDbTHLxf0A
+njWCw4lfYauS0LumGv9uHN9PaErhiEYEEBECAAYFAjyAY8EACgkQ14NrbAzZIOdE
+PgCgt5DiZfRFkvzAPecRDCIp3pOdUwkAnjj1CDE+Kzg2RiK9Z73QM8B0J4driEYE
+EBECAAYFAjyBd5kACgkQ/3vbrZlD49+lmwCfS9apz+gEHsRV6ELS4NtCLvrJsRkA
+n3AexpisdP+8KwolieJwaVPitN2giEYEEBECAAYFAjyMzCQACgkQhbmQdcKRDkGo
+iACaAqrwXn6kf3aD7wss1rgQmrCtJKIAoIU6uifoxBubp2+YjW6kjbnkFMD0iEYE
+EBECAAYFAjyXNDoACgkQoegCcNp0M5aGrgCeLBRQ8CAVzPO8OTz2TMFqYLIbFrcA
+oK2qJqojmF2+THtFCHz0hhiBAekNiEYEEBECAAYFAjyXNjgACgkQg2i7WWb7wYxz
+xwCfcrZ5yTwjn9Sh1S/yL3MBKBs8uxUAn0pC4GgIsbbaxcf1QA5AYwFiPcPEiEYE
+EBECAAYFAjyxODEACgkQJXt5TsZsoD0pVgCfTIJ88OFNFlnUFoNZemDdbd4ZqEsA
+n1y5ZyCl5SYkqFTGiVtkgtIIEhK7iEYEEBECAAYFAjyxguAACgkQeuuK7Uc6ScnB
+gACfUlQrrDUb78b93JEvThA/f1ZankIAni448ZxagzPjnj/vH33yK14agnq0iEYE
+EBECAAYFAjyxj4MACgkQocWSfM5dzg4qigCdHrjYquNu2aphWggG5E0G6zCW5MEA
+n1NQJmKkTEUsbanbVOBx1G5wvYkeiEYEEBECAAYFAjyyhzsACgkQVlEzpFDUq7k9
+9gCeMJc5KvC2gAHgCVjv6Hn7AKgY+rMAnRFIrjunb1Sh77542URoWAVmuPN0iEYE
+EBECAAYFAjzyIFQACgkQX1807qC7Pev9PgCfcW15D2cS4UTkn11BSqn+pgrA4KIA
+oKzLDc78X3OFDzVXTOvk8V89OshGiEYEEBECAAYFAj1uHIwACgkQKMb1a4F8NWhP
+PQCaAprFvggEHBTVR+KWzm0Z3l9ijLIAnAw2QtJ1Mlnz0ctNwSJwORM87/ARiEYE
+EBECAAYFAj2ERksACgkQ1DyzBZX+yjSzyACgjUKL3CH2UYciEAarZU9H0ZYIIWQA
+nA6I1aJ0FgWiF2bd/jgWaBL2jtd4iEYEEBECAAYFAj2F5U4ACgkQdZc6ENbQhKbt
+/gCfblKSqJohqhaFawtXPs8TX1UqY/sAnjqwumhFN4YAAez36gItTB9BxcmJiEYE
+EBECAAYFAj43BmIACgkQkQghntzeiQqeGACfSyyIi1vPniQOq8xLfgjDxFkkVEYA
+oJSFbH8uhrwBMa8aOIRkjN9uRdY2iEYEEBECAAYFAj+Q/gMACgkQdt8qX2QD4/2l
+hwCgnv3QSQPCGbmTI67mtAxl9d4rZ4UAn1WXmoSknE2WYeqRUb6d4wAhG/jViEYE
+EBECAAYFAkCnUpQACgkQt+hxIz4tn22gnwCfTWoR3vhEv0yp1Ks/vz7jow0Tw6QA
+n3YXgQn0DS9/9u7AyG5gjh18VLtuiEYEEBECAAYFAkCnUqEACgkQt+hxIz4tn22d
+OACgjeYArERuayyqZmozCahsgUyPihMAn0PkgZDTwKgSw690xdLuR2rWJrPQiEYE
+EBECAAYFAkGD05gACgkQ9oi/YaVie2EkhgCg582nMvFSTXDb/PdF0+kZTBQTCGQA
+mwSEka7EMzOzoCxEefZd+GQmEdcXiEYEEBECAAYFAkGGD60ACgkQ6gnEQD//YGyI
+WQCgruyF9KSG2GuqPVQIsizCCV8rjPcAnRQsBzfw9QLM960FP64YWUCqhYkYiEYE
+EhECAAYFAj0EW94ACgkQj/Eaxd/oD7Lv2ACfUACXl0hDfGeEdbGjhIa/hSaZCrkA
+mwV4SdeJnBoXV22VBEekmTfzHKHEiEYEExECAAYFAjyvU4oACgkQ6pxm6rn41tmE
+ewCbB4FZ6z6dmSJ2epBIdeoS8KHLNhEAn2ZcUDKfuFpVVDuV/bMhpjbbHJRIiEYE
+ExECAAYFAj0FswMACgkQoWMMj3Tgt2a46gCdFwSWzfEmyuvfjnmNPzCyvdO2R2cA
+oJRl1Ibl/2hPXjenl1f08pQLThZAiEYEExECAAYFAj0GRB8ACgkQKb5dImj9VJ8F
+HACcDjdyCPMWjSbrXKCVFjDtuapl428AnRSI7e1VYRJcVdGmrAtmu360GrQpiEYE
+ExECAAYFAj2J/ScACgkQ74J3yv6ZHpg4ogCgj8BllYTJEQ5sF62Qd2q9o2FNJ8cA
+n2K/7zpy9M/Oig+yIYofaN+5fnUUiEYEExECAAYFAj4ykiMACgkQaqtaJwF/Vr1M
+mgCfcNfOOm6/woHpEtuFVgYXvUh0tG4AnRTPBwdemHFViOojNJ0glWck/84ciEYE
+ExECAAYFAkDa3nAACgkQRTxFSQIw1gIZCQCg/jjaczO/s9GkLq/kftPN8A6kLr8A
+oPwGlVzoq5yWxhgCkEMfV+KItmDViEYEExECAAYFAkGE+RcACgkQ3ZHkUS+VgsFX
+/ACfRYBeswRWTHOdc4gLefxUVSGbj8wAnA3CWEF3MQOIpJQ5KSFLE2104h5riEYE
+ExECAAYFAkGNFPwACgkQ+C5cwEsrK56k8QCguxJO7l5effxWbaYOgeVko8HiQ80A
+oKSJGsOZGx1nvQRKeRK/7DrZbB2piEYEExECAAYFAkGqFTYACgkQztt/8ZMtg2MV
+MgCfZevJcAcVXa4hUUJSjkWo0j/b9MkAn2HZC4sNs9nMN1PvX95Ge39wfBEKiEYE
+ExECAAYFAkIrN0cACgkQi0rEgawecV4jeQCdF+GUDJuQnCaFZqw6sNgZtol0UncA
+n1/VQvGDB0Or+JItHnUlCU98URNXiEkEExECAAkFAkGD3AUCBwAACgkQQSganqDi
+jRh6lQCgmgm1rqgdF3qYuDQn/S1vFxggwpIAn1htaL3fD6o4LnT/8BIm6K6tPGPW
+iEwEEBECAAwFAj0BE/8Fgwa1sWoACgkQFBE43aPkXWatjQCdF96DM2kdreTGbWTK
+jTMTuwB3AtYAoOxTFERoyUCn7nTsufD4QpxIkJCiiEwEEBECAAwFAj2GAuUFgwYw
+woQACgkQU+KFTgvh8OP+lgCfTLjRfVihRNQQ/MVIuHttesX/s/4An1ZBth8G2EvC
+fiOU2KoOjl3MZUJ4iEwEEBECAAwFAj+ObrAFgwQoVrkACgkQCmLlNDenkUkzjQCe
+IR3z4h7TMEeNI9Sy5/4Sgclj9WsAoK9yVbdDuWQJQh/ZBUpx0GjxMSW1iEwEEBEC
+AAwFAj+SeAcFgwQkTWIACgkQ78vN/2HwW4xfggCgg+yTSXldBhvFoDXoAeOwcC74
+YqkAn0b+tC5AZ2BQkg0vJXZ6tFXuOvhaiEwEEBECAAwFAkCoZL4FgwmwcCoACgkQ
+EgljnRFKqFxfngCfbXYSsBtMM5hcUCsnm9IvyCmMhgAAnjtDe7q+5cW/JmzE3ill
+B+u8fc9DiEwEEBECAAwFAkC/Rz8FgwmZjakACgkQ2S0k392WXIP5uwCfTlmW1u9U
+3nck5mCo6DeTHNTmUvkAn2jnjXhvqKoLfS2ERRwQlFFAw6NRiEwEEBECAAwFAkDb
+VF4Fgwl9gIoACgkQ9ijrk0dDIGxiBQCeJIrdN0kFT16KL4COSILMmcjVxygAni6O
+inWWNJqCk+k+BNIvKpm+QKm2iEwEEBECAAwFAkDxIncFgwlnsnEACgkQkvv9V4b8
+pZK7gACgwOU8kI9ZBzryS+HxAeWEo4WjeC8Anjl67/wgPGr4XAS/XA1xmWzRwZiP
+iEwEEBECAAwFAkGsm40FgwisOVsACgkQLEmBxMM0hsB4NgCeLxvQw1g9MSpWY9+2
+VbSK/4vNd4EAnicGGKdS3Zy48E4GBZr62ZmWjr/iiEwEEBECAAwFAkHCEoIFgwiW
+wmYACgkQGFnQH2d7oezd+QCeJzuPIHb2H/PX1R9NYqC6z+63wFsAmgJUX4Ei+WzK
+Gs2r8LVtIo03nc/niEwEEBECAAwFAkHCKOAFgwiWrAgACgkQgcL36+ITtpJ6eQCf
+Q5aTW9WLJNVWTdp4fi618YDdnNEAn36Vz84EsZ0gpO0Je9S+geCrffj6iEwEEBEC
+AAwFAkHCKTAFgwiWq7gACgkQa3Ds2V3D9HOXdgCg91Pqo7tiv00Je9XoTIJq82ug
+6gsAn2Q37v0WzuggX1xyzDSR7oxz77owiEwEEBECAAwFAkIi82wFgwg14XwACgkQ
+2KgHx8zsInvpsgCfdHcjOaK7aK1MBAYBaWwkK4rfd7kAoKxblxsQzllz7sLvFbK7
+xG2ipuNJiEwEEBECAAwFAkIongEFgwgwNucACgkQLADuUthSlVgXawCcCbstExBn
+Vkd/fHvatuzJ3sJ0g0gAn1t1CmnaMwV/HVQlUhfqefYlVN3giEwEEBECAAwFAkJT
+jYsFgwgFR10ACgkQlvNNek/0hjUNPgCfRJZleAq/j/4tbek4A3/lhgXJha0An1aT
+oz0bp8HSf2NBjW1euvf/4VZCiEwEEBECAAwFAkKYjoAFgwfARmgACgkQTbbnG4Bh
+qDBuUgCgyBpzBy8k7OKzjiYrKMGIWZqiMiYAnjHdHdzo6dKcV+J3ef4hl3VcLqDf
+iEwEEBECAAwFAkK9MmEFgweboocACgkQr2QksT29OyBNEACfbNEfltwRZ1RmZEkt
+9ZTwOJSli5gAn3brUt3vc1JIxs8dlkwHV1fSJpH8iEwEEBECAAwFAkK9RW4Fgweb
+j3oACgkQ62zWxYk/rQd1UACgwJNmfL/Cs6bYMFPC1dRrNsf2GtAAnR6K37k2u63F
+X1lbg4aSMLCcNviCiEwEEBECAAwFAkLinZ0Fgwd2N0sACgkQ9D5yZjzIjAkhqgCg
+j/Uy+2Xvfw9FAwPdWSaC+o4AVUEAoIvJ06LeJppo5EQqEt1mc8bYV1UjiEwEEBEC
+AAwFAkLlBZcFgwdzz1EACgkQg2E6UBaCfQMWAwCgk0N+XcWaLDssH7wYu0EtOFW1
+kKUAn3Vq83yrmg+F4TvieNmPhhqTP6W2iEwEEhECAAwFAj5ecYsFgwVYU94ACgkQ
+UF6IRyLnX0ugAwCgnZ5NnBWJ3j9/7slzg5Iy/pU6UesAoLaNJiUgVfg+h3uP4vUJ
+hum91P/biEwEEhECAAwFAj97CToFgwQ7vC8ACgkQW7P1GVgWeRq/ZACeL6lVKkE1
+iFiC/YonlBzLqNAdVkgAoIBH8VYDXLRIgBpyfSdwc1YxTeDDiEwEEhECAAwFAj+P
+7j8FgwQm1yoACgkQKLKVw/RurbuqxACfb1X6tBq7g3z5HgfCXv2sm2gQI5sAn1JL
+b8gDxuSRcWMHulGZY0hZJfvyiEwEEhECAAwFAkCn2cEFgwmw+ycACgkQt5wosOl/
+hW1B0wCgiQGkFQEonh2cRtw1xXowakWqx/EAnjp2Du5T+xpOdf4O+JwV5DmtKqW+
+iEwEEhECAAwFAkGE6LYFgwjT7DIACgkQGKDMjVcGpLQO+QCgsc+A/SO9bY78+ul2
+KU+7SCcztq8AnRbnT0G0HnJdQYMffrLF5Ing2fP5iEwEEhECAAwFAkGxhHAFgwin
+UHgACgkQAVLWA9/qxLltoQCg24DNLxMnSOcPFPCNLTPkyyjyQu4AoIe0tZDEDS7m
+vM6RQaHREvCuFIOZiEwEEhECAAwFAkKWAqQFgwfC0kQACgkQi5YpQ/wkPzzhMQCg
+j+rrxz3tJgTrmh3g3+5rIcWEEUYAnjKOFjzGL/7SyFlpehh0Xa3oO69WiEwEEhEC
+AAwFAkLrbeoFgwdtZv4ACgkQwm9wFgHGy4MQfQCffyaecfqcThyxP9FNgZ2Uz4pB
+wAEAnjMFgtk5JN6gZ+Ztgqe+YyYrGvvuiEwEEhECAAwFAkLw+X4Fgwdn22oACgkQ
+WNqWrwuQEUHBCgCgn3XtRj5qJxudfYkec540HnkoerEAnR2x0A8LAA49rsbhCiLZ
+lmTaaD67iEwEExECAAwFAj0HTRcFgwaveFIACgkQPGLK2OTUMk2IMgCfUXkZfmZr
+MFIiYO8F/naQMBs/94UAn2Xrf2uaISYrPudIbRkxYm+R2NrZiEwEExECAAwFAj14
+eLIFgwY+TLcACgkQ0BqcGU12bN6ruACgi2uFjh4Sy0Kjyd760dvfpa/9jtMAnjHy
+PQ0tHYSqSZDD9qaQvb/F3PlMiEwEExECAAwFAj15MRMFgwY9lFYACgkQcFxTidXB
+s1halQCgiR5GTSx4fSCqkikzrOOOXAonDVcAnRFQ13dmkjLcRy4E8bxLtm8xPyAd
+iEwEExECAAwFAj2DrfMFgwYzF3YACgkQAtbtIeMsT0ugzQCaA50Snyeu82nth0ik
+NVnzHD4W0eAAnA9WxGBmmpvWYOq5LOTy2fVe2P+EiEwEExECAAwFAj2F/AoFgwYw
+yV8ACgkQ9Wsmo6Y5nnPZcgCfUvxNXjoWYEsAYJz3z+MWDeGrfJQAn3slXF9ced2O
+AN3YgYZNTlIC7UUaiEwEExECAAwFAj2IEOQFgwYutIUACgkQg2XL3N1NTv7QVACg
+r+C/P7gqGDupYTC21jl07mPfG/cAoLZ9zkmr1YF6Br7szUKksSan6fwtiEwEExEC
+AAwFAj2IOwAFgwYuimkACgkQHb1edYOZ4buWMwCff0YYdFZ7gdc1qjCaeXDhCfLe
+0OAAn1OJuZ/eKGk+i0V/ScLpOMLn/SCCiEwEExECAAwFAj22wZ4FgwYAA8sACgkQ
+VkEm8inxm9HyigCfaNbjyIlHYA9cAv8sLkz5uHRoTe4AnRyDPfAFiBPZZhwJNDlm
+TEColXL/iEwEExECAAwFAj72Ip0FgwTAoswACgkQofbulCQLTD21TQCfcKuy3MEj
+JRrikDBgKtpIP1at2cQAmwRlZNeKOT0UJ4RNt2piAHqTD47giEwEExECAAwFAj72
+z7wFgwS/9a0ACgkQBYtazUQcX4H/jgCfaQXW+LvjoJacVNYrdxhXUYx2a+4AoMQV
+/y+zjcnaNRbZTH6unq4fBDB5iEwEExECAAwFAj8AnloFgwS2Jw8ACgkQMozWs+vC
+dRW8xQCeJLRNfZLO7twP4DnAsaP9wNdsI+AAoKChEzuM19HrksvckWmBVafawaPR
+iEwEExECAAwFAj8Fq5cFgwSxGdIACgkQTrg06OLM8A+J1wCgmucpP9rc1NjzPHDF
+NcQokRbp/REAnRvctW/8AwDaH/btQjPtXgQGCbrPiEwEExECAAwFAj+PlHgFgwQn
+MPEACgkQbHYXjKDtmC0gWwCgrfQwM+i6i82wTcXx8LRPVHm//88AnjOiqMYKpGj4
+cpkwdX2nhUlZEyGOiEwEExECAAwFAj+QUxgFgwQmclEACgkQnQioDO2QjWrbcwCe
+Nw1qkRaDRy3/fl41K0F7fbCqq58AnRXqq6031t7zmMdmZDvFlB5M6uFXiEwEExEC
+AAwFAj+Qbb4FgwQmV6sACgkQlSxWI2ynbPR51wCgkZpbx8pnoqj6mmXrUQgJSce7
+eRMAoJcbGZ0ls3JXAJRD5y0PYzznxLIriEwEExECAAwFAj+RGicFgwQlq0IACgkQ
+46aNyqaY2pkmnQCeLsrSrn63Mnhc7lwklc3UHlYHQLwAniZuyemrUEsU0fdQKHda
+fHg471iPiEwEExECAAwFAj+SmrkFgwQkKrAACgkQtamfe9tFLSc5AwCfaA0hJcLI
+fm1Eek+X2hs01q3f2lMAn04yqK1H85hZ+77goaEBj2YEEiYsiEwEExECAAwFAj+T
+KtsFgwQjmo4ACgkQrSAagZQ6Xw5tYQCbBE8yHKPJrUivqIYiVJL8y7voOqAAoJc/
+HBTNTrRSxyjK7nPmyBYlbY8miEwEExECAAwFAj+UBecFgwQiv4IACgkQOiUrvZ0k
+S1UvJwCg2Lw5xCu5/pUTEFErcShPUDM3uDIAoNLDQt61O5Wego+ez43N2N8doSqF
+iEwEExECAAwFAj+VCZoFgwQhu88ACgkQTDL5CJndlGiZvgCgiM3ez6j21lBLfJnM
+IKhGMrMhW/gAn0WLirWDnek/f9iDEMVcGMEnwOOciEwEExECAAwFAj+cMmsFgwQa
+kv4ACgkQNgJWU6vgsQY8MQCcDE5hjYq9uHuyC7ZnBg47a5BkVdsAoNxLfUY6DeCe
+kwPu3e+3qJsbwib7iEwEExECAAwFAj/UdIUFgwPiUOQACgkQW5ql+IAeqTKRqACf
+d21FYGEziCv14kLK2bD6ghb80jUAni5XNqaFLg8i+0bg/MSQVf88ZQKziEwEExEC
+AAwFAkDcUg4Fgwl8gtoACgkQzQ+com69o1nN6gCfUXjD5LUESFXa08Px3pbfXidX
+AuAAoMJ1/H/oFgcer7t+tACN2vC8GGYsiEwEExECAAwFAkDkGbAFgwl0uzgACgkQ
+Hckf8471INHpVQCfV67np1keBn20I5JABN5Swm51B+EAnRxMBVbypQcppBhdWnxQ
+adrjhHVqiEwEExECAAwFAkDuoKIFgwlqNEYACgkQyA90Wa3Cns2o+wCgjBXhs2mE
+n9HFs5F8WR4AdTpWp0UAnj/Qls/ZRkcy/RAfAN12XgHOkpyciEwEExECAAwFAkEN
+p5kFgwlLLU8ACgkQK6gmAsLOgJlWDQCfe7E7rcFCn9xuL5Rh9MDVVueAJY4AoIL6
+CdZIlgg9Lt/HG2dDFgwPwbkGiEwEExECAAwFAkEYu4wFgwlAGVwACgkQ1W4oD4nf
+jasGFACgyTFOT3NMOo7DObxulYi+WtYriqUAn1Y740hi4fWeByAn5qoUj8brf24p
+iEwEExECAAwFAkEiMZoFgwk2o04ACgkQ+FmQsCSK63O7vwCePBtM5gchuVC3gXAM
+O7r1A/le76AAoIMM0oq6wuiHnT/dUAG858Cw09t0iEwEExECAAwFAkGA8OwFgwjX
+4/wACgkQsYn2tNI6QchEuQCeN/pbbqMBzHuAfWO/g9QfmlmVIW0An2WQXrXoE3xn
+Vp2C85BtML2phOWPiEwEExECAAwFAkGEAf8FgwjU0ukACgkQTjypAm4rQ9yB6ACf
+YnJx27fjxYsq+5UfQEemQt2VO3cAnApE8yUw0B3ZpqCyfRo8JQIb/cJUiEwEExEC
+AAwFAkGEkIoFgwjURF4ACgkQlPH09zrL0iMiigCcCIbdWZPauTvF4Pn724WxH6Qe
+d5EAmwcodEzOE/rElE7fqScRmudd8Ur7iEwEExECAAwFAkGEvnwFgwjUFmwACgkQ
+TbPZ7n9FhNqFGgCeNgwyzTJY1OABEu/EoBXEUOENxdMAnA6Ul/yxKQihc39VvKQf
+pdwPGUhRiEwEExECAAwFAkGE6B8FgwjT7MkACgkQLMilaHDIrOVJxQCeIJI+GgF1
+UfUOjkYsjkq260Q72OUAoL0ekc/ixpvh4Vs0j1q9Wx0fpQUwiEwEExECAAwFAkGF
+RwQFgwjTjeQACgkQDecnbV4Fd/JDbACfW5h+kLB3Y0wokkr/sxy8RFXwp9kAnjMs
+2yoVbG2ZbkHQV2ZODRF66zuMiEwEExECAAwFAkGFVkIFgwjTfqYACgkQqI/9z8xh
+Hubw1wCfWLT8UnjyRQIuxGPPWjtGVeezdP4An2GJa9XsZW3yv2eOPAsP93+npZtd
+iEwEExECAAwFAkGFXLkFgwjTeC8ACgkQT6RVPNdrU1mZHgCgq9+wyMgDr96Ism0g
+Y9OxSqMA+88Ani8EIVnKhI6trTzgZLZDrZ5pdzDuiEwEExECAAwFAkGG8eAFgwjR
+4wgACgkQbHYXjKDtmC3wYACg1f05WHi83tg/PMHoBkqlngdDIuIAoK7KZ/to5Frk
+fNphn6Zo0fozB1n0iEwEExECAAwFAkGHwbsFgwjREy0ACgkQVm02LO4Jd+iS0wCf
+bUWuTf4DZrjdua5kNdfvk65gojgAoLHPPvTdAlVKacX/rnPD7c36LfuYiEwEExEC
+AAwFAkGH6+oFgwjQ6P4ACgkQTTx8oVVPtMYoQQCfXmZAzk9EjL3qPz50zZgSUO8l
+3m4An0Xoqn603NHFaHfbBKdtWGijlgl5iEwEExECAAwFAkGMPFkFgwjMmI8ACgkQ
+iSG13M0VqIMbDQCfSxC8XNlseJ9VQ50GJ66KwSDljmMAn33ApYFWTs8qa/EBIQSg
+qPlVEBO/iEwEExECAAwFAkGSMFkFgwjGpI8ACgkQ/2R3A0yRcenRkgCbB5vYhB0c
+v0S9X1y54Ci1KmaMDNkAnjeOH5rAZQsOQZXoDJPzHNrjYpLciEwEExECAAwFAkGT
+rb0FgwjFJysACgkQ1mvqN8E/x7b7ygCaAyFqMIKTMqQYuQ7hnGpMTx7FPmoAoJtf
+YoL1pFmVZ5Mhwkv9GFUee+HHiEwEExECAAwFAkGZWWUFgwi/e4MACgkQSvFUKpY6
+VLAkgACgiL8te7hejTXfDXRIOAZeVzd76/cAoJbmj0tdYt2QGc3j/4yMnmXrKPC/
+iEwEExECAAwFAkGc8GEFgwi75IcACgkQV5nlLYTPmpDPdACfbASh9WQ47r2zzcVc
+jlfbvsz2VvgAn0KtwOo73pm3e7aPO/mYlLsP4V9iiEwEExECAAwFAkGqMckFgwiu
+ox8ACgkQdDpVTOTwh9cWbgCfaMETpI9v6LZgWuTCzE7DceGsuW8AoIcBSwWGF0Xk
+XpRYcvXfjvAg57+piEwEExECAAwFAkGrJUQFgwitr6QACgkQzop515gBbccEhwCf
+ZhBXUVoNKDbW5mpYGxfKrMfScIgAnj0XoOlYmWWNN1hlKoSQrZSvh4FFiEwEExEC
+AAwFAkG3PJoFgwihmE4ACgkQEfLcQ8rmNEIRiwCgpAzSttJZSiGIffSr4/dixsFU
+VxAAoIwnyzPthchrUSMR10AvPAu8Czm9iEwEExECAAwFAkG4HyoFgwigtb4ACgkQ
+5Vyxg0d4n7u8mQCfdQ++3anppXuhZp6cQIp1DCCz56AAnRA9B/n9ah1wL+IMjoBh
+FvgSW7JLiEwEExECAAwFAkG4K9cFgwigqREACgkQ4We9YdVB4USYCgCeLsm06Ov/
+Yoi9lfn4UB0IX3qwBFgAoIPEVT2gGxQYua51y70pjVYG6t4eiEwEExECAAwFAkG4
+Wg0FgwigetsACgkQBMQfNs0khKmYzACfZgUeTlimmFrhBDEV6SsslxvVIGUAoKZR
+9c4+kfE0+BJ069AUZBkkeRKGiEwEExECAAwFAkG5dt4FgwifXgoACgkQPrq84hvw
+IdMBbgCeJhjUvC1klrCPhWqKhyfoKJE+hWYAnitsOnNDnjkKDdKta+mrdL23iPD5
+iEwEExECAAwFAkHCqnIFgwiWKnYACgkQPG1Ayb4vCvZS9ACfROLs6kU6Z93eoFUJ
+l5H1M3U/L3sAoIgAGfCxQ3sADvFiYg11GTGnDzffiEwEExECAAwFAkHq47IFgwht
+8TYACgkQvdkzt4X+wX/UgACfeM81+Z/SliH++ZzOmy5ZR9ljTo8AnA5DGAsPAbdU
+7j1NN0NXUg53dNvkiEwEExECAAwFAkIIjHoFgwhQSG4ACgkQIqUcje1P4MASOwCe
+LyBkToAQ+3Bvup4B9POq1xipZNgAnAui9pLAdwaGAZ8w5PFxuS2GoXxEiEwEExEC
+AAwFAkI2qnwFgwgiKmwACgkQ1cW3Q8Sn6j4gRACfQWmnt2z+J0tB79JQ50hNEVrY
+uKEAoNAe1Y5xlLlDTSKJmnwjqnN0qaeriFsEExECABsFAjbtSOoFCQzJfIADCwoD
+AxUDAgMWAgECF4AACgkQXeJJllsDWKK11gCfUgltInjqS+wGOrxfjiGjJsNmVtYA
+oJLaNHln4KYwLlYOo16kdcB7dqUDiF4EExECAB4DCwoDAxUDAgMWAgECF4ACGQEF
+AkBd2egFCRNri/8ACgkQXeJJllsDCRDs0gCgy5RdOqhFvwUFYWj+dHb4LGt7xi0A
+oKduFxGMuM/loPShQnjvk/VVFesAiIMEExECAEMFAkKVnMMFgwfDOCU2Gmh0dHA6
+Ly93d3cudmFuaGV1c2Rlbi5jb20vcGdwLWtleS1zaWduaW5nLXBvbGljeS5odG1s
+AAoJEDAZDowfKNiuNUAAnjPHZE2+qGvOkOkRYAmqCFMXw9euAJ4lr8dHPg0y8xeN
+H8M6rSswZaeHT4kAlQMFEDuB4BNSrOsu06QsYQEB6AYD/iRZgJ2U+hTGt879PPwL
+W1y7dQFbjMHqbyyM7eml9ZbC+m+jqNvMsniFCR5qvStMgbXuUZGGpd41mL5+vqF0
+wwM00nBQe+rr5grY2oMPCSEJRNtHEamOsbc4GP59nrwbUhA7MKPSrPCvh9bvh+XQ
+7MSlar9eVBkqvnYmKdaKI1ioiKIEEwECAAwFAj+WOcoFgwQgi58ACgkQ4WdUde/j
+R61yvQQAghvUxGu+fWc6RUEZnrQ8n69FOPRq+od8fiYNF5iSWfBon3hmT8IQi3vR
+FbqCcKsd7fn+rl2zZjFU5f7SuzaF8+hODuH7B/jK+bW/dnhpgDRZyvmZMtLpeAOP
+h3IkrGEeknV1LeTZcRJnbGTZiSu3LS8E/AVuSXmmj+2tXXBzSFKJARUDBRA3Q97T
+UoBXRHZTQB0BAchxB/9iTH4O9RoIshiUysQgMpncn9o9snx+sCO/NiSuAVleHNBP
+1d/Kvo6SGLJYoVfbfLPMNVyuZ4jGi8JQjsgVjpAz93nIevhjz7Xwd3JpS9oUvPej
+1mdWnUB4AnkKQfN+5+eso9Gk7OC9cWq20lU9tpVMDIlOj8GHR9kYfJ4fBbzdCGbG
+5Z9pzo+96gDUMzX5ZrHlChdV4eHJPMi60XeK+mpocQFQH3GBUSTeM3Sy93JoYJLd
+AA2ZcwMF5xI8HRx8u0rwCZNXnDTgPaRbDiW7587n3dWn7Pwmxu/CPtCQ4YO+Wdjc
+KvHio7CqojtM8/7xuclkp3Wb1pE1s9w929ca9SHdiQEVAwUQOcqYVhpPhku+30gx
+AQGDOwgAjoKCGePm8h7g2edNYGosrPTMcZ8PNCMETXMZozgCbEd5oWvotRaZnta2
+CZyj/u5gOrE7z8XR2PNttenuHVDii5y0KwaaTR12/wrp9VJ61wLy/4zncnx/C9Nw
+g/Mu9Y2bMS8EuL16yWNrm6YxprWsaaYy7G251NI7cseXcVnuAowzm6k8ovEwCAqV
+l4s7EUibNQQCuDgH4idUdr410fDnpUalpvsGYf1wqhs93RbjU7pNEaLmnlz8zESH
+Yaev+JpMVAfnw/jjWp97xyCual75xrc/aj93anrobvU/sSKCDbteDzW9xYyjqZGu
+2npn+rBR4iUHZf9j/glwT0PVnH/jf4kBHAQTAQIABgUCQQm8qwAKCRAz/XFX/s5m
+Tm10B/wK4tRztfYKQVVYYl3rduOE1rEntFEP3yV0H5qkIlPrXNi3j2hgOiUEBNDg
+FpuJ9rSz7IZ3GcIGlP2IlT9OicGwpabAtoB81S8rJKkzI+bBLCK2J1xJslIdjk2F
+O1u+KjLu1gu3RZYaYPc3bETXXmtECI2h5hNazvDw+QS1JTIkqr/vhl3TY9JAxiLw
+NBWn30phh8kRzvRJh1EI584vRVb7nTSd6PYpnpoEskJbXyAc+BV2QLPk95oj52Mw
+eGADFNv3uuyUq2WH9H1KP3MnwNReTy++woQfLzobHHMyBr4ccC4uKlqOmBcZ+kkm
+EjxrJTRALelu2quUhpR7a0tcqFxSiQGiBBMBAgAMBQJBhRYSBYMI077WAAoJENJk
+ZhEZk6qtGSkL/0qaizY3Ix+hwNj+UAN8sGhPLYNGSnPCgLyLMceByJP7fpF96Try
+6wIYsVAsXdltuC6wEsDNjIc74FCduAc0HfhnJ5Yu3ciJ/DvR//vlbnE1pp+RysVf
+7V3CVNxLgOdfSBd76tgktcfbsh+R+qKR4JtWjojkET+XAOrCDYNj8P3nNxHzzYO9
+UHSBsNzrm46RBFNxtETh0nDxmgzfu6i2vpSwoRMbi/39VGlHJNYoA7itVZfZx8Fe
+bJA9KcirRDGtWcofsUhWWfnQA2K+ahPIx+N0xVzuxjKZoXbkSC+LFwzaoYFUE6Oc
+FsBkUY40QhCNKIWUX3kSZVUWro6WuwMltQAkXG+03awShgpciqzZ3o+Oro8zmMoE
+SJl9c5oUWuIfJwHpvrw7UrArcZLdf6bcOjHlJqGv2XSRJIxeiUtLghPrZF8pqN7j
+58yL94QC7PsQLsRkcgGLp9aSv87O7XzGU9nlyOS7wR56pQPClpTO8tm6ckquKh7T
+5jIqnszVh2t4yYkCIgQQAQIADAUCQcIpbgWDCJaregAKCRCq4+bOZqFEaCX4D/4k
+RmZ8eDsYuKrw8OS0yUK3PI9k4wyBGxUQmuJKgXFRAbCkUpATHvRh6ZXquWFSVbgk
+ay3cfbGLfZWiT7TAz+k3eiVStm/Mk88pqlTfu2pUq0/5bpqJF9zt/L/i2aY/030A
+4l5gsEccCsdy5F1FXQPbYGFTvjtPJx8hMstAG761HhaOib/A2O8jd7f8elZMGSTu
+btsFJ1/K2Po6sy/3ylJlfo/FzgvqTJYju4IPsIrq44D3k4kQDMahU2W4k6crQncV
+7w2wqC0zxmuZIuCio1wyvYG3ey/pjNfrOemSuA/gmmN38uBJM+vEQIPnUdJslc9H
+2eH4rVKFEQZuqUk+HUdwVQhJKfwaMmSiGj4PeXphtFc6a3lqfhsiN+7lOnzk0dRM
+CxZEMgLjIC6pGquJ610zsYGRb/viXDUliNBJod7CeOHRH653/00U9aaqh1Km2He+
+BWmtZt+Kzw10YUm8oox0/E6XlE4EL8p/LP1uv8vbaGzTVxX5NIr9gVhrnOVDHHXt
+lFZxatg7ZLuSNkK6oiqsR2ynxk2ysmTQEzyi20UFxnH8ICsUyRyEDbJlbewQPtJR
+nknpV6QhsUA6bVytyYYA3RkJqSDojEgAgz5LL+Zhm1Ttz9ccwxJY6/ZevzlScNrF
+xPnzmaotfWPgFis0yF+PLZGTuf/gssj8yYMAWhhtBLkBCwRAXdspAQgA0ShUtJWc
+P9jGsEvez951crdhRfV1m/LIu0/SYJfjURfd7qlDiAtebN7uUlT3MHSIaBtOMGCh
+0yyocgQIxaeGs3y5oiAQw6d+w2N0gLSU+k7IFC0fshZF20b7iDlOTf9Fsc6yuiSc
+JRVRMmj1+85llSjAo/kjI9ha5pbblUtGgn9IqN5/e21AL7lN3YI0xaB6luNNe7Jn
+2xOFTMJy2It/9UkvbNMrCjOj8echDN6EIjlv/aUuPMEhX7N5V4vDdQYpID3VORRQ
+PuQRklIcchX/panY8HAcgQuy093QqxXlkDi9FHlYesBuPDut4/I7nu5n05vuefbl
+5w/yeuT4h3GU5wAGKYhPBBgRAgAPBQJAXdspAhsMBQkDWO8AAAoJEF3iSZZbA1ii
+EtYAoKCds+DpwNHVbe2TPz3gLClwNChVAJ9wFd8rmSl+Fh8OT53+bC5heS1JJbkB
+CwRDuBYiAQgA0VqHgsH+JVSCUGoTO8rRUbzzK5EmUMtO9vyOv+EDyrGhyPh56AfD
+405gacgQyyvGOjn92NYTW++8XvptoPvFqvwVCh71ItRfsc7M6Z4sbTK/kDosulO5
+AiQOnxr6tKps61xnL+a16Rr1sMmX8pky1uF9lioDS/G4Tg8tLifWUf34YxO55yB4
+CG6EpwQFDxwrCPQRbprG1PBSrCiQjgas4hxMgx24se7j+gcmLJR9rVMPVnUFPGM6
+NplqI4IV6YxO1E9LQG+EDU3cLqy4IhCB+bprDON3pa9f9p3dOiooEF/jUeDKsrUf
+tvCbRBCr1C8CWaZhMbOAfjgeMfJfui3NPwAGKYhPBBgRAgAPBQJDuBYiAhsMBQkD
+wRWAAAoJEF3iSZZbA1iiXcsAnjckbTtf8iMojZKLWEXzuct8bh6HAJwMgOI2sWu9
+NrEbOIj0f1liZDIBKrkBDQRHeSljAQgA3i2NQz0mgdjcli3miy02tRtEEyF6dsuh
+aS74AvzyM0fCJ0cTYZAQ2rMBQT7nP6AEjUAr10woxbID73NY0ulKUx2NzZ2ZcQer
+OTW1tWAz0BNQpJSe97jVPa/GgcTIbK86KlTvz8y6lIXMFqf+rAY8hc+WW/ljYqeC
+HfSfno+d+69lCaPxojIdyTloKef0qlE1s8KMLVNddXkTpVEVYesKxtdWW0KhaO6j
+GNZQLrfFbeLycSr403ZZbO34UXz8JnMQQ18WcnDzijvFRd1yTyN21cZKChUbjiWS
+v3x54IYBGMK74iohtLwyElDk6jhOt4WqLWu9oFFJQ0yRq6K7zTvAvwARAQABiE8E
+GBECAA8FAkd5KWMCGwwFCQaf+l0ACgkQXeJJllsDWKIWwQCgwNWVKWyNzlnfuRH5
+4+PNlK5r+O4AoLV0a8jLsSWfDFoXwWdGKrx+w3iguQGiBEd5KNQRBACEzkqU3lt4
+OOnRGk5xg663vf1q4V7x8y+5D9U6c2AuI4oOwtret8VICwoJr9e4ngvY/laoiuqJ
+RjyC/MuUXR4yYErTQC/qbGdJI8dshgAlKYA5MuPYUbX8VhrqISZwR1KbKf9gxjgs
+i9J5c5LyUSFXSGQDIGGJpxrvGrYpR6R2/wCg/2mC7sXkHx0Y8pQfMjne4hxBO1cD
+/0EsYcLUkFl3YM/ysk8IwIzevSRjceolCq8DYjy6YRLn2ItBM3SpK8ZbZEy7mWJn
+fsqMTCr6ChwDoC3vkXJxfWWQ3Nl1I7oyJbtJQyHtP9sVFyWEN8ys2krdam87pONe
+Es0Y5IrFVJ3vxriTbjNsAME0pnhl4Tv34HPvtTIri3a/A/4/0/JXzUuPHMydHhfv
+1RthRuZfiVbnEW75gVopVVhV1jk1sqBbqkPvLerhwHZcssWZYLd62VrFOq9r0Pms
+hCyd558uM2XcZQQPDtl26Vd313+TZVLGVmN/7Yn8kjsByEEbyV9DQEs9gKOKlwSh
+ewjOrGc5W142ulx2clBuad2pwIiXBBgRAgAPBQJHeSjUAhsCBQkGoUxsAFIJEF3i
+SZZbA1iiRyAEGRECAAYFAkd5KNQACgkQzT/NXj1SwoIQ+QCeOqJ3dB9J8t5z0K1y
+OfwkMZNdmMwAn0fo/fpNMvry2H87gwlqEri3lrrwWMoAnjz2JUfE7cnoJ3vOmf8a
+rsTRYBY7AKC+sA7qOILCPuv280jZcq5FGJizu5kBogQ6VOgnEQQAwk/7RqQbtBB6
+Y3dxtdULZE1mJ4oWQwXXp42FdhL6LYEWQI+YeHsKa6tbv86sxgWKYmC//Y/uVwxX
+KFhduG87FJh17Gw0or/lxMkDQ9RlHceMFXBGOazY5AK19Ol7mczm71xVzr6kY+i7
+JHj7cN8S3+bo/IzzdDX+mCp4XxiB0VkAoP9FAK94TCus3AP3oL1kRrJvXSXnA/9f
+F1npM7eSSXit33myTv9zMHuNzulTTsZjKRljmE64Yr8jm/2S4C3nal/jHlxxnRq6
+AEWfpMWKv2vcuYzXIrw/hMjfiIjQzw+uK5dNBTWZLMe3Yow/PT2yFCwwrVKabNid
+IJOYp0fss4p3/ow8hZ5+VBByNqzxS1G11hyVyXKdFAQAgZMw3XrD4xFV2XU0Uy5N
+LH4lhHXATP+RqTbMDJSuAOwOoqiaEjSeKTuUKuj2DsAxahoq9fVhH6E8h1tJMYqZ
+1W76uKtrwIUiCjqjRCRsYOA0xCnnH98QnSdJFvHVUqIBwx/3PkOPkRUKv99Wnr9x
+w8ttGGssQBPeAViLCpIWjMqIYQQfEQIAIQUCOlTwWwIHABcMgBE/xzIEHSPp6mbd
+tQCcnbwh33TcYQAKCRDHRjY5std5Xle4AKCh1dqtFxD/BiZMqdP1eZYG8AZgTACf
+U7VX8NpIaGmdyzVdrSDUo49AJae0IlBoaWxpcCBSLiBaaW1tZXJtYW5uIDxwcnpA
+bWl0LmVkdT6IqgQQEQIAagUCRef5PDQUgAAAAAAgAAtwcmVmZXJyZWQtZW1haWwt
+ZW5jb2RpbmdAcGdwLmNvbXBhcnRpdGlvbmVkBQsJCAcDAhkBGRhsZGFwOi8va2V5
+c2VydmVyLnBncC5jb20FGwMAAAAFHgEAAAAACgkQx0Y2ObLXeV5HSACgjFrFxTBO
+tJlEIchRGIAQkfGP40gAn34gLcaPqvzDS+mRQEqQGEc2DKQRtCJQaGlsaXAgUi4g
+WmltbWVybWFubiA8cHJ6QGFjbS5vcmc+iJsEEBECAFsFAkXn+Tw0FIAAAAAAIAAL
+cHJlZmVycmVkLWVtYWlsLWVuY29kaW5nQHBncC5jb21wYXJ0aXRpb25lZBkYbGRh
+cDovL2tleXNlcnZlci5wZ3AuY29tBR4BAAAAAAoJEMdGNjmy13lemYkAoKcCxXB8
+HSiXXIxTT7mID5EXa4ShAKDdLTSyEKe2BPpaTITWO5iRkFENYdHMf/8AAA06ARAA
+AQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAAABAAEAAP/bAEMACgcHCAcGCggI
+CAsKCgsOGBAODQ0OHRUWERgjHyUkIh8iISYrNy8mKTQpISIwQTE0OTs+Pj4lLkRJ
+QzxINz0+O//bAEMBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
+Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAJAAeAMBIgACEQEDEQH/
+xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUE
+BAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZ
+GiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOE
+hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX
+2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQID
+BAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIy
+gQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpT
+VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
+qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/
+2gAMAwEAAhEDEQA/AOopcUoNISAMk4FdJ54dqgmuooh8zCqV5qfJSL86yLi52o0s
+z4RRkk00iW+xqS6qOdhrNvPEqWiks4dh/CprlL/xC87GO3JjXPXuaypZmkYDO7PX
+A/rUua6GsaTe50dx471EviBI0HoRuNVT4113dgSKv1QVz6ctgLj2NaFu3lRbREgZ
+unIrO7NuWK6G5Z+OdTDfvvKlC/e+Tb+tdVpXijTtUUKJRDN3jc/yPevNWmcsRIiA
+eiilkkhgjE8ODz1Vvu01JkummewghgCCCPUUprhdD8buvl297EjRHhZVOCPqOldv
+HKs0ayRncjDIIPUVadzFprcXbig0tFMkjIop5xRTAeOtZuqXZj/coeT1rTzgc9q5
+m7uBNcux6Z4oSCTIua5LxNqpeY2UbfKh+fB6munup1trWWdukaFq88ffI3msfnkO
+4k0qj0sXRjd3ZPaxO37x1+U9BjOTW3BokrwB5ULF+Qo4xUGjWokuYlI+QfMfeu7h
+tEmVeMVztnYlc4G50GUjIRgB69qrwWQtGyV3knr3FekNo0Lk8HJ98CqUnhvzCQWI
+9OOlJyL9mcDdxcNuZyxGQSaggsZZiSm73Nd+PCTOAZSpUe1aFtoVtbKMRru9hSUh
++zPL57W4sSGeN9jdeOK7bwR4lknddKnG5VTMUncexrR1TTYjAwKAjvxXERwHSfEC
+eU5QN88Z9DWkXqY1I3R67SVDZzi5s4ph/Ggapq2OMbRS0UxBOwWB2PZTXMYHY5/C
+ug1Nytk+O/Fc/mnEmRmeIX2aLPn+LC/rXED5pQM5HfHeur8XSFbCGMfxyZP4CuYg
+i82ZIl4PrWVTc6qK906fQo1M+5TnHGB0FdnZMAg57VgaPYi0thgZOK1IruCFyGkG
+T2FYPU6oqxsJyR7VaR1xggVRhmjcja4OfSrYUgjHekbLUkcAkAAc1WkK7iRwKkUl
+pmA6KKgmba+3oT0pDM+9kBQgc1wviOMLcWr9w5H4V210ecetcf4lKMyZ7E/yqosx
+qHW+CriS48M25lzmMtGCe4B4rez6VieDY9nhi0B5J3Hn/eNbldS2POluxpNFKeKK
+ZJR1mYLCsXduaxa0NaP+koP9ms3NUtiHuVNVsIby1DXAYopOCh5HvXIaZY3M92kt
+v82x84bjIrvb5d+hTbRjy4mYk+5x/jWB4bfzBIxHCkKK5W7ydz0lFRhFI2heqIfL
+CMk7L8sfUn2FZytp4UG6nSOcjcVVdx/Kti+gSaxJ2gupBDY5HIpV0NFyY0Q5HPY/
+nWbbRpGNzLkvSYohaalalVzyYdrYzxz3rQ0/Wr2GNhJIkzLznB6e2D/OmHQ5IInj
+tQI0kADgkHP6VW/s1rJSVXcMbThsZzUOXY0jGy1Oii1VowWVoSZjhQSRn2FU9S1l
+LaVTcCPcOMI+cfyqnrS+RZWsMeQyhQuOhxWLNFcPEHjVpJskuHUFSO2O+aaYS0NW
+TxBYsu4Pz2DcZrlvENx5jQSLkAljg+tX2aK3jSO409dsg+d41I2n6Gsu907zpIYI
+mwHk+Xc3rxgVcWYyv1PS/DabPDtiOuYQfz5rTqK1iSG2jiRdqxoFA+gqQ11HnsQ9
+KKDRTJMfWwRdIexWs3NburW5mgEi9UrCq1sS9x958+g3UakANHjJ7c//AF6wNARo
+kdT3c8Vs3M/l6bcrtLbk6Vm6bEUZcEZzkj3PJrllGzZ6EJ8yR0luqzQtE33WGDWl
+BC0MIEo8wjjcvf3rIt5NrHtV0aslupGVZ+wNYtnXFaE9xcW8SFmhlGPy/OqCEz3C
+gx7UHzKh7e596jmkNyhuJbhNynKrngfWoYNbRpd4VSE4JU5pJrqW0Ta3C5tlmUfN
+CwYD1pbVYLqBXBV1PT1+hqPU9dtp4vLUKrNxtXvTrKCJlCzhoWcZSSM4P0PrRJpg
+rhd6dbmInZz9a5xUlfWrMR84mVQfpya6l4ljXDXUjD04/wAKxI2A16BEXIL8ADpm
+rppXOevpE7fgdqSjk9Riius8wQ0UhooAJBmJhjqK5ZwVkKnsa6vrXP6pD5NyWxw3
+NOJMijIu+Nl6ZBFUtNOJ/LKBSvXnpV7OaxtQMtjdiUNhJDwfSpqq6NaErSOjbCgO
+TwOtc6zyX15N5AcjcSCORiqlxrh8sxxsQyjHJ4zTtEvja36+aTtbqK4nFo9FNN2H
+XRulUwO7R5PIOen1qrZ2t19oVo2GByQrAHFdpcrC0fnbAQO5FY0mpWAYo9sg2jlg
+OtJM25YrdmDfw3jyb2JLZJADZxir1pql0kIhuWeMqflYdqvfYbO7G+NMA9gcUmrt
+bWqQQ8BumBR5EyVtmWodSN1bZyC4ODjp9aXQonuPEhYjKwR7icd6rWhhis1IPQZx
+W54UgIhuLphgzSZXP93tW1JanLXl7p0BNIaQmk7ZrpOEUmimk0UCGPcxR/eYVkap
+dR3LoEwQtTwaJcTENdy7R3VeTWnb6dBbD9zCAf7zcmqtYWrOeisLucZSBgv95uB+
+tV9V0ZrzSHVRmVAWXHfFddPtETrvJcjt0qsibEDDtzT3QLR3PEgWSTZJnOcHJq/a
+ySTSoUPOMsfTFdV4u8HMzHULEDY5yyjsTXF20j2s7pINvY1yNdD0FK6ujttPvjLb
+Pas2QDjOc1K2k2t7IZlO0lMdelclHem0VSHI3DPHrWhB4i+zx+WhycYJxWbVjeM0
+9zTiZNJEoZw2PuD6Vzmo3z3t09weDnjHYU271CS7kG7hcmn6bpF7rUwitkOyPl5G
+4UfWnGOpE5/cavh60udUvQvITqzdgK9Et4UtbdIU4VFAFUdD0iGzsjEigvnLN0JN
+XjG8TcP+DiuqMLI8+c+Z3JCQfxoJpm/byy49cc0oYEZBzTsyAOfpRSE0UAaaoeSx
+x7CmOcnipmGUpmMn8KZdiu0WFLMOSf6UxY8AY6EcVclTKkev+FRR7S3lkckZX+oo
+uKwkO0qY2AKnjB6fSuX8Q+BLS63T2sWM5JRfvL7j1HtXUMnlvn+E1W1vWYdF0eW8
+nbG3CpxnLHoKzkkzSEmmeRahoF5bTnblowcD/CqsGhahczBI4juY4AHJJrqJ9b1b
+UoBIEt7e3B5uGAJ/A02LxdDpeCkpuZen7uIKG9s1h1Onm00LOkfDq5Jjl1GdVXPz
+RIckj3NdmLG106xENpCkMeeFUdT61JYXIvrKOcblEg+ZG4ZD3U+4NB3XNzgDKpXT
+FJHJKTluRxx7IweQc5qdY3YcnI681KIgAc+9S4AC+/FVcmxWWLggHBHUetNe3Oeu
+M+1WGTL59RTudoJ9RTuKxQaFl6Nn2xRVx0LHGO3WinoKxaz+7/KkUfN+FL0GPelP
+XIqDQXAYH8arsCrhh1HIq0gyDUTr09RikMHwyBuxrG1nTk1iFdOnyLeTO8jqPTH8
+61S4EZQ/WqMknkK9zNKsaJyzMeFHvTF1PLtctLrTLxtHmOYoYw0RHAcf3qveB9Ht
+pnk1m8Uv9nfbBGRxuAyWP0zxUOp6jba34lkvZXcWrfuoz0O0DGfxJrp/C0C6dq0+
+ms4kt7lPOt39wMMPy5/CsVbmsbNvlNvTHAtp3UEK0hYAjHUCrMKMgDA4Y9aiiDPK
+6fKFJH3RV8R/0NbbGHUg/eM5GT1qdUbyxuPIp+ADT153Ci4WIn4YfiKXZlSO9D9v
+rT1I3YpgLgAZ7GimTMfLIHWihIGz/9mITgQQEQIABgUCOlaPIgASCRDHRjY5std5
+XgdlR1BHAAEBB9EAoJKfHe2geEWwIBoiwJGSYV0jgef2AJsEMoiq8ESPJtydoFb6
+Jm59yMDOx9HM1/8AAA2SARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAAAB
+AAEAAP/bAEMACgcHCAcGCggICAsKCgsOGBAODQ0OHRUWERgjHyUkIh8iISYrNy8m
+KTQpISIwQTE0OTs+Pj4lLkRJQzxINz0+O//bAEMBCgsLDg0OHBAQHDsoIig7Ozs7
+Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//A
+ABEIAI8AdQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ
+Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
+QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla
+Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
+uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD
+AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
+AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn
+KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI
+iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri
+4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APZqKKKACiiigArI1vxLpuhR
+k3Uu6XHyxL94/wCH41leNvFx0K3+x2OHv5R1yMRL6n3rx+8vJbqV5priaaVjmSQv
+gA/WpcuxpCF9WdzqXxN1KdythFFbpnHTe38v6Viy+ONecDzNRljycjaSv9BXOW7R
+vz5LZH8e8k1YWABi7AMW68n+XOazb8zZRt0Oss/GWsRMrnUJHGfuybWB/Ouz0Xxv
+Z3yLHe/6PKf4iPlP+FeRCPyBlfmGeUIxmr1hKGby/MO3se4NCbQpRTPdkdZFDowZ
+T0IOQadXlVnrF/oUnmpOVjz8yHlWH0rvtA1+LW4SQmyRRkjsR6itFK5jKNjXoooq
+iAooooAKKKKACs7XtVTRdHnvmwWRcIp/iY9BWjXAfFe98nTLO3D43yF2HcgcD+dJ
+7Dirs811PUZr2+kuLiRpppHJZjwoNFhYJeS4blBz6DNZ7yZYBRjPX1Nb2lsYkBJx
+nqawm7I7acbs049OtzGEAx06Y4qnd6Dfo5azDSpjjHatWCTKcjJ+uK17RsoMGsE2
+jdo4628Navd3A8+MQoM5LV0lt4Ulhj/dSorEYLlMn9a34V3Hgc1oxRKUz3IrVNsw
+nZHBaj4a1d4yJpkuUHIKjaam8I6lNoOsql0SYD8rEjBXPrXatHg89a57XdPhFzBc
+FQFZgjkDpnoaak0ybJqx6OCGAIOQeQaWsPwndyT6V9nmbdJat5e7+8v8J/L+Vbld
+CdzkaswooopiCiiigAryP4sXhk1yG2YAJBCMYPJJ5/LpXqOp6jBpWnT31ycRwruP
+v6CvBfGOrXGvai+phFRXwNoJO0DtUya2NacG/eMyCMzTABScVtwK0cYUc56+1R6T
+ZGKxSaTBLc7gcip5ZNo/d7Qc/Mx6Z/CuaTuzuhZK5q2TsFAbvW/bw4VSmMe3auPt
+dat4f3U0sZY9Dtb+orptN1izkiAW4jyeMZqOWw+a5u2uYwZW4CjmrsbFYxxkEfnW
+eZUNoioykSsMkHtVxZ/3xj7BeD2NWjCWpO0ikY/pWP4o2/8ACPXLjG5QCv1yMVqM
+ecday/EboNKKPyHcfpzTJRb8CO7+fvGDtGfqCRXYVzXguDbYyzMPncgE9/Wulroj
+sc0twoooqiQooooA5D4lyEeG44gxHm3C5+gBNeSM6SOqoActgDPFerfEuKSXS7Mo
+CQJiDj1K8V5hHaG1uoonI3ck4Oc1zzfvM7qX8NI04t6KPK7LtwRnNUbnSNRuyZYp
+NqZOfLUZHNXhMA+1Rn6VrafIlsFaZmiBJwGGB+dY3sb2Oat9Hv8Aztkl2rwYPDxK
+5/pVG1e5t9QWMxlHyMBOM/SvSN9swztQse+BXKXcEU+t4gKu5OCVPC8+vrT5u4or
+U14p7lLdbmWJo2YcFOAp9T/9akn8TXdthUnEz4ycRjIrbkso20+2Q8IrhT9M1gX3
+giKe5Z9xRWO4PGcEGkhNrsamm+K0udqXFnNGx43qmQT9O1S+I5VuYLSOF1IaT5vb
+pWUbPU9KmQRXP2y2GAY3++vuGro9PtBqOr2izhkjQF9gHUA5wf8APetI6uxjNWVz
+ptCtmtdHgR12uV3MPc/5FaNFFdRxBRRRQAUUUUAY3ivTptT0GWG2XdMhDqo6tjsP
+wrx++tpbfUlWZHRlA+Vhgj8K95ryr4hWLQ+IWuCciaMFRj8/5VlOPU6KM/snI/af
+9Iyc8H16V1elX/mQhGxt9D0rjJMxuGbIye9SDUWgZjIjhMcBeg9P51g43O1ySRva
+/r1nBIlrb2qAt/rJtg+Ue3v71Dol1YDU1aBgEx0Fc7NN/aJ3RoWDdqdb6XcWS/a2
+ZwvUD/CjlVhKX3Hr6CGezCBwQ45x296ZazvNAeBIyMUYr6g1xml38qXkK3UkwhUA
+4D4z9a0bO7XSdcdY5t1tdnzEJPc9VNK5HIdPKY3VB5RLBhxtrV0e3VblnbG9U6D3
+P/1hWYLnzcY4z0Fa2hN5y3M38Jk2L7gf/rrWna5z1LqJrUUUV0HMFFFFABRRWLrH
+i/QdDB+3ajErj/lmh3N+Q6fjQBtVxfxKsd2jpqSD57ZtrY/un/6/86wNW+OFjCzR
+6Vpks7dnmbaD+Az/ADrnbn4j634hD6ffLBDb3SsPLSPBAxkck561L2NIp3ObuL5R
+ICWGRnnoOvWt3S/Lmj2vhy6/NyDniuMvM29wUxjnnFbeh3wUrHgZHzMx6ZrOUbo3
+jN8xqnTYoLpsRxMno3H61u6Y9jJGtv8Av4lz90ESKD7BhxTbQW2pKC64xxnua0LH
+w+sMxkaQlUbIH8q5/U6XLsSPpdzJ5uBDchlO12XY4PbpxWLDaXF5KtrJhPLOSVOd
+uD2966fUtRTTbUgNvkPCL6+9c5pV8glkk3gsXxge5p2ZPMdOpkS3/d5MgXCDuW7V
+2el2f2DTorfuBlvqetefSa9a6N5Wo6gjyW0br8sfJLdv8a7bRPFGjeIIw2nXqSPj
+Jib5XH/ATXRTVkclZ3ehr0UUVqYBRRRQB4X4o+KOq6sjQWrfYrc9om+Y/Vq89uLm
+S5kJYk5PJ9abM7M2KfDEFG49e1I0J7eFIgGIy/8AKnW9xt1OGRunmDP0pjMQv1qB
+wTu9c0PUd7Gzqtp5xJUDeORnvWdZ3LWpaOQbexBFaUF2Ly1D5y6/K49xUUyxzfLK
+vPY//XrKLa0Z0Tin7yNax8Qw2xTcfu9/73at238XKIjhlye3oa8+azK/ccHjqTjN
+SJBNEoXeAAc53d6HCL1JU5JWsdPqeuPNJgyAlSOSc4qCxmdLgysxVF6tj/OTWZp8
+CXLZbdIByWA2g1Y81pb6RQNsUXyqi9Ae5+v+FWoWRPNc0b6/e/lPmjEarhYz0ArG
+UyWF4JLWV42Q7kKtgjn1rRc4+8B9fWs3U488gHlMH6VRJ6R4X+Kk0Spa60puEHAn
+UfOPqO/+eteladrGnatEJLG7inBGcK3I+o6ivmG3kbcNxrZtb6a1cSQTPGwOQy5B
+oJ5Uz6Sorxaw+I+vWsHltcibHQypuI/Gii5PIzzSOHzHLEfKDUpXHWrEQR418rkU
+jp64plWKrkgUkMZkD45xzSyKT0FVpgyplSQV5yOMUiSxC0llPv6ISNw9K3rdbWZQ
+0hGMVz1leG4PkXBBLDCt7+hretpbf7GUbBY+vUVFSPVG1KXQaZbWN2VYI3PZj/jT
+IIE1BmKOrRo20qn9f8/nWdeThEl2pgE8kkcmrvhrbHpczgjc0nIzjp/k1pCCTJlU
+b0NG/uE0+xbylA/hUDuT/wDrqDTofLt1ycluST3J61T1Nmmv4oecp87Z9egrQtip
+iHXHpmqk9SYkrLjnP5dqpXwBRDz3HTpV5xwcDrz3qtdJutmPdSDUlGNgqxB9etXF
+f5eD7ioJVBAPQ06Elhx1NIS0ZZWQjIVT+C0UkYTLBsDnrxzRQWZSiaKX90C2T0He
+r+fMGMdOopYFWMg9Tjk0w8OfemQtBjqMHBHFMijEkgTseOalbj86ZBxcL6ZoF1Mb
+YUd1yQUPFamnvLLK754xwP8AaPeql0uy+kAx1NbGmRCOxV+mfmP41UVdkIgvo3li
+EbkZ5YDqVpPD9z5MktjLgCXlMj+Idvy/lViXBuUBbqoxn1zWbO2BKV4LMApHbpzV
+PR3AvWwM080553sdp9hwKvwyeVIBnCt1J9ahtItkKKPTFEuVcccNUGiNItkZJPPb
+0pgUMrqedwxUdtMJIyrH7vf1FQm9bP7kDj+Nun5UhlKcYU4A4psLfNnOOvSluO+e
+ST2qKHJkAHfigV9TQgQ7TkEf1/SirWEiRcjJIooGf//ZiJsEEBECAFsFAkXn+Tw0
+FIAAAAAAIAALcHJlZmVycmVkLWVtYWlsLWVuY29kaW5nQHBncC5jb21wYXJ0aXRp
+b25lZBkYbGRhcDovL2tleXNlcnZlci5wZ3AuY29tBR4BAAAAAAoJEMdGNjmy13le
+vlgAoMqGHGUHYglUc1q0ONVSbBqREwqgAKDm0Wb8gOEgOc4LMyrMUjFQDE+9ibQt
+UGhpbGlwIFIuIFppbW1lcm1hbm4gPHByekBwaGlsemltbWVybWFubi5jb20+iKEE
+EBECAGEFAkXn+Tw0FIAAAAAAIAALcHJlZmVycmVkLWVtYWlsLWVuY29kaW5nQHBn
+cC5jb21wYXJ0aXRpb25lZAULCQgHAxkYbGRhcDovL2tleXNlcnZlci5wZ3AuY29t
+BR4BAAAAAAoJEMdGNjmy13leaBkAni74iLTyTIzFwexRyQIQaKO3Gda9AKDIot/K
+YfOdMe8YD4f5Di2KsiAnR7kDDQQ6VOgnEAwAzB13VyQ4SuLE8OiOE2eXTpITYfbb
+6yUOF/32mPfIfHmwch04dfv2wXPEgxEmK0Ngw+Po1gr9oSgmC66prrNlD6IAUwGg
+fNaroxIe+g8qzh90hE/K8xfzpEDp19J3tkItAjbBJstoXp18mAkKjX4t7eRdefXU
+kk+bGI78KqdLfDL2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmP
+QFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24
+rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhO
+SdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18
+F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsC
+RtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpTDJvAAICDACNUV4K2PS6h574Z3NaBsIQ
+e5jkVO48MSohjC6s29CjPhlU79cQIYWmBpuNfwroZ6zltyz6Y2Fm65V0IfvVicR7
+zvFFCOhahMuk1cr+Qp936OMEq9sLZGxTjClgwrHGS7YpMSZrEC7bpOmERjo4F/n5
+YmCHJCH8QzCOc9+80gjVEsHiJVABrC8yykjKL5x1V/PSArE4QtMLbkBPGmQYOw8b
+x6jCHoO43QjUzbqRfBMHZqWVJyoIIZCp+n13XM4+NO/cDVsZ8bjch0LIOyMrT85n
+24yfXRlP0s7BFjLm59Jjhf4djuJWikJawWETlypAy86OYRRuwCbIyNauBeTKy+av
+ZvF2oLvpwH4UnudpC06/O0jkj2lQpn9EEUw11RwO6sq9zYTwAUyKerN00cbCfyiZ
+l01CIo0btcTO6hQK3c67PaloJ9lVH8/mH7LuqkMLDH5ugkpzmed/8SorfqVkakne
+6b4mRySFCBXaVZoKmDHzcH2oSSMhM9exyh6dzi1bGu6IVAQYEQIADAUCOlToJwUb
+DAAAAAASCRDHRjY5std5XgdlR1BHAAEB5W0AoPjfnyN286hffnwedCebBR1RzO4W
+AJ9PvQHw5eZ3J6+A+0XjA5WKCGcEUZkBogQ1oh4eEQQA/pdK4Oafa1uDN7Cr5nss
+4bNpg8YUSg01VVJ08KTCEdpCAPaU+NzaP3KD2ow74WU2gzP70s9uSGQ2Vie4BLvO
+kaaBHba/3ivBrg3ILFrxbOfmKQg8Fhtncd/TBOwzfkkbxBNcVJuBPRtjZ3dlDbS4
+IPNsIIv2SuCIfQmA8qNGvWsAoIrJ90b2fzERCZkKtfkoyYA8fnNrBADhJ8RmIrKi
+CnDk3Tzk04nu6O8fp3ptrmnO7jluvDfsEVsYRjyMbDnbnjCGu1PeFoP2HZ+H9lp4
+CaQbyjWh2JlvI9UOc72V16SFkV0r8k0euNQXHhhzXWIkfz4gwSbBkN2nO5+6cIVe
+KnsdyFYkQyVs+Q86/PMfjo7utyrcWLq1CAQAou3da1JR6+KJO4gUZVh2F1NoaVCE
+PAvlDhNV10/hwe5mS0kTjUJ1jMl56mwAFvhFFF9saW+eAnrwIOHjopbdHrPBmTJl
+OnNMHVLJzFlqjihwRRZQyL8iNu2mfarn9Mr28ut5BQmp0CnNEJ6hl0Cs7l2xagWF
+tlEK2II144vK3fG0J1dlcm5lciBLb2NoIChnbnVwZyBzaWcpIDxkZDlqbkBnbnUu
+b3JnPohhBBMRAgAhAheABQkOFIf9BQJBvGheBgsJCAcDAgMVAgMDFgIBAh4BAAoJ
+EGi3q4lXVI3NBJMAn01313ag0tgjrGUZtDlKYbmNIeMeAJ0UpVsjxpylBcSjsPE8
+MAki7Hb2R5iOBEO3+scBBADQmRl6K1zJAyqTbEZ3/mYahzj5g3BCjw5KZXAi9jxQ
+Aje0GiuEXqFr2eJqplTi92V1OdcxTSPWg9yQCE6BE9o69oRmFhRMXQX/XmmIAXl2
+RlDp2yZdVSQ81gxlOmRzacD4gAIGI6bKAYGQsW5e8dFbWLpI3PbyJEf9RlxguL/a
+IQAggVZQmbQmV2VybmVyIEtvY2ggKGRpc3Qgc2lnKSA8ZGQ5am5AZ251Lm9yZz6I
+vAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJNLYy3BQkKVE5hAAoJ
+EFO2INAc4MYw8HgD/RTUMlH0tuRa4GzwqjoomgosxUjqJg0kGEC2bd3FZ5TEDXp5
+gNZb9v0uTkqeO1Ja4Y56prswKxeeTIeQ7zwoT0hwzeYWeF8U3apqB3+dFyGX0w+x
+06B/+6DuPvYCW/ZXyzbxHXQdON/DJJ7+iZdbAreqfyi7o3sgP4TAJXuLZ7a7mQMq
+BEd5F8MRCACfArHCJFR6nkmxNiW+UE4PAW3bQla9JWFqCwu4VqLkPI/lHb5pxHff
+8Fzy2O89BxD/6hXSDx2SlVmAGHOCJhShx1vfNGVYNsJn2oNK50in9kGvD0+mVACf
+y5MyPV8mtMcOM2p18wWVuMd2geYbdNYgArfn/DNpU/59M6eCUphXkYEDcECBqZRK
+jSB1JNEnqHAM+gc5fc4VlYdZ+HYBrEZTX/ZLPZg5kffR7XyA6IgqWPSY0PrYxDOx
+GujyeStpyZhmkT7ezVzoKBI+ylj3bpKOrkuKLjB3W5TngCLLYvTR/g7yzNygt/+u
+rpzNO85KsGLBVDkkShSswiPIett0ZFB/AOD8DawpLNUTX2c6zM6d0gKfS8/DTrxX
+6PS5A5ZzB/4xEBpnjnCr2RjnbTi4lcNLg+b25c9lrbT1SXytrUifUQbcOEkCefk+
+X7JPoU/x3Db1DuC94LAaMFfU2o6GWPTzBNtEBBtGpg4Ms5Q1w1g1gDREpKM3mGIP
+ycLKXhB+Jfi8pF+qvBqRiA3xnWZALZP009ZfLY+8nMB06u/59zKcLyz+h/zjCmpI
+JdFr5xQotm6ztK8Qms1GG1MOVPQ1vCUCHiSwIa7V1KtllYIIsHqR7sIXuTSmiLJ4
+8Tq1NY59nE1hD7JicccghyPeX52onFfEw5qHEPJoXhcOjxSua2x9U9i7cpJnzLKn
+IBhdZa7TQht7/jL4C75Sy+fExeESng8PCACUBT+zUUzALezGOZGvxn82OM6rR/l2
+mV9WXepKEB+IDPG1JBwqfl1f80/mI8hhwkr2LYryhd5u+cecRy71993dPSnAYDay
+sG/+sIVxYz9M4doWQVhSe9EOJngWcvYP5bCWDybmlBYQJgCkrFUqMvQTJOCklpqb
+jQm/uxXaWum9dSAxp5YeHCKqBILUnjBVLoarmV0bcWXwotZiXFd3WpnBHjE/QSny
+cFh334+brR8KTSnmS+v6I+B6W+VOcyzHt+8WpXuo1YS4okCmZv6fzIlf6HcVJOJT
+8dpqpzyMhqn4YYT0LbRC9orc2Kox0hzaios9K0EoKf5MRQEMsAHAdM0MtBpXZXJu
+ZXIgS29jaCA8d2tAZ251cGcub3JnPoh0BBMRCwAkAhsDBQkUsIqNAh4BAheABQsH
+CgkCBRUIAgoDBQJHeR6XAhkBAAoJEPKthaweQrNnl2MA31DaryNMaxT+O5dPrAQQ
++Y/GfR/RcoE+GblWTscA3j3/V2ELjY2vjEFKmRLWW74pTBOc3+cFDKN7FbS0HFdl
+cm5lciBLb2NoIDx3a0BnMTBjb2RlLmNvbT6IcQQTEQsAIQIbAwUJFLCKjQIeAQIX
+gAULBwoJAgUVCAIKAwUCR3kegAAKCRDyrYWsHkKzZ/pEAN98mmysmPc9bo1aMXCx
+e0TnNJkrF++bK0VyI8U4AODSsIJ1dRjdUC+myh+BuwBU4JiTEI1i8sKYLmNxuQEN
+BEfjtM8BCACswr5+/Tz6nDawIXQNC2TvXtNLIeZyafx7ud0ZcQHFlbL+xBahmsoq
+vn+CaQIfc7Sn+xJmGKN8LNN4SUU7QBIVpIC9pdxCqFSeMRwjiJzcotsjt9KqiqC+
+QnyrB8gWi9vyMw7+0FCA2ZgA4NMGWcurnMki9O+moQB48Fl133RIaILq80ANnTgP
+k9uXdl1c3BqS/XL54tziOdg9wCSqx/xTv8KWkZxoAM8sLQqnWU3qVgFdFXpBekRr
+SqHYlPg8a7v3zWEVW8qMF28KVvPoTwjdpKfLxpxQXpsFFX78f2TaVb3GsPv4Tehs
+FcnnkJY4vjKehLr2KLZfJVDHJbP5rtmXABEBAAGIXwQYEQsADwUCR+O0zwIbDAUJ
+BxqNoQAKCRDyrYWsHkKzZy6pAN9gOveX0ZsU3EBlK/8dJcpxnkwnKzlMt99Bg9Bf
+AN9HNXqKYrIYmYjq0BoNUCAsM2V3rgsM/bCtw57MuQENBE64FVgBCAChkCmMrdCK
+W/PWuBQs2/lcTqz3i33KOUCynyj1aOzen9HUJVHymJnN4dZTjq3ARlSTuCSoJmQw
+cmom0wjDS2L9qqCnUctdyIoFxTetnMP3JkBhJ4j5IxtwkTznWa0SgEjvBdNUkLTB
+G/3lgfMFoqlQNh1or07wsHS+LlvaxvFnqMozssKqYLC9mTVqWfXvTeRsCzYLvZ6j
+y4rqbJnDIJzHgqV3K6cyqA5NcZqoWj8OQNUbS+sVCU8nkYkDYQA7wm2nwolEfROS
+dFtSTmL49PNQS1V3MUdLUb7SfsDmwfm59SDmJUp4iw3F535P/ei+G5cBYzHO0jN0
+nzUH/sfM7njjABEBAAGIXwQYEQgADwUCTrgVWAIbDAUJBAqORwAKCRDyrYWsHkKz
+Z6TKAN0WMNFzexmPvciaqa2LyUVUI/ht3suw/tlVSGDCAN9tCWF1UFBrQORgcrpg
+QBfNKPkUdAxxyiDrXfZ1uQGiBE6xTIYRBACUIwMLqbWeRx0ArcxXzzhqKs7n9qQI
+mFPQJaN3ovFszbtKt6axbsdJpSg5I1dJek+CS10NwDvLpjxxe14ab379kfA2heBh
+adOlaOTnSout7SII0tylPVXRwwR6/kH/Zhc6KiD/uhucj62Mb/LtXjVs3MBx4p6F
+IVtKLmHLPsQBkwCghsFvzxBF2yHVEqa0d1VeyO6+V2kD/Ryn/CZbBYR9YwYq+0KT
+mLoDKXxPpgdGO2pnCcwWs1uMSyy6WRDRekMZFwDI73a62nXayXuHwNaXg5IQWHqu
+cVUk+sgjxhBdqGsByEHsy1zkDMMUWaAmq8l2nxYRWfH6cuX2yFpGJ8dRJ0vB233T
+2n7UIWbwKEOXv55kTthu8RYZA/4k0DQMcWo1LEIXOzrrsKeJzuincGRpQ3XfM25H
+VpWl6nFQSGSTot+KIeZA43tAdUCq+2r9M7Sy/LLycB4WGVapxdfzi26ihuaewKjB
+rXfsJdhX9IPslWPLlf9vpxuzawi3Lft4kuOh9+fFAe835rN/4m3G1NeExN52EFAC
+B2UEZoihBBgRCAAJBQJOuBAJAhsCAFIJEPKthaweQrNnRyAEGREIAAYFAk64EAkA
+CgkQTwVA1Xf5X5WSmgCcDkxOYVuRygzg3g5jBvdgYx+gAPQAn2PZ7SISj1+Ex9xK
+gob3GywuilRM6PQA4M1p2bpqMYCXLUihqb54tJurEd9KRAQc7GEyIWMA32rgu6Kt
+I67rm5HVudOYX5n3b76owi4SQfj8uc2ZAaIENzr33REEAMP/kWLCNIB9I6cXdWOn
+bG7qXTl/nZk/1OR4WvNWv506xD/7ziI8fN69us4oLUlwQ6/s6zE4dfF7tgmCzqIL
+C3BOmsoXczHrOjknee0u1pqFrnxREDgdftvGmixcsyNF1ujKZwj2CVUt5lazK+PD
+Mto1i9I4raWTLHIxsuYuGn0rAKCMKQk42UYBZr+xn5W/gRlVLhJzpQQAwWdF///l
+RyNc2UwKS/FYRp+27dhAf7uSDXUNsHNvZtc6kAfE961Of/+XLFZU71uotsOIAxyA
+JSETcb73TzSD17f42CF0MDP/1AwHOSDdAxDl0+azJJXpf5sO8lWH3o4mOVuEsWIY
+hltw+Mm8CmEO5WrUAQR2JhlizxP2AI8XShYD/i6llnWeSlenJSqeNwJFJO94QzLx
+p5fGf1b9jPsGo+uvzGySXQYFFvz7tjSRmrMVUivKt+hF4/aTQdCvBVa8ertngDRH
+a1o/TDv3HIUN7AtyN3rdTeevKqp1zrv+5ldclRyX0vLEHNrabTE53m+7rJlwBefj
+s4lDnEu7pMEhF5yctBBNYXJjdXMgQnJpbmttYW5uiF0EExECABUFAjc6990DCwoD
+AxUDAgMWAgECF4AAEgkQwKTLuYeXhWkHZUdQRwABAUDLAJoDM2syf9ExRqVyMhaY
+hl3szCi/YACeNiHcMaH5q0bI8j7ZUtsiwCfQYUW0IE1hcmN1cyBCcmlua21hbm4g
+PG1iQGcxMGNvZGUuZGU+iF8EExECABcFAjxw+b0FCwcKAwQDFQMCAxYCAQIXgAAS
+CRDApMu5h5eFaQdlR1BHAAEBjmYAni0grvGxgcgSuXK3vzLErIkfFK+jAJ9OfvRc
+1QinOAydyujUX5roXM/opLQhTWFyY3VzIEJyaW5rbWFubiA8bWJAZzEwY29kZS5j
+b20+iGYEExECAB4FAjx7ebMCGwMGCwcKAwQCAxUDAgMWAgECHgECF4AAEgkQwKTL
+uYeXhWkHZUdQRwABAZRBAJ4oxvVUX6skfJud8oKoYvy0l/ArGQCePXVckzHYxtiu
+H7NsDTesxWN2Jx20JU1hcmN1cyBCcmlua21hbm4gPGJyaW5rbWRAZGViaWFuLm9y
+Zz6IXQQTEQIAFQUCNzr52QMLCgMDFQMCAxYCAQIXgAASCRDApMu5h5eFaQdlR1BH
+AAEBtf8AnjtHrp2rije+hsx7cuo4eFcR1Z5QAJ9O9XRuyEFfcwhshjneWE6eqQ29
+VLQ2TWFyY3VzIEJyaW5rbWFubiA8TWFyY3VzLkJyaW5rbWFubkBydWhyLXVuaS1i
+b2NodW0uZGU+iGAEExECABgDCwoDAxUDAgMWAgECF4AFAj+BZzACGQEAEgdlR1BH
+AAEBCRDApMu5h5eFaSl5AJ0Ymtg3+5PTlP6Ct1yL7PM15vJt9gCaArY6MzRMuQNJ
+l5KNWAoTHq0bvCW4jgREQA/wAQQApRHPoIKN7SmmizSUkBPgurFEI46l0JxYDnp4
+DARYqOVK+/rIvAyvYiqJYJOh7iGBR+jHgphb1EYnCqHJWDFRihsfJnN4qu2sASK1
+OI++EY+V4l43jLov4x4IB/dG3/6LhzXE07B1+ZM4sHk3allWKOwII3YeXJL+nGKp
+YPP/g0kAIPyqo2OIRgQQEQIABgUCN3h2NAAKCRBxLclYPcV2908zAJ0dMP3LNzuR
+QGhcPmlUg5PblCT+sgCfZaCC32pvlr3hfjKxp7rF7A73/d2IRgQQEQIABgUCN3kc
+ugAKCRA3QH4JLnqqzSKoAJ4qqxovpy5gT3P4jkR7N4/MjJzdqACfcaeVP0QGINoj
+7ZUTmNBF5Kb6mC+IRgQQEQIABgUCN48TeQAKCRCp5mf/Jsx4U4JIAKDZRZuT2sMc
+jBpVwdMjTbVru4hrhwCfYB+jtkyriI+32JaCKAS5HtRd7lyIRgQQEQIABgUCO0D/
+zAAKCRB5Fi829/aq2WTIAJ9OEmXw2BBDtB/Puf6ZBt2dSevAGwCfYcsuOLrk/avu
+ab3BJZW5JchGLWiIRgQQEQIABgUCO0EF7wAKCRA79gnGi6/NvQ4wAKDUH14G5McC
+JruDtw+dz6emMPnZ/QCgqFy3xJus0vpN3Q0YrpU6SfeDTEiIRgQQEQIABgUCO0hv
+PQAKCRDndeMk20Gzh6BaAKCccntGS2Zzs3oxm2gI3XQ5xRa0RQCfSYnn7bU74hs1
+XGTWIusfZiFN7imIRgQQEQIABgUCO0s2UAAKCRAOp1a1FEhD9fzwAJ9X45AvZ+oC
+31mRYg/Ydua7ZcfDagCffhjd8Rr2MOaCZK5CuhP4ciSnCPmIRgQQEQIABgUCO0tY
+WwAKCRArSuypsSI1rW6GAJ4gdCjvjQX+7R+o30eGrWXwfaCRGACg1LAC49VDdxqA
+ikFcQT2Fsp2APcOIRgQQEQIABgUCO1LAVAAKCRDx0szISXoXbSUcAJ9WVudDIL4a
+eRKOprfqzDIMMtnCeQCbBLlreYUISQYZ+9OGY4Ib84ogH6CIRgQQEQIABgUCO2Ma
+vAAKCRCPH9/JvOCUNrfcAJ0fcUOOpxX/4UM2WQi1Vjb7SrsTdwCdGwoAGuHqsKge
+YYP8rjTxMxW8IaiIRgQQEQIABgUCPG5gRgAKCRCHlTgeG764SuljAJ92YRNmzOU9
+hmhfxYfE6RCFVUNxSgCdEPVMI6/xKZ/+e2IrfpZmzH51YoyIRgQQEQIABgUCPHEX
+qwAKCRCbLIdocvHyDQ9vAJ9WeR5bPibJKeg24iHxhK2B2HI2jwCgltQ7aWIRStrl
+eD82t+ylopb8eHGIRgQQEQIABgUCPHFApQAKCRA6GqY1kJpUBu8ZAJ9G0kygdwR5
+euu/ecLZkXaBSmeteACeNq4DtiCRuV0Yf/v463Bo87b7AUmIRgQQEQIABgUCPHSu
+sgAKCRDRo+6vr9EKz5t8AKCHtAqPb5Sn+oMI8+GJMvQYl72MggCfZvdt2M454BTB
+geO4Kipkt1OCCGKIRgQQEQIABgUCPHtynQAKCRBu+K/ChldKymIsAJ4ro0p160Gd
+njRgvpl00qCwRFps4wCdGZNu3WhTuhlIH8DPdm7ul1t2Xk+IRgQQEQIABgUCPH1C
+sgAKCRAsGKAqtMXzfz60AJ4koQfDOgTB7MN6zriL8TnN12wL+QCgmMe7mxdXlsrL
+kzexsq1GQeOGfECIRgQQEQIABgUCPIy9rwAKCRCFuZB1wpEOQbQiAKCJzIEDwVHk
+t8FtpKuvxwr+X/kv4gCgq5dNDmWaJs9eHYJaB0bM/NevYiiIRgQQEQIABgUCPQbH
+fQAKCRCMu0FTEUuvES6iAJ4ibjCcUMk2gRtY6jtVje/Dl6wTDQCfeXBPKZm9AhDG
+sd45pt6sCUXmmY+IRgQQEQIABgUCPSjG0gAKCRB8O3lwiMfB9zCqAJ4/Ho5zFCow
+uZKHusCbXPS1SU9EaQCgiM1uAe2vQi0OX8/IT0Eb7FkT/6OIRgQQEQIABgUCPSjG
+3QAKCRAnZWjXXGFTreolAKCbr6n47EhyhjuPY9jaymTCeuwkXQCdH537q71id7kC
+Kq7g0kGVh6fCmLuIRgQQEQIABgUCPTGQJwAKCRAYzSWlIvOK84htAJ49rr2AcpdD
+wuQHccxS5F16eXZPKQCePWM2VZ4ZDATDwDtEpv0COt7wb7OIRgQQEQIABgUCPTLl
+zgAKCRBQj9NjvJNoOWUjAKDeB+RBE29XDELNe3xri9Y6DLVS7gCeOVB/2RPgGS0l
+gHX3vXQxTmUJ5ACIRgQQEQIABgUCPTaM/QAKCRCRCCGe3N6JCj9DAJ9BDquzVMvF
+ihqNSlfxGZ+cailIlACcC42fqA6wUqitA1Isi44zhCFPVZiIRgQQEQIABgUCPTxw
+FgAKCRCEYzW4IcBlmNdQAKCJ15kf5PDXvT3cJ2EhThOROKppkQCbBvh4rCKKYW0X
+pPBr//iSVCrmuH6IRgQQEQIABgUCPU+IfgAKCRBUj1nrnBQ1XX9FAJ4qbcHZVpWA
+hRXylv6Z8w3fBRxlsgCghzOxChhMVUgYIEvOfn8OEnwaKCaIRgQQEQIABgUCPVL2
+RQAKCRCVM3R1+L9kOn6/AJ9ZKI+fBhPMVvUx7A/jFjlEO5ggvACdGZmSmdki35D4
+mmyDE9ksxcNaYr6IRgQQEQIABgUCPbTjDwAKCRBSkvdD69WTawxfAKCUnSC8uKox
+hm0JZYgQqqVhNrIU3QCdGzCxj1dtm3YggG/gpUU1H/jd9M2IRgQQEQIABgUCPbwJ
+iwAKCRCo3Z2A3JKuMHSdAJ9hMiqw5RgAz7k8WpTVfSZd5ZNy8wCffbK1wkp9UP8o
+meEETdPWxvhN0DKIRgQQEQIABgUCPbyU/QAKCRA2z7pEeJFrhFJYAJ9/BgtMAuXu
+dqbGpRAi17W4UnuUzwCfeKZKw7Zkh34g83OMHEx2ck5AceCIRgQQEQIABgUCPcs7
+sgAKCRAJlJH3kbDTt5kgAJwIQwk4cwiwHmC5ibmqhHYFLF7gTACfQqqBeE8WGhoy
+wq74tQTcJpNVrEuIRgQQEQIABgUCPjG3zQAKCRDu8Ns0syEmA4p6AJ9KBwB3kDZ4
+CpIDs7GFmtMspapy2QCdFMP71wvOY05J1dJp0FXatoD4yumIRgQQEQIABgUCPkr0
+6gAKCRCYdolhntEBv6MxAKDAiKl2k0xQiMSp7+BfhGwfNDnZEgCfe0gz3y6oicwD
+Fxupb4xw2q8N13SIRgQQEQIABgUCP1Dl8gAKCRCRWsxFqPTC/WQTAJ9+RxaatsQP
+8FhzO17uEq6F8OEeHwCeJRQj8dOAZ7ILLEYmhNN9ZWULr9GIRgQQEQIABgUCQXwB
+uQAKCRAYWdAfZ3uh7KpxAJ9x8sTY388xFY8y6MtF2fmUOYT/fwCaAy1My1JHNny1
+541cwZZvIGZAHEOIRgQQEQIABgUCQXwSYAAKCRCBwvfr4hO2kqwoAJ9hLkZBAvwI
+lb16HU0FpEuWEtw3JQCdGZGkg/wAdXX22uHsPniatWYRR9aIRgQQEQIABgUCQXwS
+uAAKCRBrcOzZXcP0c3EqAJ0b51eUrICrJilaIFEQT9dBjHls/wCeOIZPbvwjh4kn
+rVhz0+jyB+9r1HqIRgQQEQIABgUCQijQAAAKCRC2a/Z7cQPF2uAPAKCzq0rT3s4C
+HZ4X0g3Od92un95K0gCfcyRb+3mCA3Hl7KwTQFRmyl4hAPSIRgQQEQIABgUCQlwq
+uAAKCRAqi8QAwEbAOXs9AJ4yAtnzkeAOJWlrQnPA3mngr/pbrgCg4c6DaNEnYr7q
+j17zGGU2eyxYsYiIRgQQEQIABgUCRBFyYwAKCRASdiQXzwUI7BlGAJwK5GVXfn/A
+LLsVSSdv2eh5ljhBqQCgo+mFUgcUAacqF93ZeUx/fAh525KIRgQSEQIABgUCPSdf
+QgAKCRALDykp34Hug10bAKCA38i3rxWMNjcn6eDmZQfSFGR+bQCfW0pc7+7Ge7wY
+olYGG2HXculOvoSIRgQSEQIABgUCPxlx4wAKCRAzCwOLbGN0bdwCAKCwpt+fKPdZ
+LF6nvUxIMqhKLmjvmACaAu3ilm5zHvszp3KppCHvdvt0SHqIRgQSEQIABgUCQYvg
+pAAKCRDbw+v8M+P+VrEkAJ4tDhIqFNU6qKMU1tnehaHBrPnmfgCfW8iL2gQmqa7i
+9ICwMXo8HRSK1PqIRgQTEQIABgUCPQTnuAAKCRBxXtagfnuKyQiOAJ4v0SAy4nuA
+yQQ+b3DkJV5EPwdG6ACfRrPJQjOUSeTHdViJT72iy33+mKWIRgQTEQIABgUCPTSZ
+ewAKCRA5tmKor+OBaZx3AJ9kazJCCLkcFkvqJW4SNva6izmEHACfejk8wb/R5y0J
+PezIKyJNLjExKAuIRgQTEQIABgUCPbVlCgAKCRDLlpiUTMcIXW8/AJ9Iw81alQa9
+0fD2nGt2Bq5IPwee1QCeNrs4yUu/toFnb0giD23zassyVDOIRgQTEQIABgUCPbZD
+TAAKCRCy038ItUwJMFMPAJ9F6QMf9WFRCAJf2wVIfL0DVX10PgCfWahBLYdkJv27
+aSxttfvTzQkIpsKIRgQTEQIABgUCPbxvfwAKCRAuLPZ7d5amC5GcAKCpYhwL/bZR
+WBarhQelKDciWEUVXgCff2rJBPkwpR4Dnl/7QLrVVk3lYMqIRgQTEQIABgUCPb3M
+ywAKCRAp+ORlZ4iWXwrVAJ938BI08jD7EpDAAh2ZUcEyiU5/jACfUSRhcPh+Ejn3
+Bcs0JdujkMVA5WuIRgQTEQIABgUCPc1V/AAKCRDvZ/vHYouOaYrIAKCJbxnpyvFV
+nYxB3SfSKs27FUMm2gCfX0dKQUEBf1UqtIi89FDX4rXLOBeIRgQTEQIABgUCPkmO
+ewAKCRDeeq9ulMCcf/ZWAKDlaEU4DExCNpjxa4rra2lN9l9tzgCfScBPnkvZ0yDp
+onBXCi9zbrQkE1CIRgQTEQIABgUCP4RQfAAKCRDFFK+OS6QBw3j7AKDcsSW5owo8
+IuLDyhRdwdDH9oJ9sQCgrRFU01mFCC2oVXZ467uz5pR5QiKIRgQTEQIABgUCQXJ5
+DAAKCRBPe/KEr/sMFwv/AJ4oDTbBtsExmUj8mhMJNoWMDcc74QCePV5asFsdMqdz
+Ucc0d0e5aHI3KM2IRgQTEQIABgUCQjOU+gAKCRDki2W1SzlPfgQBAKCZgdRoadGr
+QovOm5y3K78SwVSUDgCeO7IW40mpIqqe1fPbOOb6B9CWVHWIRgQTEQIABgUCRBCu
+jwAKCRC+wkwE2qiYkkwiAKCBPhcfnyjyWA4ZdmKA3RSsibm9zgCfSBo+g9ijeFDI
+YWIQTFxDEe6QBZiISQQYEQIACQUCREAP8AIbIAAKCRDApMu5h5eFaRjYAJ9nCwn+
+e4V1HXcb2zwYLVl+Fsj8QwCfX4N/EISa6nyvfs/sy9qWexqhq3SIXQQTEQIAFQUC
+Nzr5wQMLCgMDFQMCAxYCAQIXgAASCRDApMu5h5eFaQdlR1BHAAEBtxUAn2cup2ei
+tiSd6fI5zYz/ipwoAX+iAJ91rpgQfUY372Ajy+xJDloRkSdtTYkAlQMFEDh7ZIdM
+J+1lNufNCQEB3BkEAIo/Xtch42Hs3lVlYVoY4NO6hH3P1eT1UObuSlu81tM7UvEb
+UyGmiWiPJS5yTFeoI+XMffdRs2i+Ppw9B5/l6Q2nDRpzur05XpeMa73ESXrQuXQ+
+pHf772/piolcB2yvmxeIYgc27K3idk9B1BFSqEs9VqW4axDtoeTd3z3Ryg4eiQEi
+BBABAgAMBQJCnMwFBQMAEnUAAAoJEJcQuJvKV618yWkH/jZ+OnuBruybI9IgThAj
+hUxwmMLwrQV2EogCdqjW1UOBvcxwltuZzHJpwsaE+SyEl27r06cOcErwzpSLCbQ7
+wH1SuPEl16qDCeUv9KI+pySiZZTAhhxCIYwh8r1llZO/WaYreYJWlAXxv5mKrNO3
+5uirmEPGbepAdEpfIoHRP36M0ZKFIHiIzVG1ai769CV89UwkY0JpcM6nND4Ivx2+
+XW1QYer94VytBCzeo72jXp8c9sgxiICbCO4NnraHxyxkI4P6SpAJ6Bx7O/xHrXmP
+eDsM/+UsDO1N3X0NqyqtBX/lNVDaZ58kDozHP8UjgxQOUatrwdB3qBpqMQV0I7wf
+j4uJAhwEEAECAAYFAkF8E18ACgkQquPmzmahRGifEhAAqM1mxUkeVWt7s+8nMV/A
+mugk9EVMjxV4Bnzh9U270irFtTH26r/0y9UTSNch2bQHeYvDRiwgbK/2yQ2fx2DX
+bxo1hio5JXBRYzA4hhf0OHNwmEi5dyWxcqLyF9lXdhVsXz6CxXQUUC/ACZHGUl4J
+EhVD2qpGdh1Bg286AjPR+7vbUnJg2I4QZ4ZVkLhaMucI6W2sQInWbXBuMnHF30Lb
+iWSr8j8BKdExVG9cNoSlu2pEtIvsB3GaV5UtqqrNs/wbMtGKjWEdiuqgZm21ZLlo
+gRmGrQ8rkgQ9F8qBNYXLhV/dqreinzGIFebI3MIhhP3YuwcNSm2X1uFCob5STGLQ
+i53H5Ef+qjzQNluMQIdkA5JUnkfltILE3th/Ne8vbne/u8TpzAtLvkBhaly80QNj
+u+6DHzRb4vtwb8UvZCPvDwT/2lP3u4hmBpzoLr7Gar/DSyGxF9+wHytN8OxvlnYV
+vFrrHlyI0M7IabBOCTWNL0cn2igrGlY6pEuDZt317Atyi+9hc2QSwIWfuudMXHtd
+Q8LIan3xj2K8/Vg0QueOQHU6dnc8N/15x/xjCco2bPZkgc1LCeDJC6PsztLQILjZ
+y9jpa9R9+H5gCZIA09QtYniwZkZUoro8n3f8TRJ7oCgMyeKsKKwEVaZS0YYWLbkw
+/rcVpMQ1Jjp7tugzJ7paUEq4jgREQBAUAQQA029FKgKXodEFSgPOlXcNBXGwo+//
+7A9hLYDGFhZuqUMf/Y/+6JtoDJGhBWif6spUHItD9+VXY5QU7sLe2uG5yx6nXDDC
+JnyNUYs4hqxp1OHV7qYs0P45IGWbPg3vSSjNxtLtE5dtPjbqs/6yMg5IcUart7kQ
++wpM2G+rBtxJyZEAIMLgSz2I5wQYEQIACQIbAgUCRpSgCAConSAEGQECAAYFAkaU
+oAEACgkQ+4hivfzSopNxrAP/ZD7HGr1MBsR0LsXmPA6TBf5GAcWNnLqY/yQhMpms
+WaQORKwbdJN8tD9pjT8tRS5gDvM5q/DO/3oa8IpzM2GbjWOqO6XO5XcbUbC503DO
+KUXzP/SyqoV8+LxceVuULpW/drlJ7eKgZnqUopBQCGo3xAxkY5fdW9+0mvP535F1
+mcQJEMCky7mHl4VpM8IAn0Gmksoyxst1iMhrjFcy3ZZrmh7UAJ9tcqbZYa4HL3r1
+A0yOoC8qJnpr77iOBERAEC4BBADXA5qVc88MN8XM04C/HpCvk6/YYsLxIbS5FLT7
+QkFcRFa4ux7xdFO/E+XqefRMfSPJXxowZlLSdU9XBV0Z22MrP/hzDvAxG1HaIkUy
+3rd/pkf3pNqMJ+2r6qJGgkjtca95+iptNna6ex/R8lJTgvkCoT+hb7XYSKXeB4u1
+kMiVHQAg9VSME4hJBBgRAgAJBQJEQBAuAhsMAAoJEMCky7mHl4VpotcAniMkQ0sW
+FzItgpmWEUpJjnQLRvrZAJ9Csnyw/w2412Bi1KiAFN372fPFFrkCDQQ3Ovl2EAgA
+pyy7xIHSUEE7Fht3+hfSaKukfrCZAIT2n4YCxQDzimP3ET5t5vuFaUEsZ4OZ8NYu
+h6XsCwPu9UJyIru7/cjlcM9YTntMgmG3QXil9Dnyn3QQraqojGtWSaPwvnWiHLSu
+i3ZW6SU7/7ZKViPtr7ACl/A9T2GQEIqahApsw1uR5fUL07pwA7BrdsvKF37lnBUq
+1uwVc7Tx2QSZHSDuLT6M7MpVl1MDMTa4uD/ebnxTL2DdQzGGDi1tZmtLQexxZ1le
+gCOj9zDecLq61plLLnzaDGkZd/gPsOOZQ5b0DCQNs9kW4cLJhGuk79D7iRC8pOQM
+iLqbfDU/14abt6rt2zda7wADBQf+PwMGpa1cLabUb72eyP1tS5i0Lk4wrKL0xGLB
+usJ2WRH+ruFGCm+iPGK6Lozr2zmtoEgNr7eTaYAdUep9H7tAL6fgpNchcc6s3gYc
+PqOUQPCdWvKWprAwUCAJG60PuKlM998n0blweo8u4Emjns/j25H4Nn6WmeCqvhdN
+Exb2T3lGQzkjsadRT7XdOPngDNOGLix7WV4phCNYFhAtuL/8w4VnwSk94B0/ic0J
+QsdE2PTCLHhTuHAQFYoed0VKtArKnCi0ixOejJ+Z7Yl0Ctyvnfa0Pz7eaJU0ep3Y
+GJFgidBEIaxVosrMSzv2zEyt4Gm/aqn4sItZnpXhAxoieict2YhOBBgRAgAGBQI3
+Ovl2ABIJEMCky7mHl4VpB2VHUEcAAQGcPQCeJ/VW6/5dtHDAc6dTK/K2xYlZ4xgA
+n37xvFpYHgPw0OCrNhLNyCkJZ0XVmQENBE0ti4EBCACqGtKlX9jI/enhlBdy2cyQ
+P6Q7JoyxtaG6/ckAKWHYrqFTQk3IUe8TuDrGT742XFncG9PoMBfJDUNltIPgKFn8
+E9tYQqAOlpSA25bOb30cA2ADkrjgjvDAH8cZ+fkIayWtObTxwqLfPivjFxEM//Id
+ShFFVQj+QHmXYBJggWyEIil8Bje7KRw6B5ucs4qSzp5VH4CqDr9PDnLD8lBGHk0x
+8jpwh4V/yEODJKATY0Vj00793L8uqA35ZiyczUvvJSLYvf7STO943GswkxdAfqxX
+bYifiK2gjE/7SAmB+2jFxsonUDOB1BAY5s3FKqrkaxZr3BBjeuGGoCuiSX/cXRIh
+ABEBAAG0Fldlcm5lciBLb2NoIChkaXN0IHNpZymJAT4EEwECACgFAk0ti4ECGwMF
+CRDdnwIGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJECSbOdJPJeO2PlMIAJxP
+tFXf5yozPpFjRbSkSdjsk9eru05shKZOAKw3RUePTU80SRLPdg4AH+vkm1JMWFFp
+wvHlgfxqnE9rp13o7L/4UwNUwqH85zCwu7SHz9cX3d4UUwzcP6qQP4BQEH9/xlpQ
+S9eTK9b2RMyggqwd/J8mxjvoWzL8Klf/wl6jXHn/yP92xG9/YA86lNOL1N3/PhlZ
+zLuJ6bdD9WzsEp/+kh3UDfjkIrOcWkqwupB+d01R4bHPu9tvXy8Xut8Sok2zku2x
+VkEOsV2TXHbwuHO2AGC5pWDX6wgCE4F5XeCB/0ovao2/bk22w1TxzP6PMxo6sLkm
+aF6D0frhM2bl4C/uSsq5AQ0ETS2LgQEIAKHwucgbaRj0V7Ht0FnM6RmbqwZ7IFV2
+lR+YN1gkZaWRRCaJoPEZFKhhPEBX1bDVwr/iTPaPPEtpi7oQoHk65yeLrhtOmXXp
+NVkV/5WQjAJIrWn+JQ3z/ZejxHULhzKsGg5FC6pRYcEyzRXHtv4BO9kBIKNVirZj
+EkQG4BnIrQgl6e2YFa47GNMqcQH7nJdwG1cGQOZOIDQQM41gBzwoSrStMA6DjHku
+kFegKfcSbSLArBtYNAwTwmW7RqOMEJwlo0+NYx2Yn75x66bYwdlsP0FLOgez/O/I
+xoPRxXr0l4e+uj6dFHqvBi04dx6JsPmXEyeAyLiCWSh7Rwq8uIhBUBUAEQEAAYic
+BBABAgAGBQJNLY0EAAoJEFO2INAc4MYwRk8EAIuasyOnCbJW8jpfk3g2VZy1dBZj
+7g4PHaI70K1Qz8X3piI8WWaDCwlTPJcvAAtiT6yGHzdONAt+N7GiHNLU7TsMJlTL
+suxv1HsdtgnVh/9BwTKRuIBbjrkJlvUEA4xHYdQ4MFNoAFqJ1+eGZTMm1rLPtjQo
+pEcDH5VVLqR+ewWriQElBBgBAgAPBQJNLYuBAhsgBQkQ3Z8CAAoJECSbOdJPJeO2
+uxIIAJE2B8aQPQ6o6LBijX/4rJaetAu6xW9Jg7DyE3rqB5TcE7yJDQqjL6bRApjW
+RaNofB7CmDxl5tjgTawds0gL1KnKLLPb2wAnaKe9/j/gx6lOCnE2LDj5ebKQKQ3U
+B9WG8xNBczNFs7lnBG0+mOwyvWPm9fWzpTf9HFIAi2kCQK7UYZNM4fSvXY5yFz+6
+b5AYDI7pZSP8iJnUxfu2hdbRIKjwNKXzPlDsqYlYXpNAsrUuS7hshUbUe7CjX/RY
+dza8Jp3kHEeOCjLxOwotOa9hBla2eNa9AZXZQ4AFhZxpy61ldBDY88IhjsuWm5L/
+jkJdZtPlj6bFjfLt1vPhoX7y7IKZAgsEPFTJeQEQAKCDq/E0+KCD0VDPXgKQ+1H9
+0SrewKMrWvj7ajJ6hGej6mpnpntl+mGAD+rnCjB4UAY6DXsoPZZd6ChDmldsW8/7
+D2P3ObeDn1fNNFLNmBJx6VOJs+crLqDyvwYMBjohCtpHqnF7jb3v83Oeq9G8qlO3
+mDVc/kvKNUGwS/0cBgkTW/LLXSpJBG0TPdC6dTN8Qs0LiSJg0xk6eaBoV5bgA8gi
+FYO2uvGpbc5+OnUrgMCGpydrKt+9hs62qHSzEnbjqS9VzcFz2kfrAPD/K5vZ164+
+roFkEsEnCu27/bSoPSexn2Kz/mPRovUxm5WavvEpip56HLMnVZ2kkrnaqeD2dq1h
+51L4Z58oMjDUmrumlA1Z9V25M0hMVMXQmzCCCNC4+opPxN3kYLLBBY3+QYdunoR3
+JuJRdn71+nh56TRQHkz6ytLBuQXiFDSYGuqWxqiOLgK5eNzRz5nHUPSkZ+qoEKa8
+RXW0u6XdTyHRPNHiilQDyYsp6BCnlyOH90fPvNM8PFWBKvduUn0XEjVnr22H/6Mm
+PerqOije5b/nLypAKvN1ILOz5MMRbC5xm0ki4iFNy3wAw9j8DK349/2Nd8j7FJCD
+PevsS7mj6sS7Tb9y2Fo5zhvcpgO02SMsqzOCJ7G3UFg6rTpH5jKHaqCyD1rPOR+5
+2++nCEKknsQ7Fx1o/dvHAAYptCVEYXZpZCBNLiBTaGF3IDxkc2hhd0BqYWJiZXJ3
+b2NreS5jb20+iQI5BBMBAgAjAhsDAh4BAheABQJPDEnABgsJCAcDAgYVCgkICwIF
+FgIDAQAACgkQ22mNcZkkJWBi3Q//beukI1Sq42RbUPYFwk5p9o+tj2J4kS8Z5ZRJ
+NBNy0qrkXTCKChfA5kCYGDb8jsU9qivN/jpma2RerZ77Az8NBap1WRLR4EhjXR6x
+/2F/r4I3++9tNkG89SGR7IJlVMQsIEwtN0wsY0C2N646i+1Lc4f6qVLu158/v6mU
+zFPR4EP6jLB+yDqKMbZJqfhicW2jXyiflrk6OGGC5WbKfVKqOG1FyYB+2NlmtG8s
+SdD9hE9uADS8VGdp9hoaEv1LxL8miugx9y2cDbzvwYyFGWOb6kITRaz6wroWaUq9
+xMZYY5PG48vedXRx5dcSCORcTeM7raJmwVfvL1q+YqDgJGiQgKVsEoaMOQOLIXuX
+yvmbUDtY6pepxIDcnLVZCtXTHY3LVdGwnTQMxKXmgJygRJ1PFegJJLgtSHBK9haa
+Pzad6iXc98ZL2wZ39thl10LzAyzbVHvQJfnu3lDOOawSBZOK4DZeFeViUpF7cpAD
+w3llk8lYtXMsNFq10KDIzFSu4eKBO0fkajlss7ZrJN1YlxWcHbIrpINW3TNEny0d
+4cFypshQj2cl6+c9yfVBCNM5M5mm7YMu7f9voJ+tAq/LnfqqQEZJv49bIu+0aVRt
+GElefd27b7tRE/6weFpxoyBk2OTkU+RrjBr/rdp7O0nhWbJAA//l8PP6++aYNnS9
+/vfdjE+5AQ0ETwxJ3QEIAMVOEC6RP/3MNhri2/v5PwG8SaLM2ZUxpnX+TtRMocqc
+dPo2zlOYgRCSYn/CYS01BKwt86o5smDTQ9R8Nm2pvSgcQeyZSVSsnEEWJ84oTQMC
+nNllMpGytxT1XcpPVZUj0ttBzpc/3QvzWhMz//bKG5F3lUYtDgpoMQDt4IPMnlNs
+NJyrIOxuYB7aGuZKDfL3hf6DR6ClrFrHJDOOULXOTuiAb9TmvCc2oIrpxMN8g41H
+tjSHstWumMj7+0NuFaQthQBpj9ZWA6X6dgB84ea9Wd7enlKvTkqtKdB6de6P5QUy
+1HWt/7mTDOZfvTVsaoibqQHjgMG2OJ/R/wdChDML0GUAEQEAAYkDRAQYAQIADwUC
+TwxJ3QIbAgUJCYPP8wEpCRDbaY1xmSQlYMBdIAQZAQIABgUCTwxJ3QAKCRD+p4p6
+obxPpHxhB/9sNDyAsCSX6s1QPAecgJDGxhdIrE3Z5Bx+O+DVG1cGlBIh3UpojPmx
+xyqF8koTqsAInLK2D8CeEqg8IB/IjI/LhiQf/Mby57gB46jeThfecdcyhh97kHPh
+Xj9Gea2u82YXIYYlVjD9VbsKggoSLFmda6YgPFd6KMbkwaIFgCNDK4GFVITq7HdH
+HDJCS5Iec/KnhnQNMHkFdQcycUwaiNSuvIK54LLex2MAL/RoLpYNEmwxApyWlagh
+rJe6aRh44FHboBT9lAd7pJ1P2CXEdirrG+WM+DVE7dluJF0bTQ94WtpRyMyCQSv0
+7qBZVUtU/oUe2curJymo3Pv+zxcevmVkTAEQAIKfiBMRDuXfLaGPDBW32OgOReVu
+4MysBKJSrvh+x1xD0BO/z/1bZFKMYf71ayf7sBq58o+rMjPUH9ulzTPL8U4F3oA2
+DtP/YSmJixPqB29MqifIZHrhLZwbEjYyysanohZU5YfwenMKdCnjFuCfGbAoSkUA
+kyqioXHkHUmBf/qt/v73JNHu7QQOMmJ88PT7f+EYNykcTkd8tANojiZH/Vaem/Nq
+fEPFqem6MwEjzyJDwNff1NUeeQLnT+LeAOeC2cWUZel5VbbUzxIWYFTfijplP1Qa
+nihFY3D0Yu2weJzpWbKfyTKPJMVOwQS1RwDFZxnPxlXJxvaIOeWQjMHEKsYP+LZy
+mH/JG5FMc6UX9duaFZ9fCmivT6OXc2XlWbTLaK5Ux/uneXg/pA5ZcTG75RFjya/p
+vXzioeFCieNrecn2M13aEZkuAPcdMlrwAVzX9WaMKi6BUBtcIIEVoohZHzq+SzO2
+bR10H4tfU1T6+PewAcZ9dYGc8sSgGrbiBiW4DbdkP5oR3BUDO1EJYcHhsFY7+nn+
+384XXXBd9BZQKvHHkeot38T9PFTB8tk1ClfnUD9CUTl/4zPTwbe2NQNaSwLJJ7yR
+3/4V3jTY3ogZSqu1+GTPschRBwD5JSm8y7eBbjzbRXqLmTEO3hjZSrE1w1iBJFuC
+3n+ouAqeAvRr/aazuQENBE8MSi8BCACvl2RV6ve1i8nr++fKneCgMLTh5nxKSBaq
+iYpT2dlGwpAdyBU46aij9hH/b6oYAB0CxxrgMxNaBOpGVxUENFQ1qK6bfW1KIndu
+YFJVqh4J6pAByz8Pu2BOdk0POarB3JDH51kE+QYZeyt+jgbO4+UYmorPQGiexeMj
+rKhJNQLjnHzLlYNptwCgaSatubDrk6+p7x5dHPRTk1cqjYA1IJ+wgK7iXO/TOo2d
+DYmYZ6T2n9Pr0q5IksWYjM+sfpnsaH+Y4KQ1TfXBlxvKU+gAZTi0PFZE4lQKEvp3
+lSxklxBVcvVDJyfSGQ0C9FeqU/sgLDrfKljVxck1dFKeIWsgYbG7ABEBAAGJAiUE
+GAECAA8FAk8MSi8CGwwFCQmDz6EACgkQ22mNcZkkJWAlZw//duQCqkLqI83OH+vy
+5z/52d+9Ca2u3tANvudrT5z9XyRWtuVevhRmYy8ClnnmEoCb66yGZ13RtnBjxDf2
+1fz6daNSc4lbSrpOySjCkdKP86wUipuCX+uFzsVdivb2PtvZ3C383RCeA7Ys1jNM
+F54jfwlCKaIPiNwIUggWOXiGFCs0UB0mlp12DcDZh9/lWEAGrSt3Q1JgcHjUGbNb
+mrJD7NIsBZqjRp3i0WgSd4oDY3svpGOL0Ixz0Zsitqz5XRSJxgBqb8VKytF8W53Y
+HrW4IfQFbn93CbxG40PcmWoU/s3qxFfdC9DrK/sGejWTlg37luVPPlWz9i9lC5kA
+f12M9veUKESC+uyCf1wEoK9mLMVPl3l8v2X5BzVT3CxberXV5IHIXoa5sATkor+O
+2S/TVKdo16IOqhSaK3JDH4ETH4s08bX0C/XYVKrRXCT1xPCQid27fcvzC6Dj8Q41
+Z+cjFQbrzXWkNCJ/OD/qkPmmtKH51EUBiToR2Q67ubUtioV9+dwtAclrwSvSHcfK
+qRPLGGeqhZaR0cENfjEBfp+sG42QmzD1KIPFyPaWJpEjsWcqIRxcm8MI69iI2NSR
+6dbXTgHHcf1HHZFL1/TJNmT52GqDal3MG8iSDnn8gYd+S3hCSmsO4wHhK/UIN6X2
+/CAeQoHDpRcWLPhqVIHekxZNmOM=
+=K9om
 -----END PGP PUBLIC KEY BLOCK-----
index 200fed8..1a4b6d7 100644 (file)
@@ -287,10 +287,18 @@ Note that with the current version of Scdaemon the card is powered
 down immediately at the next timer tick for any value of @var{n} other
 than 0.
 
+@item --enable-pinpad-varlen
+@opindex enable-pinpad-varlen
+Please specify this option when the card reader supports variable
+length input for pinpad (default is no).  For known readers (listed in
+ccid-driver.c and apdu.c), this option is not needed.  Note that if
+your card reader doesn't supports variable length input but you want
+to use it, you need to specify your pinpad request on your card.
 
-@item --disable-keypad
-@opindex disable-keypad
-Even if a card reader features a keypad, do not try to use it.
+
+@item --disable-pinpad
+@opindex disable-pinpad
+Even if a card reader features a pinpad, do not try to use it.
 
 
 @item --deny-admin
@@ -592,6 +600,10 @@ using the command
 
 where @var{keyid} is the hexified ID of the key to be used.
 
+If the card is ware of the apdding format a status line with padding
+information is send before the plaintext data.  The key for this
+status line is @code{PADDING} with the only defined value being 0 and
+meaning padding has been removed.
 
 @node Scdaemon GETATTR
 @subsection Read an attribute's value.
index 8f6243a..aa429d4 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 March 2012
-@set UPDATED-MONTH March 2012
-@set EDITION 2.0.19
-@set VERSION 2.0.19
+@set UPDATED 12 August 2014
+@set UPDATED-MONTH August 2014
+@set EDITION 2.0.26
+@set VERSION 2.0.26
diff --git a/doc/texi.css b/doc/texi.css
deleted file mode 100644 (file)
index a369abc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/* The gnupg.org standard stylesheet.  */
-  @import url(/share/site.css);
-
-
-
-
index be1233b..030f269 100644 (file)
@@ -305,12 +305,22 @@ Reload all or the given component. This is basically the same as sending
 a SIGHUP to the component.  Components which don't support reloading are
 ignored.
 
+@ifset gpgtwoone
+@item --launch [@var{component}]
+@opindex launch
+If the @var{component} is not already running, start it.
+@command{component} must be a daemon.  This is in general not required
+because the system starts these daemons as needed.  However, external
+software making direct use of @command{gpg-agent} or @command{dirmngr}
+may use this command to ensure that they are started.
+
 @item --kill [@var{component}]
 @opindex kill
 Kill the given component.  Components which support killing are
 gpg-agent and scdaemon.  Components which don't support reloading are
 ignored.  Note that as of now reload and kill have the same effect for
 scdaemon.
+@end ifset
 
 @end table
 
@@ -1050,10 +1060,11 @@ may not be used and the passphrases for the to be used keys are given at
 machine startup.
 
 Passphrases set with this utility don't expire unless the
-@option{--forget} option is used to explicitly clear them from the cache
---- or @command{gpg-agent} is either restarted or reloaded (by sending a
-SIGHUP to it).  It is necessary to allow this passphrase presetting by
-starting @command{gpg-agent} with the
+@option{--forget} option is used to explicitly clear them from the
+cache --- or @command{gpg-agent} is either restarted or reloaded (by
+sending a SIGHUP to it).  Nite that the maximum cache time as set with
+@option{--max-cache-ttl} is still honored.  It is necessary to allow
+this passphrase presetting by starting @command{gpg-agent} with the
 @option{--allow-preset-passphrase}.
 
 @menu
@@ -1190,6 +1201,18 @@ Try to be as quiet as possible.
 @opindex agent-program
 Specify the agent program to be started if none is running.
 
+@ifset gpgtwoone
+@item --dirmngr-program @var{file}
+@opindex dirmngr-program
+Specify the directory manager (keyserver client) program to be started
+if none is running.  This has only an effect if used together with the
+option @option{--dirmngr}.
+
+@item --dirmngr
+@opindex dirmngr
+Connect to a running directory manager (keyserver client) instead of
+to the gpg-agent.  If a dirmngr is not running, start it.
+@end ifset
 
 @item -S
 @itemx --raw-socket @var{name}
index 8f6243a..aa429d4 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 March 2012
-@set UPDATED-MONTH March 2012
-@set EDITION 2.0.19
-@set VERSION 2.0.19
+@set UPDATED 12 August 2014
+@set UPDATED-MONTH August 2014
+@set EDITION 2.0.26
+@set VERSION 2.0.26
index a22176c..2ac4390 100644 (file)
@@ -1,5 +1,5 @@
 /* yat2m.c - Yet Another Texi 2 Man converter
- *     Copyright (C) 2005 g10 Code GmbH
+ *     Copyright (C) 2005, 2013 g10 Code GmbH
  *      Copyright (C) 2006, 2008, 2011 Free Software Foundation, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@
  */
 
 /*
-    This is a simple textinfo to man page converter.  It needs some
+    This is a simple texinfo to man page converter.  It needs some
     special markup in th e texinfo and tries best to get a create man
     page.  It has been designed for the GnuPG man pages and thus only
     a few texinfo commands are supported.
    character. */
 #define LINESIZE 1024
 
+/* Number of allowed condition nestings.  */
+#define MAX_CONDITION_NESTING  10
+
 /* Option flags. */
 static int verbose;
 static int quiet;
@@ -117,10 +120,6 @@ static const char *opt_select;
 static const char *opt_include;
 static int opt_store;
 
-/* The only define we understand is -D gpgone.  Thus we need a simple
-   boolean tro track it. */
-static int gpgone_defined;
-
 /* Flag to keep track whether any error occurred.  */
 static int any_error;
 
@@ -129,7 +128,7 @@ static int any_error;
 struct macro_s
 {
   struct macro_s *next;
-  char *value;  /* Malloced value. */
+  char *value;    /* Malloced value. */
   char name[1];
 };
 typedef struct macro_s *macro_t;
@@ -137,6 +136,24 @@ typedef struct macro_s *macro_t;
 /* List of all defined macros. */
 static macro_t macrolist;
 
+/* List of global macro names.  The value part is not used.  */
+static macro_t predefinedmacrolist;
+
+/* Object to keep track of @isset and @ifclear.  */
+struct condition_s
+{
+  int manverb;   /* "manverb" needs special treatment.  */
+  int isset;     /* This is an @isset condition.  */
+  char name[1];  /* Name of the condition macro.  */
+};
+typedef struct condition_s *condition_t;
+
+/* The stack used to evaluate conditions.  And the current states. */
+static condition_t condition_stack[MAX_CONDITION_NESTING];
+static int condition_stack_idx;
+static int cond_is_active;     /* State of ifset/ifclear */
+static int cond_in_verbatim;   /* State of "manverb".  */
+
 
 /* Object to store one line of content.  */
 struct line_buffer_s
@@ -313,7 +330,158 @@ isodatestring (void)
 }
 
 
+/* Add NAME to the list of predefined macros which are global for all
+   files.  */
+static void
+add_predefined_macro (const char *name)
+{
+  macro_t m;
+
+  for (m=predefinedmacrolist; m; m = m->next)
+    if (!strcmp (m->name, name))
+      break;
+  if (!m)
+    {
+      m = xcalloc (1, sizeof *m + strlen (name));
+      strcpy (m->name, name);
+      m->next = predefinedmacrolist;
+      predefinedmacrolist = m;
+    }
+}
+
+
+/* Create or update a macro with name MACRONAME and set its values TO
+   MACROVALUE.  Note that ownership of the macro value is transferred
+   to this function.  */
+static void
+set_macro (const char *macroname, char *macrovalue)
+{
+  macro_t m;
+
+  for (m=macrolist; m; m = m->next)
+    if (!strcmp (m->name, macroname))
+      break;
+  if (m)
+    free (m->value);
+  else
+    {
+      m = xcalloc (1, sizeof *m + strlen (macroname));
+      strcpy (m->name, macroname);
+      m->next = macrolist;
+      macrolist = m;
+    }
+  m->value = macrovalue;
+  macrovalue = NULL;
+}
+
+
+/* Return true if the macro NAME is set, i.e. not the empty string and
+   not evaluating to 0.  */
+static int
+macro_set_p (const char *name)
+{
+  macro_t m;
+
+  for (m = macrolist; m ; m = m->next)
+    if (!strcmp (m->name, name))
+      break;
+  if (!m || !m->value || !*m->value)
+    return 0;
+  if ((*m->value & 0x80) || !isdigit (*m->value))
+    return 1; /* Not a digit but some other string.  */
+  return !!atoi (m->value);
+}
+
+
+/* Evaluate the current conditions.  */
+static void
+evaluate_conditions (const char *fname, int lnr)
+{
+  int i;
+
+  /* for (i=0; i < condition_stack_idx; i++) */
+  /*   inf ("%s:%d:   stack[%d] %s %s %c", */
+  /*        fname, lnr, i, condition_stack[i]->isset? "set":"clr", */
+  /*        condition_stack[i]->name, */
+  /*        (macro_set_p (condition_stack[i]->name) */
+  /*         ^ !condition_stack[i]->isset)? 't':'f'); */
+
+  cond_is_active = 1;
+  cond_in_verbatim = 0;
+  if (condition_stack_idx)
+    {
+      for (i=0; i < condition_stack_idx; i++)
+        {
+          if (condition_stack[i]->manverb)
+            cond_in_verbatim = (macro_set_p (condition_stack[i]->name)
+                                ^ !condition_stack[i]->isset);
+          else if (!(macro_set_p (condition_stack[i]->name)
+                     ^ !condition_stack[i]->isset))
+            {
+              cond_is_active = 0;
+              break;
+            }
+        }
+    }
+
+  /* inf ("%s:%d:   active=%d verbatim=%d", */
+  /*      fname, lnr, cond_is_active, cond_in_verbatim); */
+}
+
+
+/* Push a condition with condition macro NAME onto the stack.  If
+   ISSET is true, a @isset condition is pushed.  */
+static void
+push_condition (const char *name, int isset, const char *fname, int lnr)
+{
+  condition_t cond;
+  int manverb = 0;
 
+  if (condition_stack_idx >= MAX_CONDITION_NESTING)
+    {
+      err ("%s:%d: condition nested too deep", fname, lnr);
+      return;
+    }
+
+  if (!strcmp (name, "manverb"))
+    {
+      if (!isset)
+        {
+          err ("%s:%d: using \"@ifclear manverb\" is not allowed", fname, lnr);
+          return;
+        }
+      manverb = 1;
+    }
+
+  cond = xcalloc (1, sizeof *cond + strlen (name));
+  cond->manverb = manverb;
+  cond->isset = isset;
+  strcpy (cond->name, name);
+
+  condition_stack[condition_stack_idx++] = cond;
+  evaluate_conditions (fname, lnr);
+}
+
+
+/* Remove the last condition from the stack.  ISSET is used for error
+   reporting.  */
+static void
+pop_condition (int isset, const char *fname, int lnr)
+{
+  if (!condition_stack_idx)
+    {
+      err ("%s:%d: unbalanced \"@end %s\"",
+           fname, lnr, isset?"isset":"isclear");
+      return;
+    }
+  condition_stack_idx--;
+  free (condition_stack[condition_stack_idx]);
+  condition_stack[condition_stack_idx] = NULL;
+  evaluate_conditions (fname, lnr);
+}
+
+
+\f
 /* Return a section buffer for the section NAME.  Allocate a new buffer
    if this is a new section.  Keep track of the sections in THEPAGE.
    This function may reallocate the section array in THEPAGE.  */
@@ -414,7 +582,7 @@ static void
 start_page (char *name)
 {
   if (verbose)
-    inf ("starting page `%s'", name);
+    inf ("starting page '%s'", name);
   assert (!thepage.name);
   thepage.name = xstrdup (name);
   thepage.n_sections = 0;
@@ -434,7 +602,7 @@ write_th (FILE *fp)
   p = strrchr (name, '.');
   if (!p || !p[1])
     {
-      err ("no section name in man page `%s'", thepage.name);
+      err ("no section name in man page '%s'", thepage.name);
       free (name);
       return -1;
     }
@@ -591,7 +759,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len,
           ignore_args = 1; /* Parameterized macros are not yet supported. */
         }
       else
-        inf ("texinfo command `%s' not supported (%.*s)", command,
+        inf ("texinfo command '%s' not supported (%.*s)", command,
              ((s = memchr (rest, '\n', len)), (s? (s-rest) : len)), rest);
     }
 
@@ -605,7 +773,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len,
           i--;
       if (i)
         {
-          err ("closing brace for command `%s' not found", command);
+          err ("closing brace for command '%s' not found", command);
           return len;
         }
       if (n > 2 && !ignore_args)
@@ -780,13 +948,13 @@ finish_page (void)
     return; /* No page active.  */
 
   if (verbose)
-    inf ("finishing page `%s'", thepage.name);
+    inf ("finishing page '%s'", thepage.name);
 
   if (opt_select)
     {
       if (!strcmp (opt_select, thepage.name))
         {
-          inf ("selected `%s'", thepage.name );
+          inf ("selected '%s'", thepage.name );
           fp = stdout;
         }
       else
@@ -798,10 +966,10 @@ finish_page (void)
     }
   else if (opt_store)
     {
-      inf ("writing `%s'", thepage.name );
+      inf ("writing '%s'", thepage.name );
       fp = fopen ( thepage.name, "w" );
       if (!fp)
-        die ("failed to create `%s': %s\n", thepage.name, strerror (errno));
+        die ("failed to create '%s': %s\n", thepage.name, strerror (errno));
     }
   else
     fp = stdout;
@@ -862,14 +1030,8 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
   int lnr = 0;
   /* Fixme: The following state variables don't carry over to include
      files. */
-  int in_verbatim = 0;
   int skip_to_end = 0;        /* Used to skip over menu entries. */
   int skip_sect_line = 0;     /* Skip after @mansect.  */
-  int ifset_nesting = 0;      /* How often a ifset has been seen. */
-  int ifclear_nesting = 0;    /* How often a ifclear has been seen. */
-  int in_gpgone = 0;          /* Keep track of "@ifset gpgone" parts.  */
-  int not_in_gpgone = 0;      /* Keep track of "@ifclear gpgone" parts.  */
-  int not_in_man = 0;         /* Keep track of "@ifclear isman" parts.  */
   int item_indent = 0;        /* How far is the current @item indented.  */
 
   /* Helper to define a macro. */
@@ -883,7 +1045,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
     {
       size_t n = strlen (line);
       int got_line = 0;
-      char *p;
+      char *p, *pend;
 
       lnr++;
       if (!n || line[n-1] != '\n')
@@ -930,26 +1092,12 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
               && !strncmp (p, "macro", 5)
               && (p[5]==' '||p[5]=='\t'||!p[5]))
             {
-              macro_t m;
-
               if (macrovalueused)
                 macrovalue[--macrovalueused] = 0; /* Kill the last LF. */
               macrovalue[macrovalueused] = 0;     /* Terminate macro. */
               macrovalue = xrealloc (macrovalue, macrovalueused+1);
 
-              for (m= macrolist; m; m = m->next)
-                if (!strcmp (m->name, macroname))
-                  break;
-              if (m)
-                free (m->value);
-              else
-                {
-                  m = xcalloc (1, sizeof *m + strlen (macroname));
-                  strcpy (m->name, macroname);
-                  m->next = macrolist;
-                  macrolist = m;
-                }
-              m->value = macrovalue;
+              set_macro (macroname, macrovalue);
               macrovalue = NULL;
               free (macroname);
               macroname = NULL;
@@ -997,23 +1145,33 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
           if (n == 6 && !memcmp (line, "@ifset", 6)
                    && (line[6]==' '||line[6]=='\t'))
             {
-              ifset_nesting++;
-
-              if (!strncmp (p, "manverb", 7) && (p[7]==' '||p[7]=='\t'||!p[7]))
+              for (p=line+7; *p == ' ' || *p == '\t'; p++)
+                ;
+              if (!*p)
                 {
-                  if (in_verbatim)
-                    err ("%s:%d: nested \"@ifset manverb\"", fname, lnr);
-                  else
-                    in_verbatim = ifset_nesting;
+                  err ("%s:%d: name missing after \"@ifset\"", fname, lnr);
+                  continue;
                 }
-              else if (!strncmp (p, "gpgone", 6)
-                       && (p[6]==' '||p[6]=='\t'||!p[6]))
+              for (pend=p; *pend && *pend != ' ' && *pend != '\t'; pend++)
+                ;
+              *pend = 0;  /* Ignore rest of the line.  */
+              push_condition (p, 1, fname, lnr);
+              continue;
+            }
+          else if (n == 8 && !memcmp (line, "@ifclear", 8)
+                   && (line[8]==' '||line[8]=='\t'))
+            {
+              for (p=line+9; *p == ' ' || *p == '\t'; p++)
+                ;
+              if (!*p)
                 {
-                  if (in_gpgone)
-                    err ("%s:%d: nested \"@ifset gpgone\"", fname, lnr);
-                  else
-                    in_gpgone = ifset_nesting;
+                  err ("%s:%d: name missing after \"@ifsclear\"", fname, lnr);
+                  continue;
                 }
+              for (pend=p; *pend && *pend != ' ' && *pend != '\t'; pend++)
+                ;
+              *pend = 0;  /* Ignore rest of the line.  */
+              push_condition (p, 0, fname, lnr);
               continue;
             }
           else if (n == 4 && !memcmp (line, "@end", 4)
@@ -1021,40 +1179,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
                    && !strncmp (p, "ifset", 5)
                    && (p[5]==' '||p[5]=='\t'||!p[5]))
             {
-              if (in_verbatim && ifset_nesting == in_verbatim)
-                in_verbatim = 0;
-              if (in_gpgone && ifset_nesting == in_gpgone)
-                in_gpgone = 0;
-
-              if (ifset_nesting)
-                ifset_nesting--;
-              else
-                err ("%s:%d: unbalanced \"@end ifset\"", fname, lnr);
-              continue;
-            }
-          else if (n == 8 && !memcmp (line, "@ifclear", 8)
-                   && (line[8]==' '||line[8]=='\t'))
-            {
-              ifclear_nesting++;
-
-              if (!strncmp (p, "gpgone", 6)
-                  && (p[6]==' '||p[6]=='\t'||!p[6]))
-                {
-                  if (not_in_gpgone)
-                    err ("%s:%d: nested \"@ifclear gpgone\"", fname, lnr);
-                  else
-                    not_in_gpgone = ifclear_nesting;
-                }
-
-              else if (!strncmp (p, "isman", 5)
-                       && (p[5]==' '||p[5]=='\t'||!p[5]))
-                {
-                  if (not_in_man)
-                    err ("%s:%d: nested \"@ifclear isman\"", fname, lnr);
-                  else
-                    not_in_man = ifclear_nesting;
-                }
-
+              pop_condition (1, fname, lnr);
               continue;
             }
           else if (n == 4 && !memcmp (line, "@end", 4)
@@ -1062,23 +1187,13 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
                    && !strncmp (p, "ifclear", 7)
                    && (p[7]==' '||p[7]=='\t'||!p[7]))
             {
-              if (not_in_gpgone && ifclear_nesting == not_in_gpgone)
-                not_in_gpgone = 0;
-              if (not_in_man && ifclear_nesting == not_in_man)
-                not_in_man = 0;
-
-              if (ifclear_nesting)
-                ifclear_nesting--;
-              else
-                err ("%s:%d: unbalanced \"@end ifclear\"", fname, lnr);
+              pop_condition (0, fname, lnr);
               continue;
             }
         }
 
       /* Take action on ifset/ifclear.  */
-      if ( (in_gpgone && !gpgone_defined)
-           || (not_in_gpgone && gpgone_defined)
-           || not_in_man)
+      if (!cond_is_active)
         continue;
 
       /* Process commands. */
@@ -1090,7 +1205,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
             {
               skip_to_end = 0;
             }
-          else if (in_verbatim)
+          else if (cond_in_verbatim)
             {
                 got_line = 1;
             }
@@ -1162,7 +1277,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
                 }
 
               if (!incfp)
-                err ("can't open include file `%s':%s",
+                err ("can't open include file '%s':%s",
                      incname, strerror (errno));
               else
                 {
@@ -1182,7 +1297,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
       else if (!skip_to_end)
         got_line = 1;
 
-      if (got_line && in_verbatim)
+      if (got_line && cond_in_verbatim)
         add_content (*section_name, line, 1);
       else if (got_line && thepage.name && *section_name && !in_pause)
         add_content (*section_name, line, 0);
@@ -1201,6 +1316,8 @@ top_parse_file (const char *fname, FILE *fp)
 {
   char *section_name = NULL;  /* Name of the current section or NULL
                                  if not in a section.  */
+  macro_t m;
+
   while (macrolist)
     {
       macro_t next = macrolist->next;
@@ -1208,6 +1325,10 @@ top_parse_file (const char *fname, FILE *fp)
       free (macrolist);
       macrolist = next;
     }
+  for (m=predefinedmacrolist; m; m = m->next)
+    set_macro (m->name, xstrdup ("1"));
+  cond_is_active = 1;
+  cond_in_verbatim = 0;
 
   parse_file (fname, fp, &section_name, 0);
   free (section_name);
@@ -1223,6 +1344,12 @@ main (int argc, char **argv)
   opt_source = "GNU";
   opt_release = "";
 
+  /* Define default macros.  The trick is that these macros are not
+     defined when using the actual texinfo renderer. */
+  add_predefined_macro ("isman");
+  add_predefined_macro ("manverb");
+
+  /* Option parsing.  */
   if (argc)
     {
       argc--; argv++;
@@ -1327,8 +1454,7 @@ main (int argc, char **argv)
           argc--; argv++;
           if (argc)
             {
-              if (!strcmp (*argv, "gpgone"))
-                gpgone_defined = 1;
+              add_predefined_macro (*argv);
               argc--; argv++;
             }
         }
index 126c55c..efa427d 100644 (file)
 
 ## Process this file with automake to produce Makefile.in
 
-EXTRA_DIST = options.skel ChangeLog-2011
+EXTRA_DIST = options.skel ChangeLog-2011 gpg-w32info.rc
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common \
               -I$(top_srcdir)/include -I$(top_srcdir)/intl
 
 include $(top_srcdir)/am/cmacros.am
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS)
 
 needed_libs = $(libcommon) ../jnlib/libjnlib.a ../gl/libgnu.a
 
@@ -39,6 +39,9 @@ else
 bzip2_source =
 endif
 
+if HAVE_W32_SYSTEM
+resource_objs += gpg-w32info.o
+endif
 
 common_source =  \
              gpg.h             \
@@ -120,9 +123,9 @@ LDADD =  $(needed_libs) ../common/libgpgrl.a \
          $(ZLIBS) $(DNSLIBS) $(LIBREADLINE) \
          $(LIBINTL) $(CAPLIBS) $(NETLIBS)
 gpg2_LDADD =  $(LDADD) $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
-            $(LIBICONV)
-gpgv2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
-             $(LIBICONV)
+            $(LIBICONV) $(resource_objs)
+gpgv2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+             $(LIBICONV) $(resource_objs)
 
 t_common_ldadd =
 module_tests = t-rmd160
index a919b88..25bdb7b 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -90,6 +107,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 bin_PROGRAMS = gpg2$(EXEEXT) gpgv2$(EXEEXT)
 noinst_PROGRAMS = $(am__EXEEXT_1)
 TESTS = $(am__EXEEXT_1)
+@HAVE_W32_SYSTEM_TRUE@am__append_7 = gpg-w32info.o
 subdir = g10
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/gl/m4/absolute-header.m4 \
@@ -163,7 +181,7 @@ am__DEPENDENCIES_2 = $(needed_libs) ../common/libgpgrl.a \
        $(am__DEPENDENCIES_1)
 gpg2_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(resource_objs)
 am__gpgv2_SOURCES_DIST = gpgv.c gpg.h build-packet.c compress.c \
        compress-bz2.c filter.h free-packet.c getkey.c keydb.c keydb.h \
        keyring.c keyring.h seskey.c kbnode.c main.h mainproc.c \
@@ -174,8 +192,7 @@ am__gpgv2_SOURCES_DIST = gpgv.c gpg.h build-packet.c compress.c \
 am_gpgv2_OBJECTS = gpgv.$(OBJEXT) $(am__objects_2) verify.$(OBJEXT)
 gpgv2_OBJECTS = $(am_gpgv2_OBJECTS)
 gpgv2_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(resource_objs)
 am_t_rmd160_OBJECTS = t-rmd160.$(OBJEXT) rmd160.$(OBJEXT)
 t_rmd160_OBJECTS = $(am_t_rmd160_OBJECTS)
 t_rmd160_DEPENDENCIES = $(am__DEPENDENCIES_1)
@@ -190,6 +207,11 @@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(gpg2_SOURCES) $(gpgv2_SOURCES) $(t_rmd160_SOURCES)
 DIST_SOURCES = $(am__gpg2_SOURCES_DIST) $(am__gpgv2_SOURCES_DIST) \
        $(t_rmd160_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -211,7 +233,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -389,17 +415,18 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = options.skel ChangeLog-2011
+EXTRA_DIST = options.skel ChangeLog-2011 gpg-w32info.rc
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common \
        -I$(top_srcdir)/include -I$(top_srcdir)/intl \
        -DLOCALEDIR=\"$(localedir)\" $(am__append_1) $(am__append_2) \
        $(am__append_3) $(am__append_4) $(am__append_5) \
        $(am__append_6)
+resource_objs = $(am__append_7)
 
 # Convenience macros
 libcommon = ../common/libcommon.a
 libcommonpth = ../common/libcommonpth.a
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS)
 needed_libs = $(libcommon) ../jnlib/libjnlib.a ../gl/libgnu.a
 @ENABLE_BZIP2_SUPPORT_FALSE@bzip2_source = 
 @ENABLE_BZIP2_SUPPORT_TRUE@bzip2_source = compress-bz2.c
@@ -484,10 +511,10 @@ LDADD = $(needed_libs) ../common/libgpgrl.a \
          $(LIBINTL) $(CAPLIBS) $(NETLIBS)
 
 gpg2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
-            $(LIBICONV)
+            $(LIBICONV) $(resource_objs)
 
-gpgv2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
-             $(LIBICONV)
+gpgv2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+             $(LIBICONV) $(resource_objs)
 
 t_common_ldadd = 
 module_tests = t-rmd160
@@ -496,7 +523,7 @@ t_rmd160_LDADD = $(t_common_ldadd)
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -518,6 +545,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -529,8 +557,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -567,13 +598,13 @@ clean-binPROGRAMS:
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-gpg2$(EXEEXT): $(gpg2_OBJECTS) $(gpg2_DEPENDENCIES) 
+gpg2$(EXEEXT): $(gpg2_OBJECTS) $(gpg2_DEPENDENCIES) $(EXTRA_gpg2_DEPENDENCIES) 
        @rm -f gpg2$(EXEEXT)
        $(LINK) $(gpg2_OBJECTS) $(gpg2_LDADD) $(LIBS)
-gpgv2$(EXEEXT): $(gpgv2_OBJECTS) $(gpgv2_DEPENDENCIES) 
+gpgv2$(EXEEXT): $(gpgv2_OBJECTS) $(gpgv2_DEPENDENCIES) $(EXTRA_gpgv2_DEPENDENCIES) 
        @rm -f gpgv2$(EXEEXT)
        $(LINK) $(gpgv2_OBJECTS) $(gpgv2_LDADD) $(LIBS)
-t-rmd160$(EXEEXT): $(t_rmd160_OBJECTS) $(t_rmd160_DEPENDENCIES) 
+t-rmd160$(EXEEXT): $(t_rmd160_OBJECTS) $(t_rmd160_DEPENDENCIES) $(EXTRA_t_rmd160_DEPENDENCIES) 
        @rm -f t-rmd160$(EXEEXT)
        $(LINK) $(t_rmd160_OBJECTS) $(t_rmd160_LDADD) $(LIBS)
 
@@ -786,14 +817,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -845,10 +877,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -947,6 +984,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-local
        uninstall-am uninstall-binPROGRAMS uninstall-local
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 $(PROGRAMS): $(needed_libs) ../common/libgpgrl.a
 
 install-data-local:
index 652ef3a..2065335 100644 (file)
@@ -147,7 +147,7 @@ release_armor_context (armor_filter_context_t *afx)
 int
 push_armor_filter (armor_filter_context_t *afx, iobuf_t iobuf)
 {
-  int rc; 
+  int rc;
 
   afx->refcount++;
   rc = iobuf_push_filter (iobuf, armor_filter, afx);
@@ -981,7 +981,7 @@ armor_filter( void *opaque, int control,
         /* We need some space for the faked packet.  The minmum
          * required size is the PARTIAL_CHUNK size plus a byte for the
          * length itself */
-       if( size < PARTIAL_CHUNK+1 ) 
+       if( size < PARTIAL_CHUNK+1 )
            BUG(); /* supplied buffer too short */
 
        if( afx->faked )
@@ -1000,7 +1000,7 @@ armor_filter( void *opaque, int control,
                unsigned int hashes = afx->hashes;
                 const byte *sesmark;
                 size_t sesmarklen;
-                
+
                 sesmark = get_session_marker( &sesmarklen );
                 if ( sesmarklen > 20 )
                     BUG();
@@ -1022,7 +1022,7 @@ armor_filter( void *opaque, int control,
                 buf[n++] = 0xff; /* new format, type 63, 1 length byte */
                 n++;   /* see below */
                 memcpy(buf+n, sesmark, sesmarklen ); n+= sesmarklen;
-                buf[n++] = CTRLPKT_CLEARSIGN_START; 
+                buf[n++] = CTRLPKT_CLEARSIGN_START;
                 buf[n++] = afx->not_dash_escaped? 0:1; /* sigclass */
                 if( hashes & 1 )
                     buf[n++] = DIGEST_ALGO_RMD160;
@@ -1076,10 +1076,24 @@ armor_filter( void *opaque, int control,
            iobuf_writestr(a, head_strings[afx->what] );
            iobuf_writestr(a, "-----" );
            iobuf_writestr(a,afx->eol);
-           if( !opt.no_version )
+           if (opt.emit_version)
              {
-               iobuf_writestr(a, "Version: GnuPG v"  VERSION " ("
-                              PRINTABLE_OS_NAME ")" );
+               iobuf_writestr (a, "Version: GnuPG v");
+                for (s=VERSION; *s && *s != '.'; s++)
+                  iobuf_writebyte (a, *s);
+                if (opt.emit_version > 1 && *s)
+                  {
+                    iobuf_writebyte (a, *s++);
+                    for (; *s && *s != '.'; s++)
+                      iobuf_writebyte (a, *s);
+                    if (opt.emit_version > 2)
+                      {
+                        for (; *s && *s != '-' && !spacep (s); s++)
+                          iobuf_writebyte (a, *s);
+                        if (opt.emit_version > 3)
+                          iobuf_writestr (a, " (" PRINTABLE_OS_NAME ")");
+                      }
+                  }
                iobuf_writestr(a,afx->eol);
              }
 
@@ -1283,7 +1297,7 @@ make_radix64_string( const byte *data, size_t len )
 
 /***********************************************
  *  For the pipemode command we can't use the armor filter for various
- *  reasons, so we use this new unarmor_pump stuff to remove the armor 
+ *  reasons, so we use this new unarmor_pump stuff to remove the armor
  */
 
 enum unarmor_state_e {
@@ -1291,7 +1305,7 @@ enum unarmor_state_e {
     STA_bypass,
     STA_wait_newline,
     STA_wait_dash,
-    STA_first_dash, 
+    STA_first_dash,
     STA_compare_header,
     STA_found_header_wait_newline,
     STA_skip_header_lines,
@@ -1330,12 +1344,12 @@ unarmor_pump_release (UnarmorPump x)
     xfree (x);
 }
 
-/* 
+/*
  * Get the next character from the ascii armor taken from the IOBUF
  * created earlier by unarmor_pump_new().
  * Return:  c = Character
  *        256 = ignore this value
- *         -1 = End of current armor 
+ *         -1 = End of current armor
  *         -2 = Premature EOF (not used)
  *         -3 = Invalid armor
  */
@@ -1346,9 +1360,9 @@ unarmor_pump (UnarmorPump x, int c)
 
     switch (x->state) {
       case STA_init:
-        { 
+        {
             byte tmp[1];
-            tmp[0] = c; 
+            tmp[0] = c;
             if ( is_armored (tmp) )
                 x->state = c == '-'? STA_first_dash : STA_wait_newline;
             else {
@@ -1371,10 +1385,10 @@ unarmor_pump (UnarmorPump x, int c)
         x->state = STA_compare_header;
       case STA_compare_header:
         if ( "-----BEGIN PGP SIGNATURE-----"[++x->pos] == c ) {
-            if ( x->pos == 28 ) 
+            if ( x->pos == 28 )
                 x->state = STA_found_header_wait_newline;
         }
-        else 
+        else
             x->state = c == '\n'? STA_wait_dash : STA_wait_newline;
         break;
       case STA_found_header_wait_newline:
@@ -1421,7 +1435,7 @@ unarmor_pump (UnarmorPump x, int c)
                 break;
             }
         }
-        
+
         switch(x->pos) {
           case 0:
             x->val = c << 2;
@@ -1462,7 +1476,7 @@ unarmor_pump (UnarmorPump x, int c)
             x->state = STA_ready; /* not sure whether this is correct */
             break;
         }
-        
+
         switch(x->pos) {
           case 0:
             x->val = c << 2;
index cded773..5669e04 100644 (file)
@@ -1,6 +1,7 @@
 /* call-agent.c - Divert GPG operations to the agent.
  * Copyright (C) 2001, 2002, 2003, 2006, 2007,
  *               2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2014  Werner Koch
  *
  * This file is part of GnuPG.
  *
@@ -108,6 +109,95 @@ status_sc_op_failure (int rc)
 }
 
 
+static gpg_error_t
+membuf_data_cb (void *opaque, const void *buffer, size_t length)
+{
+  membuf_t *data = opaque;
+
+  if (buffer)
+    put_membuf (data, buffer, length);
+  return 0;
+}
+
+
+/* This is the default inquiry callback.  It mainly handles the
+   Pinentry notifications.  */
+static gpg_error_t
+default_inq_cb (void *opaque, const char *line)
+{
+  (void)opaque;
+
+  if (!strncmp (line, "PINENTRY_LAUNCHED", 17) && (line[17]==' '||!line[17]))
+    {
+      /* There is no working server mode yet thus we use
+         AllowSetForegroundWindow window right here.  We might want to
+         do this anyway in case gpg is called on the console. */
+      gnupg_allow_set_foregound_window ((pid_t)strtoul (line+17, NULL, 10));
+      /* We do not pass errors to avoid breaking other code.  */
+    }
+  else
+    log_debug ("ignoring gpg-agent inquiry `%s'\n", line);
+
+  return 0;
+}
+
+
+/* Check whether gnome-keyring hijacked the gpg-agent.  */
+static void
+check_hijacking (assuan_context_t ctx)
+{
+  membuf_t mb;
+  char *string;
+
+  init_membuf (&mb, 64);
+
+  /* AGENT_ID is a command implemented by gnome-keyring-daemon.  IT
+     does not reatun any data but an OK line with a remark.  */
+  if (assuan_transact (ctx, "AGENT_ID",
+                       membuf_data_cb, &mb, NULL, NULL, NULL, NULL))
+    {
+      xfree (get_membuf (&mb, NULL));
+      return; /* Error - Probably not hijacked.  */
+    }
+  put_membuf (&mb, "", 1);
+  string = get_membuf (&mb, NULL);
+  if (!string || !*string)
+    {
+      /* Definitely hijacked - show a warning prompt.  */
+      static int shown;
+      const char warn1[] =
+        "The GNOME keyring manager hijacked the GnuPG agent.";
+      const char warn2[] =
+        "GnuPG will not work properly - please configure that "
+        "tool to not interfere with the GnuPG system!";
+      log_info ("WARNING: %s\n", warn1);
+      log_info ("WARNING: %s\n", warn2);
+      /*                 (GPG_ERR_SOURCRE_GPG, GPG_ERR_NO_AGENT) */
+      write_status_text (STATUS_ERROR, "check_hijacking 33554509");
+      xfree (string);
+      string = strconcat (warn1, "\n\n", warn2, NULL);
+      if (string && !shown && !opt.batch)
+        {
+          /* NB: The Pinentry based prompt will only work if a
+             gnome-keyring manager passes invalid commands on to the
+             original gpg-agent.  */
+          char *cmd, *cmdargs;
+
+          cmdargs = percent_plus_escape (string);
+          cmd = strconcat ("GET_CONFIRMATION ", cmdargs, NULL);
+          xfree (cmdargs);
+          if (cmd)
+            {
+              assuan_transact (ctx, cmd, NULL, NULL,
+                               default_inq_cb, NULL,
+                               NULL, NULL);
+              xfree (cmd);
+              shown = 1;
+            }
+        }
+    }
+  xfree (string);
+}
 
 
 /* Try to connect to the agent via socket or fork it off and work by
@@ -138,6 +228,7 @@ start_agent (int for_card)
              agents.  */
           assuan_transact (agent_ctx, "OPTION allow-pinentry-notify",
                            NULL, NULL, NULL, NULL, NULL, NULL);
+          check_hijacking (agent_ctx);
         }
     }
 
@@ -278,29 +369,6 @@ get_serialno_cb (void *opaque, const char *line)
 }
 
 
-/* This is the default inquiry callback.  It mainly handles the
-   Pinentry notifications.  */
-static gpg_error_t
-default_inq_cb (void *opaque, const char *line)
-{
-  (void)opaque;
-
-  if (!strncmp (line, "PINENTRY_LAUNCHED", 17) && (line[17]==' '||!line[17]))
-    {
-      /* There is no working server mode yet thus we use
-         AllowSetForegroundWindow window right here.  We might want to
-         do this anyway in case gpg is called on the console. */
-      gnupg_allow_set_foregound_window ((pid_t)strtoul (line+17, NULL, 10));
-      /* We do not pass errors to avoid breaking other code.  */
-    }
-  else
-    log_debug ("ignoring gpg-agent inquiry `%s'\n", line);
-
-  return 0;
-}
-
-
-
 /* Release the card info structure INFO. */
 void
 agent_release_card_info (struct agent_card_info_s *info)
@@ -942,17 +1010,6 @@ select_openpgp (const char *serialno)
 
 
 \f
-static gpg_error_t
-membuf_data_cb (void *opaque, const void *buffer, size_t length)
-{
-  membuf_t *data = opaque;
-
-  if (buffer)
-    put_membuf (data, buffer, length);
-  return 0;
-}
-
-
 /* Helper returning a command option to describe the used hash
    algorithm.  See scd/command.c:cmd_pksign.  */
 static const char *
@@ -1034,7 +1091,7 @@ agent_scd_pksign (const char *serialno, int hashalgo,
 
 
 /* Decrypt INDATA of length INDATALEN using the card identified by
-   SERIALNO.  Return the plaintext in a nwly allocated buffer stored
+   SERIALNO.  Return the plaintext in a newly allocated buffer stored
    at the address of R_BUF.
 
    Note, we currently support only RSA or more exactly algorithms
@@ -1058,20 +1115,26 @@ agent_scd_pkdecrypt (const char *serialno,
     return rc;
 
   /* FIXME: use secure memory where appropriate */
-  if (indatalen*2 + 50 > DIM(line))
-    return gpg_error (GPG_ERR_GENERAL);
 
   rc = select_openpgp (serialno);
   if (rc)
     return rc;
 
-  sprintf (line, "SCD SETDATA ");
-  p = line + strlen (line);
-  for (i=0; i < indatalen ; i++, p += 2 )
-    sprintf (p, "%02X", indata[i]);
-  rc = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
-  if (rc)
-    return rc;
+  for (len = 0; len < indatalen;)
+    {
+      p = stpcpy (line, "SCD SETDATA ");
+      if (len)
+        p = stpcpy (p, "--append ");
+      for (i=0; len < indatalen && (i*2 < DIM(line)-50); i++, len++)
+        {
+          sprintf (p, "%02X", indata[len]);
+          p += 2;
+        }
+      rc = assuan_transact (agent_ctx, line,
+                            NULL, NULL, NULL, NULL, NULL, NULL);
+      if (rc)
+        return rc;
+    }
 
   init_membuf (&data, 1024);
   snprintf (line, DIM(line)-1, "SCD PKDECRYPT %s", serialno);
index 801de57..2198cb2 100644 (file)
@@ -86,7 +86,7 @@ change_pin (int unblock_v2, int allow_admin)
                   gpg_strerror (rc));
       return;
     }
-  
+
   log_info (_("OpenPGP card no. %s detected\n"),
               info.serialno? info.serialno : "[none]");
 
@@ -180,7 +180,7 @@ change_pin (int unblock_v2, int allow_admin)
            rc = agent_scd_change_pin (102, info.serialno);
             write_sc_op_status (rc);
            if (rc)
-             tty_printf ("Error setting the Reset Code: %s\n", 
+             tty_printf ("Error setting the Reset Code: %s\n",
                           gpg_strerror (rc));
            else
               tty_printf ("Reset Code set.\n");
@@ -205,6 +205,7 @@ get_manufacturer (unsigned int no)
     case 0x0003: return "OpenFortress";
     case 0x0004: return "Wewid AB";
     case 0x0005: return "ZeitControl";
+    case 0x0006: return "Yubico";
 
     case 0x002A: return "Magrathea";
 
@@ -382,7 +383,7 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
   else
     tty_fprintf (fp, "Application ID ...: %s\n",
                  info.serialno? info.serialno : "[none]");
-  if (!info.serialno || strncmp (info.serialno, "D27600012401", 12) 
+  if (!info.serialno || strncmp (info.serialno, "D27600012401", 12)
       || strlen (info.serialno) != 32 )
     {
       if (info.apptype && !strcmp (info.apptype, "NKS"))
@@ -424,7 +425,7 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
     ;
   else if (strlen (serialno)+1 > serialnobuflen)
     log_error ("serial number longer than expected\n");
-  else 
+  else
     strcpy (serialno, info.serialno);
 
   if (opt.with_colons)
@@ -437,7 +438,7 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
       uval = xtoi_2(info.serialno+16)*256 + xtoi_2 (info.serialno+18);
       fprintf (fp, "vendor:%04x:%s:\n", uval, get_manufacturer (uval));
       fprintf (fp, "serial:%.8s:\n", info.serialno+20);
-      
+
       print_isoname (fp, "Name of cardholder: ", "name", info.disp_name);
 
       fputs ("lang:", fp);
@@ -494,18 +495,18 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
                (unsigned long)info.fpr1time, (unsigned long)info.fpr2time,
                (unsigned long)info.fpr3time);
     }
-  else 
+  else
     {
       tty_fprintf (fp, "Version ..........: %.1s%c.%.1s%c\n",
                    info.serialno[12] == '0'?"":info.serialno+12,
                    info.serialno[13],
                    info.serialno[14] == '0'?"":info.serialno+14,
                    info.serialno[15]);
-      tty_fprintf (fp, "Manufacturer .....: %s\n", 
+      tty_fprintf (fp, "Manufacturer .....: %s\n",
                    get_manufacturer (xtoi_2(info.serialno+16)*256
                                      + xtoi_2 (info.serialno+18)));
       tty_fprintf (fp, "Serial number ....: %.8s\n", info.serialno+20);
-      
+
       print_isoname (fp, "Name of cardholder: ", "name", info.disp_name);
       print_name (fp, "Language prefs ...: ", info.disp_lang);
       tty_fprintf (fp,    "Sex ..............: %s\n",
@@ -568,13 +569,13 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
       if (info.fpr3valid && info.fpr3time)
         tty_fprintf (fp, "      created ....: %s\n",
                      isotimestamp (info.fpr3time));
-      tty_fprintf (fp, "General key info..: "); 
+      tty_fprintf (fp, "General key info..: ");
 
-      thefpr = (info.fpr1valid? info.fpr1 : info.fpr2valid? info.fpr2 : 
+      thefpr = (info.fpr1valid? info.fpr1 : info.fpr2valid? info.fpr2 :
                 info.fpr3valid? info.fpr3 : NULL);
       /* If the fingerprint is all 0xff, the key has no asssociated
          OpenPGP certificate.  */
-      if ( thefpr && !fpr_is_ff (thefpr) 
+      if ( thefpr && !fpr_is_ff (thefpr)
            && !get_pubkey_byfprint (pk, thefpr, 20))
         {
           KBNODE keyblock = NULL;
@@ -587,7 +588,7 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
             {
               release_kbnode (keyblock);
               keyblock = NULL;
-              
+
               if (!auto_create_card_key_stub (info.serialno,
                                               info.fpr1valid? info.fpr1:NULL,
                                               info.fpr2valid? info.fpr2:NULL,
@@ -603,7 +604,7 @@ card_status (FILE *fp, char *serialno, size_t serialnobuflen)
       else
         tty_fprintf (fp, "[none]\n");
     }
-      
+
   free_public_key (pk);
   agent_release_card_info (&info);
 }
@@ -632,7 +633,7 @@ get_one_name (const char *prompt1, const char *prompt2)
       else if (strchr (name, '<'))
         tty_printf (_("Error: The \"<\" character may not be used.\n"));
       else if (strstr (name, "  "))
-        tty_printf (_("Error: Double spaces are not allowed.\n"));    
+        tty_printf (_("Error: Double spaces are not allowed.\n"));
       else
         return name;
       xfree (name);
@@ -670,7 +671,7 @@ change_name (void)
   if (strlen (isoname) > 39 )
     {
       tty_printf (_("Error: Combined name too long "
-                    "(limit is %d characters).\n"), 39);    
+                    "(limit is %d characters).\n"), 39);
       xfree (isoname);
       return -1;
     }
@@ -699,7 +700,7 @@ change_url (void)
   if (strlen (url) > 254 )
     {
       tty_printf (_("Error: URL too long "
-                    "(limit is %d characters).\n"), 254);    
+                    "(limit is %d characters).\n"), 254);
       xfree (url);
       return -1;
     }
@@ -770,7 +771,7 @@ get_data_from_file (const char *fname, size_t maxlen, char **r_buffer)
   FILE *fp;
   char *data;
   int n;
-  
+
   *r_buffer = NULL;
 
   fp = fopen (fname, "rb");
@@ -787,7 +788,7 @@ get_data_from_file (const char *fname, size_t maxlen, char **r_buffer)
       tty_printf (_("can't open `%s': %s\n"), fname, strerror (errno));
       return -1;
     }
-          
+
   data = xtrymalloc (maxlen? maxlen:1);
   if (!data)
     {
@@ -818,7 +819,7 @@ static int
 put_data_to_file (const char *fname, const void *buffer, size_t length)
 {
   FILE *fp;
-  
+
   fp = fopen (fname, "wb");
 #if GNUPG_MAJOR_VERSION == 1
   if (fp && is_secured_file (fileno (fp)))
@@ -833,7 +834,7 @@ put_data_to_file (const char *fname, const void *buffer, size_t length)
       tty_printf (_("can't create `%s': %s\n"), fname, strerror (errno));
       return -1;
     }
-          
+
   if (length && fwrite (buffer, length, 1, fp) != 1)
     {
       tty_printf (_("error writing `%s': %s\n"), fname, strerror (errno));
@@ -874,7 +875,7 @@ change_login (const char *args)
   if (n > 254 )
     {
       tty_printf (_("Error: Login data too long "
-                    "(limit is %d characters).\n"), 254);    
+                    "(limit is %d characters).\n"), 254);
       xfree (data);
       return -1;
     }
@@ -893,7 +894,7 @@ change_private_do (const char *args, int nr)
   char do_name[] = "PRIVATE-DO-X";
   char *data;
   int n;
-  int rc; 
+  int rc;
 
   assert (nr >= 1 && nr <= 4);
   do_name[11] = '0' + nr;
@@ -920,7 +921,7 @@ change_private_do (const char *args, int nr)
   if (n > 254 )
     {
       tty_printf (_("Error: Private DO too long "
-                    "(limit is %d characters).\n"), 254);    
+                    "(limit is %d characters).\n"), 254);
       xfree (data);
       return -1;
     }
@@ -1053,13 +1054,13 @@ change_sex (void)
     str = "1";
   else if ((*data == 'F' || *data == 'f') && !data[1])
     str = "2";
-  else 
+  else
     {
       tty_printf (_("Error: invalid response.\n"));
       xfree (data);
       return -1;
     }
-     
+
   rc = agent_scd_setattr ("DISP-SEX", str, 1, NULL );
   if (rc)
     log_error ("error setting sex: %s\n", gpg_strerror (rc));
@@ -1147,7 +1148,7 @@ get_info_for_key_operation (struct agent_card_info_s *info)
 
   memset (info, 0, sizeof *info);
   rc = agent_scd_getattr ("SERIALNO", info);
-  if (rc || !info->serialno || strncmp (info->serialno, "D27600012401", 12) 
+  if (rc || !info->serialno || strncmp (info->serialno, "D27600012401", 12)
       || strlen (info->serialno) != 32 )
     {
       log_error (_("key operation not possible: %s\n"),
@@ -1172,7 +1173,7 @@ get_info_for_key_operation (struct agent_card_info_s *info)
 /* Helper for the key generation/edit functions.  */
 static int
 check_pin_for_key_operation (struct agent_card_info_s *info, int *forced_chv1)
-{     
+{
   int rc = 0;
 
   agent_clear_pin_cache (info->serialno);
@@ -1206,7 +1207,7 @@ check_pin_for_key_operation (struct agent_card_info_s *info, int *forced_chv1)
 }
 
 /* Helper for the key generation/edit functions.  */
-static void 
+static void
 restore_forced_chv1 (int *forced_chv1)
 {
   int rc;
@@ -1290,7 +1291,7 @@ ask_card_keysize (int keyno, unsigned int nbits)
 
   for (;;)
     {
-      prompt = xasprintf 
+      prompt = xasprintf
         (keyno == 0?
          _("What keysize do you want for the Signature key? (%u) "):
          keyno == 1?
@@ -1302,16 +1303,16 @@ ask_card_keysize (int keyno, unsigned int nbits)
       req_nbits = *answer? atoi (answer): nbits;
       xfree (prompt);
       xfree (answer);
-      
+
       if (req_nbits != nbits && (req_nbits % 32) )
         {
           req_nbits = ((req_nbits + 31) / 32) * 32;
           tty_printf (_("rounded up to %u bits\n"), req_nbits);
         }
-  
+
       if (req_nbits == nbits)
         return 0;  /* Use default.  */
-      
+
       if (req_nbits < min_nbits || req_nbits > max_nbits)
         {
           tty_printf (_("%s keysizes must be in the range %u-%u\n"),
@@ -1331,19 +1332,19 @@ ask_card_keysize (int keyno, unsigned int nbits)
 /* Change the size of key KEYNO (0..2) to NBITS and show an error
    message if that fails.  */
 static gpg_error_t
-do_change_keysize (int keyno, unsigned int nbits) 
+do_change_keysize (int keyno, unsigned int nbits)
 {
   gpg_error_t err;
   char args[100];
-  
+
   snprintf (args, sizeof args, "--force %d 1 %u", keyno+1, nbits);
   err = agent_scd_setattr ("KEY-ATTR", args, strlen (args), NULL);
   if (err)
-    log_error (_("error changing size of key %d to %u bits: %s\n"), 
+    log_error (_("error changing size of key %d to %u bits: %s\n"),
                keyno+1, nbits, gpg_strerror (err));
   return err;
 }
+
 
 static void
 generate_card_keys (void)
@@ -1422,7 +1423,7 @@ generate_card_keys (void)
       /* Note that INFO has not be synced.  However we will only use
          the serialnumber and thus it won't harm.  */
     }
-     
+
   generate_keypair (NULL, info.serialno, want_backup? opt.homedir:NULL);
 
  leave:
@@ -1452,7 +1453,7 @@ card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock)
   tty_printf (_("   (2) Encryption key\n"));
   tty_printf (_("   (3) Authentication key\n"));
 
-  for (;;) 
+  for (;;)
     {
       char *answer = cpr_get ("cardedit.genkeys.subkeytype",
                               _("Your selection? "));
@@ -1509,7 +1510,7 @@ card_generate_subkey (KBNODE pub_keyblock, KBNODE sec_keyblock)
    carry the serialno stuff instead of the actual secret key
    parameters.  USE is the usage for that key; 0 means any
    usage. */
-int 
+int
 card_store_subkey (KBNODE node, int use)
 {
   struct agent_card_info_s info;
@@ -1549,7 +1550,7 @@ card_store_subkey (KBNODE node, int use)
       goto leave;
     }
 
-  allow_keyno[0] = (!use || (use & (PUBKEY_USAGE_SIG)));
+  allow_keyno[0] = (!use || (use & (PUBKEY_USAGE_SIG|PUBKEY_USAGE_CERT)));
   allow_keyno[1] = (!use || (use & (PUBKEY_USAGE_ENC)));
   allow_keyno[2] = (!use || (use & (PUBKEY_USAGE_SIG|PUBKEY_USAGE_AUTH)));
 
@@ -1562,7 +1563,7 @@ card_store_subkey (KBNODE node, int use)
   if (allow_keyno[2])
     tty_printf (_("   (3) Authentication key\n"));
 
-  for (;;) 
+  for (;;)
     {
       char *answer = cpr_get ("cardedit.genkeys.storekeytype",
                               _("Your selection? "));
@@ -1576,7 +1577,7 @@ card_store_subkey (KBNODE node, int use)
       xfree(answer);
       if (keyno >= 1 && keyno <= 3 && allow_keyno[keyno-1])
         {
-          if (info.is_v2 && !info.extcap.aac 
+          if (info.is_v2 && !info.extcap.aac
               && info.key_attr[keyno-1].nbits != nbits)
             {
               tty_printf ("Key does not match the card's capability.\n");
@@ -1628,7 +1629,7 @@ card_store_subkey (KBNODE node, int use)
   if (copied_sk)
     {
       free_secret_key (copied_sk);
-      copied_sk = NULL; 
+      copied_sk = NULL;
     }
   sk = node->pkt->pkt.secret_key;
 
@@ -1703,7 +1704,7 @@ static struct
     { "privatedo", cmdPRIVATEDO, 0, NULL },
     { "readcert", cmdREADCERT, 0, NULL },
     { "writecert", cmdWRITECERT, 1, NULL },
-    { NULL, cmdINVCMD, 0, NULL } 
+    { NULL, cmdINVCMD, 0, NULL }
   };
 
 
@@ -1782,7 +1783,7 @@ card_edit (strlist_t commands)
       char *p;
       int i;
       int cmd_admin_only;
-      
+
       tty_printf("\n");
       if (redisplay )
         {
@@ -1834,7 +1835,7 @@ card_edit (strlist_t commands)
         cmd = cmdLIST; /* Default to the list command */
       else if (*answer == CONTROL_D)
         cmd = cmdQUIT;
-      else 
+      else
         {
           if ((p=strchr (answer,' ')))
             {
@@ -1849,7 +1850,7 @@ card_edit (strlist_t commands)
               while (spacep (arg_rest))
                 arg_rest++;
             }
-          
+
           for (i=0; cmds[i].name; i++ )
             if (!ascii_strcasecmp (answer, cmds[i].name ))
               break;
index f0dc577..10f0ebb 100644 (file)
@@ -61,12 +61,12 @@ write_header( cipher_filter_context_t *cfx, IOBUF a )
        ed.mdc_method = DIGEST_ALGO_SHA1;
        gcry_md_open (&cfx->mdc_hash, DIGEST_ALGO_SHA1, 0);
        if ( DBG_HASHING )
-           gcry_md_start_debug (cfx->mdc_hash, "creatmdc");
+           gcry_md_debug (cfx->mdc_hash, "creatmdc");
     }
 
     {
         char buf[20];
-        
+
         sprintf (buf, "%d %d", ed.mdc_method, cfx->dek->algo);
         write_status_text (STATUS_BEGIN_ENCRYPTION, buf);
     }
@@ -81,7 +81,7 @@ write_header( cipher_filter_context_t *cfx, IOBUF a )
     temp[nprefix] = temp[nprefix-2];
     temp[nprefix+1] = temp[nprefix-1];
     print_cipher_algo_note( cfx->dek->algo );
-    err = openpgp_cipher_open (&cfx->cipher_hd, 
+    err = openpgp_cipher_open (&cfx->cipher_hd,
                               cfx->dek->algo,
                               GCRY_CIPHER_MODE_CFB,
                               (GCRY_CIPHER_SECURE
index a91dd23..6e151bc 100644 (file)
@@ -161,7 +161,8 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
               IOBUF a, size_t *ret_len )
 {
     int zrc;
-    int rc=0;
+    int rc = 0;
+    int leave = 0;
     size_t n;
     int nread, count;
     int refill = !zs->avail_in;
@@ -179,13 +180,14 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
            nread = iobuf_read( a, zfx->inbuf + n, count );
            if( nread == -1 ) nread = 0;
            n += nread;
-           /* If we use the undocumented feature to suppress
-            * the zlib header, we have to give inflate an
-            * extra dummy byte to read */
-           if( nread < count && zfx->algo == 1 ) {
-               *(zfx->inbuf + n) = 0xFF; /* is it really needed ? */
-               zfx->algo1hack = 1;
+           /* Algo 1 has no zlib header which requires us to to give
+            * inflate an extra dummy byte to read. To be on the safe
+            * side we allow for up to 4 ff bytes.  */
+           if( nread < count && zfx->algo == 1 && zfx->algo1hack < 4) {
+               *(zfx->inbuf + n) = 0xFF;
+               zfx->algo1hack++;
                n++;
+                leave = 1;
            }
            zs->avail_in = n;
        }
@@ -205,7 +207,8 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs,
            else
                log_fatal("zlib inflate problem: rc=%d\n", zrc );
        }
-    } while( zs->avail_out && zrc != Z_STREAM_END && zrc != Z_BUF_ERROR );
+    } while (zs->avail_out && zrc != Z_STREAM_END && zrc != Z_BUF_ERROR
+             && !leave);
 
     *ret_len = zfx->outbufsize - zs->avail_out;
     if( DBG_FILTER )
index 1533ac6..0fc45b1 100644 (file)
--- a/g10/cpr.c
+++ b/g10/cpr.c
@@ -1,4 +1,4 @@
-/* status.c - Status message and command-fd interface 
+/* status.c - Status message and command-fd interface
  * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003,
  *               2004, 2005, 2006 Free Software Foundation, Inc.
  *
@@ -75,13 +75,13 @@ status_currently_allowed (int no)
      prompt the user. */
   switch (no)
     {
-    case STATUS_GET_BOOL:       
-    case STATUS_GET_LINE:       
-    case STATUS_GET_HIDDEN:     
-    case STATUS_GOT_IT:         
+    case STATUS_GET_BOOL:
+    case STATUS_GET_LINE:
+    case STATUS_GET_HIDDEN:
+    case STATUS_GOT_IT:
     case STATUS_IMPORTED:
-    case STATUS_IMPORT_OK:     
-    case STATUS_IMPORT_CHECK:  
+    case STATUS_IMPORT_OK:
+    case STATUS_IMPORT_CHECK:
     case STATUS_IMPORT_RES:
       return 1; /* Yes. */
     default:
@@ -102,7 +102,7 @@ set_status_fd ( int fd )
     if ( statusfp && statusfp != stdout && statusfp != stderr )
         fclose (statusfp);
     statusfp = NULL;
-    if ( fd == -1 ) 
+    if ( fd == -1 )
         return;
 
     if( fd == 1 )
@@ -132,28 +132,50 @@ write_status ( int no )
     write_status_text( no, NULL );
 }
 
+
+/* Write a status line with code NO followed by the string TEXT and
+   directly followed by the remaining strings up to a NULL. */
 void
-write_status_text ( int no, const char *text)
+write_status_strings (int no, const char *text, ...)
 {
-    if( !statusfp || !status_currently_allowed (no) )
-       return;  /* Not enabled or allowed. */
+  va_list arg_ptr;
+  const char *s;
 
-    fputs ( "[GNUPG:] ", statusfp );
-    fputs ( get_status_string (no), statusfp );
-    if( text ) {
-        putc ( ' ', statusfp );
-        for (; *text; text++) {
-            if (*text == '\n')
-                fputs ( "\\n", statusfp );
-            else if (*text == '\r')
-                fputs ( "\\r", statusfp );
-            else 
-                putc ( *(const byte *)text,  statusfp );
+  if (!statusfp || !status_currently_allowed (no) )
+    return;  /* Not enabled or allowed. */
+
+  fputs ("[GNUPG:] ", statusfp);
+  fputs (get_status_string (no), statusfp);
+  if ( text )
+    {
+      putc ( ' ', statusfp);
+      va_start (arg_ptr, text);
+      s = text;
+      do
+        {
+          for (; *s; s++)
+            {
+              if (*s == '\n')
+                fputs ("\\n", statusfp);
+              else if (*s == '\r')
+                fputs ("\\r", statusfp);
+              else
+                fputc (*(const byte *)s, statusfp);
+            }
         }
+      while ((s = va_arg (arg_ptr, const char*)));
+      va_end (arg_ptr);
     }
-    putc ('\n',statusfp);
-    if ( fflush (statusfp) && opt.exit_on_status_write_error )
-      g10_exit (0);
+  putc ('\n', statusfp);
+  if (fflush (statusfp) && opt.exit_on_status_write_error)
+    g10_exit (0);
+}
+
+
+void
+write_status_text (int no, const char *text)
+{
+  write_status_strings (no, text, NULL);
 }
 
 
@@ -163,7 +185,7 @@ write_status_error (const char *where, int errcode)
   if (!statusfp || !status_currently_allowed (STATUS_ERROR))
     return;  /* Not enabled or allowed. */
 
-  fprintf (statusfp, "[GNUPG:] %s %s %u\n", 
+  fprintf (statusfp, "[GNUPG:] %s %s %u\n",
            get_status_string (STATUS_ERROR), where, gpg_err_code (errcode));
   if (fflush (statusfp) && opt.exit_on_status_write_error)
     g10_exit (0);
@@ -187,7 +209,7 @@ write_status_text_and_buffer ( int no, const char *string,
 
     if( !statusfp || !status_currently_allowed (no) )
        return;  /* Not enabled or allowed. */
-    
+
     if (wrap == -1) {
         lower_limit--;
         wrap = 0;
@@ -212,8 +234,8 @@ write_status_text_and_buffer ( int no, const char *string,
             first = 0;
         }
         for (esc=0, s=buffer, n=len; n && !esc; s++, n-- ) {
-            if ( *s == '%' || *(const byte*)s <= lower_limit 
-                           || *(const byte*)s == 127 ) 
+            if ( *s == '%' || *(const byte*)s <= lower_limit
+                           || *(const byte*)s == 127 )
                 esc = 1;
             if ( wrap && ++count > wrap ) {
                 dowrap=1;
@@ -223,7 +245,7 @@ write_status_text_and_buffer ( int no, const char *string,
         if (esc) {
             s--; n++;
         }
-        if (s != buffer) 
+        if (s != buffer)
             fwrite (buffer, s-buffer, 1, statusfp );
         if ( esc ) {
             fprintf (statusfp, "%%%02X", *(const byte*)s );
@@ -257,7 +279,7 @@ write_status_begin_signing (gcry_md_hd_t md)
       char buf[100];
       size_t buflen;
       int i;
-      
+
       /* We use a hard coded list of possible algorithms.  Using other
          algorithms than specified by OpenPGP does not make sense
          anyway.  We do this out of performance reasons: Walking all
@@ -270,7 +292,7 @@ write_status_begin_signing (gcry_md_hd_t md)
         if (i < 4 || i > 7)
           if ( gcry_md_is_enabled (md, i) && buflen < DIM(buf) )
             {
-              snprintf (buf+buflen, DIM(buf) - buflen - 1, 
+              snprintf (buf+buflen, DIM(buf) - buflen - 1,
                         "%sH%d", buflen? " ":"",i);
               buflen += strlen (buf+buflen);
             }
@@ -302,7 +324,7 @@ myread(int fd, void *buf, size_t count)
             raise (SIGHUP); /* no more input data */
 #endif
         }
-    }    
+    }
     return rc;
 }
 
@@ -316,16 +338,16 @@ do_get_from_fd ( const char *keyword, int hidden, int getbool )
 {
   int i, len;
   char *string;
-  
+
   if (statusfp != stdout)
     fflush (stdout);
-  
+
   write_status_text (getbool? STATUS_GET_BOOL :
                      hidden? STATUS_GET_HIDDEN : STATUS_GET_LINE, keyword);
 
-  for (string = NULL, i = len = 200; ; i++ ) 
+  for (string = NULL, i = len = 200; ; i++ )
     {
-      if (i >= len-1 ) 
+      if (i >= len-1 )
         {
           char *save = string;
           len += 100;
@@ -338,7 +360,7 @@ do_get_from_fd ( const char *keyword, int hidden, int getbool )
       /* Fixme: why not use our read_line function here? */
       if ( myread( opt.command_fd, string+i, 1) != 1 || string[i] == '\n'  )
         break;
-      else if ( string[i] == CONTROL_D ) 
+      else if ( string[i] == CONTROL_D )
         {
           /* Found ETX - Cancel the line and return a sole ETX.  */
           string[0] = CONTROL_D;
index 3c4e0a2..88d0a69 100644 (file)
@@ -83,7 +83,7 @@ encode_seskey( DEK *dek, DEK **seskey, byte *enckey )
     /* The encrypted session key is prefixed with a one-octet algorithm id.  */
     buf[0] = (*seskey)->algo;
     memcpy( buf + 1, (*seskey)->key, (*seskey)->keylen );
-    
+
     /* We only pass already checked values to the following fucntion,
        thus we consider any failure as fatal.  */
     if (openpgp_cipher_open (&hd, dek->algo, GCRY_CIPHER_MODE_CFB, 1))
@@ -117,7 +117,7 @@ use_mdc(PK_LIST pk_list,int algo)
 
   if(select_mdc_from_pklist(pk_list))
     return 1;
-  
+
   /* The keys don't support MDC, so now we do a bit of a hack - if any
      of the AESes or TWOFISH are in the prefs, we assume that the user
      can handle a MDC.  This is valid for PGP 7, which can handle MDCs
@@ -178,7 +178,7 @@ encode_simple( const char *filename, int mode, int use_seskey )
     memset( &zfx, 0, sizeof zfx);
     memset( &tfx, 0, sizeof tfx);
     init_packet(&pkt);
-    
+
     /* prepare iobufs */
     inp = iobuf_open(filename);
     if (inp)
@@ -207,7 +207,7 @@ encode_simple( const char *filename, int mode, int use_seskey )
        it has no S2K salt. RFC1991 always uses simple S2K. */
     if ( RFC1991 && use_seskey )
         use_seskey = 0;
-    
+
     cfx.dek = NULL;
     if( mode ) {
         int canceled;
@@ -254,7 +254,7 @@ encode_simple( const char *filename, int mode, int use_seskey )
       {
         if (opt.verbose)
           log_info(_("`%s' already compressed\n"), filename);
-        do_compress = 0;        
+        do_compress = 0;
       }
 
     if( rc || (rc = open_outfile( filename, opt.armor? 1:0, &out )) ) {
@@ -563,7 +563,7 @@ encode_crypt( const char *filename, strlist_t remusr, int use_symkey )
 
       cfx.dek->algo = opt.def_cipher_algo;
     }
-    
+
     cfx.dek->use_mdc=use_mdc(pk_list,cfx.dek->algo);
 
     /* Only do the is-file-already-compressed check if we are using a
@@ -575,7 +575,7 @@ encode_crypt( const char *filename, strlist_t remusr, int use_symkey )
       {
         if (opt.verbose)
           log_info(_("`%s' already compressed\n"), filename);
-        do_compress = 0;        
+        do_compress = 0;
       }
     if (rc2)
       {
@@ -846,7 +846,7 @@ write_pubkey_enc_from_list( PK_LIST pk_list, DEK *dek, IOBUF out )
            if( opt.verbose ) {
                char *ustr = get_user_id_string_native (enc->keyid);
                log_info(_("%s/%s encrypted for: \"%s\"\n"),
-                         gcry_pk_algo_name (enc->pubkey_algo),
+                         openpgp_pk_algo_name (enc->pubkey_algo),
                          openpgp_cipher_algo_name (dek->algo),
                          ustr );
                xfree(ustr);
@@ -874,9 +874,9 @@ encode_crypt_files(int nfiles, char **files, strlist_t remusr)
   if (opt.outfile)
     {
       log_error(_("--output doesn't work for this command\n"));
-      return;        
+      return;
     }
-    
+
   if (!nfiles)
     {
       char line[2048];
index 602ae55..c5c3c19 100644 (file)
@@ -104,6 +104,23 @@ decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
     write_status_text (STATUS_DECRYPTION_INFO, buf);
   }
 
+  if (opt.show_session_key)
+    {
+      char numbuf[25];
+      char *hexbuf;
+
+      snprintf (numbuf, sizeof numbuf, "%d:", dek->algo);
+      hexbuf = bin2hex (dek->key, dek->keylen, NULL);
+      if (!hexbuf)
+        {
+          rc = gpg_error_from_syserror ();
+          goto leave;
+        }
+      log_info ("session key: '%s%s'\n", numbuf, hexbuf);
+      write_status_strings (STATUS_SESSION_KEY, numbuf, hexbuf, NULL);
+      xfree (hexbuf);
+    }
+
   rc = openpgp_cipher_test_algo (dek->algo);
   if (rc)
     goto leave;
@@ -119,7 +136,7 @@ decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
       if (gcry_md_open (&dfx->mdc_hash, ed->mdc_method, 0 ))
         BUG ();
       if ( DBG_HASHING )
-        gcry_md_start_debug (dfx->mdc_hash, "checkmdc");
+        gcry_md_debug (dfx->mdc_hash, "checkmdc");
     }
 
   rc = openpgp_cipher_open (&dfx->cipher_hd, dek->algo,
@@ -223,14 +240,10 @@ decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
       gcry_md_write (dfx->mdc_hash, dfx->defer, 2);
       gcry_md_final (dfx->mdc_hash);
 
-      if (dfx->defer[0] != '\xd3' || dfx->defer[1] != '\x14' )
-        {
-          log_error("mdc_packet with invalid encoding\n");
-          rc = gpg_error (GPG_ERR_INV_PACKET);
-        }
-      else if (datalen != 20
-               || memcmp (gcry_md_read (dfx->mdc_hash, 0),
-                          dfx->defer+2,datalen ))
+      if (   dfx->defer[0] != '\xd3'
+          || dfx->defer[1] != '\x14'
+          || datalen != 20
+          || memcmp (gcry_md_read (dfx->mdc_hash, 0), dfx->defer+2, datalen))
         rc = gpg_error (GPG_ERR_BAD_SIGNATURE);
       /* log_printhex("MDC message:", dfx->defer, 22); */
       /* log_printhex("MDC calc:", gcry_md_read (dfx->mdc_hash,0), datalen); */
index 6ab2479..331c5ec 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-/* 
+/*
    FIXME: We should replace most code in this module by our
    spawn implementation from common/exechelp.c.
  */
 #include <sys/wait.h>
 #endif
 #ifdef HAVE_DOSISH_SYSTEM
-#include <windows.h>
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>
 #endif
 #include <fcntl.h>
 #include <unistd.h>
@@ -50,7 +53,7 @@
 #include "exec.h"
 
 #ifdef NO_EXEC
-int 
+int
 exec_write(struct exec_info **info,const char *program,
               const char *args_in,const char *name,int writeonly,int binary)
 {
@@ -71,7 +74,7 @@ set_exec_path(const char *path) { return G10ERR_GENERAL; }
 /* This is a nicer system() for windows that waits for programs to
    return before returning control to the caller.  I hate helpful
    computers. */
-static int 
+static int
 w32_system(const char *command)
 {
   PROCESS_INFORMATION pi;
@@ -103,7 +106,7 @@ w32_system(const char *command)
 #endif
 
 /* Replaces current $PATH */
-int 
+int
 set_exec_path(const char *path)
 {
   char *p;
@@ -126,7 +129,7 @@ set_exec_path(const char *path)
 }
 
 /* Makes a temp directory and filenames */
-static int 
+static int
 make_tempdir(struct exec_info *info)
 {
   char *tmp=opt.temp_dir,*namein=info->name,*nameout;
@@ -208,7 +211,7 @@ make_tempdir(struct exec_info *info)
 
 /* Expands %i and %o in the args to the full temp files within the
    temp directory. */
-static int 
+static int
 expand_args(struct exec_info *info,const char *args_in)
 {
   const char *ch = args_in;
@@ -297,7 +300,7 @@ expand_args(struct exec_info *info,const char *args_in)
    If there are args, but no tempfiles, then it's a fork/exec/pipe via
    shell -c.  If there are tempfiles, then it's a system. */
 
-int 
+int
 exec_write(struct exec_info **info,const char *program,
            const char *args_in,const char *name,int writeonly,int binary)
 {
@@ -599,7 +602,7 @@ exec_finish(struct exec_info *info)
            log_info(_("WARNING: unable to remove tempfile (%s) `%s': %s\n"),
                     "in",info->tempfile_in,strerror(errno));
        }
-  
+
       if(info->tempfile_out)
        {
          if(unlink(info->tempfile_out)==-1)
index 54843cf..c0184c2 100644 (file)
@@ -197,7 +197,7 @@ get_primary_uid ( KBNODE keyblock, size_t *uidlen )
             *uidlen = k->pkt->pkt.user_id->len;
             return k->pkt->pkt.user_id->name;
         }
-    } 
+    }
     s = user_id_not_found_utf8 ();
     *uidlen = strlen (s);
     return s;
@@ -305,7 +305,7 @@ pk_from_block ( GETKEY_CTX ctx, PKT_public_key *pk, KBNODE keyblock )
 
     assert ( a->pkt->pkttype == PKT_PUBLIC_KEY
              ||  a->pkt->pkttype == PKT_PUBLIC_SUBKEY );
-     
+
     copy_public_key ( pk, a->pkt->pkt.public_key );
 }
 
@@ -317,7 +317,7 @@ sk_from_block ( GETKEY_CTX ctx,
 
     assert ( a->pkt->pkttype == PKT_SECRET_KEY
              ||  a->pkt->pkttype == PKT_SECRET_SUBKEY );
-     
+
     copy_secret_key( sk, a->pkt->pkt.secret_key);
 }
 
@@ -402,7 +402,7 @@ get_pubkey_fast (PKT_public_key *pk, u32 *keyid)
   KEYDB_HANDLE hd;
   KBNODE keyblock;
   u32 pkid[2];
-  
+
   assert (pk);
 #if MAX_PK_CACHE_ENTRIES
   { /* Try to get it from the cache */
@@ -429,7 +429,7 @@ get_pubkey_fast (PKT_public_key *pk, u32 *keyid)
     }
   rc = keydb_get_keyblock (hd, &keyblock);
   keydb_release (hd);
-  if (rc) 
+  if (rc)
     {
       log_error ("keydb_get_keyblock failed: %s\n", g10_errstr(rc));
       return G10ERR_NO_PUBKEY;
@@ -563,8 +563,8 @@ seckey_available( u32 *keyid )
  *   must be in the range 0..9), this is considered a fingerprint.
  * - If the username starts with a left angle, we assume it is a complete
  *   email address and look only at this part.
- * - If the username starts with a colon we assume it is a unified 
- *   key specfification. 
+ * - If the username starts with a colon we assume it is a unified
+ *   key specfification.
  * - If the username starts with a '.', we assume it is the ending
  *   part of an email address
  * - If the username starts with an '@', we assume it is a part of an
@@ -586,7 +586,7 @@ classify_user_id( const char *name, KEYDB_SEARCH_DESC *desc )
     const char *s;
     int hexprefix = 0;
     int hexlength;
-    int mode = 0;   
+    int mode = 0;
     KEYDB_SEARCH_DESC dummy_desc;
 
     if (!desc)
@@ -645,12 +645,12 @@ classify_user_id( const char *name, KEYDB_SEARCH_DESC *desc )
 
        case '#':  /* local user id */
             return 0; /* This is now obsolete and can't not be used anymore*/
-        
+
         case ':': /*Unified fingerprint */
-            {  
+            {
                 const char *se, *si;
                 int i;
-                
+
                 se = strchr( ++s,':');
                 if ( !se )
                     return 0;
@@ -660,15 +660,15 @@ classify_user_id( const char *name, KEYDB_SEARCH_DESC *desc )
                 }
                 if (i != 32 && i != 40)
                     return 0; /* invalid length of fpr*/
-                for (i=0,si=s; si < se; i++, si +=2) 
+                for (i=0,si=s; si < se; i++, si +=2)
                     desc->u.fpr[i] = hextobyte(si);
                 for ( ; i < 20; i++)
                     desc->u.fpr[i]= 0;
                 s = se + 1;
                 mode = KEYDB_SEARCH_MODE_FPR;
-            } 
+            }
             break;
-           
+
        case '&':  /* keygrip */
           return 0; /* Not yet implememted. */
 
@@ -721,7 +721,7 @@ classify_user_id( const char *name, KEYDB_SEARCH_DESC *desc )
                int i;
                if (hexlength == 33)
                    s++;
-                memset(desc->u.fpr+16, 0, 4); 
+                memset(desc->u.fpr+16, 0, 4);
                 for (i=0; i < 16; i++, s+=2) {
                     int c = hextobyte(s);
                     if (c == -1)
@@ -764,7 +764,7 @@ skip_unusable (void *dummy, u32 *keyid, PKT_user_id *uid)
 {
   int unusable=0;
   KBNODE keyblock;
-  
+
   (void)dummy;
 
   keyblock=get_pubkeyblock(keyid);
@@ -823,7 +823,7 @@ key_byname( GETKEY_CTX *retctx, strlist_t namelist,
     strlist_t r;
     GETKEY_CTX ctx;
     KBNODE help_kb = NULL;
-    
+
     if( retctx ) {/* reset the returned context in case of error */
         assert (!ret_kdbhd);  /* not allowed because the handle is
                                  stored in the context */
@@ -852,7 +852,7 @@ key_byname( GETKEY_CTX *retctx, strlist_t namelist,
        for(n=0, r=namelist; r; r = r->next, n++ )
          {
            classify_user_id (r->d, &ctx->items[n]);
-        
+
            if (ctx->items[n].exact)
              ctx->exact = 1;
            if (!ctx->items[n].mode)
@@ -871,7 +871,7 @@ key_byname( GETKEY_CTX *retctx, strlist_t namelist,
       }
 
     ctx->kr_handle = keydb_new (secmode);
-    if ( !ret_kb ) 
+    if ( !ret_kb )
         ret_kb = &help_kb;
 
     if( secmode ) {
@@ -922,7 +922,7 @@ key_byname( GETKEY_CTX *retctx, strlist_t namelist,
 int
 get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
                   const char *name, KBNODE *ret_keyblock,
-                   KEYDB_HANDLE *ret_kdbhd, int include_unusable, 
+                   KEYDB_HANDLE *ret_kdbhd, int include_unusable,
                    int no_akl)
 {
   int rc;
@@ -939,7 +939,7 @@ get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
 
   /* Check whether we the default local search has been disabled.
      This is the case if either the "nodefault" or the "local" keyword
-     are in the list of auto key locate mechanisms. 
+     are in the list of auto key locate mechanisms.
 
      ANYLOCALFIRST is set if the search order has the local method
      before any other or if "local" is used first by default.  This
@@ -989,7 +989,7 @@ get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
           int did_key_byname = 0;
           int no_fingerprint = 0;
           const char *mechanism = "?";
-          
+
           switch(akl->type)
            {
             case AKL_NODEFAULT:
@@ -1064,7 +1064,7 @@ get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
              }
              break;
            }
-          
+
          /* Use the fingerprint of the key that we actually fetched.
             This helps prevent problems where the key that we fetched
             doesn't have the same name that we used to fetch it.  In
@@ -1082,7 +1082,7 @@ get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
              namelist=NULL;
 
               bin2hex (fpr, fpr_len, fpr_string);
-              
+
              if(opt.verbose)
                log_info("auto-key-locate found fingerprint %s\n",fpr_string);
 
@@ -1112,16 +1112,16 @@ get_pubkey_byname (GETKEY_CTX *retctx, PKT_public_key *pk,
               /* Key found.  */
               log_info (_("automatically retrieved `%s' via %s\n"),
                         name, mechanism);
-              break;  
+              break;
             }
           if (rc != G10ERR_NO_PUBKEY || opt.verbose || no_fingerprint)
             log_info (_("error retrieving `%s' via %s: %s\n"),
-                      name, mechanism, 
+                      name, mechanism,
                       no_fingerprint? _("No fingerprint"):g10_errstr(rc));
        }
     }
 
-  
+
   if (rc && retctx)
     {
       get_pubkey_end (*retctx);
@@ -1154,7 +1154,7 @@ get_pubkey_next( GETKEY_CTX ctx, PKT_public_key *pk, KBNODE *ret_keyblock )
     rc = lookup( ctx, ret_keyblock, 0 );
     if ( !rc && pk && ret_keyblock )
         pk_from_block ( ctx, pk, *ret_keyblock );
-    
+
     return rc;
 }
 
@@ -1175,7 +1175,7 @@ get_pubkey_end( GETKEY_CTX ctx )
  * Search for a key with the given fingerprint.
  * FIXME:
  * We should replace this with the _byname function.  Thiscsan be done
- * by creating a userID conforming to the unified fingerprint style. 
+ * by creating a userID conforming to the unified fingerprint style.
  */
 int
 get_pubkey_byfprint( PKT_public_key *pk,
@@ -1221,10 +1221,10 @@ get_pubkey_byfprint_fast (PKT_public_key *pk,
   KBNODE keyblock;
   byte fprbuf[MAX_FINGERPRINT_LEN];
   int i;
-  
+
   for (i=0; i < MAX_FINGERPRINT_LEN && i < fprint_len; i++)
     fprbuf[i] = fprint[i];
-  while (i < MAX_FINGERPRINT_LEN) 
+  while (i < MAX_FINGERPRINT_LEN)
     fprbuf[i++] = 0;
 
   hd = keydb_new (0);
@@ -1236,12 +1236,12 @@ get_pubkey_byfprint_fast (PKT_public_key *pk,
     }
   rc = keydb_get_keyblock (hd, &keyblock);
   keydb_release (hd);
-  if (rc) 
+  if (rc)
     {
       log_error ("keydb_get_keyblock failed: %s\n", g10_errstr(rc));
       return G10ERR_NO_PUBKEY;
     }
-  
+
   assert ( keyblock->pkt->pkttype == PKT_PUBLIC_KEY
            ||  keyblock->pkt->pkttype == PKT_PUBLIC_SUBKEY );
   if (pk)
@@ -1317,7 +1317,7 @@ get_seckey_byname2( GETKEY_CTX *retctx,
   return rc;
 }
 
-int 
+int
 get_seckey_byname( PKT_secret_key *sk, const char *name, int unlock )
 {
     return get_seckey_byname2 ( NULL, sk, name, unlock, NULL );
@@ -1356,7 +1356,7 @@ get_seckey_end( GETKEY_CTX ctx )
  * Search for a key with the given fingerprint.
  * FIXME:
  * We should replace this with the _byname function.  Thiscsan be done
- * by creating a userID conforming to the unified fingerprint style. 
+ * by creating a userID conforming to the unified fingerprint style.
  */
 int
 get_seckey_byfprint( PKT_secret_key *sk,
@@ -1396,10 +1396,10 @@ get_seckeyblock_byfprint (KBNODE *ret_keyblock, const byte *fprint,
 {
   int rc;
   struct getkey_ctx_s ctx;
-  
+
   if (fprint_len != 20 && fprint_len == 16)
     return G10ERR_GENERAL; /* Oops */
-    
+
   memset (&ctx, 0, sizeof ctx);
   ctx.not_allocated = 1;
   ctx.kr_handle = keydb_new (1);
@@ -1410,7 +1410,7 @@ get_seckeyblock_byfprint (KBNODE *ret_keyblock, const byte *fprint,
   memcpy (ctx.items[0].u.fpr, fprint, fprint_len);
   rc = lookup (&ctx, ret_keyblock, 1);
   get_seckey_end (&ctx);
-  
+
   return rc;
 }
 
@@ -1553,13 +1553,19 @@ parse_key_usage(PKT_signature *sig)
 
       if(flags)
        key_usage |= PUBKEY_USAGE_UNKNOWN;
+
+      if (!key_usage)
+       key_usage |= PUBKEY_USAGE_NONE;
     }
+  else if (p) /* Key flags of length zero.  */
+    key_usage |= PUBKEY_USAGE_NONE;
 
   /* We set PUBKEY_USAGE_UNKNOWN to indicate that this key has a
      capability that we do not handle.  This serves to distinguish
      between a zero key usage which we handle as the default
      capabilities for that algorithm, and a usage that we do not
-     handle. */
+     handle.  Likewise we use PUBKEY_USAGE_NONE to indicate that
+     key_flags have been given but they do not specify any usage.  */
 
   return key_usage;
 }
@@ -1584,7 +1590,7 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
 
     sig->flags.chosen_selfsig = 1; /* we chose this one */
     uid->created = 0; /* not created == invalid */
-    if ( IS_UID_REV ( sig ) ) 
+    if ( IS_UID_REV ( sig ) )
       {
         uid->is_revoked = 1;
         return; /* has been revoked */
@@ -1626,7 +1632,7 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
     /* We could also query this from the unhashed area if it is not in
      * the hased area and then later try to decide which is the better
      * there should be no security problem with this.
-     * For now we only look at the hashed one. 
+     * For now we only look at the hashed one.
      */
 
     /* Now build the preferences list.  These must come from the
@@ -1638,7 +1644,7 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
     hash = p; nhash = p?n:0;
     p = parse_sig_subpkt ( sig->hashed, SIGSUBPKT_PREF_COMPR, &n );
     zip = p; nzip = p?n:0;
-    if (uid->prefs) 
+    if (uid->prefs)
         xfree (uid->prefs);
     n = nsym + nhash + nzip;
     if (!n)
@@ -1733,7 +1739,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
     for(k=keyblock; k && k->pkt->pkttype != PKT_USER_ID; k = k->next ) {
         if ( k->pkt->pkttype == PKT_SIGNATURE ) {
             PKT_signature *sig = k->pkt->pkt.signature;
-            if ( sig->keyid[0] == kid[0] && sig->keyid[1]==kid[1] ) { 
+            if ( sig->keyid[0] == kid[0] && sig->keyid[1]==kid[1] ) {
                if ( check_key_signature( keyblock, k, NULL ) )
                     ; /* signature did not verify */
                 else if ( IS_KEY_REV (sig) ){
@@ -1743,9 +1749,9 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
                      * here because we have to assume that an attacker can
                      * generate all kinds of signatures.  However due to the
                      * fact that the key has been revoked it does not harm
-                     * either and by continuing we gather some more info on 
+                     * either and by continuing we gather some more info on
                      * that key.
-                     */ 
+                     */
                     *r_revoked = 1;
                    sig_to_revoke_info(sig,rinfo);
                 }
@@ -1833,7 +1839,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
            key_expire_seen = 1;
          }
 
-        /* mark that key as valid: one direct key signature should 
+        /* mark that key as valid: one direct key signature should
          * render a key as valid */
         pk->is_valid = 1;
       }
@@ -1852,7 +1858,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
 
              if(IS_KEY_REV(sig) &&
                 (sig->keyid[0]!=kid[0] || sig->keyid[1]!=kid[1]))
-               { 
+               {
                  int rc=check_revocation_keys(pk,sig);
                  if(rc==0)
                    {
@@ -1882,7 +1888,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
     sigdate = 0; /* helper to find the latest signature in one user ID */
     for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY; k = k->next ) {
        if ( k->pkt->pkttype == PKT_USER_ID ) {
-            if ( uidnode && signode ) 
+            if ( uidnode && signode )
              {
                 fixup_uidnode ( uidnode, signode, keytimestamp );
                pk->is_valid=1;
@@ -1893,7 +1899,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
        }
         else if ( k->pkt->pkttype == PKT_SIGNATURE && uidnode ) {
             PKT_signature *sig = k->pkt->pkt.signature;
-            if ( sig->keyid[0] == kid[0] && sig->keyid[1]==kid[1] ) { 
+            if ( sig->keyid[0] == kid[0] && sig->keyid[1]==kid[1] ) {
                 if ( check_key_signature( keyblock, k, NULL ) )
                     ; /* signature did not verify */
                 else if ( (IS_UID_SIG (sig) || IS_UID_REV (sig))
@@ -1988,7 +1994,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
     /* Now that we had a look at all user IDs we can now get some information
      * from those user IDs.
      */
-    
+
     if ( !key_usage ) {
         /* find the latest user ID with key flags set */
         uiddate = 0; /* helper to find the latest user ID */
@@ -2009,17 +2015,17 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
     else { /* check that the usage matches the usage as given by the algo */
         int x = openpgp_pk_algo_usage ( pk->pubkey_algo );
         if ( x ) /* mask it down to the actual allowed usage */
-            key_usage &= x; 
+            key_usage &= x;
     }
 
     /* Whatever happens, it's a primary key, so it can certify. */
     pk->pubkey_usage = key_usage|PUBKEY_USAGE_CERT;
 
     if ( !key_expire_seen ) {
-        /* find the latest valid user ID with a key expiration set 
+        /* find the latest valid user ID with a key expiration set
          * Note, that this may be a different one from the above because
          * some user IDs may have no expiration date set */
-        uiddate = 0; 
+        uiddate = 0;
         for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY;
             k = k->next ) {
             if ( k->pkt->pkttype == PKT_USER_ID ) {
@@ -2090,7 +2096,7 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo)
             if ( k->pkt->pkttype == PKT_USER_ID &&
                 !k->pkt->pkt.user_id->attrib_data) {
                 PKT_user_id *uid = k->pkt->pkt.user_id;
-                if ( k != uidnode ) 
+                if ( k != uidnode )
                     uid->is_primary = 0;
             }
         }
@@ -2194,7 +2200,7 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
                                                         k = k->next ) {
         if ( k->pkt->pkttype == PKT_SIGNATURE ) {
             sig = k->pkt->pkt.signature;
-            if ( sig->keyid[0] == mainkid[0] && sig->keyid[1]==mainkid[1] ) { 
+            if ( sig->keyid[0] == mainkid[0] && sig->keyid[1]==mainkid[1] ) {
                if ( check_key_signature( keyblock, k, NULL ) )
                     ; /* signature did not verify */
                 else if ( IS_SUBKEY_REV (sig) ) {
@@ -2208,7 +2214,7 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
                      does this the same way.  */
                     subpk->is_revoked = 1;
                    sig_to_revoke_info(sig,&subpk->revoked);
-                    /* although we could stop now, we continue to 
+                    /* although we could stop now, we continue to
                      * figure out other information like the old expiration
                      * time */
                 }
@@ -2245,11 +2251,11 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
        /* check that the usage matches the usage as given by the algo */
         int x = openpgp_pk_algo_usage ( subpk->pubkey_algo );
         if ( x ) /* mask it down to the actual allowed usage */
-         key_usage &= x; 
+         key_usage &= x;
       }
 
     subpk->pubkey_usage = key_usage;
-    
+
     p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_KEY_EXPIRE, NULL);
     if ( p && buffer_to_u32(p) )
         key_expire = keytimestamp + buffer_to_u32(p);
@@ -2338,7 +2344,7 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
 }
 
 
-/* 
+/*
  * Merge information from the self-signatures with the key, so that
  * we can later use them more easy.
  * The function works by first applying the self signatures to the
@@ -2348,7 +2354,7 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
  * We check all self signatures or validity and ignore all invalid signatures.
  * All signatures are then ordered by their creation date ....
  * For the primary key:
- *   FIXME the docs    
+ *   FIXME the docs
  */
 static void
 merge_selfsigs( KBNODE keyblock )
@@ -2409,7 +2415,7 @@ merge_selfsigs( KBNODE keyblock )
      * which user ID the key has been selected.
      * fixme: we should keep atoms of commonly used preferences or
      * use reference counting to optimize the preference lists storage.
-     * FIXME: it might be better to use the intersection of 
+     * FIXME: it might be better to use the intersection of
      * all preferences.
      * Do a similar thing for the MDC feature flag.
      */
@@ -2423,7 +2429,7 @@ merge_selfsigs( KBNODE keyblock )
             mdc_feature = k->pkt->pkt.user_id->flags.mdc;
             break;
         }
-    }    
+    }
     for(k=keyblock; k; k = k->next ) {
         if ( k->pkt->pkttype == PKT_PUBLIC_KEY
              || k->pkt->pkttype == PKT_PUBLIC_SUBKEY ) {
@@ -2451,7 +2457,7 @@ merge_public_with_secret ( KBNODE pubblock, KBNODE secblock )
 
     assert ( pubblock->pkt->pkttype == PKT_PUBLIC_KEY );
     assert ( secblock->pkt->pkttype == PKT_SECRET_KEY );
-    
+
     for (pub=pubblock; pub; pub = pub->next ) {
         if ( pub->pkt->pkttype == PKT_PUBLIC_KEY ) {
              PKT_public_key *pk = pub->pkt->pkt.public_key;
@@ -2483,7 +2489,7 @@ merge_public_with_secret ( KBNODE pubblock, KBNODE secblock )
                     }
                 }
             }
-            if ( !sec ) 
+            if ( !sec )
                 BUG(); /* already checked in premerge */
         }
     }
@@ -2502,7 +2508,7 @@ premerge_public_with_secret ( KBNODE pubblock, KBNODE secblock )
 
     assert ( pubblock->pkt->pkttype == PKT_PUBLIC_KEY );
     assert ( secblock->pkt->pkttype == PKT_SECRET_KEY );
-    
+
     for (pub=pubblock,last=NULL; pub; last = pub, pub = pub->next ) {
         pub->flag &= ~3; /* reset bits 0 and 1 */
         if ( pub->pkt->pkttype == PKT_PUBLIC_SUBKEY ) {
@@ -2531,14 +2537,14 @@ premerge_public_with_secret ( KBNODE pubblock, KBNODE secblock )
 
                 if (opt.verbose)
                   log_info (_("no secret subkey"
-                             " for public subkey %s - ignoring\n"),  
+                             " for public subkey %s - ignoring\n"),
                            keystr_from_pk (pk));
                 /* we have to remove the subkey in this case */
                 assert ( last );
                 /* find the next subkey */
                 for (next=pub->next,ll=pub;
                      next && next->pkt->pkttype != PKT_PUBLIC_SUBKEY;
-                     ll = next, next = next->next ) 
+                     ll = next, next = next->next )
                     ;
                 /* make new link */
                 last->next = next;
@@ -2608,7 +2614,7 @@ finish_lookup (GETKEY_CTX ctx)
     u32 curtime = make_timestamp ();
 
     assert( keyblock->pkt->pkttype == PKT_PUBLIC_KEY );
-   
+
     ctx->found_key = NULL;
 
     if (ctx->exact) {
@@ -2639,7 +2645,7 @@ finish_lookup (GETKEY_CTX ctx)
         latest_key = foundk? foundk:keyblock;
         goto found;
     }
-    
+
     latest_date = 0;
     latest_key  = NULL;
     /* do not look at subkeys if a certification key is requested */
@@ -2677,7 +2683,7 @@ finish_lookup (GETKEY_CTX ctx)
                     log_debug( "\tsubkey not yet valid\n");
                 continue;
             }
-            
+
             if ( !((pk->pubkey_usage&USAGE_MASK) & req_usage) ) {
                 if (DBG_CACHE)
                     log_debug( "\tusage does not match: want=%x have=%x\n",
@@ -2699,7 +2705,7 @@ finish_lookup (GETKEY_CTX ctx)
         }
     }
 
-    /* Okay now try the primary key unless we want an exact 
+    /* Okay now try the primary key unless we want an exact
      * key ID match on a subkey */
     if ((!latest_key && !(ctx->exact && foundk != keyblock)) || req_prim) {
         PKT_public_key *pk;
@@ -2731,7 +2737,7 @@ finish_lookup (GETKEY_CTX ctx)
             latest_date = pk->timestamp;
         }
     }
-    
+
     if ( !latest_key ) {
         if (DBG_CACHE)
             log_debug("\tno suitable key found -  giving up\n");
@@ -2748,8 +2754,8 @@ finish_lookup (GETKEY_CTX ctx)
         if (pk->user_id)
             free_user_id (pk->user_id);
         pk->user_id = scopy_user_id (foundu);
-    }    
-        
+    }
+
     ctx->found_key = latest_key;
 
     if (latest_key != keyblock && opt.verbose)
@@ -2762,7 +2768,7 @@ finish_lookup (GETKEY_CTX ctx)
       }
 
     cache_user_id( keyblock );
-    
+
     return 1; /* found */
 }
 
@@ -2773,7 +2779,7 @@ lookup( GETKEY_CTX ctx, KBNODE *ret_keyblock, int secmode )
     int rc;
     KBNODE secblock = NULL; /* helper */
     int no_suitable_key = 0;
-    
+
     rc = 0;
     while (!(rc = keydb_search (ctx->kr_handle, ctx->items, ctx->nitems))) {
         /* If we are searching for the first key we have to make sure
@@ -2788,13 +2794,13 @@ lookup( GETKEY_CTX ctx, KBNODE *ret_keyblock, int secmode )
             rc = 0;
             goto skip;
         }
-                       
+
         if ( secmode ) {
-            /* find the correspondig public key and use this 
+            /* find the correspondig public key and use this
              * this one for the selection process */
             u32 aki[2];
             KBNODE k = ctx->keyblock;
-            
+
             if (k->pkt->pkttype != PKT_SECRET_KEY)
                 BUG();
 
@@ -2829,7 +2835,7 @@ lookup( GETKEY_CTX ctx, KBNODE *ret_keyblock, int secmode )
         }
         else
             no_suitable_key = 1;
-        
+
       skip:
         /* release resources and continue search */
         if ( secmode ) {
@@ -2868,8 +2874,8 @@ lookup( GETKEY_CTX ctx, KBNODE *ret_keyblock, int secmode )
 
 
 /****************
- * FIXME: Replace by the generic function 
- *        It does not work as it is right now - it is used at 
+ * FIXME: Replace by the generic function
+ *        It does not work as it is right now - it is used at
  *        2 places:  a) to get the key for an anonyous recipient
  *                   b) to get the ultimately trusted keys.
  *        The a) usage might have some problems.
@@ -2935,7 +2941,7 @@ enum_secret_keys( void **context, PKT_secret_key *sk,
         }
         release_kbnode (c->keyblock);
         c->keyblock = c->node = NULL;
-        
+
         rc = c->first? keydb_search_first (c->hd) : keydb_search_next (c->hd);
         c->first = 0;
         if (rc) {
@@ -2943,7 +2949,7 @@ enum_secret_keys( void **context, PKT_secret_key *sk,
             c->eof = 1;
             return -1; /* eof */
         }
-        
+
         rc = keydb_get_keyblock (c->hd, &c->keyblock);
         c->node = c->keyblock;
     } while (!rc);
@@ -3029,27 +3035,35 @@ get_long_user_id_string( u32 *keyid )
 char*
 get_user_id( u32 *keyid, size_t *rn )
 {
-    user_id_db_t r;
-    char *p;
-    int pass=0;
+  user_id_db_t r;
+  char *p;
+  int pass = 0;
 
-    /* try it two times; second pass reads from key resources */
-    do {
-       for(r=user_id_db; r; r = r->next ) {
-            keyid_list_t a;
-            for (a=r->keyids; a; a= a->next ) {
-                if( a->keyid[0] == keyid[0] && a->keyid[1] == keyid[1] ) {
-                    p = xmalloc( r->len );
-                    memcpy(p, r->name, r->len );
-                    *rn = r->len;
-                    return p;
-                }
-            }
-        }
-    } while( ++pass < 2 && !get_pubkey( NULL, keyid ) );
-    p = xstrdup( user_id_not_found_utf8 () );
-    *rn = strlen(p);
-    return p;
+  /* Try it two times; second pass reads from key resources.  */
+  do
+    {
+      for (r = user_id_db; r; r = r->next)
+       {
+         keyid_list_t a;
+         for (a = r->keyids; a; a = a->next)
+           {
+             if (a->keyid[0] == keyid[0] && a->keyid[1] == keyid[1])
+               {
+                  /* An empty string as user id is possible.  Make
+                     sure that the malloc allocates one byte and does
+                     not bail out.  */
+                 p = xmalloc (r->len? r->len : 1);
+                 memcpy (p, r->name, r->len);
+                 *rn = r->len;
+                 return p;
+               }
+           }
+       }
+    }
+  while (++pass < 2 && !get_pubkey (NULL, keyid));
+  p = xstrdup (user_id_not_found_utf8 ());
+  *rn = strlen (p);
+  return p;
 }
 
 char*
diff --git a/g10/gpg-w32info.rc b/g10/gpg-w32info.rc
new file mode 100644 (file)
index 0000000..8caf221
--- /dev/null
@@ -0,0 +1,50 @@
+/* gpg-w32info.rc                                             -*- c -*-
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "afxres.h"
+#include "../common/w32info-rc.h"
+
+1 ICON "../common/gnupg.ico"
+
+1 VERSIONINFO
+  FILEVERSION    W32INFO_VI_FILEVERSION
+  PRODUCTVERSION W32INFO_VI_PRODUCTVERSION
+  FILEFLAGSMASK  0x3fL
+#ifdef _DEBUG
+  FILEFLAGS      0x01L    /* VS_FF_DEBUG (0x1)*/
+#else
+  FILEFLAGS      0x00L
+#endif
+  FILEOS         0x40004L /* VOS_NT (0x40000) | VOS__WINDOWS32 (0x4)  */
+  FILETYPE       0x1L     /* VFT_APP (0x1)  */
+  FILESUBTYPE    0x0L     /* VFT2_UNKNOWN   */
+  BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"  /* US English (0409), Unicode (04b0) */
+        BEGIN
+            VALUE "FileDescription", L"GnuPG\x2019s OpenPGP tool\0"
+            VALUE "InternalName", "gpg\0"
+            VALUE "OriginalFilename", "gpg.exe\0"
+            VALUE "ProductName",    W32INFO_PRODUCTNAME
+            VALUE "ProductVersion", W32INFO_PRODUCTVERSION
+            VALUE "CompanyName", W32INFO_COMPANYNAME
+            VALUE "FileVersion", W32INFO_FILEVERSION
+            VALUE "LegalCopyright", W32INFO_LEGALCOPYRIGHT
+            VALUE "Comments",    W32INFO_COMMENTS
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+      VALUE "Translation", 0x409, 0x4b0
+    END
+  END
index 7e648fb..1a8e6e7 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
 #endif
 #include <fcntl.h>
 #ifdef HAVE_W32_SYSTEM
-#include <windows.h>
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>
 #endif
 
 #define INCLUDED_BY_MAIN_MODULE 1
@@ -40,6 +43,7 @@
 #include "packet.h"
 #include "../common/iobuf.h"
 #include "util.h"
+#include "membuf.h"
 #include "main.h"
 #include "options.h"
 #include "keydb.h"
@@ -272,7 +276,7 @@ enum cmd_and_opt_values
     oS2KDigest,
     oS2KCipher,
     oS2KCount,
-    oSimpleSKChecksum,                          
+    oSimpleSKChecksum,
     oDisplayCharset,
     oNotDashEscaped,
     oEscapeFrom,
@@ -301,7 +305,7 @@ enum cmd_and_opt_values
     oNoAllowNonSelfsignedUID,
     oAllowFreeformUID,
     oNoAllowFreeformUID,
-    oAllowSecretKeyImport,                      
+    oAllowSecretKeyImport,
     oEnableSpecialFilenames,
     oNoLiteral,
     oSetFilesize,
@@ -363,6 +367,7 @@ enum cmd_and_opt_values
     oDisableDSA2,
     oAllowMultipleMessages,
     oNoAllowMultipleMessages,
+    oAllowWeakDigestAlgos,
 
     oNoop
   };
@@ -391,7 +396,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_c (aListSecretKeys, "list-secret-keys", N_("list secret keys")),
   ARGPARSE_c (aKeygen,    "gen-key",  N_("generate a new key pair")),
   ARGPARSE_c (aGenRevoke, "gen-revoke",N_("generate a revocation certificate")),
-  ARGPARSE_c (aDeleteKeys,"delete-keys", 
+  ARGPARSE_c (aDeleteKeys,"delete-keys",
               N_("remove keys from the public keyring")),
   ARGPARSE_c (aDeleteSecretKeys, "delete-secret-keys",
               N_("remove keys from the secret keyring")),
@@ -404,9 +409,9 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_c (aExport, "export"           , N_("export keys") ),
   ARGPARSE_c (aSendKeys, "send-keys"     , N_("export keys to a key server") ),
   ARGPARSE_c (aRecvKeys, "recv-keys"     , N_("import keys from a key server") ),
-  ARGPARSE_c (aSearchKeys, "search-keys" , 
+  ARGPARSE_c (aSearchKeys, "search-keys" ,
               N_("search for keys on a key server") ),
-  ARGPARSE_c (aRefreshKeys, "refresh-keys", 
+  ARGPARSE_c (aRefreshKeys, "refresh-keys",
               N_("update all keys from a keyserver")),
   ARGPARSE_c (aLocateKeys, "locate-keys", "@"),
   ARGPARSE_c (aFetchKeys, "fetch-keys" , "@" ),
@@ -595,7 +600,7 @@ static ARGPARSE_OPTS opts[] = {
   /* More hidden commands and options. */
   ARGPARSE_c (aPrintMDs, "print-mds", "@"), /* old */
   ARGPARSE_c (aListTrustDB, "list-trustdb", "@"),
-  /* Not yet used: 
+  /* Not yet used:
      ARGPARSE_c (aListTrustPath, "list-trust-path", "@"), */
   ARGPARSE_c (aDeleteSecretAndPublicKeys,
               "delete-secret-and-public-keys", "@"),
@@ -619,8 +624,8 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_n (oNoArmor, "no-armour", "@"),
   ARGPARSE_s_n (oNoDefKeyring, "no-default-keyring", "@"),
   ARGPARSE_s_n (oNoGreeting, "no-greeting", "@"),
-  ARGPARSE_s_n (oNoOptions, "no-options", "@"), 
-  ARGPARSE_s_s (oHomedir, "homedir", "@"), 
+  ARGPARSE_s_n (oNoOptions, "no-options", "@"),
+  ARGPARSE_s_s (oHomedir, "homedir", "@"),
   ARGPARSE_s_n (oNoBatch, "no-batch", "@"),
   ARGPARSE_s_n (oWithColons, "with-colons", "@"),
   ARGPARSE_s_n (oWithKeyData,"with-key-data", "@"),
@@ -731,13 +736,14 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_s (oKeyidFormat, "keyid-format", "@"),
   ARGPARSE_s_n (oExitOnStatusWriteError, "exit-on-status-write-error", "@"),
   ARGPARSE_s_i (oLimitCardInsertTries, "limit-card-insert-tries", "@"),
-  
-  ARGPARSE_s_n (oAllowMultisigVerification, 
+
+  ARGPARSE_s_n (oAllowMultisigVerification,
                 "allow-multisig-verification", "@"),
   ARGPARSE_s_n (oEnableDSA2, "enable-dsa2", "@"),
   ARGPARSE_s_n (oDisableDSA2, "disable-dsa2", "@"),
   ARGPARSE_s_n (oAllowMultipleMessages,      "allow-multiple-messages", "@"),
   ARGPARSE_s_n (oNoAllowMultipleMessages, "no-allow-multiple-messages", "@"),
+  ARGPARSE_s_n (oAllowWeakDigestAlgos, "allow-weak-digest-algos", "@"),
 
   /* These two are aliases to help users of the PGP command line
      product use gpg with minimal pain.  Many commands are common
@@ -787,7 +793,7 @@ make_libversion (const char *libname, const char *(*getfnc)(const char*))
 {
   const char *s;
   char *result;
-  
+
   if (maybe_setuid)
     {
       gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
@@ -837,8 +843,8 @@ my_strusage( int level )
        break;
       case 41: p =
            _("Syntax: gpg [options] [files]\n"
-             "sign, check, encrypt or decrypt\n"
-             "default operation depends on the input data\n");
+             "Sign, check, encrypt or decrypt\n"
+             "Default operation depends on the input data\n");
        break;
 
       case 31: p = "\nHome: "; break;
@@ -850,21 +856,21 @@ my_strusage( int level )
       case 33: p = _("\nSupported algorithms:\n"); break;
       case 34:
        if (!pubkeys)
-            pubkeys = build_list (_("Pubkey: "), 0,
-                                  gcry_pk_algo_name,
+            pubkeys = build_list (_("Pubkey: "), 'P',
+                                  openpgp_pk_algo_name,
                                   openpgp_pk_test_algo );
        p = pubkeys;
        break;
       case 35:
        if( !ciphers )
-           ciphers = build_list(_("Cipher: "), 'S', 
+           ciphers = build_list(_("Cipher: "), 'S',
                                  openpgp_cipher_algo_name,
                                  openpgp_cipher_test_algo );
        p = ciphers;
        break;
       case 36:
        if( !digests )
-           digests = build_list(_("Hash: "), 'H', 
+           digests = build_list(_("Hash: "), 'H',
                                  gcry_md_algo_name,
                                  openpgp_md_test_algo );
        p = digests;
@@ -884,57 +890,56 @@ my_strusage( int level )
 
 
 static char *
-build_listconst char *text, char letter,
-           const char * (*mapf)(int), int (*chkf)(int) )
+build_list (const char *text, char letter,
+           const char * (*mapf)(int), int (*chkf)(int))
 {
-    int i;
-    const char *s;
-    size_t n=strlen(text)+2;
-    char *list, *p, *line=NULL;
-
-    if (maybe_setuid)
-      gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
+  membuf_t mb;
+  int indent;
+  int i, j, len;
+  const char *s;
+  char *string;
 
-    for(i=0; i <= 110; i++ )
-       if( !chkf(i) && (s=mapf(i)) )
-           n += strlen(s) + 7 + 2;
-    list = xmalloc( 21 + n ); *list = 0;
-    for(p=NULL, i=0; i <= 110; i++ ) {
-       if( !chkf(i) && (s=mapf(i)) ) {
-           if( !p ) {
-               p = stpcpy( list, text );
-               line=p;
-           }
-           else
-               p = stpcpy( p, ", ");
+  if (maybe_setuid)
+    gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
 
-           if(strlen(line)>60) {
-             int spaces=strlen(text);
+  indent = utf8_charcount (text);
+  len = 0;
+  init_membuf (&mb, 512);
 
-             list=xrealloc(list,n+spaces+1);
-             /* realloc could move the block, so find the end again */
-             p=list;
-             while(*p)
-               p++;
+  for (i=0; i <= 110; i++ )
+    {
+      if (letter == 'P' && i == 19 )
+        continue; /* No need to print a second "ECC" string.  */
 
-             p=stpcpy(p, "\n");
-             line=p;
-             for(;spaces;spaces--)
-               p=stpcpy(p, " ");
+      if (!chkf (i) && (s = mapf (i)))
+        {
+          if (mb.len - len > 60)
+            {
+              put_membuf_str (&mb, ",\n");
+              len = mb.len;
+              for (j=0; j < indent; j++)
+                put_membuf_str (&mb, " ");
            }
+          else if (mb.len)
+            put_membuf_str (&mb, ", ");
+          else
+            put_membuf_str (&mb, text);
 
-           p = stpcpy(p, s );
-           if(opt.verbose && letter)
-             {
-               char num[8];
-               sprintf(num," (%c%d)",letter,i);
-               p = stpcpy(p,num);
-             }
+          put_membuf_str (&mb, s);
+          if (opt.verbose && letter && letter != 'P')
+            {
+              char num[20];
+              snprintf (num, sizeof num, " (%c%d)", letter, i);
+              put_membuf_str (&mb, num);
+            }
        }
     }
-    if( p )
-       p = stpcpy(p, "\n" );
-    return list;
+  if (mb.len)
+    put_membuf_str (&mb, "\n");
+  put_membuf (&mb, "", 1);
+
+  string = get_membuf (&mb, NULL);
+  return xrealloc (string, strlen (string)+1);
 }
 
 
@@ -964,7 +969,7 @@ static void
 set_opt_session_env (const char *name, const char *value)
 {
   gpg_error_t err;
-  
+
   err = session_env_setenv (opt.session_env, name, value);
   if (err)
     log_fatal ("error setting session environment: %s\n",
@@ -998,7 +1003,7 @@ set_debug (const char *level)
       /* Unless the "guru" string has been used we don't want to allow
          hashing debugging.  The rationale is that people tend to
          select the highest debug value and would then clutter their
-         disk with debug files which may reveal confidential data.  */ 
+         disk with debug files which may reveal confidential data.  */
       if (numok)
         opt.debug &= ~(DBG_HASHING_VALUE);
     }
@@ -1022,17 +1027,17 @@ set_debug (const char *level)
 
   if (opt.debug)
     log_info ("enabled debug flags:%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
-              (opt.debug & DBG_PACKET_VALUE )? " packet":"",    
-              (opt.debug & DBG_MPI_VALUE    )? " mpi":"",    
-              (opt.debug & DBG_CIPHER_VALUE )? " cipher":"",    
-              (opt.debug & DBG_FILTER_VALUE )? " filter":"", 
-              (opt.debug & DBG_IOBUF_VALUE  )? " iobuf":"", 
-              (opt.debug & DBG_MEMORY_VALUE )? " memory":"", 
-              (opt.debug & DBG_CACHE_VALUE  )? " cache":"", 
-              (opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"", 
-              (opt.debug & DBG_TRUST_VALUE  )? " trust":"", 
-              (opt.debug & DBG_HASHING_VALUE)? " hashing":"", 
-              (opt.debug & DBG_EXTPROG_VALUE)? " extprog":"", 
+              (opt.debug & DBG_PACKET_VALUE )? " packet":"",
+              (opt.debug & DBG_MPI_VALUE    )? " mpi":"",
+              (opt.debug & DBG_CIPHER_VALUE )? " cipher":"",
+              (opt.debug & DBG_FILTER_VALUE )? " filter":"",
+              (opt.debug & DBG_IOBUF_VALUE  )? " iobuf":"",
+              (opt.debug & DBG_MEMORY_VALUE )? " memory":"",
+              (opt.debug & DBG_CACHE_VALUE  )? " cache":"",
+              (opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"",
+              (opt.debug & DBG_TRUST_VALUE  )? " trust":"",
+              (opt.debug & DBG_HASHING_VALUE)? " hashing":"",
+              (opt.debug & DBG_EXTPROG_VALUE)? " extprog":"",
               (opt.debug & DBG_CARD_IO_VALUE)? " cardio":"",
               (opt.debug & DBG_ASSUAN_VALUE )? " assuan":"");
 }
@@ -1095,7 +1100,7 @@ open_info_file (const char *fname, int for_write, int binary)
   (void)for_write;
   (void)binary;
   return -1;
-#else 
+#else
   int fd;
 
   if (binary)
@@ -1121,7 +1126,7 @@ open_info_file (const char *fname, int for_write, int binary)
   if ( fd == -1)
     log_error ( for_write? _("can't create `%s': %s\n")
                          : _("can't open `%s': %s\n"), fname, strerror(errno));
-  
+
   return fd;
 #endif
 }
@@ -1562,7 +1567,7 @@ list_config(char *items)
          printf("\n");
          any=1;
        }
-      
+
       if(show_all || ascii_strcasecmp(name,"compress")==0)
        {
          printf("cfg:compress:");
@@ -1827,7 +1832,7 @@ get_default_configname (void)
       if (configname)
        {
          char *tok;
-         
+
          xfree (configname);
          configname = NULL;
 
@@ -1838,13 +1843,13 @@ get_default_configname (void)
          else
            break;
        }
-      
+
       configname = make_filename (opt.homedir, name, NULL);
     }
   while (access (configname, R_OK));
 
   xfree(name);
-  
+
   if (! configname)
     configname = make_filename (opt.homedir, "gpg" EXTSEP_S "conf", NULL);
   if (! access (configname, R_OK))
@@ -1997,6 +2002,10 @@ main (int argc, char **argv)
     opt.def_cert_expire="0";
     set_homedir ( default_homedir () );
     opt.passphrase_repeat=1;
+    opt.emit_version = 1; /* Limit to the major number.  */
+
+    opt.list_options   |= LIST_SHOW_UID_VALIDITY;
+    opt.verify_options |= LIST_SHOW_UID_VALIDITY;
 
     /* Check whether we have a config file on the command line.  */
     orig_argc = argc;
@@ -2051,7 +2060,7 @@ main (int argc, char **argv)
 
     /* Initialize the secure memory. */
     if (!gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0))
-      got_secmem = 1; 
+      got_secmem = 1;
 #if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
     /* There should be no way to get to this spot while still carrying
        setuid privs.  Just in case, bomb out if we are. */
@@ -2068,7 +2077,7 @@ main (int argc, char **argv)
     malloc_hooks.free = gcry_free;
     assuan_set_malloc_hooks (&malloc_hooks);
     assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT);
+
 
     /* Try for a version specific config file first */
     default_configname = get_default_configname ();
@@ -2128,55 +2137,55 @@ main (int argc, char **argv)
       {
        switch( pargs.r_opt )
          {
-         case aCheckKeys: 
+         case aCheckKeys:
          case aListConfig:
           case aGPGConfList:
           case aGPGConfTest:
          case aListPackets:
-         case aImport: 
-         case aFastImport: 
-         case aSendKeys: 
-         case aRecvKeys: 
+         case aImport:
+         case aFastImport:
+         case aSendKeys:
+         case aRecvKeys:
          case aSearchKeys:
          case aRefreshKeys:
          case aFetchKeys:
-         case aExport: 
+         case aExport:
 #ifdef ENABLE_CARD_SUPPORT
           case aCardStatus:
-          case aCardEdit: 
+          case aCardEdit:
           case aChangePIN:
 #endif /* ENABLE_CARD_SUPPORT*/
-         case aListKeys: 
+         case aListKeys:
          case aLocateKeys:
-         case aListSigs: 
-         case aExportSecret: 
-         case aExportSecretSub: 
+         case aListSigs:
+         case aExportSecret:
+         case aExportSecretSub:
          case aSym:
-         case aClearsign: 
-         case aGenRevoke: 
-         case aDesigRevoke: 
-         case aPrimegen: 
+         case aClearsign:
+         case aGenRevoke:
+         case aDesigRevoke:
+         case aPrimegen:
          case aGenRandom:
          case aPrintMD:
-         case aPrintMDs: 
-         case aListTrustDB: 
+         case aPrintMDs:
+         case aListTrustDB:
          case aCheckTrustDB:
-         case aUpdateTrustDB: 
-         case aFixTrustDB: 
-         case aListTrustPath: 
-         case aDeArmor: 
-         case aEnArmor: 
-         case aSign: 
-         case aSignKey: 
+         case aUpdateTrustDB:
+         case aFixTrustDB:
+         case aListTrustPath:
+         case aDeArmor:
+         case aEnArmor:
+         case aSign:
+         case aSignKey:
          case aLSignKey:
-         case aStore: 
-         case aExportOwnerTrust: 
-         case aImportOwnerTrust: 
+         case aStore:
+         case aExportOwnerTrust:
+         case aImportOwnerTrust:
           case aRebuildKeydbCaches:
             set_cmd (&cmd, pargs.r_opt);
             break;
 
-         case aKeygen: 
+         case aKeygen:
          case aEditKey:
          case aDeleteSecretKeys:
          case aDeleteSecretAndPublicKeys:
@@ -2226,7 +2235,7 @@ main (int argc, char **argv)
           case oNoUseAgent:
            obsolete_option (configname, configlineno, "--no-use-agent");
             break;
-         case oGpgAgentInfo: 
+         case oGpgAgentInfo:
            obsolete_option (configname, configlineno, "--gpg-agent-info");
             break;
 
@@ -2289,16 +2298,16 @@ main (int argc, char **argv)
          case oNoArmor: opt.no_armor=1; opt.armor=0; break;
          case oNoDefKeyring: default_keyring = 0; break;
          case oNoGreeting: nogreeting = 1; break;
-         case oNoVerbose: 
+         case oNoVerbose:
             opt.verbose = 0;
             gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
             opt.list_sigs=0;
             break;
-          case oQuickRandom: 
+          case oQuickRandom:
             gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0);
             break;
-         case oEmitVersion: opt.no_version=0; break;
-         case oNoEmitVersion: opt.no_version=1; break;
+         case oEmitVersion: opt.emit_version++; break;
+         case oNoEmitVersion: opt.emit_version=0; break;
          case oCompletesNeeded: opt.completes_needed = pargs.r.ret_int; break;
          case oMarginalsNeeded: opt.marginals_needed = pargs.r.ret_int; break;
          case oMaxCertDepth: opt.max_cert_depth = pargs.r.ret_int; break;
@@ -2324,12 +2333,12 @@ main (int argc, char **argv)
          case oWithColons: opt.with_colons=':'; break;
 
           case oWithSigCheck: opt.check_sigs = 1; /*FALLTHRU*/
-          case oWithSigList: opt.list_sigs = 1; break;  
+          case oWithSigList: opt.list_sigs = 1; break;
 
          case oSkipVerify: opt.skip_verify=1; break;
 
-         case oSkipHiddenRecipients: 
-         case oNoSkipHiddenRecipients: 
+         case oSkipHiddenRecipients:
+         case oNoSkipHiddenRecipients:
             /* Dummies for options to be used in 2.1.  */
             break;
 
@@ -2577,7 +2586,7 @@ main (int argc, char **argv)
          case oCommandFile:
             opt.command_fd = open_info_file (pargs.r.ret_str, 0, 1);
             break;
-         case oCipherAlgo: 
+         case oCipherAlgo:
             def_cipher_string = xstrdup(pargs.r.ret_str);
             break;
          case oDigestAlgo:
@@ -2607,12 +2616,12 @@ main (int argc, char **argv)
                compress_algo_string = xstrdup(pargs.r.ret_str);
            }
            break;
-         case oCertDigestAlgo: 
+         case oCertDigestAlgo:
             cert_digest_string = xstrdup(pargs.r.ret_str);
             break;
 
-         case oNoSecmemWarn: 
-            gcry_control (GCRYCTL_DISABLE_SECMEM_WARN); 
+         case oNoSecmemWarn:
+            gcry_control (GCRYCTL_DISABLE_SECMEM_WARN);
             break;
 
          case oRequireSecmem: require_secmem=1; break;
@@ -2885,8 +2894,8 @@ main (int argc, char **argv)
              }
            break;
 
-         case oStrict: 
-         case oNoStrict: 
+         case oStrict:
+         case oNoStrict:
            /* Not used */
             break;
 
@@ -2911,8 +2920,8 @@ main (int argc, char **argv)
             opt.exit_on_status_write_error = 1;
             break;
 
-         case oLimitCardInsertTries: 
-            opt.limit_card_insert_tries = pargs.r.ret_int; 
+         case oLimitCardInsertTries:
+            opt.limit_card_insert_tries = pargs.r.ret_int;
             break;
 
          case oRequireCrossCert: opt.flags.require_cross_cert=1; break;
@@ -2944,9 +2953,13 @@ main (int argc, char **argv)
            opt.flags.allow_multiple_messages=0;
            break;
 
+          case oAllowWeakDigestAlgos:
+            opt.flags.allow_weak_digest_algos = 1;
+            break;
+
          case oNoop: break;
 
-         default: 
+         default:
             pargs.err = configfp? ARGPARSE_PRINT_WARNING:ARGPARSE_PRINT_ERROR;
             break;
          }
@@ -3126,6 +3139,7 @@ main (int argc, char **argv)
            opt.pgp2_workarounds = 1;
            opt.ask_sig_expire = 0;
            opt.ask_cert_expire = 0;
+            opt.flags.allow_weak_digest_algos = 1;
            xfree(def_digest_string);
            def_digest_string = xstrdup("md5");
            xfree(s2k_digest_string);
@@ -3353,12 +3367,12 @@ main (int argc, char **argv)
        avoid adding the secret keyring for a couple of commands to
        avoid unneeded access in case the secrings are stored on a
        floppy.
-       
+
        We always need to add the keyrings if we are running under
        SELinux, this is so that the rings are added to the list of
        secured files. */
-    if( ALWAYS_ADD_KEYRINGS 
-        || (cmd != aDeArmor && cmd != aEnArmor && cmd != aGPGConfTest) ) 
+    if( ALWAYS_ADD_KEYRINGS
+        || (cmd != aDeArmor && cmd != aEnArmor && cmd != aGPGConfTest) )
       {
         if (ALWAYS_ADD_KEYRINGS
             || (cmd != aCheckKeys && cmd != aListSigs && cmd != aListKeys
@@ -3389,7 +3403,8 @@ main (int argc, char **argv)
     if(fname && utf8_strings)
       opt.flags.utf8_filename=1;
 
-    switch( cmd ) {
+    switch (cmd)
+      {
       case aPrimegen:
       case aPrintMD:
       case aPrintMDs:
@@ -3398,21 +3413,29 @@ main (int argc, char **argv)
       case aEnArmor:
        break;
       case aFixTrustDB:
-      case aExportOwnerTrust: rc = setup_trustdb( 0, trustdb_name ); break;
-      case aListTrustDB: rc = setup_trustdb( argc? 1:0, trustdb_name ); break;
-      default: rc = setup_trustdb(1, trustdb_name ); break;
-    }
-    if( rc )
-       log_error(_("failed to initialize the TrustDB: %s\n"), g10_errstr(rc));
+      case aExportOwnerTrust:
+        rc = setup_trustdb (0, trustdb_name);
+        break;
+      case aListTrustDB:
+        rc = setup_trustdb (argc? 1:0, trustdb_name);
+        break;
+      default:
+        /* If we are using TM_ALWAYS, we do not need to create the
+           trustdb.  */
+        rc = setup_trustdb (opt.trust_model != TM_ALWAYS, trustdb_name);
+        break;
+      }
+    if (rc)
+      log_error (_("failed to initialize the TrustDB: %s\n"), g10_errstr(rc));
 
 
     switch (cmd)
       {
-      case aStore: 
-      case aSym:  
-      case aSign: 
-      case aSignSym: 
-      case aClearsign: 
+      case aStore:
+      case aSym:
+      case aSign:
+      case aSignSym:
+      case aClearsign:
         if (!opt.quiet && any_explicit_recipient)
           log_info (_("WARNING: recipients (-r) given "
                       "without using public key encryption\n"));
@@ -3582,7 +3605,7 @@ main (int argc, char **argv)
              log_error("decrypt_message failed: %s\n", g10_errstr(rc) );
          }
        break;
-            
+
       case aSignKey:
        if( argc != 1 )
          wrong_args(_("--sign-key user-id"));
@@ -3954,7 +3977,7 @@ main (int argc, char **argv)
            wrong_args("--import-ownertrust [file]");
        import_ownertrust( argc? *argv:NULL );
        break;
-      
+
       case aRebuildKeydbCaches:
         if (argc)
             wrong_args ("--rebuild-keydb-caches");
@@ -4067,7 +4090,7 @@ g10_exit( int rc )
     gcry_control (GCRYCTL_DUMP_SECMEM_STATS );
 
   emergency_cleanup ();
-  
+
   rc = rc? rc : log_get_errorcount(0)? 2 : g10_errors_seen? 1 : 0;
   exit (rc);
 }
@@ -4161,12 +4184,12 @@ print_hashline( gcry_md_hd_t md, int algo, const char *fname )
 {
     int i, n;
     const byte *p;
-    
+
     if ( fname ) {
         for (p = fname; *p; p++ ) {
             if ( *p <= 32 || *p > 127 || *p == ':' || *p == '%' )
                 printf("%%%02X", *p );
-            else 
+            else
                 putchar( *p );
         }
     }
@@ -4174,7 +4197,7 @@ print_hashline( gcry_md_hd_t md, int algo, const char *fname )
     printf("%d:", algo );
     p = gcry_md_read (md, algo);
     n = gcry_md_get_algo_dlen (algo);
-    for(i=0; i < n ; i++, p++ ) 
+    for(i=0; i < n ; i++, p++ )
         printf("%02X", *p );
     putchar(':');
     putchar('\n');
@@ -4232,7 +4255,7 @@ print_mds( const char *fname, int algo )
     else {
        gcry_md_final (md);
         if ( opt.with_colons ) {
-            if ( algo ) 
+            if ( algo )
                 print_hashline( md, algo, fname );
             else {
                 print_hashline( md, GCRY_MD_MD5, fname );
@@ -4331,7 +4354,7 @@ add_policy_url( const char *string, int which )
     sl=add_to_strlist( &opt.sig_policy_url, string );
 
   if(critical)
-    sl->flags |= 1;    
+    sl->flags |= 1;
 }
 
 static void
@@ -4364,5 +4387,5 @@ add_keyserver_url( const char *string, int which )
     sl=add_to_strlist( &opt.sig_keyserver_url, string );
 
   if(critical)
-    sl->flags |= 1;    
+    sl->flags |= 1;
 }
index e152b27..9cd84bb 100644 (file)
--- a/g10/gpg.h
+++ b/g10/gpg.h
@@ -17,7 +17,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #ifndef GNUPG_G10_GPG_H
-#define GNUPG_G10_GPG_H 
+#define GNUPG_G10_GPG_H
 
 /* Note, that this file should be the first one after the system
    header files.  This is required to set the error source to the
@@ -41,8 +41,8 @@
 #define MAX_FINGERPRINT_LEN 20
 
 
-/* 
-   Forward declarations. 
+/*
+   Forward declarations.
  */
 
 /* Object used to keep state locally to server.c . */
@@ -50,6 +50,7 @@ struct server_local_s;
 
 /* Object used to describe a keyblok node.  */
 typedef struct kbnode_struct *KBNODE;
+typedef struct kbnode_struct *kbnode_t;
 /* Object used for looking ob keys.  */
 typedef struct keydb_search_desc KEYDB_SEARCH_DESC;
 
@@ -67,7 +68,7 @@ struct server_control_s
 
 
 
-/* 
+/*
      Compatibility stuff to be faded out over time.
  */
 
@@ -78,45 +79,45 @@ struct server_control_s
 /* Mapping of the old error codes to the gpg-error ones.  Fixme: This
    is just a temporary solution: We need to do all these gpg_error()
    calls in the code.  */
-#define G10ERR_BAD_KEY         GPG_ERR_BAD_KEY          
-#define G10ERR_BAD_PASS        GPG_ERR_BAD_PASS         
-#define G10ERR_BAD_PUBKEY      GPG_ERR_BAD_PUBKEY       
+#define G10ERR_BAD_KEY         GPG_ERR_BAD_KEY
+#define G10ERR_BAD_PASS        GPG_ERR_BAD_PASS
+#define G10ERR_BAD_PUBKEY      GPG_ERR_BAD_PUBKEY
 #define G10ERR_BAD_SIGN        GPG_ERR_BAD_SIGNATURE
-#define G10ERR_BAD_URI         GPG_ERR_BAD_URI          
-#define G10ERR_CHECKSUM        GPG_ERR_CHECKSUM         
-#define G10ERR_CIPHER_ALGO     GPG_ERR_CIPHER_ALGO      
-#define G10ERR_CLOSE_FILE      GPG_ERR_CLOSE_FILE       
-#define G10ERR_COMPR_ALGO      GPG_ERR_COMPR_ALGO       
-#define G10ERR_CREATE_FILE     GPG_ERR_CREATE_FILE      
-#define G10ERR_DIGEST_ALGO     GPG_ERR_DIGEST_ALGO      
+#define G10ERR_BAD_URI         GPG_ERR_BAD_URI
+#define G10ERR_CHECKSUM        GPG_ERR_CHECKSUM
+#define G10ERR_CIPHER_ALGO     GPG_ERR_CIPHER_ALGO
+#define G10ERR_CLOSE_FILE      GPG_ERR_CLOSE_FILE
+#define G10ERR_COMPR_ALGO      GPG_ERR_COMPR_ALGO
+#define G10ERR_CREATE_FILE     GPG_ERR_CREATE_FILE
+#define G10ERR_DIGEST_ALGO     GPG_ERR_DIGEST_ALGO
 #define G10ERR_FILE_EXISTS     GPG_ERR_EEXIST
-#define G10ERR_GENERAL         GPG_ERR_GENERAL          
-#define G10ERR_INV_ARG         GPG_ERR_INV_ARG          
-#define G10ERR_INV_KEYRING     GPG_ERR_INV_KEYRING      
-#define G10ERR_INV_USER_ID     GPG_ERR_INV_USER_ID      
-#define G10ERR_INVALID_ARMOR   GPG_ERR_INV_ARMOR    
-#define G10ERR_INVALID_PACKET  GPG_ERR_INV_PACKET   
-#define G10ERR_KEYRING_OPEN    GPG_ERR_KEYRING_OPEN     
-#define G10ERR_KEYSERVER       GPG_ERR_KEYSERVER        
-#define G10ERR_NO_DATA         GPG_ERR_NO_DATA          
-#define G10ERR_NO_PUBKEY       GPG_ERR_NO_PUBKEY        
-#define G10ERR_NO_SECKEY       GPG_ERR_NO_SECKEY        
-#define G10ERR_NO_USER_ID      GPG_ERR_NO_USER_ID       
-#define G10ERR_NOT_PROCESSED   GPG_ERR_NOT_PROCESSED    
-#define G10ERR_OPEN_FILE       GPG_ERR_OPEN_FILE        
-#define G10ERR_PASSPHRASE      GPG_ERR_PASSPHRASE       
-#define G10ERR_PUBKEY_ALGO     GPG_ERR_PUBKEY_ALGO      
-#define G10ERR_READ_FILE       GPG_ERR_READ_FILE        
-#define G10ERR_RENAME_FILE     GPG_ERR_RENAME_FILE      
-#define G10ERR_RESOURCE_LIMIT  GPG_ERR_RESOURCE_LIMIT   
-#define G10ERR_SIG_CLASS       GPG_ERR_SIG_CLASS        
-#define G10ERR_TIME_CONFLICT   GPG_ERR_TIME_CONFLICT    
-#define G10ERR_TRUSTDB         GPG_ERR_TRUSTDB          
-#define G10ERR_UNEXPECTED      GPG_ERR_UNEXPECTED       
-#define G10ERR_UNKNOWN_PACKET  GPG_ERR_UNKNOWN_PACKET   
-#define G10ERR_UNSUPPORTED     GPG_ERR_UNSUPPORTED      
-#define G10ERR_UNU_PUBKEY      GPG_ERR_UNUSABLE_PUBKEY       
-#define G10ERR_UNU_SECKEY      GPG_ERR_UNUSABLE_SECKEY       
-#define G10ERR_WRONG_SECKEY    GPG_ERR_WRONG_SECKEY        
+#define G10ERR_GENERAL         GPG_ERR_GENERAL
+#define G10ERR_INV_ARG         GPG_ERR_INV_ARG
+#define G10ERR_INV_KEYRING     GPG_ERR_INV_KEYRING
+#define G10ERR_INV_USER_ID     GPG_ERR_INV_USER_ID
+#define G10ERR_INVALID_ARMOR   GPG_ERR_INV_ARMOR
+#define G10ERR_INVALID_PACKET  GPG_ERR_INV_PACKET
+#define G10ERR_KEYRING_OPEN    GPG_ERR_KEYRING_OPEN
+#define G10ERR_KEYSERVER       GPG_ERR_KEYSERVER
+#define G10ERR_NO_DATA         GPG_ERR_NO_DATA
+#define G10ERR_NO_PUBKEY       GPG_ERR_NO_PUBKEY
+#define G10ERR_NO_SECKEY       GPG_ERR_NO_SECKEY
+#define G10ERR_NO_USER_ID      GPG_ERR_NO_USER_ID
+#define G10ERR_NOT_PROCESSED   GPG_ERR_NOT_PROCESSED
+#define G10ERR_OPEN_FILE       GPG_ERR_OPEN_FILE
+#define G10ERR_PASSPHRASE      GPG_ERR_PASSPHRASE
+#define G10ERR_PUBKEY_ALGO     GPG_ERR_PUBKEY_ALGO
+#define G10ERR_READ_FILE       GPG_ERR_READ_FILE
+#define G10ERR_RENAME_FILE     GPG_ERR_RENAME_FILE
+#define G10ERR_RESOURCE_LIMIT  GPG_ERR_RESOURCE_LIMIT
+#define G10ERR_SIG_CLASS       GPG_ERR_SIG_CLASS
+#define G10ERR_TIME_CONFLICT   GPG_ERR_TIME_CONFLICT
+#define G10ERR_TRUSTDB         GPG_ERR_TRUSTDB
+#define G10ERR_UNEXPECTED      GPG_ERR_UNEXPECTED
+#define G10ERR_UNKNOWN_PACKET  GPG_ERR_UNKNOWN_PACKET
+#define G10ERR_UNSUPPORTED     GPG_ERR_NOT_SUPPORTED
+#define G10ERR_UNU_PUBKEY      GPG_ERR_UNUSABLE_PUBKEY
+#define G10ERR_UNU_SECKEY      GPG_ERR_UNUSABLE_SECKEY
+#define G10ERR_WRONG_SECKEY    GPG_ERR_WRONG_SECKEY
 
 #endif /*GNUPG_G10_GPG_H*/
index 42452b7..b700f17 100644 (file)
@@ -142,14 +142,21 @@ main( int argc, char **argv )
   strlist_t sl;
   strlist_t nrings=NULL;
   unsigned configlineno;
-  
+
   set_strusage (my_strusage);
   log_set_prefix ("gpgv", 1);
-  
+
   /* Make sure that our subsystems are ready.  */
   i18n_init();
   init_common_subsystems ();
-  
+
+  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
+    {
+      log_fatal ( _("%s is too old (need %s, have %s)\n"), "libgcrypt",
+                  NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
+    }
+  gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
+
   gnupg_init_signals (0, NULL);
 
   opt.command_fd = -1; /* no command fd */
@@ -163,7 +170,9 @@ main( int argc, char **argv )
   tty_no_terminal(1);
   tty_batchmode(1);
   disable_dotlock();
-  
+
+  gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
+
   pargs.argc = &argc;
   pargs.argv = &argv;
   pargs.flags=  1;  /* do not remove the args */
index ba2439d..1bf4090 100644 (file)
@@ -59,14 +59,17 @@ struct stats_s {
 
 
 static int import( IOBUF inp, const char* fname,struct stats_s *stats,
-                  unsigned char **fpr,size_t *fpr_len,unsigned int options );
+                  unsigned char **fpr,size_t *fpr_len,unsigned int options,
+                  import_filter_t filter, void *filter_arg );
 static int read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root );
 static void revocation_present(KBNODE keyblock);
 static int import_one(const char *fname, KBNODE keyblock,struct stats_s *stats,
                      unsigned char **fpr,size_t *fpr_len,
-                     unsigned int options,int from_sk);
+                     unsigned int options,int from_sk,
+                     import_filter_t filter, void *filter_arg);
 static int import_secret_one( const char *fname, KBNODE keyblock,
-                              struct stats_s *stats, unsigned int options);
+                              struct stats_s *stats, unsigned int options,
+                              import_filter_t filter, void *filter_arg);
 static int import_revoke_cert( const char *fname, KBNODE node,
                                struct stats_s *stats);
 static int chk_self_sigs( const char *fname, KBNODE keyblock,
@@ -163,7 +166,8 @@ import_release_stats_handle (void *p)
 static int
 import_keys_internal( IOBUF inp, char **fnames, int nnames,
                      void *stats_handle, unsigned char **fpr, size_t *fpr_len,
-                     unsigned int options )
+                     unsigned int options,
+                     import_filter_t filter, void *filter_arg)
 {
     int i, rc = 0;
     struct stats_s *stats = stats_handle;
@@ -172,7 +176,8 @@ import_keys_internal( IOBUF inp, char **fnames, int nnames,
         stats = import_new_stats_handle ();
 
     if (inp) {
-        rc = import( inp, "[stream]", stats, fpr, fpr_len, options);
+        rc = import (inp, "[stream]", stats, fpr, fpr_len, options,
+                     filter, filter_arg);
     }
     else {
         int once = (!fnames && !nnames);
@@ -192,7 +197,8 @@ import_keys_internal( IOBUF inp, char **fnames, int nnames,
                log_error(_("can't open `%s': %s\n"), fname, strerror(errno) );
            else
              {
-               rc = import( inp2, fname, stats, fpr, fpr_len, options );
+               rc = import (inp2, fname, stats, fpr, fpr_len, options,
+                             NULL, NULL);
                iobuf_close(inp2);
                 /* Must invalidate that ugly cache to actually close it. */
                 iobuf_ioctl (NULL, 2, 0, (char*)fname);
@@ -223,24 +229,27 @@ void
 import_keys( char **fnames, int nnames,
             void *stats_handle, unsigned int options )
 {
-  import_keys_internal(NULL,fnames,nnames,stats_handle,NULL,NULL,options);
+  import_keys_internal (NULL, fnames, nnames, stats_handle, NULL, NULL,
+                        options, NULL, NULL);
 }
 
 int
 import_keys_stream( IOBUF inp, void *stats_handle,
-                   unsigned char **fpr, size_t *fpr_len,unsigned int options )
+                   unsigned char **fpr, size_t *fpr_len,unsigned int options,
+                   import_filter_t filter, void *filter_arg)
 {
-  return import_keys_internal(inp,NULL,0,stats_handle,fpr,fpr_len,options);
+  return import_keys_internal (inp, NULL, 0, stats_handle, fpr, fpr_len,
+                               options, filter, filter_arg);
 }
 
+
 static int
-import( IOBUF inp, const char* fname,struct stats_s *stats,
-       unsigned char **fpr,size_t *fpr_len,unsigned int options )
+import (IOBUF inp, const char* fname,struct stats_s *stats,
+       unsigned char **fpr, size_t *fpr_len, unsigned int options,
+       import_filter_t filter, void *filter_arg)
 {
     PACKET *pending_pkt = NULL;
-    KBNODE keyblock = NULL;  /* Need to initialize because gcc can't
-                                grasp the return semantics of
-                                read_block. */
+    KBNODE keyblock = NULL;
     int rc = 0;
 
     getkey_disable_caches();
@@ -256,9 +265,11 @@ import( IOBUF inp, const char* fname,struct stats_s *stats,
 
     while( !(rc = read_block( inp, &pending_pkt, &keyblock) )) {
        if( keyblock->pkt->pkttype == PKT_PUBLIC_KEY )
-           rc = import_one( fname, keyblock, stats, fpr, fpr_len, options, 0);
-       else if( keyblock->pkt->pkttype == PKT_SECRET_KEY ) 
-                rc = import_secret_one( fname, keyblock, stats, options );
+           rc = import_one (fname, keyblock, stats, fpr, fpr_len, options, 0,
+                             filter, filter_arg);
+        else if( keyblock->pkt->pkttype == PKT_SECRET_KEY )
+            rc = import_secret_one (fname, keyblock, stats, options,
+                                    filter, filter_arg);
        else if( keyblock->pkt->pkttype == PKT_SIGNATURE
                 && keyblock->pkt->pkt.signature->sig_class == 0x20 )
            rc = import_revoke_cert( fname, keyblock, stats );
@@ -347,6 +358,27 @@ import_print_stats (void *hd)
 }
 
 
+/* Return true if PKTTYPE is valid in a keyblock.  */
+static int
+valid_keyblock_packet (int pkttype)
+{
+  switch (pkttype)
+    {
+    case PKT_PUBLIC_KEY:
+    case PKT_PUBLIC_SUBKEY:
+    case PKT_SECRET_KEY:
+    case PKT_SECRET_SUBKEY:
+    case PKT_SIGNATURE:
+    case PKT_USER_ID:
+    case PKT_ATTRIBUTE:
+    case PKT_RING_TRUST:
+      return 1;
+    default:
+      return 0;
+    }
+}
+
+
 /****************
  * Read the next keyblock from stream A.
  * PENDING_PKT should be initialzed to NULL
@@ -424,7 +456,7 @@ read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root )
            }
            in_cert = 1;
          default:
-           if( in_cert ) {
+           if (in_cert && valid_keyblock_packet (pkt->pkttype)) {
                if( !root )
                    root = new_kbnode( pkt );
                else
@@ -613,7 +645,7 @@ check_prefs(KBNODE keyblock)
   KBNODE node;
   PKT_public_key *pk;
   int problem=0;
-  
+
   merge_keys_and_selfsig(keyblock);
   pk=keyblock->pkt->pkt.public_key;
 
@@ -638,9 +670,9 @@ check_prefs(KBNODE keyblock)
                {
                  if (openpgp_cipher_test_algo (prefs->value))
                    {
-                     const char *algo = 
+                     const char *algo =
                         (openpgp_cipher_test_algo (prefs->value)
-                         ? num 
+                         ? num
                          : openpgp_cipher_algo_name (prefs->value));
                      if(!problem)
                        check_prefs_warning(pk);
@@ -655,7 +687,7 @@ check_prefs(KBNODE keyblock)
                    {
                      const char *algo =
                         (gcry_md_test_algo (prefs->value)
-                         ? num 
+                         ? num
                          : gcry_md_algo_name (prefs->value));
                      if(!problem)
                        check_prefs_warning(pk);
@@ -724,7 +756,7 @@ check_prefs(KBNODE keyblock)
 static int
 import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
            unsigned char **fpr,size_t *fpr_len,unsigned int options,
-           int from_sk )
+           int from_sk, import_filter_t filter, void *filter_arg)
 {
     PKT_public_key *pk;
     PKT_public_key *pk_orig;
@@ -766,7 +798,14 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
        log_error( _("key %s: no user ID\n"), keystr_from_pk(pk));
        return 0;
       }
-    
+
+    if (filter && filter (keyblock, filter_arg))
+      {
+        log_error (_("key %s: %s\n"), keystr_from_pk(pk),
+                   _("rejected by import filter"));
+        return 0;
+      }
+
     if (opt.interactive) {
         if(is_status_enabled())
          print_import_check (pk, uidnode->pkt->pkt.user_id);
@@ -903,7 +942,7 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
             size_t an;
 
             fingerprint_from_pk (pk_orig, afp, &an);
-            while (an < MAX_FINGERPRINT_LEN) 
+            while (an < MAX_FINGERPRINT_LEN)
                 afp[an++] = 0;
             rc = keydb_search_fpr (hd, afp);
         }
@@ -927,7 +966,7 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
         n_sigs_cleaned = fix_bad_direct_key_sigs (keyblock_orig, keyid);
         if (n_sigs_cleaned)
           commit_kbnode (&keyblock_orig);
-            
+
        /* and try to merge the block */
        clear_kbnode_flags( keyblock_orig );
        clear_kbnode_flags( keyblock );
@@ -997,14 +1036,14 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
            stats->n_sigs_cleaned +=n_sigs_cleaned;
            stats->n_uids_cleaned +=n_uids_cleaned;
 
-            if (is_status_enabled ()) 
+            if (is_status_enabled ())
                  print_import_ok (pk, NULL,
                                   ((n_uids?2:0)|(n_sigs?4:0)|(n_subk?8:0)));
        }
        else
          {
             same_key = 1;
-            if (is_status_enabled ()) 
+            if (is_status_enabled ())
              print_import_ok (pk, NULL, 0);
 
            if( !opt.quiet )
@@ -1144,15 +1183,16 @@ sec_to_pub_keyblock(KBNODE sec_keyblock)
  * with the trust calculation.
  */
 static int
-import_secret_one( const char *fname, KBNODE keyblock, 
-                   struct stats_s *stats, unsigned int options)
+import_secret_one (const char *fname, KBNODE keyblock,
+                   struct stats_s *stats, unsigned int options,
+                   import_filter_t filter, void *filter_arg)
 {
     PKT_secret_key *sk;
     KBNODE node, uidnode;
     u32 keyid[2];
     int rc = 0;
 
-    /* get the key and print some info about it */
+    /* Get the key and print some info about it. */
     node = find_kbnode( keyblock, PKT_SECRET_KEY );
     if( !node )
        BUG();
@@ -1161,6 +1201,12 @@ import_secret_one( const char *fname, KBNODE keyblock,
     keyid_from_sk( sk, keyid );
     uidnode = find_next_kbnode( keyblock, PKT_USER_ID );
 
+    if (filter && filter (keyblock, filter_arg)) {
+        log_error (_("secret key %s: %s\n"), keystr_from_sk(sk),
+                   _("rejected by import filter"));
+        return 0;
+    }
+
     if( opt.verbose )
       {
        log_info( "sec  %4u%c/%s %s   ",
@@ -1174,6 +1220,12 @@ import_secret_one( const char *fname, KBNODE keyblock,
       }
     stats->secret_read++;
 
+    if ((options & IMPORT_NO_SECKEY))
+      {
+        log_error (_("importing secret keys not allowed\n"));
+        return 0;
+      }
+
     if( !uidnode )
       {
        log_error( _("key %s: no user ID\n"), keystr_from_sk(sk));
@@ -1196,8 +1248,8 @@ import_secret_one( const char *fname, KBNODE keyblock,
         log_error (_("importing secret keys not allowed\n"));
         return 0;
       }
-#endif 
-    
+#endif
+
     clear_kbnode_flags( keyblock );
 
     /* do we have this key already in one of our secrings ? */
@@ -1223,7 +1275,7 @@ import_secret_one( const char *fname, KBNODE keyblock,
        if( !opt.quiet )
          log_info( _("key %s: secret key imported\n"), keystr_from_sk(sk));
        stats->secret_imported++;
-        if (is_status_enabled ()) 
+        if (is_status_enabled ())
          print_import_ok (NULL, sk, 1|16);
 
        if(options&IMPORT_SK2PK)
@@ -1233,8 +1285,9 @@ import_secret_one( const char *fname, KBNODE keyblock,
            KBNODE pub_keyblock=sec_to_pub_keyblock(keyblock);
            if(pub_keyblock)
              {
-               import_one(fname,pub_keyblock,stats,
-                          NULL,NULL,opt.import_options,1);
+               import_one (fname, pub_keyblock, stats,
+                            NULL, NULL, opt.import_options, 1,
+                            NULL, NULL);
                release_kbnode(pub_keyblock);
              }
          }
@@ -1254,7 +1307,7 @@ import_secret_one( const char *fname, KBNODE keyblock,
        log_error( _("key %s: already in secret keyring\n"),
                   keystr_from_sk(sk));
        stats->secret_dups++;
-        if (is_status_enabled ()) 
+        if (is_status_enabled ())
          print_import_ok (NULL, sk, 16);
 
        /* TODO: if we ever do merge secret keys, make sure to handle
@@ -1310,9 +1363,9 @@ import_revoke_cert( const char *fname, KBNODE node, struct stats_s *stats )
     {
         byte afp[MAX_FINGERPRINT_LEN];
         size_t an;
-        
+
         fingerprint_from_pk (pk, afp, &an);
-        while (an < MAX_FINGERPRINT_LEN) 
+        while (an < MAX_FINGERPRINT_LEN)
             afp[an++] = 0;
         rc = keydb_search_fpr (hd, afp);
     }
@@ -1408,11 +1461,11 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
   int rc;
   u32 bsdate=0,rsdate=0;
   KBNODE bsnode = NULL, rsnode = NULL;
-  
+
   (void)fname;
   (void)pk;
 
-  for (n=keyblock; (n = find_next_kbnode (n, 0)); ) 
+  for (n=keyblock; (n = find_next_kbnode (n, 0)); )
     {
       if (n->pkt->pkttype == PKT_PUBLIC_SUBKEY)
        {
@@ -1426,7 +1479,7 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
 
       if ( n->pkt->pkttype != PKT_SIGNATURE )
         continue;
-      
+
       sig = n->pkt->pkt.signature;
       if ( keyid[0] != sig->keyid[0] || keyid[1] != sig->keyid[1] )
         {
@@ -1438,7 +1491,7 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
          import a fully-cached key which speeds things up. */
       if (!opt.no_sig_cache)
         check_key_signature (keyblock, n, NULL);
-      
+
       if ( IS_UID_SIG(sig) || IS_UID_REV(sig) )
         {
           KBNODE unode = find_prev_kbnode( keyblock, n, PKT_USER_ID );
@@ -1448,16 +1501,16 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
                          keystr(keyid));
               return -1;  /* The complete keyblock is invalid.  */
             }
-          
+
           /* If it hasn't been marked valid yet, keep trying.  */
-          if (!(unode->flag&1)) 
+          if (!(unode->flag&1))
             {
               rc = check_key_signature (keyblock, n, NULL);
               if ( rc )
                 {
                   if ( opt.verbose )
                     {
-                      char *p = utf8_to_native 
+                      char *p = utf8_to_native
                         (unode->pkt->pkt.user_id->name,
                          strlen (unode->pkt->pkt.user_id->name),0);
                       log_info (gpg_err_code(rc) == G10ERR_PUBKEY_ALGO ?
@@ -1486,7 +1539,7 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
               n->flag |= 4;
             }
         }
-      else if ( IS_SUBKEY_SIG (sig) ) 
+      else if ( IS_SUBKEY_SIG (sig) )
         {
           /* Note that this works based solely on the timestamps like
              the rest of gpg.  If the standard gets revocation
@@ -1515,19 +1568,19 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
               else
                 {
                   /* It's valid, so is it newer? */
-                  if (sig->timestamp >= bsdate) 
+                  if (sig->timestamp >= bsdate)
                     {
                       knode->flag |= 1;  /* The subkey is valid.  */
                       if (bsnode)
                         {
                           /* Delete the last binding sig since this
                              one is newer */
-                          bsnode->flag |= 4; 
+                          bsnode->flag |= 4;
                           if (opt.verbose)
                             log_info (_("key %s: removed multiple subkey"
                                         " binding\n"),keystr(keyid));
                         }
-                      
+
                       bsnode = n;
                       bsdate = sig->timestamp;
                     }
@@ -1572,12 +1625,12 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
                         {
                           /* Delete the last revocation sig since
                              this one is newer.  */
-                          rsnode->flag |= 4; 
+                          rsnode->flag |= 4;
                           if (opt.verbose)
                             log_info (_("key %s: removed multiple subkey"
                                         " revocation\n"),keystr(keyid));
                         }
-                      
+
                       rsnode = n;
                       rsdate = sig->timestamp;
                     }
@@ -2318,35 +2371,35 @@ pub_to_sec_keyblock (KBNODE pub_keyblock)
          PACKET *pkt = xmalloc_clear (sizeof *pkt);
          PKT_secret_key *sk = xmalloc_clear (sizeof *sk);
           int i, n;
-          
+
           if (pubnode->pkt->pkttype == PKT_PUBLIC_KEY)
            pkt->pkttype = PKT_SECRET_KEY;
          else
            pkt->pkttype = PKT_SECRET_SUBKEY;
-          
+
          pkt->pkt.secret_key = sk;
 
           copy_public_parts_to_secret_key ( pk, sk );
          sk->version     = pk->version;
          sk->timestamp   = pk->timestamp;
-        
+
           n = pubkey_get_npkey (pk->pubkey_algo);
           if (!n)
             n = 1; /* Unknown number of parameters, however the data
                       is stored in the first mpi. */
           for (i=0; i < n; i++ )
             sk->skey[i] = mpi_copy (pk->pkey[i]);
-  
+
           sk->is_protected = 1;
           sk->protect.s2k.mode = 1001;
-  
+
          secnode = new_kbnode (pkt);
         }
       else
        {
          secnode = clone_kbnode (pubnode);
        }
-      
+
       if(!sec_keyblock)
        sec_keyblock = secnode;
       else
@@ -2360,12 +2413,12 @@ pub_to_sec_keyblock (KBNODE pub_keyblock)
 /* Walk over the secret keyring SEC_KEYBLOCK and update any simple
    stub keys with the serial number SNNUM of the card if one of the
    fingerprints FPR1, FPR2 or FPR3 match.  Print a note if the key is
-   a duplicate (may happen in case of backed uped keys). 
-   
+   a duplicate (may happen in case of backed uped keys).
+
    Returns: True if anything changed.
 */
 static int
-update_sec_keyblock_with_cardinfo (KBNODE sec_keyblock, 
+update_sec_keyblock_with_cardinfo (KBNODE sec_keyblock,
                                    const unsigned char *fpr1,
                                    const unsigned char *fpr2,
                                    const unsigned char *fpr3,
@@ -2385,7 +2438,7 @@ update_sec_keyblock_with_cardinfo (KBNODE sec_keyblock,
           && node->pkt->pkttype != PKT_SECRET_SUBKEY)
         continue;
       sk = node->pkt->pkt.secret_key;
-      
+
       fingerprint_from_sk (sk, array, &n);
       if (n != 20)
         continue; /* Can't be a card key.  */
@@ -2435,7 +2488,7 @@ update_sec_keyblock_with_cardinfo (KBNODE sec_keyblock,
    exists, add appropriate subkey stubs and update the secring.
    Return 0 if the key could be created. */
 int
-auto_create_card_key_stub ( const char *serialnostr, 
+auto_create_card_key_stub ( const char *serialnostr,
                             const unsigned char *fpr1,
                             const unsigned char *fpr2,
                             const unsigned char *fpr3)
@@ -2446,7 +2499,7 @@ auto_create_card_key_stub ( const char *serialnostr,
   int rc;
 
   /* We only want to do this for an OpenPGP card.  */
-  if (!serialnostr || strncmp (serialnostr, "D27600012401", 12) 
+  if (!serialnostr || strncmp (serialnostr, "D27600012401", 12)
       || strlen (serialnostr) != 32 )
     return G10ERR_GENERAL;
 
@@ -2457,7 +2510,7 @@ auto_create_card_key_stub ( const char *serialnostr,
     ;
   else
     return G10ERR_GENERAL;
+
   hd = keydb_new (1);
 
   /* Now check whether there is a secret keyring.  */
@@ -2483,7 +2536,7 @@ auto_create_card_key_stub ( const char *serialnostr,
       else
         {
           merge_keys_and_selfsig (sec_keyblock);
-          
+
           /* FIXME: We need to add new subkeys first.  */
           if (update_sec_keyblock_with_cardinfo (sec_keyblock,
                                                  fpr1, fpr2, fpr3,
@@ -2517,7 +2570,7 @@ auto_create_card_key_stub ( const char *serialnostr,
                        keydb_get_resource_name (hd), g10_errstr(rc) );
         }
     }
-    
+
   release_kbnode (sec_keyblock);
   release_kbnode (pub_keyblock);
   keydb_release (hd);
index 398be19..450ada7 100644 (file)
@@ -1,6 +1,6 @@
 /* keydb.c - key database dispatcher
- * Copyright (C) 2001, 2002, 2003, 2004, 2005, 
- *               2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2002, 2003, 2004, 2005,
+ *               2008, 2009, 2012 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
 #include "main.h" /*try_make_homedir ()*/
 #include "packet.h"
 #include "keyring.h"
-#include "keydb.h" 
+#include "keydb.h"
 #include "i18n.h"
 
 static int active_handles;
 
 typedef enum {
     KEYDB_RESOURCE_TYPE_NONE = 0,
-    KEYDB_RESOURCE_TYPE_KEYRING
+    KEYDB_RESOURCE_TYPE_KEYRING,
+    KEYDB_RESOURCE_TYPE_KEYBOX
 } KeydbResourceType;
 #define MAX_KEYDB_RESOURCES 40
 
@@ -91,7 +92,7 @@ maybe_create_keyring (char *filename, int force)
 
   /* If we don't want to create a new file at all, there is no need to
      go any further - bail out right here.  */
-  if (!force) 
+  if (!force)
     return gpg_error (GPG_ERR_ENOENT);
 
   /* First of all we try to create the home directory.  Note, that we
@@ -114,9 +115,9 @@ maybe_create_keyring (char *filename, int force)
   save_slash = *last_slash_in_filename;
   *last_slash_in_filename = 0;
   if (access(filename, F_OK))
-    { 
+    {
       static int tried;
-      
+
       if (!tried)
         {
           tried = 1;
@@ -144,8 +145,8 @@ maybe_create_keyring (char *filename, int force)
       if (opt.verbose)
         log_info ("can't allocate lock for `%s'\n", filename );
 
-      if (!force) 
-        return gpg_error (GPG_ERR_ENOENT); 
+      if (!force)
+        return gpg_error (GPG_ERR_ENOENT);
       else
         return gpg_error (GPG_ERR_GENERAL);
     }
@@ -175,7 +176,7 @@ maybe_create_keyring (char *filename, int force)
   else
     iobuf = iobuf_create (filename);
   umask (oldmask);
-  if (!iobuf) 
+  if (!iobuf)
     {
       rc = gpg_error_from_syserror ();
       log_error ( _("error creating keyring `%s': %s\n"),
@@ -236,6 +237,11 @@ keydb_add_resource (const char *url, int flags, int secret)
            rt = KEYDB_RESOURCE_TYPE_KEYRING;
            resname += 11;
        }
+        else if (strlen (resname) > 10 && !strncmp (resname, "gnupg-kbx:", 10) )
+          {
+            rt = KEYDB_RESOURCE_TYPE_KEYBOX;
+            resname += 10;
+          }
 #if !defined(HAVE_DRIVE_LETTERS) && !defined(__riscos__)
        else if (strchr (resname, ':')) {
            log_error ("invalid key resource URL `%s'\n", url );
@@ -267,6 +273,11 @@ keydb_add_resource (const char *url, int flags, int secret)
            if (fread( &magic, 4, 1, fp) == 1 ) {
                if (magic == 0x13579ace || magic == 0xce9a5713)
                    ; /* GDBM magic - no more support */
+                else if (fread (&magic, 4, 1, fp) == 1
+                         && !memcmp (&magic, "\x01", 1)
+                         && fread (&magic, 4, 1, fp) == 1
+                         && !memcmp (&magic, "KBXf", 4))
+                    rt = KEYDB_RESOURCE_TYPE_KEYBOX;
                else
                    rt = KEYDB_RESOURCE_TYPE_KEYRING;
            }
@@ -293,7 +304,7 @@ keydb_add_resource (const char *url, int flags, int secret)
          {
            if (used_resources >= MAX_KEYDB_RESOURCES)
              rc = G10ERR_RESOURCE_LIMIT;
-           else 
+           else
              {
                if(flags&2)
                  primary_keyring=token;
@@ -314,6 +325,10 @@ keydb_add_resource (const char *url, int flags, int secret)
          }
        break;
 
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
+       rc = G10ERR_UNSUPPORTED;
+       goto leave;
+
       default:
        log_error ("resource type of `%s' not supported\n", url);
        rc = G10ERR_GENERAL;
@@ -335,6 +350,9 @@ keydb_add_resource (const char *url, int flags, int secret)
         else
           log_error (_("keyblock resource `%s': %s\n"),
                      filename, g10_errstr(rc));
+        if (rt == KEYDB_RESOURCE_TYPE_KEYBOX)
+          log_error ("Note: This version of GPG does not support"
+                     " the Keybox format\n");
       }
     else if (secret)
        any_secret = 1;
@@ -352,10 +370,10 @@ keydb_new (int secret)
 {
   KEYDB_HANDLE hd;
   int i, j;
-  
+
   hd = xmalloc_clear (sizeof *hd);
   hd->found = -1;
-  
+
   assert (used_resources <= MAX_KEYDB_RESOURCES);
   for (i=j=0; i < used_resources; i++)
     {
@@ -364,6 +382,7 @@ keydb_new (int secret)
       switch (all_resources[i].type)
         {
         case KEYDB_RESOURCE_TYPE_NONE: /* ignore */
+        case KEYDB_RESOURCE_TYPE_KEYBOX: /* ignore */
           break;
         case KEYDB_RESOURCE_TYPE_KEYRING:
           hd->active[j].type   = all_resources[i].type;
@@ -379,12 +398,12 @@ keydb_new (int secret)
         }
     }
   hd->used = j;
-  
+
   active_handles++;
   return hd;
 }
 
-void 
+void
 keydb_release (KEYDB_HANDLE hd)
 {
     int i;
@@ -398,6 +417,7 @@ keydb_release (KEYDB_HANDLE hd)
     for (i=0; i < hd->used; i++) {
         switch (hd->active[i].type) {
           case KEYDB_RESOURCE_TYPE_NONE:
+          case KEYDB_RESOURCE_TYPE_KEYBOX:
             break;
           case KEYDB_RESOURCE_TYPE_KEYRING:
             keyring_release (hd->active[i].u.kr);
@@ -423,19 +443,20 @@ keydb_get_resource_name (KEYDB_HANDLE hd)
     int idx;
     const char *s = NULL;
 
-    if (!hd) 
+    if (!hd)
         return NULL;
 
-    if ( hd->found >= 0 && hd->found < hd->used) 
+    if ( hd->found >= 0 && hd->found < hd->used)
         idx = hd->found;
-    else if ( hd->current >= 0 && hd->current < hd->used) 
+    else if ( hd->current >= 0 && hd->current < hd->used)
         idx = hd->current;
     else
         idx = 0;
 
     switch (hd->active[idx].type) {
       case KEYDB_RESOURCE_TYPE_NONE:
-        s = NULL; 
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
+        s = NULL;
         break;
       case KEYDB_RESOURCE_TYPE_KEYRING:
         s = keyring_get_resource_name (hd->active[idx].u.kr);
@@ -447,7 +468,7 @@ keydb_get_resource_name (KEYDB_HANDLE hd)
 
 
 
-static int 
+static int
 lock_all (KEYDB_HANDLE hd)
 {
     int i, rc = 0;
@@ -455,6 +476,7 @@ lock_all (KEYDB_HANDLE hd)
     for (i=0; !rc && i < hd->used; i++) {
         switch (hd->active[i].type) {
           case KEYDB_RESOURCE_TYPE_NONE:
+          case KEYDB_RESOURCE_TYPE_KEYBOX:
             break;
           case KEYDB_RESOURCE_TYPE_KEYRING:
             rc = keyring_lock (hd->active[i].u.kr, 1);
@@ -467,6 +489,7 @@ lock_all (KEYDB_HANDLE hd)
         for (i--; i >= 0; i--) {
             switch (hd->active[i].type) {
               case KEYDB_RESOURCE_TYPE_NONE:
+              case KEYDB_RESOURCE_TYPE_KEYBOX:
                 break;
               case KEYDB_RESOURCE_TYPE_KEYRING:
                 keyring_lock (hd->active[i].u.kr, 0);
@@ -491,6 +514,7 @@ unlock_all (KEYDB_HANDLE hd)
     for (i=hd->used-1; i >= 0; i--) {
         switch (hd->active[i].type) {
           case KEYDB_RESOURCE_TYPE_NONE:
+          case KEYDB_RESOURCE_TYPE_KEYBOX:
             break;
           case KEYDB_RESOURCE_TYPE_KEYRING:
             keyring_lock (hd->active[i].u.kr, 0);
@@ -504,7 +528,7 @@ unlock_all (KEYDB_HANDLE hd)
 /*
  * Return the last found keyring.  Caller must free it.
  * The returned keyblock has the kbode flag bit 0 set for the node with
- * the public key used to locate the keyblock or flag bit 1 set for 
+ * the public key used to locate the keyblock or flag bit 1 set for
  * the user ID node.
  */
 int
@@ -515,11 +539,12 @@ keydb_get_keyblock (KEYDB_HANDLE hd, KBNODE *ret_kb)
     if (!hd)
         return G10ERR_INV_ARG;
 
-    if ( hd->found < 0 || hd->found >= hd->used) 
+    if ( hd->found < 0 || hd->found >= hd->used)
         return -1; /* nothing found */
 
     switch (hd->active[hd->found].type) {
       case KEYDB_RESOURCE_TYPE_NONE:
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
         rc = G10ERR_GENERAL; /* oops */
         break;
       case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -530,7 +555,7 @@ keydb_get_keyblock (KEYDB_HANDLE hd, KBNODE *ret_kb)
     return rc;
 }
 
-/* 
+/*
  * update the current keyblock with KB
  */
 int
@@ -541,7 +566,7 @@ keydb_update_keyblock (KEYDB_HANDLE hd, KBNODE kb)
     if (!hd)
         return G10ERR_INV_ARG;
 
-    if ( hd->found < 0 || hd->found >= hd->used) 
+    if ( hd->found < 0 || hd->found >= hd->used)
         return -1; /* nothing found */
 
     if( opt.dry_run )
@@ -553,6 +578,7 @@ keydb_update_keyblock (KEYDB_HANDLE hd, KBNODE kb)
 
     switch (hd->active[hd->found].type) {
       case KEYDB_RESOURCE_TYPE_NONE:
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
         rc = G10ERR_GENERAL; /* oops */
         break;
       case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -565,8 +591,8 @@ keydb_update_keyblock (KEYDB_HANDLE hd, KBNODE kb)
 }
 
 
-/* 
- * Insert a new KB into one of the resources. 
+/*
+ * Insert a new KB into one of the resources.
  */
 int
 keydb_insert_keyblock (KEYDB_HANDLE hd, KBNODE kb)
@@ -574,15 +600,15 @@ keydb_insert_keyblock (KEYDB_HANDLE hd, KBNODE kb)
     int rc = -1;
     int idx;
 
-    if (!hd) 
+    if (!hd)
         return G10ERR_INV_ARG;
 
     if( opt.dry_run )
        return 0;
 
-    if ( hd->found >= 0 && hd->found < hd->used) 
+    if ( hd->found >= 0 && hd->found < hd->used)
         idx = hd->found;
-    else if ( hd->current >= 0 && hd->current < hd->used) 
+    else if ( hd->current >= 0 && hd->current < hd->used)
         idx = hd->current;
     else
         return G10ERR_GENERAL;
@@ -593,6 +619,7 @@ keydb_insert_keyblock (KEYDB_HANDLE hd, KBNODE kb)
 
     switch (hd->active[idx].type) {
       case KEYDB_RESOURCE_TYPE_NONE:
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
         rc = G10ERR_GENERAL; /* oops */
         break;
       case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -605,7 +632,7 @@ keydb_insert_keyblock (KEYDB_HANDLE hd, KBNODE kb)
 }
 
 
-/* 
+/*
  * The current keyblock will be deleted.
  */
 int
@@ -616,7 +643,7 @@ keydb_delete_keyblock (KEYDB_HANDLE hd)
     if (!hd)
         return G10ERR_INV_ARG;
 
-    if ( hd->found < 0 || hd->found >= hd->used) 
+    if ( hd->found < 0 || hd->found >= hd->used)
         return -1; /* nothing found */
 
     if( opt.dry_run )
@@ -628,6 +655,7 @@ keydb_delete_keyblock (KEYDB_HANDLE hd)
 
     switch (hd->active[hd->found].type) {
       case KEYDB_RESOURCE_TYPE_NONE:
+      case KEYDB_RESOURCE_TYPE_KEYBOX:
         rc = G10ERR_GENERAL; /* oops */
         break;
       case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -643,7 +671,7 @@ keydb_delete_keyblock (KEYDB_HANDLE hd)
 /*
  * Locate the default writable key resource, so that the next
  * operation (which is only relevant for inserts) will be done on this
- * resource.  
+ * resource.
  */
 int
 keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
@@ -654,7 +682,7 @@ keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
 
   if (!hd)
     return G10ERR_INV_ARG;
-  
+
   rc = keydb_search_reset (hd); /* this does reset hd->current */
   if (rc)
     return rc;
@@ -678,11 +706,12 @@ keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
        return rc;
     }
 
-  for ( ; hd->current >= 0 && hd->current < hd->used; hd->current++) 
+  for ( ; hd->current >= 0 && hd->current < hd->used; hd->current++)
     {
-      switch (hd->active[hd->current].type) 
+      switch (hd->active[hd->current].type)
         {
         case KEYDB_RESOURCE_TYPE_NONE:
+        case KEYDB_RESOURCE_TYPE_KEYBOX:
           BUG();
           break;
         case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -691,7 +720,7 @@ keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
           break;
         }
     }
-  
+
   return -1;
 }
 
@@ -702,7 +731,7 @@ void
 keydb_rebuild_caches (int noisy)
 {
   int i, rc;
-  
+
   for (i=0; i < used_resources; i++)
     {
       if (all_resources[i].secret)
@@ -712,6 +741,7 @@ keydb_rebuild_caches (int noisy)
       switch (all_resources[i].type)
         {
         case KEYDB_RESOURCE_TYPE_NONE: /* ignore */
+        case KEYDB_RESOURCE_TYPE_KEYBOX: /* ignore */
           break;
         case KEYDB_RESOURCE_TYPE_KEYRING:
           rc = keyring_rebuild_cache (all_resources[i].token,noisy);
@@ -725,10 +755,10 @@ keydb_rebuild_caches (int noisy)
 
 
 
-/* 
+/*
  * Start the next search on this handle right at the beginning
  */
-int 
+int
 keydb_search_reset (KEYDB_HANDLE hd)
 {
     int i, rc = 0;
@@ -736,27 +766,28 @@ keydb_search_reset (KEYDB_HANDLE hd)
     if (!hd)
         return G10ERR_INV_ARG;
 
-    hd->current = 0; 
+    hd->current = 0;
     hd->found = -1;
     /* and reset all resources */
     for (i=0; !rc && i < hd->used; i++) {
         switch (hd->active[i].type) {
           case KEYDB_RESOURCE_TYPE_NONE:
+          case KEYDB_RESOURCE_TYPE_KEYBOX:
             break;
           case KEYDB_RESOURCE_TYPE_KEYRING:
             rc = keyring_search_reset (hd->active[i].u.kr);
             break;
         }
     }
-    return rc; 
+    return rc;
 }
 
 
-/* 
+/*
  * Search through all keydb resources, starting at the current position,
  * for a keyblock which contains one of the keys described in the DESC array.
  */
-int 
+int
 keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
               size_t ndesc, size_t *descindex)
 {
@@ -768,6 +799,7 @@ keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
     while (rc == -1 && hd->current >= 0 && hd->current < hd->used) {
         switch (hd->active[hd->current].type) {
           case KEYDB_RESOURCE_TYPE_NONE:
+          case KEYDB_RESOURCE_TYPE_KEYBOX:
             BUG(); /* we should never see it here */
             break;
           case KEYDB_RESOURCE_TYPE_KEYRING:
@@ -776,12 +808,12 @@ keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
             break;
         }
         if (rc == -1) /* EOF -> switch to next resource */
-            hd->current++; 
+            hd->current++;
         else if (!rc)
             hd->found = hd->current;
     }
 
-    return rc; 
+    return rc;
 }
 
 int
index 76830f0..4d5395d 100644 (file)
@@ -1568,7 +1568,11 @@ keyedit_menu( const char *username, strlist_t locusr,
     /* Get the public key */
     rc = get_pubkey_byname (NULL, NULL, username, &keyblock, &kdbhd, 1, 1);
     if( rc )
+      {
+        log_error (_("key \"%s\" not found: %s\n"), username, g10_errstr (rc));
        goto leave;
+      }
+
     if( fix_keyblock( keyblock ) )
        modified++;
     if( collapse_uids( &keyblock ) )
@@ -2806,7 +2810,7 @@ show_key_with_all_names( KBNODE keyblock, int only_marked, int with_revoker,
            if(pk->is_revoked)
              {
                char *user=get_user_id_string_native(pk->revoked.keyid);
-               const char *algo = gcry_pk_algo_name (pk->revoked.algo);
+               const char *algo = openpgp_pk_algo_name (pk->revoked.algo);
                tty_printf (_("The following key was revoked on"
                               " %s by %s key %s\n"),
                           revokestr_from_pk(pk),algo?algo:"?",user);
@@ -2824,7 +2828,7 @@ show_key_with_all_names( KBNODE keyblock, int only_marked, int with_revoker,
                      char *user;
                      const char *algo;
 
-                      algo = gcry_pk_algo_name (pk->revkey[i].algid);
+                      algo = openpgp_pk_algo_name (pk->revkey[i].algid);
                      keyid_from_fingerprint(pk->revkey[i].fpr,
                                             MAX_FINGERPRINT_LEN,r_keyid);
 
index 8c3e9f6..6d3dfa6 100644 (file)
@@ -50,7 +50,7 @@
 #define DEFAULT_STD_KEYSIZE 2048
 
 
-#define MAX_PREFS 30 
+#define MAX_PREFS 30
 
 enum para_name {
   pKEYTYPE,
@@ -151,7 +151,7 @@ print_status_key_created (int letter, PKT_public_key *pk, const char *handle)
   byte array[MAX_FINGERPRINT_LEN], *s;
   char *buf, *p;
   size_t i, n;
-  
+
   if (!handle)
     handle = "";
 
@@ -219,9 +219,6 @@ do_add_key_flags (PKT_signature *sig, unsigned int use)
     if (use & PUBKEY_USAGE_AUTH)
         buf[0] |= 0x20;
 
-    if (!buf[0]) 
-        return;
-
     build_sig_subpkt (sig, SIGSUBPKT_KEY_FLAGS, buf, 1);
 }
 
@@ -324,7 +321,7 @@ keygen_set_std_prefs (const char *string,int personal)
 
                  gpg -r pgpkey -r gpgkey  ---gives--> AES256
                  gpg -r gpgkey -r pgpkey  ---gives--> AES
-                 
+
                Note that by using --personal-cipher-preferences it is
                possible to prefer AES128.
             */
@@ -658,18 +655,18 @@ int
 keygen_upd_std_prefs (PKT_signature *sig, void *opaque)
 {
   (void)opaque;
-  
+
   if (!prefs_initialized)
     keygen_set_std_prefs (NULL, 0);
-  
-  if (nsym_prefs) 
+
+  if (nsym_prefs)
     build_sig_subpkt (sig, SIGSUBPKT_PREF_SYM, sym_prefs, nsym_prefs);
   else
     {
       delete_sig_subpkt (sig->hashed, SIGSUBPKT_PREF_SYM);
       delete_sig_subpkt (sig->unhashed, SIGSUBPKT_PREF_SYM);
     }
-  
+
   if (nhash_prefs)
     build_sig_subpkt (sig, SIGSUBPKT_PREF_HASH, hash_prefs, nhash_prefs);
   else
@@ -685,7 +682,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque)
       delete_sig_subpkt (sig->hashed, SIGSUBPKT_PREF_COMPR);
       delete_sig_subpkt (sig->unhashed, SIGSUBPKT_PREF_COMPR);
     }
-  
+
   /* Make sure that the MDC feature flag is set if needed.  */
   add_feature_mdc (sig,mdc_available);
   add_keyserver_modify (sig,ks_modify);
@@ -823,7 +820,7 @@ make_backsig (PKT_signature *sig,PKT_public_key *pk,
       /* Get it into a binary packed form. */
       IOBUF backsig_out=iobuf_temp();
       PACKET backsig_pkt;
+
       init_packet(&backsig_pkt);
       backsig_pkt.pkttype=PKT_SIGNATURE;
       backsig_pkt.pkt.signature=backsig;
@@ -835,7 +832,7 @@ make_backsig (PKT_signature *sig,PKT_public_key *pk,
        {
          size_t pktlen=0;
          byte *buf=iobuf_get_temp_buffer(backsig_out);
+
          /* Remove the packet header */
          if(buf[0]&0x40)
            {
@@ -864,34 +861,34 @@ make_backsig (PKT_signature *sig,PKT_public_key *pk,
          else
            {
              int mark=1;
+
              switch(buf[0]&3)
                {
                case 3:
                  BUG();
                  break;
+
                case 2:
                  pktlen =buf[mark++] << 24;
                  pktlen|=buf[mark++] << 16;
+
                case 1:
                  pktlen|=buf[mark++] << 8;
+
                case 0:
                  pktlen|=buf[mark++];
                }
+
              buf+=mark;
            }
+
          /* Now make the binary blob into a subpacket.  */
          build_sig_subpkt(sig,SIGSUBPKT_SIGNATURE,buf,pktlen);
 
          iobuf_close(backsig_out);
        }
     }
+
   return rc;
 }
 
@@ -928,7 +925,7 @@ write_direct_sig (KBNODE root, KBNODE pub_root, PKT_secret_key *sk,
       log_error("make_keysig_packet failed: %s\n", g10_errstr(rc) );
       return rc;
     }
-  
+
   pkt = xmalloc_clear( sizeof *pkt );
   pkt->pkttype = PKT_SIGNATURE;
   pkt->pkt.signature = sig;
@@ -963,7 +960,7 @@ write_selfsigs( KBNODE sec_root, KBNODE pub_root, PKT_secret_key *sk,
     BUG();
   pk = node->pkt->pkt.public_key;
   pk->pubkey_usage = use;
+
   /* We have to cache the key, so that the verification of the
      signature creation is able to retrieve the public key.  */
   cache_public_key (pk);
@@ -972,7 +969,7 @@ write_selfsigs( KBNODE sec_root, KBNODE pub_root, PKT_secret_key *sk,
   rc = make_keysig_packet (&sig, pk, uid, NULL, sk, 0x13,
                            0, 0, timestamp, 0,
                            keygen_add_std_prefs, pk);
-  if( rc ) 
+  if( rc )
     {
       log_error("make_keysig_packet failed: %s\n", g10_errstr(rc) );
       return rc;
@@ -1017,10 +1014,10 @@ write_keybinding (KBNODE root, KBNODE pub_root,
   /* We have to cache the key, so that the verification of the
    * signature creation is able to retrieve the public key.  */
   cache_public_key (pri_pk);
+
   /* Find the last subkey. */
   sub_pk = NULL;
-  for (node=pub_root; node; node = node->next ) 
+  for (node=pub_root; node; node = node->next )
     {
       if ( node->pkt->pkttype == PKT_PUBLIC_SUBKEY )
         sub_pk = node->pkt->pkt.public_key;
@@ -1031,10 +1028,10 @@ write_keybinding (KBNODE root, KBNODE pub_root,
   /* Make the signature.  */
   oduap.usage = use;
   oduap.pk = sub_pk;
-  rc = make_keysig_packet (&sig, pri_pk, NULL, sub_pk, pri_sk, 0x18, 
+  rc = make_keysig_packet (&sig, pri_pk, NULL, sub_pk, pri_sk, 0x18,
                            0, 0, timestamp, 0,
                            keygen_add_key_flags_and_expire, &oduap );
-  if (rc) 
+  if (rc)
     {
       log_error ("make_keysig_packet failed: %s\n", g10_errstr(rc) );
       return rc;
@@ -1047,7 +1044,7 @@ write_keybinding (KBNODE root, KBNODE pub_root,
       if (rc)
         return rc;
     }
-  
+
   pkt = xmalloc_clear ( sizeof *pkt );
   pkt->pkttype = PKT_SIGNATURE;
   pkt->pkt.signature = sig;
@@ -1085,7 +1082,7 @@ key_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp,
         }
       array[idx] = gcry_sexp_nth_mpi (l2, 1, GCRYMPI_FMT_USG);
       gcry_sexp_release (l2);
-      if (!array[idx]) 
+      if (!array[idx])
         {
           rc = gpg_error (GPG_ERR_INV_OBJ); /* required parameter invalid */
           goto leave;
@@ -1132,7 +1129,7 @@ genhelp_factors (gcry_sexp_t misc_key_info, KBNODE sec_root)
 #if 0 /* Not used anymore */
   size_t n;
   char *buf;
-  
+
   if (misc_key_info)
     {
       /* DSA: don't know whether it makes sense to have the factors, so for now
@@ -1161,7 +1158,7 @@ genhelp_factors (gcry_sexp_t misc_key_info, KBNODE sec_root)
 static int
 gen_elg (int algo, unsigned int nbits,
          KBNODE pub_root, KBNODE sec_root, DEK *dek,
-         STRING2KEY *s2k, PKT_secret_key **ret_sk, 
+         STRING2KEY *s2k, PKT_secret_key **ret_sk,
          u32 timestamp, u32 expireval, int is_subkey)
 {
   int rc;
@@ -1170,12 +1167,17 @@ gen_elg (int algo, unsigned int nbits,
   PKT_public_key *pk;
   gcry_sexp_t s_parms, s_key;
   gcry_sexp_t misc_key_info;
-  
+
   assert( is_ELGAMAL(algo) );
 
-  if (nbits < 512)
+  if (nbits < 1024)
     {
-      nbits = 1024;
+      nbits = 2048;
+      log_info (_("keysize invalid; using %u bits\n"), nbits );
+    }
+  else if (nbits > 4096)
+    {
+      nbits = 4096;
       log_info (_("keysize invalid; using %u bits\n"), nbits );
     }
 
@@ -1193,7 +1195,7 @@ gen_elg (int algo, unsigned int nbits,
                          (int)nbits);
   if (rc)
     log_bug ("gcry_sexp_build failed: %s\n", gpg_strerror (rc));
-  
+
   rc = gcry_pk_genkey (&s_key, s_parms);
   gcry_sexp_release (s_parms);
   if (rc)
@@ -1201,19 +1203,19 @@ gen_elg (int algo, unsigned int nbits,
       log_error ("gcry_pk_genkey failed: %s\n", gpg_strerror (rc) );
       return rc;
     }
-  
+
   sk = xmalloc_clear( sizeof *sk );
   pk = xmalloc_clear( sizeof *pk );
   sk->timestamp = pk->timestamp = timestamp;
   sk->version = pk->version = 4;
-  if (expireval) 
+  if (expireval)
     {
       sk->expiredate = pk->expiredate = sk->timestamp + expireval;
     }
   sk->pubkey_algo = pk->pubkey_algo = algo;
 
   rc = key_from_sexp (pk->pkey, s_key, "public-key", "pgy");
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc) );
       gcry_sexp_release (s_key);
@@ -1232,7 +1234,7 @@ gen_elg (int algo, unsigned int nbits,
     }
   misc_key_info = gcry_sexp_find_token (s_key, "misc-key-info", 0);
   gcry_sexp_release (s_key);
-  
+
   sk->is_protected = 0;
   sk->protect.algo = 0;
 
@@ -1248,7 +1250,7 @@ gen_elg (int algo, unsigned int nbits,
       gcry_sexp_release (misc_key_info);
       return rc;
     }
-  
+
   pkt = xmalloc_clear (sizeof *pkt);
   pkt->pkttype = is_subkey ? PKT_PUBLIC_SUBKEY : PKT_PUBLIC_KEY;
   pkt->pkt.public_key = pk;
@@ -1261,9 +1263,9 @@ gen_elg (int algo, unsigned int nbits,
   pkt->pkttype = is_subkey ? PKT_SECRET_SUBKEY : PKT_SECRET_KEY;
   pkt->pkt.secret_key = sk;
   add_kbnode (sec_root, new_kbnode( pkt ));
-  
+
   genhelp_factors (misc_key_info, sec_root);
-  
+
   return 0;
 }
 
@@ -1273,7 +1275,7 @@ gen_elg (int algo, unsigned int nbits,
  */
 static int
 gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
-         STRING2KEY *s2k, PKT_secret_key **ret_sk, 
+         STRING2KEY *s2k, PKT_secret_key **ret_sk,
          u32 timestamp, u32 expireval, int is_subkey)
 {
   int rc;
@@ -1284,9 +1286,9 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
   gcry_sexp_t misc_key_info;
   unsigned int qbits;
 
-  if ( nbits < 512) 
+  if (nbits < 768)
     {
-      nbits = 1024;
+      nbits = 2048;
       log_info(_("keysize invalid; using %u bits\n"), nbits );
     }
   else if ( nbits > 3072 )
@@ -1311,26 +1313,26 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
 
   /*
     Figure out a q size based on the key size.  FIPS 180-3 says:
+
     L = 1024, N = 160
     L = 2048, N = 224
     L = 2048, N = 256
     L = 3072, N = 256
+
     2048/256 is an odd pair since there is also a 2048/224 and
     3072/256.  Matching sizes is not a very exact science.
-      
+
     We'll do 256 qbits for nbits over 2047, 224 for nbits over 1024
     but less than 2048, and 160 for 1024 (DSA1).
   */
+
   if (nbits > 2047)
     qbits = 256;
   else if ( nbits > 1024)
     qbits = 224;
   else
     qbits = 160;
+
   if (qbits != 160 )
     log_info (_("WARNING: some OpenPGP programs can't"
                 " handle a DSA key with this digest size\n"));
@@ -1340,7 +1342,7 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
                         (int)nbits, (int)qbits);
   if (rc)
     log_bug ("gcry_sexp_build failed: %s\n", gpg_strerror (rc));
-  
+
   rc = gcry_pk_genkey (&s_key, s_parms);
   gcry_sexp_release (s_parms);
   if (rc)
@@ -1353,12 +1355,12 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
   pk = xmalloc_clear( sizeof *pk );
   sk->timestamp = pk->timestamp = timestamp;
   sk->version = pk->version = 4;
-  if (expireval) 
+  if (expireval)
     sk->expiredate = pk->expiredate = sk->timestamp + expireval;
   sk->pubkey_algo = pk->pubkey_algo = PUBKEY_ALGO_DSA;
 
   rc = key_from_sexp (pk->pkey, s_key, "public-key", "pqgy");
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc));
       gcry_sexp_release (s_key);
@@ -1367,7 +1369,7 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
       return rc;
     }
   rc = key_from_sexp (sk->skey, s_key, "private-key", "pqgyx");
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc) );
       gcry_sexp_release (s_key);
@@ -1377,7 +1379,7 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
     }
   misc_key_info = gcry_sexp_find_token (s_key, "misc-key-info", 0);
   gcry_sexp_release (s_key);
-  
+
   sk->is_protected = 0;
   sk->protect.algo = 0;
 
@@ -1416,7 +1418,7 @@ gen_dsa (unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
 }
 
 
-/* 
+/*
  * Generate an RSA key.
  */
 static int
@@ -1435,12 +1437,17 @@ gen_rsa (int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
   if (!nbits)
     nbits = DEFAULT_STD_KEYSIZE;
 
-  if (nbits < 1024) 
+  if (nbits < 1024)
+    {
+      nbits = 2048;
+      log_info (_("keysize invalid; using %u bits\n"), nbits );
+    }
+  else if (nbits > 4096)
     {
-      nbits = 1024;
+      nbits = 4096;
       log_info (_("keysize invalid; using %u bits\n"), nbits );
     }
-  
+
   if ((nbits % 32))
     {
       nbits = ((nbits + 31) / 32) * 32;
@@ -1452,7 +1459,7 @@ gen_rsa (int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
                         (int)nbits);
   if (rc)
     log_bug ("gcry_sexp_build failed: %s\n", gpg_strerror (rc));
-  
+
   rc = gcry_pk_genkey (&s_key, s_parms);
   gcry_sexp_release (s_parms);
   if (rc)
@@ -1472,7 +1479,7 @@ gen_rsa (int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
   sk->pubkey_algo = pk->pubkey_algo = algo;
 
   rc = key_from_sexp (pk->pkey, s_key, "public-key", "ne");
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc));
       gcry_sexp_release (s_key);
@@ -1481,7 +1488,7 @@ gen_rsa (int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek,
       return rc;
     }
   rc = key_from_sexp (sk->skey, s_key, "private-key", "nedpqu");
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc) );
       gcry_sexp_release (s_key);
@@ -1606,7 +1613,7 @@ ask_key_flags(int algo,int subkey)
     {
       tty_printf("\n");
       tty_printf(_("Possible actions for a %s key: "),
-                gcry_pk_algo_name (algo));
+                openpgp_pk_algo_name (algo));
       print_key_flags(possible);
       tty_printf("\n");
       tty_printf(_("Current allowed actions: "));
@@ -1682,7 +1689,7 @@ ask_algo (int addmode, int *r_subkey_algo, unsigned int *r_usage)
 
   if (!r_subkey_algo)
     r_subkey_algo = &dummy_algo;
-  
+
   tty_printf (_("Please select what kind of key you want:\n"));
 
   if (!addmode)
@@ -1703,7 +1710,7 @@ ask_algo (int addmode, int *r_subkey_algo, unsigned int *r_usage)
       tty_printf (_("   (%d) DSA (set your own capabilities)\n"), 7 );
       tty_printf (_("   (%d) RSA (set your own capabilities)\n"), 8 );
     }
-  
+
   for(;;)
     {
       *r_usage = 0;
@@ -1763,7 +1770,7 @@ ask_algo (int addmode, int *r_subkey_algo, unsigned int *r_usage)
       else
         tty_printf (_("Invalid selection.\n"));
     }
-  
+
   return algo;
 }
 
@@ -1810,7 +1817,7 @@ ask_keysize (int algo, unsigned int primary_keysize)
     }
 
   tty_printf(_("%s keys may be between %u and %u bits long.\n"),
-            gcry_pk_algo_name (algo), min, max);
+            openpgp_pk_algo_name (algo), min, max);
 
   for(;;)
     {
@@ -1826,10 +1833,10 @@ ask_keysize (int algo, unsigned int primary_keysize)
       nbits = *answer? atoi (answer): def;
       xfree(prompt);
       xfree(answer);
-      
+
       if(nbits<min || nbits>max)
        tty_printf(_("%s keysizes must be in the range %u-%u\n"),
-                  gcry_pk_algo_name (algo), min, max);
+                  openpgp_pk_algo_name (algo), min, max);
       else
        break;
     }
@@ -1872,7 +1879,7 @@ parse_expire_string( const char *string )
   u32 abs_date = 0;
   u32 curtime = make_timestamp ();
   time_t tt;
-  
+
   if (!*string)
     seconds = 0;
   else if (!strncmp (string, "seconds=", 8))
@@ -1886,7 +1893,7 @@ parse_expire_string( const char *string )
     seconds = atoi (string) * 86400L * mult;
   else
     seconds = (u32)(-1);
-  
+
   return seconds;
 }
 
@@ -1896,7 +1903,7 @@ static u32
 parse_creation_string (const char *string)
 {
   u32 seconds;
-  
+
   if (!*string)
     seconds = 0;
   else if ( !strncmp (string, "seconds=", 8) )
@@ -1952,7 +1959,7 @@ ask_expire_interval(int object,const char *def_expire)
     answer = NULL;
     for(;;)
       {
-       u32 curtime=make_timestamp();
+       u32 curtime;
 
        xfree(answer);
        if(object==0)
@@ -1976,6 +1983,7 @@ ask_expire_interval(int object,const char *def_expire)
          }
        cpr_kill_prompt();
        trim_spaces(answer);
+        curtime = make_timestamp ();
        interval = parse_expire_string( answer );
        if( interval == (u32)-1 )
          {
@@ -2191,7 +2199,7 @@ ask_user_id (int mode, KBNODE keyblock)
                lower and uppercase.  Below you will find the matching
                string which should be translated accordingly and the
                letter changed to match the one in the answer string.
-               
+
                  n = Change name
                  c = Change comment
                  e = Change email
@@ -2312,7 +2320,7 @@ do_ask_passphrase (STRING2KEY **ret_s2k, int mode, int *r_canceled)
    routines based on the requested algorithm.  */
 static int
 do_create (int algo, unsigned int nbits, KBNODE pub_root, KBNODE sec_root,
-          DEK *dek, STRING2KEY *s2k, PKT_secret_key **sk, 
+          DEK *dek, STRING2KEY *s2k, PKT_secret_key **sk,
            u32 timestamp, u32 expiredate, int is_subkey )
 {
   int rc=0;
@@ -2347,7 +2355,7 @@ PKT_user_id *
 generate_user_id (KBNODE keyblock)
 {
   char *p;
-  
+
   p = ask_user_id (1, keyblock);
   if (!p)
     return NULL;  /* Canceled. */
@@ -2389,7 +2397,7 @@ get_parameter_value( struct para_data_s *para, enum para_name key )
 }
 
 static int
-get_parameter_algo( struct para_data_s *para, enum para_name key, 
+get_parameter_algo( struct para_data_s *para, enum para_name key,
                     int *r_default)
 {
   int i;
@@ -2422,7 +2430,7 @@ get_parameter_algo( struct para_data_s *para, enum para_name key,
   return i;
 }
 
-/* 
+/*
  * Parse the usage parameter and set the keyflags.  Returns -1 on
  * error, 0 for no usage given or 1 for usage available.
  */
@@ -2436,7 +2444,7 @@ parse_parameter_usage (const char *fname,
 
     if( !r )
        return 0; /* none (this is an optional parameter)*/
-    
+
     use = 0;
     pn = r->u.value;
     while ( (p = strsep (&pn, " \t,")) ) {
@@ -2524,7 +2532,7 @@ get_parameter_u32( struct para_data_s *para, enum para_name key )
     return r->u.expire;
   if( r->key == pKEYUSAGE || r->key == pSUBKEYUSAGE )
     return r->u.usage;
-  
+
   return (unsigned int)strtoul( r->u.value, NULL, 10 );
 }
 
@@ -2732,7 +2740,7 @@ proc_parameter_file( struct para_data_s *para, const char *fname,
           para = r;
         }
 
-      if (canceled) 
+      if (canceled)
         {
          log_error ("%s:%d: key generation canceled\n", fname, r->lnr );
           return -1;
@@ -2748,7 +2756,7 @@ proc_parameter_file( struct para_data_s *para, const char *fname,
            * but because we do this always, why not here.  */
           STRING2KEY *s2k;
           DEK *dek;
-          
+
           s2k = xmalloc_secure ( sizeof *s2k );
           s2k->mode = opt.s2k_mode;
           s2k->hash_algo = S2K_DIGEST_ALGO;
@@ -2758,7 +2766,7 @@ proc_parameter_file( struct para_data_s *para, const char *fname,
           set_next_passphrase (NULL );
           assert (dek);
           memset (r->u.value, 0, strlen(r->u.value));
-          
+
           r = xmalloc_clear (sizeof *r);
           r->key = pPASSPHRASE_S2K;
           r->u.s2k = s2k;
@@ -2917,7 +2925,7 @@ read_parameter_file( const char *fname )
            else if( !ascii_strcasecmp( keyword, "%commit" ) ) {
                outctrl.lnr = lnr;
                if (proc_parameter_file( para, fname, &outctrl, 0 ))
-                  print_status_key_not_created 
+                  print_status_key_not_created
                     (get_parameter_value (para, pHANDLE));
                release_parameter_list( para );
                para = NULL;
@@ -3044,7 +3052,7 @@ read_parameter_file( const char *fname )
  * written to directory given by this argument .
  */
 void
-generate_keypair (const char *fname, const char *card_serialno, 
+generate_keypair (const char *fname, const char *card_serialno,
                   const char *backup_encryption_dir)
 {
   unsigned int nbits;
@@ -3059,16 +3067,16 @@ generate_keypair (const char *fname, const char *card_serialno,
   struct para_data_s *r;
   struct output_control_s outctrl;
   int canceled;
-  
+
   memset( &outctrl, 0, sizeof( outctrl ) );
-  
+
   if (opt.batch && card_serialno)
     {
       /* We don't yet support unattended key generation. */
       log_error (_("can't do this in batch mode\n"));
       return;
     }
-  
+
   if (opt.batch)
     {
       read_parameter_file( fname );
@@ -3083,9 +3091,9 @@ generate_keypair (const char *fname, const char *card_serialno,
       strcpy( r->u.value, card_serialno);
       r->next = para;
       para = r;
-       
+
       algo = PUBKEY_ALGO_RSA;
-       
+
       r = xcalloc (1, sizeof *r + 20 );
       r->key = pKEYTYPE;
       sprintf( r->u.value, "%d", algo );
@@ -3096,7 +3104,7 @@ generate_keypair (const char *fname, const char *card_serialno,
       strcpy (r->u.value, "sign");
       r->next = para;
       para = r;
-       
+
       r = xcalloc (1, sizeof *r + 20 );
       r->key = pSUBKEYTYPE;
       sprintf( r->u.value, "%d", algo );
@@ -3107,7 +3115,7 @@ generate_keypair (const char *fname, const char *card_serialno,
       strcpy (r->u.value, "encrypt");
       r->next = para;
       para = r;
-       
+
       r = xcalloc (1, sizeof *r + 20 );
       r->key = pAUTHKEYTYPE;
       sprintf( r->u.value, "%d", algo );
@@ -3126,11 +3134,11 @@ generate_keypair (const char *fname, const char *card_serialno,
     }
   else
     {
-      int subkey_algo; 
+      int subkey_algo;
 
       algo = ask_algo (0, &subkey_algo, &use);
       if (subkey_algo)
-        { 
+        {
           /* Create primary and subkey at once.  */
           both = 1;
           r = xmalloc_clear( sizeof *r + 20 );
@@ -3149,7 +3157,7 @@ generate_keypair (const char *fname, const char *card_serialno,
           strcpy( r->u.value, "sign" );
           r->next = para;
           para = r;
-           
+
           r = xmalloc_clear( sizeof *r + 20 );
           r->key = pSUBKEYTYPE;
           sprintf( r->u.value, "%d", subkey_algo);
@@ -3161,14 +3169,14 @@ generate_keypair (const char *fname, const char *card_serialno,
           r->next = para;
           para = r;
         }
-      else 
+      else
         {
           r = xmalloc_clear( sizeof *r + 20 );
           r->key = pKEYTYPE;
           sprintf( r->u.value, "%d", algo );
           r->next = para;
           para = r;
-           
+
           if (use)
             {
               r = xmalloc_clear( sizeof *r + 25 );
@@ -3190,7 +3198,7 @@ generate_keypair (const char *fname, const char *card_serialno,
       r->next = para;
       para = r;
     }
-   
+
   expire = ask_expire_interval(0,NULL);
   r = xmalloc_clear( sizeof *r + 20 );
   r->key = pKEYEXPIRE;
@@ -3204,7 +3212,7 @@ generate_keypair (const char *fname, const char *card_serialno,
   para = r;
 
   uid = ask_user_id (0, NULL);
-  if( !uid ) 
+  if( !uid )
     {
       log_error(_("Key generation canceled.\n"));
       release_parameter_list( para );
@@ -3215,7 +3223,7 @@ generate_keypair (const char *fname, const char *card_serialno,
   strcpy( r->u.value, uid );
   r->next = para;
   para = r;
-    
+
   canceled = 0;
   dek = card_serialno? NULL : do_ask_passphrase (&s2k, 0, &canceled);
   if( dek )
@@ -3232,7 +3240,7 @@ generate_keypair (const char *fname, const char *card_serialno,
       para = r;
     }
 
-  if (canceled) 
+  if (canceled)
     log_error (_("Key generation canceled.\n"));
   else
     proc_parameter_file( para, "[internal]", &outctrl, !!card_serialno);
@@ -3269,7 +3277,7 @@ generate_raw_key (int algo, unsigned int nbits, u32 created_at,
       log_info (_("keysize invalid; using %u bits\n"), nbits );
     }
 
-  if ((nbits % 32)) 
+  if ((nbits % 32))
     {
       nbits = ((nbits + 31) / 32) * 32;
       log_info(_("keysize rounded up to %u bits\n"), nbits );
@@ -3307,16 +3315,16 @@ generate_raw_key (int algo, unsigned int nbits, u32 created_at,
     }
   rc = key_from_sexp (sk->skey, s_key, "private-key", "nedpqu");
   gcry_sexp_release (s_key);
-  if (rc) 
+  if (rc)
     {
       log_error ("key_from_sexp failed: %s\n", gpg_strerror (rc) );
       goto leave;
     }
-  
+
   for (i=npkey; i < nskey; i++)
     sk->csum += checksum_mpi (sk->skey[i]);
 
-  if (r_sk_unprotected) 
+  if (r_sk_unprotected)
     *r_sk_unprotected = copy_secret_key (NULL, sk);
 
   rc = genhelp_protect (dek, s2k, sk);
@@ -3369,10 +3377,10 @@ do_generate_keypair (struct para_data_s *para,
       log_info("dry-run mode - key generation skipped\n");
       return;
     }
-  
-  if ( outctrl->use_files ) 
+
+  if ( outctrl->use_files )
     {
-      if ( outctrl->pub.newfname ) 
+      if ( outctrl->pub.newfname )
         {
           iobuf_close(outctrl->pub.stream);
           outctrl->pub.stream = NULL;
@@ -3381,8 +3389,8 @@ do_generate_keypair (struct para_data_s *para,
           xfree( outctrl->pub.fname );
           outctrl->pub.fname =  outctrl->pub.newfname;
           outctrl->pub.newfname = NULL;
-          
-          if (is_secured_filename (outctrl->pub.fname) ) 
+
+          if (is_secured_filename (outctrl->pub.fname) )
             {
               outctrl->pub.stream = NULL;
               errno = EPERM;
@@ -3404,7 +3412,7 @@ do_generate_keypair (struct para_data_s *para,
       if (outctrl->sec.newfname)
         {
           mode_t oldmask;
-          
+
           iobuf_close(outctrl->sec.stream);
           outctrl->sec.stream = NULL;
           if (outctrl->sec.fname)
@@ -3452,7 +3460,7 @@ do_generate_keypair (struct para_data_s *para,
      structure we create is known in advance we simply generate a
      linked list.  The first packet is a dummy packet which we flag as
      deleted.  The very first packet must always be a KEY packet.  */
-    
+
   start_tree (&pub_root);
   start_tree (&sec_root);
 
@@ -3520,7 +3528,7 @@ do_generate_keypair (struct para_data_s *para,
       rc = gen_card_key (PUBKEY_ALGO_RSA, 3, 0, pub_root, sec_root, NULL,
                          &timestamp,
                          get_parameter_u32 (para, pKEYEXPIRE), para);
-        
+
       if (!rc)
         rc = write_keybinding (pub_root, pub_root, pri_sk, sub_sk,
                                PUBKEY_USAGE_AUTH, timestamp);
@@ -3581,7 +3589,7 @@ do_generate_keypair (struct para_data_s *para,
       rc = write_keyblock( outctrl->pub.stream, pub_root );
       if (rc)
         log_error ("can't write public key: %s\n", g10_errstr(rc) );
-      if (!rc) 
+      if (!rc)
         {
           rc = write_keyblock( outctrl->sec.stream, sec_root );
           if(rc)
@@ -3594,18 +3602,18 @@ do_generate_keypair (struct para_data_s *para,
       KEYDB_HANDLE sec_hd = keydb_new (1);
 
       rc = keydb_locate_writable (pub_hd, NULL);
-      if (rc) 
+      if (rc)
         log_error (_("no writable public keyring found: %s\n"),
                    g10_errstr (rc));
 
-      if (!rc) 
-        {  
+      if (!rc)
+        {
           rc = keydb_locate_writable (sec_hd, NULL);
-          if (rc) 
+          if (rc)
             log_error (_("no writable secret keyring found: %s\n"),
                        g10_errstr (rc));
         }
-      
+
       if (!rc && opt.verbose)
         {
           log_info (_("writing public key to `%s'\n"),
@@ -3617,15 +3625,15 @@ do_generate_keypair (struct para_data_s *para,
             log_info (_("writing secret key to `%s'\n"),
                       keydb_get_resource_name (sec_hd));
         }
-      
-      if (!rc) 
+
+      if (!rc)
         {
           rc = keydb_insert_keyblock (pub_hd, pub_root);
           if (rc)
             log_error (_("error writing public keyring `%s': %s\n"),
                        keydb_get_resource_name (pub_hd), g10_errstr(rc));
         }
-      
+
       if (!rc)
         {
           rc = keydb_insert_keyblock (sec_hd, sec_root);
@@ -3636,7 +3644,7 @@ do_generate_keypair (struct para_data_s *para,
 
       keydb_release (pub_hd);
       keydb_release (sec_hd);
-      
+
       if (!rc)
         {
           int no_enc_rsa;
@@ -3656,14 +3664,14 @@ do_generate_keypair (struct para_data_s *para,
           update_ownertrust (pk, ((get_ownertrust (pk) & ~TRUST_MASK)
                                   | TRUST_ULTIMATE ));
 
-          if (!opt.batch) 
+          if (!opt.batch)
             {
               tty_printf (_("public and secret key created and signed.\n") );
               tty_printf ("\n");
               list_keyblock(pub_root,0,1,NULL);
             }
-            
-          
+
+
           if (!opt.batch
               && (get_parameter_algo (para, pKEYTYPE, NULL) == PUBKEY_ALGO_DSA
                   || no_enc_rsa )
@@ -3688,14 +3696,14 @@ do_generate_keypair (struct para_data_s *para,
     }
   else
     {
-      PKT_public_key *pk = find_kbnode (pub_root, 
+      PKT_public_key *pk = find_kbnode (pub_root,
                                         PKT_PUBLIC_KEY)->pkt->pkt.public_key;
       print_status_key_created (did_sub? 'B':'P', pk,
                                 get_parameter_value (para, pHANDLE));
     }
   release_kbnode( pub_root );
   release_kbnode( sec_root );
-  
+
   if (pri_sk && !card)        /* The unprotected secret key unless we */
     free_secret_key (pri_sk); /* have a shallow copy in card mode. */
   if (sub_sk)
@@ -3724,12 +3732,12 @@ generate_subkeypair (KBNODE pub_keyblock, KBNODE sec_keyblock)
 
   /* Break out the primary secret key.  */
   node = find_kbnode( sec_keyblock, PKT_SECRET_KEY );
-  if( !node ) 
+  if( !node )
     {
       log_error ("Oops; secret key not found anymore!\n");
       goto leave;
     }
-  
+
   /* Make a copy of the sk to keep the protected one in the keyblock. */
   pri_sk = copy_secret_key (NULL, node->pkt->pkt.secret_key);
 
@@ -3749,7 +3757,7 @@ generate_subkeypair (KBNODE pub_keyblock, KBNODE sec_keyblock)
         }
     }
 
-  if (pri_sk->version < 4) 
+  if (pri_sk->version < 4)
     {
       log_info (_("NOTE: creating subkeys for v3 keys "
                   "is not OpenPGP compliant\n"));
@@ -3794,7 +3802,7 @@ generate_subkeypair (KBNODE pub_keyblock, KBNODE sec_keyblock)
   if (!cpr_enabled() && !cpr_get_answer_is_yes("keygen.sub.okay",
                                                _("Really create? (y/N) ")))
     goto leave;
-  
+
   canceled = 0;
   if (ask_pass)
     dek = do_ask_passphrase (&s2k, 0, &canceled);
@@ -3807,20 +3815,20 @@ generate_subkeypair (KBNODE pub_keyblock, KBNODE sec_keyblock)
       dek = passphrase_to_dek (NULL, 0, opt.s2k_cipher_algo, s2k, 2,
                                NULL, NULL );
     }
-  
+
   if (canceled)
     rc = GPG_ERR_CANCELED;
-  
+
   if (!rc)
     rc = do_create (algo, nbits, pub_keyblock, sec_keyblock,
                     dek, s2k, &sub_sk, cur_time, expire, 1 );
   if (!rc)
-    rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk, 
+    rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk,
                           use, cur_time);
   if (!rc)
-    rc = write_keybinding (sec_keyblock, pub_keyblock, pri_sk, sub_sk, 
+    rc = write_keybinding (sec_keyblock, pub_keyblock, pri_sk, sub_sk,
                            use, cur_time);
-  if (!rc) 
+  if (!rc)
     {
       okay = 1;
       write_status_text (STATUS_KEY_CREATED, "S");
@@ -3936,10 +3944,10 @@ generate_card_subkeypair (KBNODE pub_keyblock, KBNODE sec_keyblock,
   rc = gen_card_key (algo, keyno, 0, pub_keyblock, sec_keyblock,
                     &sub_sk, &cur_time, expire, para);
   if (!rc)
-    rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk, 
+    rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk,
                            use, cur_time);
   if (!rc)
-    rc = write_keybinding (sec_keyblock, pub_keyblock, pri_sk, sub_sk, 
+    rc = write_keybinding (sec_keyblock, pub_keyblock, pri_sk, sub_sk,
                            use, cur_time);
   if (!rc)
     {
@@ -4000,7 +4008,7 @@ gen_card_key (int algo, int keyno, int is_primary,
   PKT_public_key *pk;
 
   assert (algo == PUBKEY_ALGO_RSA);
-  
+
   /* Fixme: We don't have the serialnumber available, thus passing NULL. */
   rc = agent_scd_genkey (&info, keyno, 1, NULL, *timestamp);
 /*    if (gpg_err_code (rc) == GPG_ERR_EEXIST) */
@@ -4025,7 +4033,7 @@ gen_card_key (int algo, int keyno, int is_primary,
       gcry_mpi_release (info.e);
       return gpg_error (GPG_ERR_GENERAL);
     }
-  
+
   if (*timestamp != info.created_at)
     log_info ("Note that the key does not use the suggested creation date\n");
   *timestamp = info.created_at;
@@ -4038,7 +4046,7 @@ gen_card_key (int algo, int keyno, int is_primary,
       sk->expiredate = pk->expiredate = pk->timestamp + expireval;
   sk->pubkey_algo = pk->pubkey_algo = algo;
   pk->pkey[0] = info.n;
-  pk->pkey[1] = info.e; 
+  pk->pkey[1] = info.e;
   sk->skey[0] = gcry_mpi_copy (pk->pkey[0]);
   sk->skey[1] = gcry_mpi_copy (pk->pkey[1]);
   sk->skey[2] = gcry_mpi_set_opaque (NULL, xstrdup ("dummydata"), 10*8);
@@ -4089,11 +4097,11 @@ gen_card_key_with_backup (int algo, int keyno, int is_primary,
   size_t n;
   int i;
   unsigned int nbits;
-    
+
   /* Get the size of the key directly from the card.  */
   {
     struct agent_card_info_s info;
-    
+
     memset (&info, 0, sizeof info);
     if (!agent_scd_getattr ("KEY-ATTR", &info)
         && info.key_attr[1].algo)
@@ -4159,7 +4167,7 @@ gen_card_key_with_backup (int algo, int keyno, int is_primary,
     else
       fp = iobuf_create (fname);
     umask (oldmask);
-    if (!fp) 
+    if (!fp)
       {
         rc = gpg_error_from_syserror ();
        log_error (_("can't create backup file `%s': %s\n"),
@@ -4185,7 +4193,7 @@ gen_card_key_with_backup (int algo, int keyno, int is_primary,
       {
         unsigned char array[MAX_FINGERPRINT_LEN];
         char *fprbuf, *p;
-       
+
         iobuf_close (fp);
         iobuf_ioctl (NULL, 2, 0, (char*)fname);
         log_info (_("NOTE: backup of card key saved to `%s'\n"), fname);
@@ -4302,7 +4310,7 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
   p = stpcpy (stpcpy (stpcpy (p, numbuf), numbuf2), "))");
 
   /* Fixme: Unfortunately we don't have the serialnumber available -
-     thus we can't pass it down to the agent. */ 
+     thus we can't pass it down to the agent. */
   rc = agent_scd_writekey (keyno, NULL, sexp, p - sexp);
 
  leave:
index 8201260..bb19bc3 100644 (file)
@@ -141,7 +141,7 @@ print_seckey_info (PKT_secret_key *sk)
              nbits_from_sk (sk),
              pubkey_letter (sk->pubkey_algo),
              keystr(keyid), datestr_from_sk (sk), p);
-    
+
   xfree (p);
 }
 
@@ -185,13 +185,13 @@ print_card_key_info (FILE *fp, KBNODE keyblock)
   KBNODE node;
   int i;
 
-  for (node = keyblock; node; node = node->next ) 
+  for (node = keyblock; node; node = node->next )
     {
       if (node->pkt->pkttype == PKT_SECRET_KEY
           || (node->pkt->pkttype == PKT_SECRET_SUBKEY) )
         {
           PKT_secret_key *sk = node->pkt->pkt.secret_key;
-          
+
           tty_fprintf (fp, "%s%c  %4u%c/%s  ",
                       node->pkt->pkttype == PKT_SECRET_KEY? "sec":"ssb",
                        (sk->protect.s2k.mode==1001)?'#':
@@ -205,10 +205,10 @@ print_card_key_info (FILE *fp, KBNODE keyblock)
           if (sk->is_protected && sk->protect.s2k.mode == 1002)
             {
               tty_fprintf (fp, "\n                      ");
-              tty_fprintf (fp, _("card-no: ")); 
+              tty_fprintf (fp, _("card-no: "));
               if (sk->protect.ivlen == 16
                   && !memcmp (sk->protect.iv, "\xD2\x76\x00\x01\x24\x01", 6))
-                { 
+                {
                   /* This is an OpenPGP card. */
                   for (i=8; i < 14; i++)
                     {
@@ -454,7 +454,7 @@ list_all( int secret )
         merge_keys_and_selfsig( keyblock );
        list_keyblock( keyblock, secret, opt.fingerprint,
                       opt.check_sigs?&stats:NULL);
-       release_kbnode( keyblock ); 
+       release_kbnode( keyblock );
         keyblock = NULL;
     } while (!(rc = keydb_search_next (hd)));
     if( rc && rc != -1 )
@@ -548,7 +548,7 @@ locate_one (strlist_t names)
   struct sig_stats stats;
 
   memset (&stats,0,sizeof(stats));
-    
+
   for (sl=names; sl; sl = sl->next)
     {
       rc = get_pubkey_byname (&ctx, NULL, sl->d, &keyblock, NULL, 1, 0);
@@ -559,18 +559,18 @@ locate_one (strlist_t names)
        }
       else
         {
-          do 
+          do
             {
               list_keyblock (keyblock, 0, opt.fingerprint,
                              opt.check_sigs? &stats : NULL );
               release_kbnode (keyblock);
-            } 
+            }
           while ( ctx && !get_pubkey_next (ctx, NULL, &keyblock));
           get_pubkey_end (ctx);
           ctx = NULL;
-       } 
+       }
     }
-  
+
   if (opt.check_sigs && !opt.with_colons)
     print_signature_stats (&stats);
 }
@@ -597,7 +597,7 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
     {
       unsigned int use = pk? pk->pubkey_usage : sk->pubkey_usage;
       int c_printed = 0;
-    
+
       if ( use & PUBKEY_USAGE_ENC )
         putchar ('e');
 
@@ -627,7 +627,7 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
         int enc=0, sign=0, cert=0, auth=0, disabled=0;
 
         for (k=keyblock; k; k = k->next ) {
-            if ( k->pkt->pkttype == PKT_PUBLIC_KEY 
+            if ( k->pkt->pkttype == PKT_PUBLIC_KEY
                  || k->pkt->pkttype == PKT_PUBLIC_SUBKEY ) {
                 pk = k->pkt->pkt.public_key;
 
@@ -649,7 +649,7 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
                       auth = 1;
                 }
             }
-            else if ( k->pkt->pkttype == PKT_SECRET_KEY 
+            else if ( k->pkt->pkttype == PKT_SECRET_KEY
                       || k->pkt->pkttype == PKT_SECRET_SUBKEY ) {
                 sk = k->pkt->pkt.secret_key;
                 if ( sk->is_valid && !sk->is_revoked && !sk->has_expired
@@ -982,7 +982,7 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
                 case 0:                sigrc = '!'; break;
                 case GPG_ERR_BAD_SIGNATURE:
                    stats->inv_sigs++; sigrc = '-'; break;
-                case GPG_ERR_NO_PUBKEY: 
+                case GPG_ERR_NO_PUBKEY:
                 case GPG_ERR_UNUSABLE_PUBKEY: stats->no_key++; continue;
                 default:               stats->oth_err++; sigrc = '%'; break;
                }
@@ -1128,9 +1128,9 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
         putchar ('r');
       else if ( pk->has_expired )
         putchar ('e');
-      else if ( opt.fast_list_mode || opt.no_expensive_trust_checks ) 
+      else if ( opt.fast_list_mode || opt.no_expensive_trust_checks )
       ;
-      else 
+      else
         {
           trustletter = get_validity_info ( pk, NULL );
           if ( trustletter == 'u' )
@@ -1186,7 +1186,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
           if (attrib_fp && node->pkt->pkt.user_id->attrib_data != NULL)
             dump_attribs (node->pkt->pkt.user_id,pk,sk);
           /*
-           * Fixme: We need a is_valid flag here too 
+           * Fixme: We need a is_valid flag here too
            */
           str = uid->attrib_data? "uat":"uid";
           /* If we're listing a secret key, leave out the validity
@@ -1199,25 +1199,25 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
             printf ("%s:e::::",str);
           else if ( opt.no_expensive_trust_checks )
             printf ("%s:::::",str);
-          else 
+          else
             {
               int uid_validity;
-                
+
               if ( pk && !ulti_hack )
                 uid_validity=get_validity_info (pk, uid);
               else
                 uid_validity = 'u';
               printf ("%s:%c::::",str,uid_validity);
             }
-            
+
           printf ("%s:", colon_strtime (uid->created));
           printf ("%s:", colon_strtime (uid->expiredate));
-            
+
           namehash_from_uid (uid);
 
           for (i=0; i < 20; i++ )
             printf ("%02X",uid->namehash[i]);
-            
+
           printf ("::");
 
           if (uid->attrib_data)
@@ -1227,11 +1227,11 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
           putchar (':');
           putchar ('\n');
         }
-      else if ( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) 
+      else if ( node->pkt->pkttype == PKT_PUBLIC_SUBKEY )
         {
           u32 keyid2[2];
           PKT_public_key *pk2 = node->pkt->pkt.public_key;
-            
+
           keyid_from_pk ( pk2, keyid2 );
           fputs ("sub:", stdout );
           if ( !pk2->is_valid )
@@ -1291,7 +1291,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
             }
           putchar(':'); /* End of field 15. */
           putchar ('\n');
-        
+
           if ( fpr > 1 )
             print_fingerprint ( NULL, sk2, 0 );
         }
@@ -1302,7 +1302,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
           char *sigstr;
           size_t fplen;
           byte fparray[MAX_FINGERPRINT_LEN];
-        
+
           if ( sig->sig_class == 0x20 || sig->sig_class == 0x28
                || sig->sig_class == 0x30 )
             sigstr = "rev";
@@ -1312,7 +1312,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
             sigstr = "sig";
           else if ( sig->sig_class == 0x1F )
             sigstr = "sig";
-          else 
+          else
             {
               printf ("sig::::::::::%02x%c:\n",
                       sig->sig_class, sig->flags.exportable?'x':'l');
@@ -1322,18 +1322,18 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
           if ( opt.check_sigs )
             {
               PKT_public_key *signer_pk=NULL;
-            
+
               fflush (stdout);
               if (opt.no_sig_cache)
                 signer_pk = xmalloc_clear (sizeof(PKT_public_key));
-            
+
               rc = check_key_signature2 ( keyblock, node, NULL, signer_pk,
                                           NULL, NULL, NULL );
               switch ( gpg_err_code (rc) )
                 {
                 case 0:                              sigrc = '!'; break;
                 case GPG_ERR_BAD_SIGNATURE:   sigrc = '-'; break;
-                case GPG_ERR_NO_PUBKEY: 
+                case GPG_ERR_NO_PUBKEY:
                 case GPG_ERR_UNUSABLE_PUBKEY: sigrc = '?'; break;
                 default:                     sigrc = '%'; break;
                 }
@@ -1348,7 +1348,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
                   free_public_key(signer_pk);
                 }
             }
-          else 
+          else
             {
               rc = 0;
               sigrc = ' ';
@@ -1370,7 +1370,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
             print_string (stdout,sig->trust_regexp,
                           strlen(sig->trust_regexp),':');
           printf(":");
-        
+
           if ( sigrc == '%' )
             printf("[%s] ", g10_errstr(rc) );
           else if ( sigrc == '?' )
@@ -1382,23 +1382,19 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
               print_string( stdout, p, n, ':' );
               xfree(p);
             }
-          printf (":%02x%c:", sig->sig_class,sig->flags.exportable?'x':'l');
-        
+          printf (":%02x%c::", sig->sig_class,sig->flags.exportable?'x':'l');
+
           if (opt.no_sig_cache && opt.check_sigs && fprokay)
             {
-              putchar (':');
-            
               for (i=0; i < fplen ; i++ )
                 printf ("%02X", fparray[i] );
-            
-              putchar (':');
             }
 
-          printf ("\n");
-        
+          printf (":::%d:\n", sig->digest_algo);
+
           if (opt.show_subpackets)
             print_subpackets_colon (sig);
-          
+
           /* fixme: check or list other sigs here */
         }
     }
@@ -1421,8 +1417,8 @@ do_reorder_keyblock (KBNODE keyblock,int attr)
             node->pkt->pkt.user_id->is_primary ) {
             primary = primary2 = node;
             for (node=node->next; node; primary2=node, node = node->next ) {
-                if( node->pkt->pkttype == PKT_USER_ID 
-                    || node->pkt->pkttype == PKT_PUBLIC_SUBKEY 
+                if( node->pkt->pkttype == PKT_USER_ID
+                    || node->pkt->pkttype == PKT_PUBLIC_SUBKEY
                     || node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
                     break;
                 }
@@ -1544,7 +1540,7 @@ print_fingerprint (PKT_public_key *pk, PKT_secret_key *sk, int mode )
         fp = stdout;
        text = _("      Key fingerprint =");
     }
-  
+
     if (sk)
        fingerprint_from_sk (sk, array, &n);
     else
@@ -1604,7 +1600,7 @@ print_card_serialno (PKT_secret_key *sk)
 
   if (!sk)
     return;
-  if (!sk->is_protected || sk->protect.s2k.mode != 1002) 
+  if (!sk->is_protected || sk->protect.s2k.mode != 1002)
     return; /* Not a card. */
   if (opt.with_colons)
     return; /* Handled elsewhere. */
@@ -1639,11 +1635,11 @@ set_attrib_fd (int fd)
   if ( fd != -1 && last_fd == fd )
     return;
 
-  if ( attrib_fp && attrib_fp != stdout && attrib_fp != stderr 
+  if ( attrib_fp && attrib_fp != stdout && attrib_fp != stderr
        && attrib_fp != log_get_stream () )
     fclose (attrib_fp);
   attrib_fp = NULL;
-  if ( fd == -1 ) 
+  if ( fd == -1 )
     return;
 
 #ifdef HAVE_DOSISH_SYSTEM
@@ -1655,11 +1651,11 @@ set_attrib_fd (int fd)
     attrib_fp = stderr;
   else
     attrib_fp = fdopen (fd, "wb");
-  if (!attrib_fp) 
+  if (!attrib_fp)
     {
       log_fatal("can't open fd %d for attribute output: %s\n",
                 fd, strerror(errno));
     }
-  
+
   last_fd = fd;
 }
index 36c52f0..af00401 100644 (file)
@@ -1,6 +1,6 @@
 /* keyserver.c - generic keyserver code
  * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- *               2009 Free Software Foundation, Inc.
+ *               2009, 2012 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -483,9 +483,10 @@ print_keyrec(int number,struct keyrec *keyrec)
 
   if(keyrec->type)
     {
-      const char *str = gcry_pk_algo_name (keyrec->type);
+      const char *str;
 
-      if(str)
+      str = openpgp_pk_algo_name (keyrec->type);
+      if(str && strcmp (str, "?"))
        printf("%s ",str);
       else
        printf("unknown ");
@@ -504,21 +505,27 @@ print_keyrec(int number,struct keyrec *keyrec)
       break;
 
       /* However, if it gave us a long keyid, we can honor
-        --keyid-format */
+        --keyid-format via keystr(). */
     case KEYDB_SEARCH_MODE_LONG_KID:
       printf("key %s",keystr(keyrec->desc.u.kid));
       break;
 
+      /* If it gave us a PGP 2.x fingerprint, not much we can do
+        beyond displaying it. */
     case KEYDB_SEARCH_MODE_FPR16:
       printf("key ");
       for(i=0;i<16;i++)
        printf("%02X",keyrec->desc.u.fpr[i]);
       break;
 
+      /* If we get a modern fingerprint, we have the most
+        flexibility. */
     case KEYDB_SEARCH_MODE_FPR20:
-      printf("key ");
-      for(i=0;i<20;i++)
-       printf("%02X",keyrec->desc.u.fpr[i]);
+      {
+       u32 kid[2];
+       keyid_from_fingerprint(keyrec->desc.u.fpr,20,kid);
+       printf("key %s",keystr(kid));
+      }
       break;
 
     default:
@@ -662,7 +669,7 @@ parse_keyrec(char *keystring)
          case 'R':
            work->flags|=1;
            break;
-           
+
          case 'd':
          case 'D':
            work->flags|=2;
@@ -867,7 +874,7 @@ keyserver_search_prompt(IOBUF buffer,const char *searchstr)
 
               if (opt.with_colons && opt.batch)
                 break;
-                
+
              for(;;)
                {
                  if(show_prompt(desc,i,validcount?count:0,localstr))
@@ -921,7 +928,7 @@ keyserver_search_prompt(IOBUF buffer,const char *searchstr)
   /* Leave this commented out or now, and perhaps for a very long
      time.  All HKPish servers return HTML error messages for
      no-key-found. */
-  /* 
+  /*
      if(!started)
      log_info(_("keyserver does not support searching\n"));
      else
@@ -974,10 +981,91 @@ direct_uri_map(const char *scheme,unsigned int is_direct)
 #define KEYSERVER_ARGS_KEEP " -o \"%O\" \"%I\""
 #define KEYSERVER_ARGS_NOKEEP " -o \"%o\" \"%i\""
 
-static int 
-keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
-               int count,int *prog,unsigned char **fpr,size_t *fpr_len,
-               struct keyserver_spec *keyserver)
+
+/* Structure to convey the arg to keyserver_retrieval_filter.  */
+struct ks_retrieval_filter_arg_s
+{
+  KEYDB_SEARCH_DESC *desc;
+  int ndesc;
+};
+
+
+/* Check whether a key matches the search description.  The filter
+   returns 0 if the key shall be imported.  Note that this kind of
+   filter is not related to the iobuf filters. */
+static int
+keyserver_retrieval_filter (kbnode_t keyblock, void *opaque)
+{
+  struct ks_retrieval_filter_arg_s *arg = opaque;
+  KEYDB_SEARCH_DESC *desc = arg->desc;
+  int ndesc = arg->ndesc;
+  kbnode_t node;
+  PKT_public_key *pk;
+  int n;
+  u32 keyid[2];
+  byte fpr[MAX_FINGERPRINT_LEN];
+  size_t fpr_len = 0;
+
+  /* Secret keys are not expected from a keyserver.  We do not
+     care about secret subkeys because the import code takes care
+     of skipping them.  Not allowing an import of a public key
+     with a secret subkey would make it too easy to inhibit the
+     downloading of a public key.  Recall that keyservers do only
+     limited checks.  */
+  node = find_kbnode (keyblock, PKT_SECRET_KEY);
+  if (node)
+    return G10ERR_GENERAL;   /* Do not import. */
+
+  if (!ndesc)
+    return 0; /* Okay if no description given.  */
+
+  /* Loop over all key packets.  */
+  for (node = keyblock; node; node = node->next)
+    {
+      if (node->pkt->pkttype != PKT_PUBLIC_KEY
+          && node->pkt->pkttype != PKT_PUBLIC_SUBKEY)
+        continue;
+
+      pk = node->pkt->pkt.public_key;
+      fingerprint_from_pk (pk, fpr, &fpr_len);
+      keyid_from_pk (pk, keyid);
+
+      /* Compare requested and returned fingerprints if available. */
+      for (n = 0; n < ndesc; n++)
+        {
+          if (desc[n].mode == KEYDB_SEARCH_MODE_FPR20)
+            {
+              if (fpr_len == 20 && !memcmp (fpr, desc[n].u.fpr, 20))
+                return 0;
+            }
+          else if (desc[n].mode == KEYDB_SEARCH_MODE_FPR16)
+            {
+              if (fpr_len == 16 && !memcmp (fpr, desc[n].u.fpr, 16))
+                return 0;
+            }
+          else if (desc[n].mode == KEYDB_SEARCH_MODE_LONG_KID)
+            {
+              if (keyid[0] == desc[n].u.kid[0] && keyid[1] == desc[n].u.kid[1])
+                return 0;
+            }
+          else if (desc[n].mode == KEYDB_SEARCH_MODE_SHORT_KID)
+            {
+              if (keyid[1] == desc[n].u.kid[1])
+                return 0;
+            }
+          else /* No keyid or fingerprint - can't check.  */
+            return 0; /* allow import.  */
+        }
+    }
+
+  return G10ERR_GENERAL;
+}
+
+
+static int
+keyserver_spawn (enum ks_action action, strlist_t list, KEYDB_SEARCH_DESC *desc,
+                 int count, int *prog, unsigned char **fpr, size_t *fpr_len,
+                 struct keyserver_spec *keyserver)
 {
   int ret=0,i,gotversion=0,outofband=0;
   strlist_t temp;
@@ -1014,7 +1102,7 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
      the program of this process lives.  Fortunately Windows provides
      a way to retrieve this and our gnupg_libexecdir function has been
      modified to return just this.  Setting the exec-path is not
-     anymore required.  
+     anymore required.
        set_exec_path(libexecdir);
  */
 #else
@@ -1044,7 +1132,7 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
      fetcher that can speak that protocol (this is a problem for
      LDAP). */
 
-  strcat(command,GPGKEYS_PREFIX); 
+  strcat(command,GPGKEYS_PREFIX);
   strcat(command,scheme);
 
   /* This "_uri" thing is in case we need to call a direct handler
@@ -1074,7 +1162,7 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
        {
          command=xrealloc(command,strlen(command)+
                            strlen(KEYSERVER_ARGS_NOKEEP)+1);
-         strcat(command,KEYSERVER_ARGS_NOKEEP);  
+         strcat(command,KEYSERVER_ARGS_NOKEEP);
        }
 
       ret=exec_write(&spawn,NULL,command,NULL,0,0);
@@ -1483,6 +1571,7 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
       case KS_GETNAME:
        {
          void *stats_handle;
+          struct ks_retrieval_filter_arg_s filterarg;
 
          stats_handle=import_new_stats_handle();
 
@@ -1491,10 +1580,16 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
             It's harmless to ignore them, but ignoring them does make
             gpg complain about "no valid OpenPGP data found".  One
             way to do this could be to continue parsing this
-            line-by-line and make a temp iobuf for each key. */
-
-         import_keys_stream(spawn->fromchild,stats_handle,fpr,fpr_len,
-                            opt.keyserver_options.import_options);
+            line-by-line and make a temp iobuf for each key.  Note
+            that we don't allow the import of secret keys from a
+            keyserver.  Keyservers should never accept or send them
+            but we better protect against rogue keyservers. */
+          filterarg.desc = desc;
+          filterarg.ndesc = count;
+         import_keys_stream (spawn->fromchild, stats_handle, fpr, fpr_len,
+                             (opt.keyserver_options.import_options
+                              | IMPORT_NO_SECKEY),
+                              keyserver_retrieval_filter, &filterarg);
 
          import_print_stats(stats_handle);
          import_release_stats_handle(stats_handle);
@@ -1525,12 +1620,14 @@ keyserver_spawn(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
   return ret;
 }
 
-static int 
-keyserver_work(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
-              int count,unsigned char **fpr,size_t *fpr_len,
-              struct keyserver_spec *keyserver)
+
+static int
+keyserver_work (enum ks_action action, strlist_t list, KEYDB_SEARCH_DESC *desc,
+                int count, unsigned char **fpr, size_t *fpr_len,
+                struct keyserver_spec *keyserver)
 {
-  int rc=0,ret=0;
+  int rc = 0;
+  int ret = 0;
 
   if(!keyserver)
     {
@@ -1595,7 +1692,8 @@ keyserver_work(enum ks_action action,strlist_t list,KEYDB_SEARCH_DESC *desc,
 #endif /* ! DISABLE_KEYSERVER_HELPERS*/
 }
 
-int 
+
+int
 keyserver_export(strlist_t users)
 {
   strlist_t sl=NULL;
@@ -1627,7 +1725,8 @@ keyserver_export(strlist_t users)
   return rc;
 }
 
-int 
+
+int
 keyserver_import(strlist_t users)
 {
   KEYDB_SEARCH_DESC *desc;
@@ -1687,7 +1786,7 @@ keyserver_import_fprint(const byte *fprint,size_t fprint_len,
   return keyserver_work(KS_GET,NULL,&desc,1,NULL,NULL,keyserver);
 }
 
-int 
+int
 keyserver_import_keyid(u32 *keyid,struct keyserver_spec *keyserver)
 {
   KEYDB_SEARCH_DESC desc;
@@ -1701,11 +1800,14 @@ keyserver_import_keyid(u32 *keyid,struct keyserver_spec *keyserver)
   return keyserver_work(KS_GET,NULL,&desc,1,NULL,NULL,keyserver);
 }
 
-/* code mostly stolen from do_export_stream */
-static int 
+
+/* Code mostly stolen from do_export_stream */
+static int
 keyidlist(strlist_t users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
 {
-  int rc=0,ndesc,num=100;
+  int rc = 0;
+  int num = 100;
+  int ndesc;
   KBNODE keyblock=NULL,node;
   KEYDB_HANDLE kdbhd;
   KEYDB_SEARCH_DESC *desc;
@@ -1725,10 +1827,10 @@ keyidlist(strlist_t users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
     }
   else
     {
-      for (ndesc=0, sl=users; sl; sl = sl->next, ndesc++) 
+      for (ndesc=0, sl=users; sl; sl = sl->next, ndesc++)
        ;
       desc = xmalloc ( ndesc * sizeof *desc);
-        
+
       for (ndesc=0, sl=users; sl; sl = sl->next)
        {
          if(classify_user_id (sl->d, desc+ndesc))
@@ -1741,7 +1843,7 @@ keyidlist(strlist_t users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
 
   while (!(rc = keydb_search (kdbhd, desc, ndesc)))
     {
-      if (!users) 
+      if (!users)
        desc[0].mode = KEYDB_SEARCH_MODE_NEXT;
 
       /* read the keyblock */
@@ -1844,7 +1946,7 @@ keyidlist(strlist_t users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
 
   if(rc==-1)
     rc=0;
-  
+
  leave:
   if(rc)
     xfree(*klist);
@@ -2032,8 +2134,9 @@ keyserver_import_cert(const char *name,unsigned char **fpr,size_t *fpr_len)
       /* CERTs are always in binary format */
       opt.no_armor=1;
 
-      rc=import_keys_stream(key,NULL,fpr,fpr_len,
-                           opt.keyserver_options.import_options);
+      rc=import_keys_stream (key, NULL, fpr, fpr_len,
+                             (opt.keyserver_options.import_options
+                              | IMPORT_NO_SECKEY), NULL, NULL);
 
       opt.no_armor=armor_status;
 
@@ -2176,7 +2279,7 @@ keyserver_import_ldap(const char *name,unsigned char **fpr,size_t *fpr_len)
          snprintf(port,7,":%u",srvlist[i].port);
          strcat(keyserver->host,port);
        }
-       
+
       strcat(keyserver->host," ");
     }
 
@@ -2192,7 +2295,7 @@ keyserver_import_ldap(const char *name,unsigned char **fpr,size_t *fpr_len)
   strcat(keyserver->host,domain);
 
   append_to_strlist(&list,name);
-    
+
   rc=keyserver_work(KS_GETNAME,list,NULL,0,fpr,fpr_len,keyserver);
 
   free_strlist(list);
index 3a42137..9904820 100644 (file)
@@ -89,9 +89,11 @@ int map_cipher_openpgp_to_gcry (int algo);
 int openpgp_cipher_blocklen (int algo);
 int openpgp_cipher_test_algo( int algo );
 const char *openpgp_cipher_algo_name (int algo);
+int map_pk_openpgp_to_gcry (int algo);
 int openpgp_pk_test_algo( int algo );
 int openpgp_pk_test_algo2 ( int algo, unsigned int use );
 int openpgp_pk_algo_usage ( int algo );
+const char *openpgp_pk_algo_name (int algo);
 int openpgp_md_test_algo( int algo );
 
 #ifdef USE_IDEA
@@ -107,13 +109,14 @@ struct expando_args
   byte imagetype;
   int validity_info;
   const char *validity_string;
+  const byte *namehash;
 };
 
 char *pct_expando(const char *string,struct expando_args *args);
 void deprecated_warning(const char *configname,unsigned int configlineno,
                        const char *option,const char *repl1,const char *repl2);
 void deprecated_command (const char *name);
-void obsolete_option (const char *configname, unsigned int configlineno, 
+void obsolete_option (const char *configname, unsigned int configlineno,
                       const char *name);
 
 int string_to_cipher_algo (const char *string);
@@ -158,6 +161,8 @@ int  is_status_enabled ( void );
 void write_status ( int no );
 void write_status_error (const char *where, int errcode);
 void write_status_text ( int no, const char *text );
+void write_status_strings (int no, const char *text,
+                           ...) GNUPG_GCC_A_SENTINEL(0);
 void write_status_buffer ( int no,
                            const char *buffer, size_t len, int wrap );
 void write_status_text_and_buffer ( int no, const char *text,
@@ -255,18 +260,22 @@ gcry_mpi_t encode_md_value( PKT_public_key *pk, PKT_secret_key *sk,
                             gcry_md_hd_t md, int hash_algo );
 
 /*-- import.c --*/
+
+typedef int (*import_filter_t)(kbnode_t keyblock, void *arg);
+
 int parse_import_options(char *str,unsigned int *options,int noisy);
 void import_keys( char **fnames, int nnames,
                  void *stats_hd, unsigned int options );
-int import_keys_stream( iobuf_t inp,void *stats_hd,unsigned char **fpr,
-                       size_t *fpr_len,unsigned int options );
+int import_keys_stream (iobuf_t inp, void *stats_hd, unsigned char **fpr,
+                        size_t *fpr_len, unsigned int options,
+                        import_filter_t filter, void *filter_arg);
 void *import_new_stats_handle (void);
 void import_release_stats_handle (void *p);
 void import_print_stats (void *hd);
 
 int collapse_uids( KBNODE *keyblock );
 
-int auto_create_card_key_stub ( const char *serialnostr, 
+int auto_create_card_key_stub ( const char *serialnostr,
                                 const unsigned char *fpr1,
                                 const unsigned char *fpr2,
                                 const unsigned char *fpr3);
index c7df113..551ab58 100644 (file)
@@ -1,6 +1,7 @@
 /* mainproc.c - handle packets
  * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
  *               2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2013 Werner Koch
  *
  * This file is part of GnuPG.
  *
 #include "pka.h"
 
 
+/* Put an upper limit on nested packets.  The 32 is an arbitrary
+   value, a much lower should actually be sufficient.  */
+#define MAX_NESTING_DEPTH 32
+
+
 struct kidlist_item {
     struct kidlist_item *next;
     u32 kid[2];
@@ -86,12 +92,16 @@ struct mainproc_context
   DEK *dek;
   int last_was_session_key;
   KBNODE list;      /* The current list of packets. */
-  int have_data;
   IOBUF iobuf;      /* Used to get the filename etc. */
   int trustletter;  /* Temporary usage in list_node. */
   ulong symkeys;
   struct kidlist_item *pkenc_list; /* List of encryption packets. */
-  int any_sig_seen;  /* Set to true if a signature packet has been seen. */
+  struct {
+    unsigned int sig_seen:1;      /* Set to true if a signature packet
+                                     has been seen. */
+    unsigned int data:1;          /* Any data packet seen */
+    unsigned int uncompress_failed:1;
+  } any;
 };
 
 
@@ -120,7 +130,8 @@ release_list( CTX c )
     }
     c->pkenc_list = NULL;
     c->list = NULL;
-    c->have_data = 0;
+    c->any.data = 0;
+    c->any.uncompress_failed = 0;
     c->last_was_session_key = 0;
     xfree(c->dek); c->dek = NULL;
 }
@@ -198,7 +209,7 @@ add_signature( CTX c, PACKET *pkt )
 {
     KBNODE node;
 
-    c->any_sig_seen = 1;
+    c->any.sig_seen = 1;
     if( pkt->pkttype == PKT_SIGNATURE && !c->list ) {
        /* This is the first signature for the following datafile.
         * GPG does not write such packets; instead it always uses
@@ -444,7 +455,7 @@ print_pkenc_list( struct kidlist_item *list, int failed )
         if ( !failed && list->reason )
             continue;
 
-        algstr = gcry_pk_algo_name ( list->pubkey_algo );
+        algstr = openpgp_pk_algo_name ( list->pubkey_algo );
         pk = xmalloc_clear( sizeof *pk );
 
        if( !algstr )
@@ -558,6 +569,7 @@ proc_encrypted( CTX c, PACKET *pkt )
     }
     else if( !c->dek )
        result = G10ERR_NO_SECKEY;
+
     if( !result )
        result = decrypt_data( c, pkt->pkt.encrypted, c->dek );
 
@@ -572,16 +584,6 @@ proc_encrypted( CTX c, PACKET *pkt )
            write_status( STATUS_GOODMDC );
        else if(!opt.no_mdc_warn)
            log_info (_("WARNING: message was not integrity protected\n"));
-       if(opt.show_session_key)
-         {
-           int i;
-           char *buf = xmalloc ( c->dek->keylen*2 + 20 );
-           sprintf ( buf, "%d:", c->dek->algo );
-           for(i=0; i < c->dek->keylen; i++ )
-             sprintf(buf+strlen(buf), "%02X", c->dek->key[i] );
-           log_info( "session key: `%s'\n", buf );
-           write_status_text ( STATUS_SESSION_KEY, buf );
-         }
     }
     else if( result == G10ERR_BAD_SIGN ) {
        log_error(_("WARNING: encrypted message has been manipulated!\n"));
@@ -699,9 +701,9 @@ proc_plaintext( CTX c, PACKET *pkt )
         BUG ();
     }
     if ( DBG_HASHING ) {
-       gcry_md_start_debug ( c->mfx.md, "verify" );
+       gcry_md_debug ( c->mfx.md, "verify" );
        if ( c->mfx.md2  )
-           gcry_md_start_debug ( c->mfx.md2, "verify2" );
+           gcry_md_debug ( c->mfx.md2, "verify2" );
     }
 
     rc=0;
@@ -764,23 +766,37 @@ proc_encrypt_cb( IOBUF a, void *info )
     return proc_encryption_packets( info, a );
 }
 
-static void
+static int
 proc_compressed( CTX c, PACKET *pkt )
 {
-    PKT_compressed *zd = pkt->pkt.compressed;
-    int rc;
+  PKT_compressed *zd = pkt->pkt.compressed;
+  int rc;
 
-    /*printf("zip: compressed data packet\n");*/
-    if (c->sigs_only)
-       rc = handle_compressed( c, zd, proc_compressed_cb, c );
-    else if( c->encrypt_only )
-       rc = handle_compressed( c, zd, proc_encrypt_cb, c );
-    else
-       rc = handle_compressed( c, zd, NULL, NULL );
-    if( rc )
-       log_error("uncompressing failed: %s\n", g10_errstr(rc));
-    free_packet(pkt);
-    c->last_was_session_key = 0;
+  /*printf("zip: compressed data packet\n");*/
+  if (c->sigs_only)
+    rc = handle_compressed (c, zd, proc_compressed_cb, c);
+  else if (c->encrypt_only)
+    rc = handle_compressed (c, zd, proc_encrypt_cb, c);
+  else
+    rc = handle_compressed (c, zd, NULL, NULL);
+
+  if (gpg_err_code (rc) == GPG_ERR_BAD_DATA)
+    {
+      if  (!c->any.uncompress_failed)
+        {
+          CTX cc;
+
+          for (cc=c; cc; cc = cc->anchor)
+            cc->any.uncompress_failed = 1;
+          log_error ("uncompressing failed: %s\n", g10_errstr(rc));
+        }
+      }
+  else if (rc)
+    log_error("uncompressing failed: %s\n", g10_errstr(rc));
+
+  free_packet (pkt);
+  c->last_was_session_key = 0;
+  return rc;
 }
 
 /****************
@@ -901,7 +917,6 @@ print_userid( PACKET *pkt )
 static void
 list_node( CTX c, KBNODE node )
 {
-    int any=0;
     int mainkey;
 
     if( !node )
@@ -929,47 +944,55 @@ list_node( CTX c, KBNODE node )
            if( mainkey && !opt.fast_list_mode )
              putchar( get_ownertrust_info (pk) );
            putchar(':');
-           if( node->next && node->next->pkt->pkttype == PKT_RING_TRUST) {
-             putchar('\n'); any=1;
-             if( opt.fingerprint )
-               print_fingerprint( pk, NULL, 0 );
-             printf("rtv:1:%u:\n",
-                    node->next->pkt->pkt.ring_trust->trustval );
-           }
-         }
+          }
        else
-         printf("%s  %4u%c/%s %s%s",
-                mainkey? "pub":"sub", nbits_from_pk( pk ),
-                pubkey_letter( pk->pubkey_algo ), keystr_from_pk( pk ),
-                datestr_from_pk( pk ), mainkey?" ":"");
+          {
+            printf("%s  %4u%c/%s %s",
+                   mainkey? "pub":"sub", nbits_from_pk( pk ),
+                   pubkey_letter( pk->pubkey_algo ), keystr_from_pk( pk ),
+                   datestr_from_pk (pk));
+          }
+
+        if (pk->is_revoked)
+          {
+            printf(" [");
+            printf(_("revoked: %s"),revokestr_from_pk(pk));
+            printf("]\n");
+          }
+        else if (pk->expiredate && !opt.with_colons)
+          {
+            printf(" [");
+            printf(_("expires: %s"),expirestr_from_pk(pk));
+            printf("]\n");
+          }
+        else
+          putchar ('\n');
+
+        if ((mainkey && opt.fingerprint) || opt.fingerprint > 1)
+          print_fingerprint (pk, NULL, 0);
+
+       if (opt.with_colons)
+         {
+           if (node->next && node->next->pkt->pkttype == PKT_RING_TRUST)
+             printf("rtv:1:%u:\n", node->next->pkt->pkt.ring_trust->trustval);
+         }
 
        if( mainkey ) {
            /* and now list all userids with their signatures */
            for( node = node->next; node; node = node->next ) {
                if( node->pkt->pkttype == PKT_SIGNATURE ) {
-                   if( !any ) {
-                       if( node->pkt->pkt.signature->sig_class == 0x20 )
-                           puts("[revoked]");
-                       else
-                           putchar('\n');
-                       any = 1;
-                   }
                    list_node(c,  node );
                }
                else if( node->pkt->pkttype == PKT_USER_ID ) {
-                   if( any ) {
-                       if( opt.with_colons )
-                           printf("%s:::::::::",
-                             node->pkt->pkt.user_id->attrib_data?"uat":"uid");
-                       else
-                           printf( "uid%*s", 28, "" );
-                   }
+                    if( opt.with_colons )
+                      printf("%s:::::::::",
+                             node->pkt->pkt.user_id->attrib_data?"uat":"uid");
+                    else
+                      printf( "uid%*s", 28, "" );
                    print_userid( node->pkt );
                    if( opt.with_colons )
                        putchar(':');
                    putchar('\n');
-                   if( opt.fingerprint && !any )
-                       print_fingerprint( pk, NULL, 0 );
                    if( opt.with_colons
                         && node->next
                        && node->next->pkt->pkttype == PKT_RING_TRUST ) {
@@ -977,38 +1000,12 @@ list_node( CTX c, KBNODE node )
                                node->next->pkt->pkt.ring_trust?
                                node->next->pkt->pkt.ring_trust->trustval : 0);
                    }
-                   any=1;
                }
                else if( node->pkt->pkttype == PKT_PUBLIC_SUBKEY ) {
-                   if( !any ) {
-                       putchar('\n');
-                       any = 1;
-                   }
-                   list_node(c,  node );
+                  list_node(c,  node );
                }
            }
        }
-       else
-         {
-           /* of subkey */
-           if( pk->is_revoked )
-             {
-               printf(" [");
-               printf(_("revoked: %s"),revokestr_from_pk(pk));
-               printf("]");
-             }
-           else if( pk->expiredate )
-             {
-               printf(" [");
-               printf(_("expires: %s"),expirestr_from_pk(pk));
-               printf("]");
-             }
-         }
-
-       if( !any )
-           putchar('\n');
-       if( !mainkey && opt.fingerprint > 1 )
-           print_fingerprint( pk, NULL, 0 );
     }
     else if( (mainkey = (node->pkt->pkttype == PKT_SECRET_KEY) )
             || node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
@@ -1024,55 +1021,39 @@ list_node( CTX c, KBNODE node )
                   sk->pubkey_algo,
                   (ulong)keyid[0],(ulong)keyid[1],
                   colon_datestr_from_sk( sk ),
-                  colon_strtime (sk->expiredate)
-                  /* fixme: add LID */ );
+                  colon_strtime (sk->expiredate));
          }
        else
          printf("%s  %4u%c/%s %s ", mainkey? "sec":"ssb",
                 nbits_from_sk( sk ), pubkey_letter( sk->pubkey_algo ),
                 keystr_from_sk( sk ), datestr_from_sk( sk ));
+
+        putchar ('\n');
+        if ((mainkey && opt.fingerprint) || opt.fingerprint > 1)
+          print_fingerprint (NULL, sk,0);
+
        if( mainkey ) {
            /* and now list all userids with their signatures */
            for( node = node->next; node; node = node->next ) {
                if( node->pkt->pkttype == PKT_SIGNATURE ) {
-                   if( !any ) {
-                       if( node->pkt->pkt.signature->sig_class == 0x20 )
-                           puts("[revoked]");
-                       else
-                           putchar('\n');
-                       any = 1;
-                   }
                    list_node(c,  node );
                }
                else if( node->pkt->pkttype == PKT_USER_ID ) {
-                   if( any ) {
-                       if( opt.with_colons )
-                           printf("%s:::::::::",
-                             node->pkt->pkt.user_id->attrib_data?"uat":"uid");
-                       else
-                           printf( "uid%*s", 28, "" );
-                   }
+                    if( opt.with_colons )
+                       printf("%s:::::::::",
+                               node->pkt->pkt.user_id->attrib_data?"uat":"uid");
+                    else
+                        printf( "uid%*s", 28, "" );
                    print_userid( node->pkt );
                    if( opt.with_colons )
                        putchar(':');
                    putchar('\n');
-                   if( opt.fingerprint && !any )
-                       print_fingerprint( NULL, sk, 0 );
-                   any=1;
                }
                else if( node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
-                   if( !any ) {
-                       putchar('\n');
-                       any = 1;
-                   }
-                   list_node(c,  node );
+                  list_node(c,  node );
                }
            }
        }
-       if( !any )
-           putchar('\n');
-       if( !mainkey && opt.fingerprint > 1 )
-           print_fingerprint( NULL, sk, 0 );
     }
     else if( node->pkt->pkttype == PKT_SIGNATURE  ) {
        PKT_signature *sig = node->pkt->pkt.signature;
@@ -1197,7 +1178,7 @@ proc_signature_packets( void *anchor, IOBUF a,
        Using log_error is required because verify_files does not check
        error codes for each file but we want to terminate the process
        with an error. */
-    if (!rc && !c->any_sig_seen)
+    if (!rc && !c->any.sig_seen)
       {
        write_status_text (STATUS_NODATA, "4");
         log_error (_("no signature found\n"));
@@ -1207,8 +1188,8 @@ proc_signature_packets( void *anchor, IOBUF a,
     /* Propagate the signature seen flag upward. Do this only on
        success so that we won't issue the nodata status several
        times. */
-    if (!rc && c->anchor && c->any_sig_seen)
-      c->anchor->any_sig_seen = 1;
+    if (!rc && c->anchor && c->any.sig_seen)
+      c->anchor->any.sig_seen = 1;
 
     xfree( c );
     return rc;
@@ -1234,7 +1215,7 @@ proc_signature_packets_by_fd (void *anchor, IOBUF a, int signed_data_fd )
      Using log_error is required because verify_files does not check
      error codes for each file but we want to terminate the process
      with an error. */
-  if (!rc && !c->any_sig_seen)
+  if (!rc && !c->any.sig_seen)
     {
       write_status_text (STATUS_NODATA, "4");
       log_error (_("no signature found\n"));
@@ -1243,8 +1224,8 @@ proc_signature_packets_by_fd (void *anchor, IOBUF a, int signed_data_fd )
 
   /* Propagate the signature seen flag upward. Do this only on success
      so that we won't issue the nodata status several times. */
-  if (!rc && c->anchor && c->any_sig_seen)
-    c->anchor->any_sig_seen = 1;
+  if (!rc && c->anchor && c->any.sig_seen)
+    c->anchor->any.sig_seen = 1;
 
   xfree ( c );
   return rc;
@@ -1265,14 +1246,37 @@ proc_encryption_packets( void *anchor, IOBUF a )
 }
 
 
-int
+static int
+check_nesting (CTX c)
+{
+  int level;
+
+  for (level=0; c; c = c->anchor)
+    level++;
+
+  if (level > MAX_NESTING_DEPTH)
+    {
+      log_error ("input data with too deeply nested packets\n");
+      write_status_text (STATUS_UNEXPECTED, "1");
+      return GPG_ERR_BAD_DATA;
+    }
+  return 0;
+}
+
+
+static int
 do_proc_packets( CTX c, IOBUF a )
 {
-    PACKET *pkt = xmalloc( sizeof *pkt );
-    int rc=0;
-    int any_data=0;
+    PACKET *pkt;
+    int rc = 0;
+    int any_data = 0;
     int newpkt;
 
+    rc = check_nesting (c);
+    if (rc)
+      return rc;
+
+    pkt = xmalloc( sizeof *pkt );
     c->iobuf = a;
     init_packet(pkt);
     while( (rc=parse_packet(a, pkt)) != -1 ) {
@@ -1293,7 +1297,7 @@ do_proc_packets( CTX c, IOBUF a )
              case PKT_SYMKEY_ENC:  proc_symkey_enc( c, pkt ); break;
              case PKT_ENCRYPTED:
              case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
-             case PKT_COMPRESSED:  proc_compressed( c, pkt ); break;
+             case PKT_COMPRESSED:  rc = proc_compressed( c, pkt ); break;
              default: newpkt = 0; break;
            }
        }
@@ -1311,7 +1315,7 @@ do_proc_packets( CTX c, IOBUF a )
                goto leave;
              case PKT_SIGNATURE:   newpkt = add_signature( c, pkt ); break;
              case PKT_PLAINTEXT:   proc_plaintext( c, pkt ); break;
-             case PKT_COMPRESSED:  proc_compressed( c, pkt ); break;
+             case PKT_COMPRESSED:  rc = proc_compressed( c, pkt ); break;
              case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break;
               case PKT_GPG_CONTROL: newpkt = add_gpg_control(c, pkt); break;
              default: newpkt = 0; break;
@@ -1331,7 +1335,7 @@ do_proc_packets( CTX c, IOBUF a )
              case PKT_ENCRYPTED:
              case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
              case PKT_PLAINTEXT:   proc_plaintext( c, pkt ); break;
-             case PKT_COMPRESSED:  proc_compressed( c, pkt ); break;
+             case PKT_COMPRESSED:  rc = proc_compressed( c, pkt ); break;
              case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break;
              case PKT_GPG_CONTROL: newpkt = add_gpg_control(c, pkt); break;
              default: newpkt = 0; break;
@@ -1356,13 +1360,17 @@ do_proc_packets( CTX c, IOBUF a )
              case PKT_ENCRYPTED:
              case PKT_ENCRYPTED_MDC: proc_encrypted( c, pkt ); break;
              case PKT_PLAINTEXT:   proc_plaintext( c, pkt ); break;
-             case PKT_COMPRESSED:  proc_compressed( c, pkt ); break;
+             case PKT_COMPRESSED:  rc = proc_compressed( c, pkt ); break;
              case PKT_ONEPASS_SIG: newpkt = add_onepass_sig( c, pkt ); break;
               case PKT_GPG_CONTROL: newpkt = add_gpg_control(c, pkt); break;
              case PKT_RING_TRUST:  newpkt = add_ring_trust( c, pkt ); break;
              default: newpkt = 0; break;
            }
        }
+
+        if (rc)
+          goto leave;
+
         /* This is a very ugly construct and frankly, I don't remember why
          * I used it.  Adding the MDC check here is a hack.
          * The right solution is to initiate another context for encrypted
@@ -1372,7 +1380,7 @@ do_proc_packets( CTX c, IOBUF a )
          * Hmmm: Rewrite this whole module here??
          */
        if( pkt->pkttype != PKT_SIGNATURE && pkt->pkttype != PKT_MDC )
-           c->have_data = pkt->pkttype == PKT_PLAINTEXT;
+            c->any.data = (pkt->pkttype == PKT_PLAINTEXT);
 
        if( newpkt == -1 )
            ;
@@ -1592,7 +1600,7 @@ check_sig_and_print( CTX c, KBNODE node )
 
   /* (Indendation below not yet changed to GNU style.) */
 
-    astr = gcry_pk_algo_name ( sig->pubkey_algo );
+    astr = openpgp_pk_algo_name ( sig->pubkey_algo );
     if(keystrlen()>8)
       {
        log_info(_("Signature made %s\n"),asctimestamp(sig->timestamp));
@@ -2010,7 +2018,7 @@ proc_tree( CTX c, KBNODE node )
     }
     else if( node->pkt->pkttype == PKT_ONEPASS_SIG ) {
        /* check all signatures */
-       if( !c->have_data ) {
+       if( !c->any.data ) {
             int use_textmode = 0;
 
            free_md_filter_context( &c->mfx );
@@ -2063,7 +2071,7 @@ proc_tree( CTX c, KBNODE node )
              && node->pkt->pkt.gpg_control->control
                 == CTRLPKT_CLEARSIGN_START ) {
         /* clear text signed message */
-       if( !c->have_data ) {
+       if( !c->any.data ) {
             log_error("cleartext signature without data\n" );
             return;
         }
@@ -2105,7 +2113,7 @@ proc_tree( CTX c, KBNODE node )
        if( sig->sig_class != 0x00 && sig->sig_class != 0x01 )
            log_info(_("standalone signature of class 0x%02x\n"),
                                                    sig->sig_class);
-       else if( !c->have_data ) {
+       else if( !c->any.data ) {
            /* detached signature */
            free_md_filter_context( &c->mfx );
             if (gcry_md_open (&c->mfx.md, sig->digest_algo, 0))
@@ -2138,9 +2146,9 @@ proc_tree( CTX c, KBNODE node )
                    /*  c->mfx.md2? 0 :(sig->sig_class == 0x01) */
 #endif
             if ( DBG_HASHING ) {
-                gcry_md_start_debug( c->mfx.md, "verify" );
+                gcry_md_debug( c->mfx.md, "verify" );
                 if ( c->mfx.md2  )
-                    gcry_md_start_debug( c->mfx.md2, "verify2" );
+                    gcry_md_debug( c->mfx.md2, "verify2" );
             }
            if( c->sigs_only ) {
                 if (c->signed_data.used && c->signed_data.data_fd != -1)
index 8cc63ba..43ea0d2 100644 (file)
 #ifdef HAVE_W32_SYSTEM
 #include <time.h>
 #include <process.h>
-#include <windows.h> 
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif
+#include <windows.h>
 #include <shlobj.h>
 #ifndef CSIDL_APPDATA
 #define CSIDL_APPDATA 0x001a
@@ -81,7 +84,7 @@ string_count_chr (const char *string, int c)
 #ifdef ENABLE_SELINUX_HACKS
 /* A object and a global variable to keep track of files marked as
    secured. */
-struct secured_file_item 
+struct secured_file_item
 {
   struct secured_file_item *next;
   ino_t ino;
@@ -106,7 +109,7 @@ register_secured_file (const char *fname)
 
   /* Note that we stop immediatley if something goes wrong here. */
   if (stat (fname, &buf))
-    log_fatal (_("fstat of `%s' failed in %s: %s\n"), fname, 
+    log_fatal (_("fstat of `%s' failed in %s: %s\n"), fname,
                "register_secured_file", strerror (errno));
 /*   log_debug ("registering `%s' i=%lu.%lu\n", fname, */
 /*              (unsigned long)buf.st_dev, (unsigned long)buf.st_ino); */
@@ -160,8 +163,8 @@ unregister_secured_file (const char *fname)
 }
 
 /* Return true if FD is corresponds to a secured file.  Using -1 for
-   FS is allowed and will return false. */ 
-int 
+   FS is allowed and will return false. */
+int
 is_secured_file (int fd)
 {
 #ifdef ENABLE_SELINUX_HACKS
@@ -175,7 +178,7 @@ is_secured_file (int fd)
      secure if something went wrong. */
   if (fstat (fd, &buf))
     {
-      log_error (_("fstat(%d) failed in %s: %s\n"), fd, 
+      log_error (_("fstat(%d) failed in %s: %s\n"), fd,
                  "is_secured_file", strerror (errno));
       return 1;
     }
@@ -195,8 +198,8 @@ is_secured_file (int fd)
 /* Return true if FNAME is corresponds to a secured file.  Using NULL,
    "" or "-" for FS is allowed and will return false. This function is
    used before creating a file, thus it won't fail if the file does
-   not exist. */ 
-int 
+   not exist. */
+int
 is_secured_filename (const char *fname)
 {
 #ifdef ENABLE_SELINUX_HACKS
@@ -204,7 +207,7 @@ is_secured_filename (const char *fname)
   struct secured_file_item *sf;
 
   if (iobuf_is_pipe_filename (fname) || !*fname)
-    return 0; 
+    return 0;
 
   /* Note that we print out a error here and claim that a file is
      secure if something went wrong. */
@@ -294,7 +297,7 @@ print_pubkey_algo_note( int algo )
        {
          warn=1;
          log_info (_("WARNING: using experimental public key algorithm %s\n"),
-                   gcry_pk_algo_name (algo));
+                   openpgp_pk_algo_name (algo));
        }
     }
   else if (algo == 20)
@@ -345,9 +348,9 @@ map_cipher_openpgp_to_gcry (int algo)
 {
   switch (algo)
     {
-    case CIPHER_ALGO_CAMELLIA128: return 310; 
-    case CIPHER_ALGO_CAMELLIA192: return 311; 
-    case CIPHER_ALGO_CAMELLIA256: return 312; 
+    case CIPHER_ALGO_CAMELLIA128: return 310;
+    case CIPHER_ALGO_CAMELLIA192: return 311;
+    case CIPHER_ALGO_CAMELLIA256: return 312;
     default: return algo;
     }
 }
@@ -367,7 +370,7 @@ map_cipher_gcry_to_openpgp (int algo)
 
 
 /* Return the block length of an OpenPGP cipher algorithm.  */
-int 
+int
 openpgp_cipher_blocklen (int algo)
 {
   /* We use the numbers from OpenPGP to be sure that we get the right
@@ -407,24 +410,44 @@ openpgp_cipher_test_algo( int algo )
    string representation of the algorithm name.  For unknown algorithm
    IDs this function returns "?".  */
 const char *
-openpgp_cipher_algo_name (int algo) 
+openpgp_cipher_algo_name (int algo)
 {
   return gcry_cipher_algo_name (map_cipher_openpgp_to_gcry (algo));
 }
 
+
+/* Map OpenPGP public key algorithm numbers to those used by
+   Libgcrypt.  */
+int
+map_pk_openpgp_to_gcry (int algo)
+{
+  switch (algo)
+    {
+    case PUBKEY_ALGO_ECDSA:     return 301 /*GCRY_PK_ECDSA*/;
+    case PUBKEY_ALGO_ECDH:      return 302 /*GCRY_PK_ECDH*/;
+    case PUBKEY_ALGO_ELGAMAL_E: return GCRY_PK_ELG;
+    default: return algo;
+    }
+}
+
+
 int
 openpgp_pk_test_algo( int algo )
 {
+  /* ECC is not yet supported even if supported by Libgcrypt.  */
+  if (algo == PUBKEY_ALGO_ECDH || algo == PUBKEY_ALGO_ECDSA)
+    return gpg_error (GPG_ERR_PUBKEY_ALGO);
+
   /* Dont't allow type 20 keys unless in rfc2440 mode.  */
   if (!RFC2440 && algo == 20)
     return gpg_error (GPG_ERR_PUBKEY_ALGO);
-    
-  if (algo == GCRY_PK_ELG_E)
+
+  if (algo == PUBKEY_ALGO_ELGAMAL_E)
     algo = GCRY_PK_ELG;
 
   if (algo < 0 || algo > 110)
     return gpg_error (GPG_ERR_PUBKEY_ALGO);
-  return gcry_pk_test_algo (algo);
+  return gcry_pk_test_algo (map_pk_openpgp_to_gcry (algo));
 }
 
 int
@@ -432,26 +455,31 @@ openpgp_pk_test_algo2( int algo, unsigned int use )
 {
   size_t use_buf = use;
 
+  /* ECC is not yet supported even if supported by Libgcrypt.  */
+  if (algo == PUBKEY_ALGO_ECDH || algo == PUBKEY_ALGO_ECDSA)
+    return gpg_error (GPG_ERR_PUBKEY_ALGO);
+
   /* Dont't allow type 20 keys unless in rfc2440 mode.  */
   if (!RFC2440 && algo == 20)
     return gpg_error (GPG_ERR_PUBKEY_ALGO);
 
-  if (algo == GCRY_PK_ELG_E)
+  if (algo == PUBKEY_ALGO_ELGAMAL_E)
     algo = GCRY_PK_ELG;
 
   if (algo < 0 || algo > 110)
     return gpg_error (GPG_ERR_PUBKEY_ALGO);
 
-  return gcry_pk_algo_info (algo, GCRYCTL_TEST_ALGO, NULL, &use_buf);
+  return gcry_pk_algo_info (map_pk_openpgp_to_gcry (algo),
+                            GCRYCTL_TEST_ALGO, NULL, &use_buf);
 }
 
-int 
+int
 openpgp_pk_algo_usage ( int algo )
 {
-    int use = 0; 
-    
+    int use = 0;
+
     /* They are hardwired in gpg 1.0. */
-    switch ( algo ) {    
+    switch ( algo ) {
       case PUBKEY_ALGO_RSA:
           use = (PUBKEY_USAGE_CERT | PUBKEY_USAGE_SIG
                  | PUBKEY_USAGE_ENC | PUBKEY_USAGE_AUTH);
@@ -469,7 +497,13 @@ openpgp_pk_algo_usage ( int algo )
       case PUBKEY_ALGO_ELGAMAL_E:
           use = PUBKEY_USAGE_ENC;
           break;
-      case PUBKEY_ALGO_DSA:  
+      case PUBKEY_ALGO_DSA:
+          use = PUBKEY_USAGE_CERT | PUBKEY_USAGE_SIG | PUBKEY_USAGE_AUTH;
+          break;
+      case PUBKEY_ALGO_ECDH:
+          use = PUBKEY_USAGE_ENC;
+          break;
+      case PUBKEY_ALGO_ECDSA:
           use = PUBKEY_USAGE_CERT | PUBKEY_USAGE_SIG | PUBKEY_USAGE_AUTH;
           break;
       default:
@@ -478,6 +512,17 @@ openpgp_pk_algo_usage ( int algo )
     return use;
 }
 
+
+/* Map the OpenPGP cipher algorithm whose ID is contained in ALGORITHM to a
+   string representation of the algorithm name.  For unknown algorithm
+   IDs this function returns "?".  */
+const char *
+openpgp_pk_algo_name (int algo)
+{
+  return gcry_pk_algo_name (map_pk_openpgp_to_gcry (algo));
+}
+
+
 int
 openpgp_md_test_algo( int algo )
 {
@@ -509,7 +554,7 @@ idea_cipher_warn(int show)
 #endif
 
 
-static unsigned long 
+static unsigned long
 get_signature_count (PKT_secret_key *sk)
 {
 #ifdef ENABLE_CARD_SUPPORT
@@ -518,7 +563,7 @@ get_signature_count (PKT_secret_key *sk)
       struct agent_card_info_s info;
       if(agent_scd_getattr("SIG-COUNTER",&info)==0)
        return info.sig_counter;
-    }  
+    }
 #endif
 
   /* How to do this without a card? */
@@ -603,13 +648,30 @@ pct_expando(const char *string,struct expando_args *args)
                }
              break;
 
+           case 'U': /* z-base-32 encoded user id hash. */
+              if (args->namehash)
+                {
+                  char *tmp = zb32_encode (args->namehash, 8*20);
+                  if (tmp)
+                    {
+                      if (idx + strlen (tmp) < maxlen)
+                        {
+                          strcpy (ret+idx, tmp);
+                          idx += strlen (tmp);
+                        }
+                      xfree (tmp);
+                      done = 1;
+                    }
+                }
+             break;
+
            case 'c': /* signature count from card, if any. */
              if(idx+10<maxlen)
                {
                  sprintf(&ret[idx],"%lu",get_signature_count(args->sk));
                  idx+=strlen(&ret[idx]);
                  done=1;
-               }             
+               }
              break;
 
            case 'p': /* primary pk fingerprint of a sk */
@@ -678,7 +740,7 @@ pct_expando(const char *string,struct expando_args *args)
                  case 't': /* e.g. "jpg" */
                    str=image_type_to_string(args->imagetype,0);
                    break;
-                 
+
                  case 'T': /* e.g. "image/jpeg" */
                    str=image_type_to_string(args->imagetype,2);
                    break;
@@ -777,7 +839,7 @@ deprecated_command (const char *name)
 
 
 void
-obsolete_option (const char *configname, unsigned int configlineno, 
+obsolete_option (const char *configname, unsigned int configlineno,
                  const char *name)
 {
   if(configname)
@@ -793,9 +855,9 @@ obsolete_option (const char *configname, unsigned int configlineno,
  * Wrapper around gcry_cipher_map_name to provide a fallback using the
  * "Sn" syntax as used by the preference strings.
  */
-int 
-string_to_cipher_algo (const char *string) 
-{ 
+int
+string_to_cipher_algo (const char *string)
+{
   int val;
 
   val = map_cipher_gcry_to_openpgp (gcry_cipher_map_name (string));
@@ -816,9 +878,9 @@ string_to_cipher_algo (const char *string)
  * Wrapper around gcry_md_map_name to provide a fallback using the
  * "Hn" syntax as used by the preference strings.
  */
-int 
-string_to_digest_algo (const char *string) 
-{ 
+int
+string_to_digest_algo (const char *string)
+{
   int val;
 
   val = gcry_md_map_name (string);
@@ -1223,7 +1285,7 @@ has_invalid_email_chars (const char *s)
   const char *valid_chars=
     "01234567890_-.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
-  for ( ; *s; s++ ) 
+  for ( ; *s; s++ )
     {
       if ( (*s & 0x80) )
         continue; /* We only care about ASCII.  */
@@ -1306,9 +1368,19 @@ pubkey_get_npkey( int algo )
 {
   size_t n;
 
+  /* ECC is special in that domain parameters are given by an OID.  */
+  if (algo == PUBKEY_ALGO_ECDSA)
+    return 0; /* We don't support the key format.  */
+  else if (algo == PUBKEY_ALGO_ECDH)
+    return 0; /* We don't support the key format.  */
+
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
-  if (gcry_pk_algo_info( algo, GCRYCTL_GET_ALGO_NPKEY, NULL, &n))
+  else if (algo == GCRY_PK_RSA_E || algo == GCRY_PK_RSA_S)
+    algo = GCRY_PK_RSA;
+
+  if (gcry_pk_algo_info (map_pk_openpgp_to_gcry (algo),
+                         GCRYCTL_GET_ALGO_NPKEY, NULL, &n))
     n = 0;
   return n;
 }
@@ -1319,9 +1391,19 @@ pubkey_get_nskey( int algo )
 {
   size_t n;
 
+  /* ECC is special in that domain parameters are given by an OID.  */
+  if (algo == PUBKEY_ALGO_ECDSA)
+    return 0; /* We don't support the key format.  */
+  else if (algo == PUBKEY_ALGO_ECDH)
+    return 0; /* We don't support the key format.  */
+
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
-  if (gcry_pk_algo_info( algo, GCRYCTL_GET_ALGO_NSKEY, NULL, &n ))
+  else if (algo == GCRY_PK_RSA_E || algo == GCRY_PK_RSA_S)
+    algo = GCRY_PK_RSA;
+
+  if (gcry_pk_algo_info (map_pk_openpgp_to_gcry (algo),
+                         GCRYCTL_GET_ALGO_NSKEY, NULL, &n ))
     n = 0;
   return n;
 }
@@ -1332,9 +1414,19 @@ pubkey_get_nsig( int algo )
 {
   size_t n;
 
+  /* ECC is special.  */
+  if (algo == PUBKEY_ALGO_ECDSA)
+    return 0;  /* We don't support the key format.  */
+  else if (algo == PUBKEY_ALGO_ECDH)
+    return 0;
+
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
-  if (gcry_pk_algo_info( algo, GCRYCTL_GET_ALGO_NSIGN, NULL, &n))
+  else if (algo == GCRY_PK_RSA_E || algo == GCRY_PK_RSA_S)
+    algo = GCRY_PK_RSA;
+
+  if (gcry_pk_algo_info (map_pk_openpgp_to_gcry (algo),
+                         GCRYCTL_GET_ALGO_NSIGN, NULL, &n))
     n = 0;
   return n;
 }
@@ -1344,10 +1436,20 @@ int
 pubkey_get_nenc( int algo )
 {
   size_t n;
-  
+
+  /* ECC is special.  */
+  if (algo == PUBKEY_ALGO_ECDSA)
+    return 0;
+  else if (algo == PUBKEY_ALGO_ECDH)
+    return 0;  /* We don't support the key format.  */
+
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
-  if (gcry_pk_algo_info( algo, GCRYCTL_GET_ALGO_NENCR, NULL, &n ))
+  else if (algo == GCRY_PK_RSA_E || algo == GCRY_PK_RSA_S)
+    algo = GCRY_PK_RSA;
+
+  if (gcry_pk_algo_info (map_pk_openpgp_to_gcry (algo),
+                         GCRYCTL_GET_ALGO_NENCR, NULL, &n ))
     n = 0;
   return n;
 }
@@ -1370,7 +1472,9 @@ pubkey_nbits( int algo, gcry_mpi_t *key )
                              "(public-key(elg(p%m)(g%m)(y%m)))",
                                  key[0], key[1], key[2] );
     }
-    else if( algo == GCRY_PK_RSA ) {
+    else if (algo == GCRY_PK_RSA
+             || algo == GCRY_PK_RSA_S
+             || algo == GCRY_PK_RSA_E ) {
        rc = gcry_sexp_build ( &sexp, NULL,
                              "(public-key(rsa(n%m)(e%m)))",
                                  key[0], key[1] );
index 55dd42c..db5cdc2 100644 (file)
@@ -144,7 +144,7 @@ ask_outfile_name( const char *name, size_t namelen )
 
   if ( opt.batch )
     return NULL;
-  
+
   defname = name && namelen? make_printable_string (name, namelen, 0) : NULL;
 
   s = _("Enter new filename");
@@ -159,9 +159,9 @@ ask_outfile_name( const char *name, size_t namelen )
   cpr_kill_prompt ();
   tty_disable_completion ();
   xfree (prompt);
-  if ( !*fname ) 
+  if ( !*fname )
     {
-      xfree (fname); 
+      xfree (fname);
       fname = defname;
       defname = NULL;
     }
@@ -197,7 +197,7 @@ open_outfile( const char *iname, int mode, IOBUF *a )
   else {
     char *buf = NULL;
     const char *name;
-    
+
     if ( opt.dry_run )
       {
 #ifdef HAVE_W32_SYSTEM
@@ -222,7 +222,7 @@ open_outfile( const char *iname, int mode, IOBUF *a )
           char *dot;
           const char *newsfx = mode==1 ? ".asc" :
                                mode==2 ? ".sig" : ".gpg";
-          
+
           buf = xmalloc(strlen(iname)+4+1);
           strcpy(buf,iname);
           dot = strchr(buf, '.' );
@@ -259,7 +259,7 @@ open_outfile( const char *iname, int mode, IOBUF *a )
         xfree (buf);
         name = buf = tmp;
       }
-    
+
     if( !rc )
       {
         if (is_secured_filename (name) )
@@ -385,7 +385,7 @@ copy_options_file( const char *destdir )
                     ;
                 else if (c == '#')
                     esc = 2;
-                else 
+                else
                     any_option = 1;
             }
         }
@@ -431,6 +431,6 @@ try_make_homedir (const char *fname)
       else if (!opt.quiet )
         log_info ( _("directory `%s' created\n"), fname );
       copy_options_file( fname );
-      
+
     }
 }
index 46f746d..1a13841 100644 (file)
@@ -31,7 +31,7 @@
 #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
 #define EXTERN_UNLESS_MAIN_MODULE extern
 #else
-#define EXTERN_UNLESS_MAIN_MODULE 
+#define EXTERN_UNLESS_MAIN_MODULE
 #endif
 #endif
 
@@ -80,12 +80,16 @@ struct
   int def_cert_level;
   int min_cert_level;
   int ask_cert_level;
-  int no_version;
+  int emit_version;       /* 0 = none,
+                             1 = major only,
+                             2 = major and minor,
+                             3 = full version,
+                             4 = full version plus OS string. */
   int marginals_needed;
   int completes_needed;
   int max_cert_depth;
   const char *homedir;
-  const char *agent_program; 
+  const char *agent_program;
 
   /* Options to be passed to the gpg-agent */
   session_env_t session_env;
@@ -207,7 +211,7 @@ struct
 
   /* If > 0, limit the number of card insertion prompts to this
      value. */
-  int limit_card_insert_tries; 
+  int limit_card_insert_tries;
 
 #ifdef ENABLE_CARD_SUPPORT
   /* FIXME: We don't needs this here as it is done in scdaemon. */
@@ -227,6 +231,7 @@ struct
     unsigned int utf8_filename:1;
     unsigned int dsa2:1;
     unsigned int allow_multiple_messages:1;
+    unsigned int allow_weak_digest_algos:1;
   } flags;
 
   /* Linked list of ways to find a key if the key isn't on the local
@@ -236,8 +241,8 @@ struct
     enum {
       AKL_NODEFAULT,
       AKL_LOCAL,
-      AKL_CERT, 
-      AKL_PKA, 
+      AKL_CERT,
+      AKL_PKA,
       AKL_LDAP,
       AKL_KEYSERVER,
       AKL_SPEC
@@ -317,6 +322,7 @@ EXTERN_UNLESS_MAIN_MODULE int memory_stat_debug_mode;
 #define IMPORT_MERGE_ONLY                (1<<4)
 #define IMPORT_MINIMAL                   (1<<5)
 #define IMPORT_CLEAN                     (1<<6)
+#define IMPORT_NO_SECKEY                 (1<<7)
 
 #define EXPORT_LOCAL_SIGS                (1<<0)
 #define EXPORT_ATTRIBUTES                (1<<1)
index 534affc..e21431b 100644 (file)
@@ -4,11 +4,11 @@
 # Options for GnuPG
 # Copyright 1998, 1999, 2000, 2001, 2002, 2003,
 #           2010 Free Software Foundation, Inc.
-# 
+#
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
-# 
+#
 # This file is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -101,14 +101,9 @@ require-cross-certification
 #
 # Example HKP keyservers:
 #      hkp://keys.gnupg.net
-#      hkp://subkeys.pgp.net
-#
-# Example email keyserver:
-#      mailto:pgp-public-keys@keys.pgp.net
 #
 # Example LDAP keyservers:
 #      ldap://pgp.surfnet.nl:11370
-#      ldap://keyserver.pgp.com
 #
 # Regular URL syntax applies, and you can set an alternate port
 # through the usual method:
@@ -131,8 +126,6 @@ require-cross-certification
 keyserver hkp://keys.gnupg.net
 #keyserver http://http-keys.gnupg.net
 #keyserver mailto:pgp-public-keys@keys.nl.pgp.net
-#keyserver ldap://pgp.surfnet.nl:11370
-#keyserver ldap://keyserver.pgp.com
 
 # Common options for keyserver functions:
 #
index 11480dd..f1d7f71 100644 (file)
@@ -111,24 +111,31 @@ mpi_read (iobuf_t inp, unsigned int *ret_nread, int secure)
   /*FIXME: Needs to be synced with gnupg14/mpi/mpicoder.c*/
 
   int c, c1, c2, i;
+  unsigned int nmax = *ret_nread;
   unsigned int nbits, nbytes;
   size_t nread = 0;
   gcry_mpi_t a = NULL;
   byte *buf = NULL;
   byte *p;
 
+  if (!nmax)
+    goto overflow;
+
   if ( (c = c1 = iobuf_get (inp)) == -1 )
     goto leave;
+  if (++nread == nmax)
+    goto overflow;
   nbits = c << 8;
   if ( (c = c2 = iobuf_get (inp)) == -1 )
     goto leave;
+  ++nread;
   nbits |= c;
   if ( nbits > MAX_EXTERN_MPI_BITS )
     {
       log_error("mpi too large (%u bits)\n", nbits);
       goto leave;
     }
-  nread = 2;
+
   nbytes = (nbits+7) / 8;
   buf = secure ? gcry_xmalloc_secure (nbytes + 2) : gcry_xmalloc (nbytes + 2);
   p = buf;
@@ -137,6 +144,8 @@ mpi_read (iobuf_t inp, unsigned int *ret_nread, int secure)
   for ( i=0 ; i < nbytes; i++ )
     {
       p[i+2] = iobuf_get(inp) & 0xff;
+      if (nread == nmax)
+        goto overflow;
       nread++;
     }
 
@@ -152,12 +161,15 @@ mpi_read (iobuf_t inp, unsigned int *ret_nread, int secure)
         a = NULL;
     }
 
+  *ret_nread = nread;
+  gcry_free(buf);
+  return a;
+
+ overflow:
+  log_error ("mpi larger than indicated length (%u bits)\n", 8*nmax);
  leave:
+  *ret_nread = nread;
   gcry_free(buf);
-  if ( nread > *ret_nread )
-    log_bug ("mpi larger than packet");
-  else
-    *ret_nread = nread;
   return a;
 }
 
@@ -2202,11 +2214,22 @@ parse_attribute( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet )
 
     (void)pkttype;
 
+    /* We better cap the size of an attribute packet to make DoS not
+       too easy.  16MB should be more then enough for one attribute
+       packet (ie. a photo).  */
+    if (pktlen > 16*1024*1024) {
+        log_error ("packet(%d) too large\n", pkttype);
+        if (list_mode)
+          fprintf (listfp, ":attribute packet: [too large]\n");
+        iobuf_skip_rest (inp, pktlen, 0);
+        return G10ERR_INVALID_PACKET;
+      }
+
 #define EXTRA_UID_NAME_SPACE 71
     packet->pkt.user_id = xmalloc_clear(sizeof *packet->pkt.user_id
                                        + EXTRA_UID_NAME_SPACE);
     packet->pkt.user_id->ref=1;
-    packet->pkt.user_id->attrib_data = xmalloc(pktlen);
+    packet->pkt.user_id->attrib_data = xmalloc(pktlen? pktlen:1);
     packet->pkt.user_id->attrib_len = pktlen;
 
     p = packet->pkt.user_id->attrib_data;
index 2133de5..9752718 100644 (file)
@@ -74,7 +74,7 @@ encode_s2k_iterations (int iterations)
           if (err && gpg_err_code (err) != GPG_ERR_ASS_PARAMETER)
             log_error (_("problem with the agent: %s\n"), gpg_strerror (err));
           /* Default to 65536 which we used up to 2.0.13.  */
-          return 96; 
+          return 96;
         }
       else if (mycnt >= 65011712)
         return 255; /* Largest possible value.  */
@@ -87,7 +87,7 @@ encode_s2k_iterations (int iterations)
 
   if (iterations >= 65011712)
     return 255;
-  
+
   /* Need count to be in the range 16-31 */
   for (count=iterations>>6; count>=32; count>>=1)
     c++;
@@ -96,13 +96,13 @@ encode_s2k_iterations (int iterations)
 
   if (S2K_DECODE_COUNT(result) < iterations)
     result++;
-  
+
   return result;
 }
 
 
 
-/* Hash a passphrase using the supplied s2k. 
+/* Hash a passphrase using the supplied s2k.
    Always needs: dek->algo, s2k->mode, s2k->hash_algo.  */
 static void
 hash_passphrase ( DEK *dek, char *pw, STRING2KEY *s2k)
@@ -119,20 +119,20 @@ hash_passphrase ( DEK *dek, char *pw, STRING2KEY *s2k)
 
   if (gcry_md_open (&md, s2k->hash_algo, 1))
     BUG ();
-  for (pass=0; used < dek->keylen ; pass++ ) 
+  for (pass=0; used < dek->keylen ; pass++ )
     {
-      if ( pass ) 
+      if ( pass )
         {
           gcry_md_reset (md);
           for (i=0; i < pass; i++ ) /* Preset the hash context.  */
             gcry_md_putc (md, 0 );
        }
 
-      if ( s2k->mode == 1 || s2k->mode == 3 ) 
+      if ( s2k->mode == 1 || s2k->mode == 3 )
         {
           int len2 = pwlen + 8;
           ulong count = len2;
-          
+
           if ( s2k->mode == 3 )
             {
               count = S2K_DECODE_COUNT(s2k->count);
@@ -146,7 +146,7 @@ hash_passphrase ( DEK *dek, char *pw, STRING2KEY *s2k)
 
           /* A little bit complicated because we need a ulong for count. */
           while ( count > len2 )  /* maybe iterated+salted */
-            { 
+            {
               gcry_md_write ( md, s2k->salt, 8 );
               gcry_md_write ( md, pw, pwlen );
               count -= len2;
@@ -242,7 +242,7 @@ read_passphrase_from_fd( int fd )
   int i, len;
   char *pw;
 
-  if ( !opt.batch ) 
+  if ( !opt.batch )
     { /* Not used but we have to do a dummy read, so that it won't end
          up at the begin of the message if the quite usual trick to
          prepend the passphtrase to the message is used. */
@@ -251,12 +251,12 @@ read_passphrase_from_fd( int fd )
       while (!(read (fd, buf, 1) != 1 || *buf == '\n' ))
         ;
       *buf = 0;
-      return; 
+      return;
     }
 
-  for (pw = NULL, i = len = 100; ; i++ ) 
+  for (pw = NULL, i = len = 100; ; i++ )
     {
-      if (i >= len-1 ) 
+      if (i >= len-1 )
         {
           char *pw2 = pw;
           len += 100;
@@ -322,35 +322,35 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
   if( keyid && get_pubkey( pk, keyid ) )
     {
       if (pk)
-        free_public_key( pk );      
+        free_public_key( pk );
       pk = NULL; /* oops: no key for some reason */
     }
-  
+
   orig_codeset = i18n_switchto_utf8 ();
 
   if (custom_description)
     atext = native_to_utf8 (custom_description);
   else if ( !mode && pk && keyid )
-    { 
+    {
       char *uid;
       size_t uidlen;
-      const char *algo_name = gcry_pk_algo_name ( pk->pubkey_algo );
+      const char *algo_name = openpgp_pk_algo_name (pk->pubkey_algo);
       const char *timestr;
       char *maink;
-      
+
       if ( !algo_name )
         algo_name = "?";
 
 #define KEYIDSTRING _(" (main key ID %s)")
 
       maink = xmalloc ( strlen (KEYIDSTRING) + keystrlen() + 20 );
-      if( keyid[2] && keyid[3] && keyid[0] != keyid[2] 
+      if( keyid[2] && keyid[3] && keyid[0] != keyid[2]
           && keyid[1] != keyid[3] )
         sprintf( maink, KEYIDSTRING, keystr(&keyid[2]) );
       else
         *maink = 0;
-      
-      uid = get_user_id ( keyid, &uidlen ); 
+
+      uid = get_user_id ( keyid, &uidlen );
       timestr = strtimestamp (pk->timestamp);
 
 #undef KEYIDSTRING
@@ -361,7 +361,7 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
                       "%u-bit %s key, ID %s,\n" \
                        "created %s%s.\n" )
 
-      atext = xmalloc ( 100 + strlen (PROMPTSTRING)  
+      atext = xmalloc ( 100 + strlen (PROMPTSTRING)
                         + uidlen + 15 + strlen(algo_name) + keystrlen()
                         + strlen (timestr) + strlen (maink) );
       sprintf (atext, PROMPTSTRING,
@@ -373,16 +373,16 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
 
 #undef PROMPTSTRING
 
-      { 
+      {
         size_t dummy;
         fingerprint_from_pk( pk, fpr, &dummy );
         have_fpr = 1;
       }
-      
+
     }
   else
     atext = xstrdup ( _("Enter passphrase\n") );
-                
+
 
   if (!mode && cacheid)
     my_cacheid = cacheid;
@@ -398,7 +398,7 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
 
   rc = agent_get_passphrase (my_cacheid, tryagain_text, my_prompt, atext,
                              repeat, check, &pw);
-  
+
   xfree (my_prompt);
   xfree (atext); atext = NULL;
 
@@ -413,7 +413,7 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
       if (canceled)
         *canceled = 1;
     }
-  else 
+  else
     {
       log_error (_("problem with the agent: %s\n"), gpg_strerror (rc));
       /* Due to limitations in the API of the upper layers they
@@ -422,7 +422,7 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
          definitely not happen and let it continue without requiring a
          passphrase.  Given that now all the upper layers handle a
          cancel correctly, we simply set the cancel flag now for all
-         errors from the agent.  */ 
+         errors from the agent.  */
       if (canceled)
         *canceled = 1;
 
@@ -450,7 +450,7 @@ passphrase_clear_cache ( u32 *keyid, const char *cacheid, int algo )
   int rc;
 
   (void)algo;
-    
+
   if (!cacheid)
     {
       PKT_public_key *pk;
@@ -460,7 +460,7 @@ passphrase_clear_cache ( u32 *keyid, const char *cacheid, int algo )
       byte fpr[MAX_FINGERPRINT_LEN];
       char hexfprbuf[2*20+1];
       size_t dummy;
-      
+
       pk = xcalloc (1, sizeof *pk);
       if ( !keyid || get_pubkey( pk, keyid ) )
         {
@@ -488,7 +488,7 @@ passphrase_clear_cache ( u32 *keyid, const char *cacheid, int algo )
    NULL, sets it to true.
 
    MODE 0:  Allow cached passphrase
-        1:  Ignore cached passphrase 
+        1:  Ignore cached passphrase
         2:  Ditto, but create a new key
         3:  Allow cached passphrase; use the S2K salt as the cache ID
         4:  Ditto, but create a new key
@@ -496,7 +496,7 @@ passphrase_clear_cache ( u32 *keyid, const char *cacheid, int algo )
 DEK *
 passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
                        int cipher_algo, STRING2KEY *s2k, int mode,
-                       const char *tryagain_text, 
+                       const char *tryagain_text,
                        const char *custdesc, const char *custprompt,
                        int *canceled)
 {
@@ -509,11 +509,11 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
   if (!canceled)
     canceled = &dummy_canceled;
   *canceled = 0;
-  
+
   if ( !s2k )
     {
       assert (mode != 3 && mode != 4);
-      /* This is used for the old rfc1991 mode 
+      /* This is used for the old rfc1991 mode
        * Note: This must match the code in encode.c with opt.rfc1991 set */
       s2k = &help_s2k;
       s2k->mode = 0;
@@ -539,16 +539,16 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
 
   /* If we do not have a passphrase available in NEXT_PW and status
      information are request, we print them now. */
-  if ( !next_pw && is_status_enabled() ) 
+  if ( !next_pw && is_status_enabled() )
     {
       char buf[50];
-      
+
       if ( keyid )
         {
           u32 used_kid[2];
           char *us;
-          
-          if ( keyid[2] && keyid[3] ) 
+
+          if ( keyid[2] && keyid[3] )
             {
               used_kid[0] = keyid[2];
               used_kid[1] = keyid[3];
@@ -558,16 +558,16 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
               used_kid[0] = keyid[0];
               used_kid[1] = keyid[1];
             }
-          
+
           us = get_long_user_id_string ( keyid );
           write_status_text ( STATUS_USERID_HINT, us );
           xfree(us);
-          
+
           snprintf (buf, sizeof buf -1, "%08lX%08lX %08lX%08lX %d 0",
                     (ulong)keyid[0], (ulong)keyid[1],
                     (ulong)used_kid[0], (ulong)used_kid[1],
                     pubkey_algo );
-          
+
           write_status_text ( STATUS_NEED_PASSPHRASE, buf );
        }
       else
@@ -586,7 +586,7 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
     {
       PKT_public_key *pk = xmalloc_clear( sizeof *pk );
       char *p;
-      
+
       p = get_user_id_native(keyid);
       tty_printf ("\n");
       tty_printf (_("You need a passphrase to unlock the secret key for\n"
@@ -595,8 +595,8 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
 
       if ( !get_pubkey( pk, keyid ) )
         {
-          const char *s = gcry_pk_algo_name ( pk->pubkey_algo );
-          
+          const char *s = openpgp_pk_algo_name (pk->pubkey_algo);
+
           tty_printf (_("%u-bit %s key, ID %s, created %s"),
                       nbits_from_pk( pk ), s?s:"?", keystr(keyid),
                       strtimestamp(pk->timestamp) );
@@ -620,19 +620,19 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
         free_public_key( pk );
     }
 
-  if ( next_pw ) 
+  if ( next_pw )
     {
       /* Simply return the passphrase we already have in NEXT_PW. */
       pw = next_pw;
       next_pw = NULL;
     }
-  else if ( have_static_passphrase () ) 
+  else if ( have_static_passphrase () )
     {
       /* Return the passphrase we have stored in FD_PASSWD. */
       pw = xmalloc_secure ( strlen(fd_passwd)+1 );
       strcpy ( pw, fd_passwd );
     }
-  else 
+  else
     {
       if ((mode == 3 || mode == 4) && (s2k->mode == 1 || s2k->mode == 3))
        {
@@ -653,7 +653,7 @@ passphrase_to_dek_ext (u32 *keyid, int pubkey_algo,
           return NULL;
         }
     }
-    
+
   if ( !pw || !*pw )
     write_status( STATUS_MISSING_PASSPHRASE );
 
index 37156f2..517fa21 100644 (file)
 #include <errno.h>
 #include <stdio.h>
 #include <string.h>
-#ifdef _WIN32 
+#ifdef _WIN32
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 # ifndef VER_PLATFORM_WIN32_WINDOWS
 #  define VER_PLATFORM_WIN32_WINDOWS 1
@@ -121,7 +124,7 @@ generate_photo_id(PKT_public_key *pk,const char *photo_name)
          continue;
        }
 
-      
+
       len=iobuf_get_filelength(file, &overflow);
       if(len>6144 || overflow)
        {
@@ -294,11 +297,12 @@ show_photos(const struct user_attribute *attrs,
   u32 len;
   u32 kid[2]={0,0};
 
-  memset(&args,0,sizeof(args));
-  args.pk=pk;
-  args.sk=sk;
-  args.validity_info=get_validity_info(pk,uid);
-  args.validity_string=get_validity_string(pk,uid);
+  memset (&args, 0, sizeof(args));
+  args.pk = pk;
+  args.validity_info = get_validity_info (pk, uid);
+  args.validity_string = get_validity_string (pk, uid);
+  namehash_from_uid (uid);
+  args.namehash = uid->namehash;
 
   if(pk)
     keyid_from_pk(pk,kid);
index 7ad9755..1d0b2d2 100644 (file)
@@ -159,7 +159,7 @@ show_revocation_reason( PKT_public_key *pk, int mode )
  * mode: 0 = standard
  *       1 = Without key info and additional menu option 'm'
  *           this does also add an option to set the key to ultimately trusted.
- * Returns: 
+ * Returns:
  *      -2 = nothing changed - caller should show some additional info
  *      -1 = quit operation
  *       0 = nothing changed
@@ -191,11 +191,11 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
   for(;;) {
     /* A string with valid answers.
 
-       Note to translators: These are the allowed answers in lower and
+       TRANSLATORS: These are the allowed answers in lower and
        uppercase.  Below you will find the matching strings which
        should be translated accordingly and the letter changed to
        match the one in the answer string.
-    
+
          i = please show me more information
          m = back to the main menu
          s = skip this key
@@ -203,9 +203,9 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
     */
     const char *ans = _("iImMqQsS");
 
-    if( !did_help ) 
+    if( !did_help )
       {
-        if( !mode ) 
+        if( !mode )
           {
             KBNODE keyblock, un;
 
@@ -232,7 +232,7 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
                 if (un->pkt->pkt.user_id->is_primary
                    && !un->pkt->pkt.user_id->attrib_data )
                  continue;
-                
+
                if((opt.verify_options&VERIFY_SHOW_PHOTOS)
                   && un->pkt->pkt.user_id->attrib_data)
                  show_photos(un->pkt->pkt.user_id->attribs,
@@ -244,7 +244,7 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
 
                tty_printf(_("  aka \"%s\"\n"),p);
              }
-        
+
             print_fingerprint (pk, NULL, 2);
             tty_printf("\n");
            release_kbnode (keyblock);
@@ -302,7 +302,7 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
       did_help = 0;
     else if( *p && p[1] )
       ;
-    else if( !p[1] && ((*p >= '0'+min_num) && *p <= (mode?'5':'4')) ) 
+    else if( !p[1] && ((*p >= '0'+min_num) && *p <= (mode?'5':'4')) )
       {
         unsigned int trust;
         switch( *p )
@@ -328,14 +328,14 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
       }
 #if 0
     /* not yet implemented */
-    else if( *p == ans[0] || *p == ans[1] ) 
+    else if( *p == ans[0] || *p == ans[1] )
       {
         tty_printf(_("Certificates leading to an ultimately trusted key:\n"));
         show = 1;
         break;
       }
 #endif
-    else if( mode && (*p == ans[2] || *p == ans[3] || *p == CONTROL_D ) ) 
+    else if( mode && (*p == ans[2] || *p == ans[3] || *p == CONTROL_D ) )
       {
         break ; /* back to the menu */
       }
@@ -354,9 +354,9 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
   return show? -2: quit? -1 : changed;
 }
 
-/* 
+/*
  * Display a menu to change the ownertrust of the key PK (which should
- * be a primary key).  
+ * be a primary key).
  * For mode values see do_edit_ownertrust ()
  */
 int
@@ -413,7 +413,7 @@ do_we_trust( PKT_public_key *pk, unsigned int trustlevel )
       log_error ("invalid trustlevel %u returned from validation layer\n",
                 trustlevel);
       /* fall thru */
-    case TRUST_UNKNOWN: 
+    case TRUST_UNKNOWN:
     case TRUST_UNDEFINED:
       log_info(_("%s: There is no assurance this key belongs"
                 " to the named user\n"),keystr_from_pk(pk));
@@ -463,12 +463,12 @@ do_we_trust_pre( PKT_public_key *pk, unsigned int trustlevel )
 
       tty_printf("\n");
 
-      
+
       if (is_status_enabled ())
         {
           u32 kid[2];
           char *hint_str;
-          
+
           keyid_from_pk (pk, kid);
           hint_str = get_long_user_id_string ( kid );
           write_status_text ( STATUS_USERID_HINT, hint_str );
@@ -500,7 +500,7 @@ check_signatures_trust( PKT_signature *sig )
   int rc=0;
 
   rc = get_pubkey( pk, sig->keyid );
-  if (rc) 
+  if (rc)
     { /* this should not happen */
       log_error("Ooops; the key vanished  - can't check the trust\n");
       rc = G10ERR_NO_PUBKEY;
@@ -522,7 +522,7 @@ check_signatures_trust( PKT_signature *sig )
 
   trustlevel = get_validity (pk, NULL);
 
-  if ( (trustlevel & TRUST_FLAG_REVOKED) ) 
+  if ( (trustlevel & TRUST_FLAG_REVOKED) )
     {
       write_status( STATUS_KEYREVOKED );
       if(pk->is_revoked==2)
@@ -533,13 +533,13 @@ check_signatures_trust( PKT_signature *sig )
       log_info(_("         This could mean that the signature is forged.\n"));
       show_revocation_reason( pk, 0 );
     }
-  else if ((trustlevel & TRUST_FLAG_SUB_REVOKED) ) 
+  else if ((trustlevel & TRUST_FLAG_SUB_REVOKED) )
     {
       write_status( STATUS_KEYREVOKED );
       log_info(_("WARNING: This subkey has been revoked by its owner!\n"));
       show_revocation_reason( pk, 0 );
     }
-  
+
   if ((trustlevel & TRUST_FLAG_DISABLED))
     log_info (_("Note: This key has been disabled.\n"));
 
@@ -572,9 +572,9 @@ check_signatures_trust( PKT_signature *sig )
                       "does not match DNS entry\n"), sig->pka_info->email);
         }
 
-      switch ( (trustlevel & TRUST_MASK) ) 
+      switch ( (trustlevel & TRUST_MASK) )
         {
-        case TRUST_UNKNOWN: 
+        case TRUST_UNKNOWN:
         case TRUST_UNDEFINED:
         case TRUST_MARGINAL:
           if (okay && opt.verify_options&VERIFY_PKA_TRUST_INCREASE)
@@ -596,18 +596,18 @@ check_signatures_trust( PKT_signature *sig )
     }
 
   /* Now let the user know what up with the trustlevel. */
-  switch ( (trustlevel & TRUST_MASK) ) 
+  switch ( (trustlevel & TRUST_MASK) )
     {
     case TRUST_EXPIRED:
       log_info(_("Note: This key has expired!\n"));
       print_fingerprint (pk, NULL, 1);
       break;
-        
+
     default:
       log_error ("invalid trustlevel %u returned from validation layer\n",
                  trustlevel);
       /* fall thru */
-    case TRUST_UNKNOWN: 
+    case TRUST_UNKNOWN:
     case TRUST_UNDEFINED:
       write_status( STATUS_TRUST_UNDEFINED );
       log_info(_("WARNING: This key is not certified with"
@@ -798,7 +798,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
 
   /* Check whether there are any recipients in the list and build the
    * list of the encrypt-to ones (we always trust them). */
-  for ( rov = remusr; rov; rov = rov->next ) 
+  for ( rov = remusr; rov; rov = rov->next )
     {
       if ( !(rov->flags & 1) )
         {
@@ -817,7 +817,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
               compliance_failure();
             }
         }
-      else if ( (use & PUBKEY_USAGE_ENC) && !opt.no_encrypt_to ) 
+      else if ( (use & PUBKEY_USAGE_ENC) && !opt.no_encrypt_to )
         {
           /* Encryption has been requested and --encrypt-to has not
              been disabled.  Check this encrypt-to key. */
@@ -827,23 +827,28 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
           /* We explicitly allow encrypt-to to an disabled key; thus
              we pass 1for the second last argument and 1 as the last
              argument to disable AKL. */
-          if ( (rc = get_pubkey_byname (NULL, pk, rov->d, NULL, NULL, 1, 1)) ) 
+          if ( (rc = get_pubkey_byname (NULL, pk, rov->d, NULL, NULL, 1, 1)) )
             {
               free_public_key ( pk ); pk = NULL;
               log_error (_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
-              write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
+              write_status_text_and_buffer (STATUS_INV_RECP,
+                                            (rc == GPG_ERR_NO_PUBKEY
+                                             || rc == GPG_ERR_NO_SECKEY)? "1 ":
+                                            (rc == GPG_ERR_INV_USER_ID)? "14 ":
+                                            "0 ",
                                             rov->d, strlen (rov->d), -1);
               goto fail;
             }
-          else if ( !(rc=openpgp_pk_test_algo2 (pk->pubkey_algo, use)) ) 
+          else if ( !(rc=openpgp_pk_test_algo2 (pk->pubkey_algo, use)) )
             {
               /* Skip the actual key if the key is already present
                * in the list.  Add it to our list if not. */
               if (key_present_in_pk_list(pk_list, pk) == 0)
                 {
                   free_public_key (pk); pk = NULL;
-                  log_info (_("%s: skipped: public key already present\n"),
-                            rov->d);
+                  if (!opt.quiet)
+                    log_info (_("%s: skipped: public key already present\n"),
+                              rov->d);
                 }
               else
                 {
@@ -867,13 +872,13 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
                     }
                 }
             }
-          else 
+          else
             {
               /* The public key is not usable for encryption or not
                  available. */
               free_public_key( pk ); pk = NULL;
               log_error(_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
-              write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
+              write_status_text_and_buffer (STATUS_INV_RECP, "3 ",
                                             rov->d, strlen (rov->d), -1);
               goto fail;
             }
@@ -882,8 +887,8 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
 
   /* If we don't have any recipients yet and we are not in batch mode
      drop into interactive selection mode. */
-  if ( !any_recipients && !opt.batch ) 
-    { 
+  if ( !any_recipients && !opt.batch )
+    {
       int have_def_rec;
       char *answer = NULL;
       strlist_t backlog = NULL;
@@ -895,7 +900,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
       if ( !have_def_rec )
         tty_printf(_("You did not specify a user ID. (you may use \"-r\")\n"));
 
-      for (;;) 
+      for (;;)
         {
           rc = 0;
           xfree(answer);
@@ -905,7 +910,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
               answer = def_rec;
               def_rec = NULL;
             }
-          else if (backlog) 
+          else if (backlog)
             {
               /* This is part of our trick to expand and display groups. */
               answer = strlist_pop (&backlog);
@@ -948,8 +953,8 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
               trim_spaces(answer);
               cpr_kill_prompt();
             }
-          
-          if ( !answer || !*answer ) 
+
+          if ( !answer || !*answer )
             {
               xfree(answer);
               break;  /* No more recipients entered - get out of loop. */
@@ -969,12 +974,12 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
           rc = get_pubkey_byname (NULL, pk, answer, NULL, NULL, 0, 0 );
           if (rc)
             tty_printf(_("No such user ID.\n"));
-          else if ( !(rc=openpgp_pk_test_algo2 (pk->pubkey_algo, use)) ) 
+          else if ( !(rc=openpgp_pk_test_algo2 (pk->pubkey_algo, use)) )
             {
               if ( have_def_rec )
                 {
                   /* No validation for a default recipient. */
-                  if (!key_present_in_pk_list(pk_list, pk)) 
+                  if (!key_present_in_pk_list(pk_list, pk))
                     {
                       free_public_key (pk); pk = NULL;
                       log_info (_("skipped: public key "
@@ -994,13 +999,13 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
               else
                 { /* Check validity of this key. */
                   int trustlevel;
-                   
+
                   trustlevel = get_validity (pk, pk->user_id);
-                  if ( (trustlevel & TRUST_FLAG_DISABLED) ) 
+                  if ( (trustlevel & TRUST_FLAG_DISABLED) )
                     {
                       tty_printf (_("Public key is disabled.\n") );
                     }
-                  else if ( do_we_trust_pre (pk, trustlevel) ) 
+                  else if ( do_we_trust_pre (pk, trustlevel) )
                     {
                       /* Skip the actual key if the key is already
                        * present in the list */
@@ -1032,7 +1037,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
           pk = NULL;
         }
     }
-  else if ( !any_recipients && (def_rec = default_recipient()) ) 
+  else if ( !any_recipients && (def_rec = default_recipient()) )
     {
       /* We are in batch mode and have only a default recipient. */
       pk = xmalloc_clear( sizeof *pk );
@@ -1043,7 +1048,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
       rc = get_pubkey_byname (NULL, pk, def_rec, NULL, NULL, 1, 1);
       if (rc)
         log_error(_("unknown default recipient \"%s\"\n"), def_rec );
-      else if ( !(rc=openpgp_pk_test_algo2(pk->pubkey_algo, use)) ) 
+      else if ( !(rc=openpgp_pk_test_algo2(pk->pubkey_algo, use)) )
         {
           /* Mark any_recipients here since the default recipient
              would have been used if it wasn't already there.  It
@@ -1053,7 +1058,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
           if (!key_present_in_pk_list(pk_list, pk))
             log_info (_("skipped: public key already set "
                         "as default recipient\n"));
-          else 
+          else
             {
               PK_LIST r = xmalloc( sizeof *r );
               r->pk = pk; pk = NULL;
@@ -1069,11 +1074,11 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
         }
       xfree(def_rec); def_rec = NULL;
     }
-  else 
+  else
     {
       /* General case: Check all keys. */
       any_recipients = 0;
-      for (; remusr; remusr = remusr->next ) 
+      for (; remusr; remusr = remusr->next )
         {
           if ( (remusr->flags & 1) )
             continue; /* encrypt-to keys are already handled. */
@@ -1085,31 +1090,35 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
               /* Key not found or other error. */
               free_public_key( pk ); pk = NULL;
               log_error(_("%s: skipped: %s\n"), remusr->d, g10_errstr(rc) );
-              write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
+              write_status_text_and_buffer (STATUS_INV_RECP,
+                                            (rc == G10ERR_NO_PUBKEY
+                                             || rc == G10ERR_NO_SECKEY)? "1 ":
+                                            (rc == G10ERR_INV_USER_ID)? "14 ":
+                                            "0 ",
                                             remusr->d, strlen (remusr->d),
                                             -1);
               goto fail;
             }
-          else if ( !(rc=openpgp_pk_test_algo2(pk->pubkey_algo, use )) ) 
+          else if ( !(rc=openpgp_pk_test_algo2(pk->pubkey_algo, use )) )
             {
               /* Key found and usable.  Check validity. */
               int trustlevel;
-              
+
               trustlevel = get_validity (pk, pk->user_id);
-              if ( (trustlevel & TRUST_FLAG_DISABLED) ) 
+              if ( (trustlevel & TRUST_FLAG_DISABLED) )
                 {
                   /*Key has been disabled. */
                   free_public_key(pk); pk = NULL;
                   log_info(_("%s: skipped: public key is disabled\n"),
                            remusr->d);
-                  write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
+                  write_status_text_and_buffer (STATUS_INV_RECP, "13 ",
                                                 remusr->d,
                                                 strlen (remusr->d),
                                                 -1);
                   rc=G10ERR_UNU_PUBKEY;
                   goto fail;
                 }
-              else if ( do_we_trust_pre( pk, trustlevel ) ) 
+              else if ( do_we_trust_pre( pk, trustlevel ) )
                 {
                   /* Note: do_we_trust may have changed the trustlevel */
 
@@ -1119,11 +1128,12 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
 
                   /* Skip the actual key if the key is already present
                    * in the list */
-                  if (!key_present_in_pk_list(pk_list, pk)) 
+                  if (!key_present_in_pk_list(pk_list, pk))
                     {
                       free_public_key(pk); pk = NULL;
-                      log_info(_("%s: skipped: public key already present\n"),
-                               remusr->d);
+                      if (!opt.quiet)
+                        log_info(_("%s: skipped: public key already present\n"),
+                                 remusr->d);
                     }
                   else
                     {
@@ -1150,7 +1160,7 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
             {
               /* Key found but not usable for us (e.g. sign-only key). */
               free_public_key( pk ); pk = NULL;
-              write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
+              write_status_text_and_buffer (STATUS_INV_RECP, "3 ",
                                             remusr->d,
                                             strlen (remusr->d),
                                             -1);
@@ -1159,14 +1169,14 @@ build_pk_list( strlist_t rcpts, PK_LIST *ret_pk_list, unsigned int use )
             }
         }
     }
-  
-  if ( !rc && !any_recipients ) 
+
+  if ( !rc && !any_recipients )
     {
       log_error(_("no valid addressees\n"));
       write_status_text (STATUS_NO_RECP, "0");
       rc = G10ERR_NO_USER_ID;
     }
-  
+
  fail:
 
   if ( rc )
@@ -1205,7 +1215,7 @@ algo_available( preftype_t preftype, int algo, const union pref_hint *hint)
                  && algo != CIPHER_ALGO_3DES
                  && algo != CIPHER_ALGO_CAST5))
        return 0;
-      
+
       if(PGP7 && (algo != CIPHER_ALGO_IDEA
                  && algo != CIPHER_ALGO_3DES
                  && algo != CIPHER_ALGO_CAST5
@@ -1411,7 +1421,7 @@ select_algo_from_prefs(PK_LIST pk_list, int preftype,
 
   if(result==-1)
     {
-      unsigned int best=-1;    
+      unsigned int best=-1;
 
       /* At this point, we have not selected an algorithm due to a
         special request or via personal prefs.  Pick the highest
@@ -1469,11 +1479,11 @@ select_mdc_from_pklist (PK_LIST pk_list)
 
   if ( !pk_list )
     return 0;
-  
-  for (pkr = pk_list; pkr; pkr = pkr->next) 
+
+  for (pkr = pk_list; pkr; pkr = pkr->next)
     {
       int mdc;
-      
+
       if (pkr->pk->user_id) /* selected by user ID */
         mdc = pkr->pk->user_id->flags.mdc;
       else
@@ -1490,8 +1500,8 @@ void
 warn_missing_mdc_from_pklist (PK_LIST pk_list)
 {
   PK_LIST pkr;
-  
-  for (pkr = pk_list; pkr; pkr = pkr->next) 
+
+  for (pkr = pk_list; pkr; pkr = pkr->next)
     {
       int mdc;
 
@@ -1509,8 +1519,8 @@ void
 warn_missing_aes_from_pklist (PK_LIST pk_list)
 {
   PK_LIST pkr;
-  for (pkr = pk_list; pkr; pkr = pkr->next) 
+
+  for (pkr = pk_list; pkr; pkr = pkr->next)
     {
       const prefitem_t *prefs;
       int i;
@@ -1520,7 +1530,7 @@ warn_missing_aes_from_pklist (PK_LIST pk_list)
       if (prefs)
         {
           for (i=0; !gotit && prefs[i].type; i++ )
-            if (prefs[i].type == PREFTYPE_SYM 
+            if (prefs[i].type == PREFTYPE_SYM
                 && prefs[i].value == CIPHER_ALGO_AES)
               gotit++;
        }
index 07a9836..ed4fa89 100644 (file)
@@ -269,6 +269,22 @@ do_check( PKT_public_key *pk, PKT_signature *sig, gcry_md_hd_t digest,
     if( (rc=do_check_messages(pk,sig,r_expired,r_revoked)) )
         return rc;
 
+    if (sig->digest_algo == GCRY_MD_MD5
+        && !opt.flags.allow_weak_digest_algos)
+      {
+        static int shown;
+
+        if (!shown)
+          {
+            log_info
+              (_("Note: signatures using the %s algorithm are rejected\n"),
+               "MD5");
+            shown = 1;
+          }
+
+        return GPG_ERR_DIGEST_ALGO;
+      }
+
     /* Make sure the digest algo is enabled (in case of a detached
        signature).  */
     gcry_md_enable (digest, sig->digest_algo);
index 8d280ed..0de3321 100644 (file)
@@ -150,7 +150,7 @@ mk_notation_policy_etc( PKT_signature *sig,
 
 
 /*
- * Helper to hash a user ID packet.  
+ * Helper to hash a user ID packet.
  */
 static void
 hash_uid (gcry_md_hd_t md, int sigversion, const PKT_user_id *uid)
@@ -188,7 +188,7 @@ hash_uid (gcry_md_hd_t md, int sigversion, const PKT_user_id *uid)
 static void
 hash_sigversion_to_magic (gcry_md_hd_t md, const PKT_signature *sig)
 {
-    if (sig->version >= 4) 
+    if (sig->version >= 4)
         gcry_md_putc (md, sig->version);
     gcry_md_putc (md, sig->sig_class);
     if (sig->version < 4) {
@@ -201,7 +201,7 @@ hash_sigversion_to_magic (gcry_md_hd_t md, const PKT_signature *sig)
     else {
         byte buf[6];
         size_t n;
-        
+
         gcry_md_putc (md, sig->pubkey_algo);
         gcry_md_putc (md, sig->digest_algo);
         if (sig->hashed) {
@@ -257,13 +257,13 @@ do_sign( PKT_secret_key *sk, PKT_signature *sig,
     sig->digest_algo = digest_algo;
     sig->digest_start[0] = dp[0];
     sig->digest_start[1] = dp[1];
-    if (sk->is_protected && sk->protect.s2k.mode == 1002) 
-      { 
+    if (sk->is_protected && sk->protect.s2k.mode == 1002)
+      {
 #ifdef ENABLE_CARD_SUPPORT
         unsigned char *rbuf;
         size_t rbuflen;
         char *snbuf;
-        
+
         snbuf = serialno_and_fpr_from_sk (sk->protect.iv,
                                           sk->protect.ivlen, sk);
         rc = agent_scd_pksign (snbuf, digest_algo,
@@ -282,7 +282,7 @@ do_sign( PKT_secret_key *sk, PKT_signature *sig,
         return gpg_error (GPG_ERR_NOT_SUPPORTED);
 #endif /* ENABLE_CARD_SUPPORT */
       }
-    else 
+    else
       {
         frame = encode_md_value( NULL, sk, md, digest_algo );
         if (!frame)
@@ -318,7 +318,7 @@ do_sign( PKT_secret_key *sk, PKT_signature *sig,
        if( opt.verbose ) {
            char *ustr = get_user_id_string_native (sig->keyid);
            log_info(_("%s/%s signature from: \"%s\"\n"),
-                    gcry_pk_algo_name (sk->pubkey_algo),
+                    openpgp_pk_algo_name (sk->pubkey_algo),
                     gcry_md_algo_name (sig->digest_algo),
                     ustr );
            xfree(ustr);
@@ -367,10 +367,10 @@ match_dsa_hash (unsigned int qbytes)
 /*
   First try --digest-algo.  If that isn't set, see if the recipient
   has a preferred algorithm (which is also filtered through
-  --preferred-digest-prefs).  If we're making a signature without a
+  --personal-digest-prefs).  If we're making a signature without a
   particular recipient (i.e. signing, rather than signing+encrypting)
-  then take the first algorithm in --preferred-digest-prefs that is
-  usable for the pubkey algorithm.  If --preferred-digest-prefs isn't
+  then take the first algorithm in --personal-digest-prefs that is
+  usable for the pubkey algorithm.  If --personal-digest-prefs isn't
   set, then take the OpenPGP default (i.e. SHA-1).
 
   Possible improvement: Use the highest-ranked usable algorithm from
@@ -495,7 +495,7 @@ print_status_sig_created ( PKT_secret_key *sk, PKT_signature *sig, int what )
  * Loop over the secret certificates in SK_LIST and build the one pass
  * signature packets.  OpenPGP says that the data should be bracket by
  * the onepass-sig and signature-packet; so we build these onepass
- * packet here in reverse order 
+ * packet here in reverse order
  */
 static int
 write_onepass_sig_packets (SK_LIST sk_list, IOBUF out, int sigclass )
@@ -511,7 +511,7 @@ write_onepass_sig_packets (SK_LIST sk_list, IOBUF out, int sigclass )
         PKT_onepass_sig *ops;
         PACKET pkt;
         int i, rc;
-        
+
         for (i=0, sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) {
             if (++i == skcount)
                 break;
@@ -524,7 +524,7 @@ write_onepass_sig_packets (SK_LIST sk_list, IOBUF out, int sigclass )
         ops->pubkey_algo = sk->pubkey_algo;
         keyid_from_sk (sk, ops->keyid);
         ops->last = (skcount == 1);
-        
+
         init_packet(&pkt);
         pkt.pkttype = PKT_ONEPASS_SIG;
         pkt.pkt.onepass_sig = ops;
@@ -612,7 +612,7 @@ write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, int ptmode)
         wipememory(copy_buffer,4096); /* burn buffer */
     }
     /* fixme: it seems that we never freed pt/pkt */
-    
+
     return rc;
 }
 
@@ -777,7 +777,7 @@ sign_file( strlist_t filenames, int detached, strlist_t locusr,
           inp = NULL;
           errno = EPERM;
         }
-      if( !inp ) 
+      if( !inp )
         {
           rc = gpg_error_from_syserror ();
           log_error (_("can't open `%s': %s\n"), fname? fname: "[stdin]",
@@ -817,7 +817,7 @@ sign_file( strlist_t filenames, int detached, strlist_t locusr,
     if ( gcry_md_open (&mfx.md, 0, 0) )
       BUG ();
     if (DBG_HASHING)
-      gcry_md_start_debug (mfx.md, "sign");
+      gcry_md_debug (mfx.md, "sign");
 
     /* If we're encrypting and signing, it is reasonable to pick the
        hash algorithm to use out of the recepient key prefs.  This is
@@ -928,7 +928,7 @@ sign_file( strlist_t filenames, int detached, strlist_t locusr,
               there is an assumed preference for uncompressed data.
               Still, if it did fail, we'll also end up with the
               default. */
+
            if((compr_algo=
                select_algo_from_prefs(pk_list,PREFTYPE_ZIP,-1,NULL))==-1)
              compr_algo=default_compress_algo();
@@ -1091,7 +1091,7 @@ clearsign_file( const char *fname, strlist_t locusr, const char *outfile )
       }
     if( !inp ) {
         rc = gpg_error_from_syserror ();
-       log_error (_("can't open `%s': %s\n"), 
+       log_error (_("can't open `%s': %s\n"),
                    fname? fname: "[stdin]", strerror(errno) );
        goto leave;
     }
@@ -1102,7 +1102,7 @@ clearsign_file( const char *fname, strlist_t locusr, const char *outfile )
             outfile = NULL;
             errno = EPERM;
         }
-        else 
+        else
             out = iobuf_create( outfile );
        if( !out )
          {
@@ -1166,7 +1166,7 @@ clearsign_file( const char *fname, strlist_t locusr, const char *outfile )
        gcry_md_enable (textmd, hash_for(sk));
     }
     if ( DBG_HASHING )
-      gcry_md_start_debug ( textmd, "clearsign" );
+      gcry_md_debug ( textmd, "clearsign" );
 
     copy_clearsig_text( out, inp, textmd, !opt.not_dash_escaped,
                        opt.escape_from, (old_style && only_md5) );
@@ -1190,7 +1190,7 @@ clearsign_file( const char *fname, strlist_t locusr, const char *outfile )
     gcry_md_close ( textmd );
     release_sk_list( sk_list );
     release_progress_context (pfx);
-    release_armor_context (afx); 
+    release_armor_context (afx);
     return rc;
 }
 
@@ -1234,7 +1234,7 @@ sign_symencrypt_file (const char *fname, strlist_t locusr)
       }
 
     rc = build_sk_list (locusr, &sk_list, 1, PUBKEY_USAGE_SIG);
-    if (rc) 
+    if (rc)
        goto leave;
 
     /* prepare iobufs */
@@ -1247,7 +1247,7 @@ sign_symencrypt_file (const char *fname, strlist_t locusr)
       }
     if( !inp ) {
         rc = gpg_error_from_syserror ();
-       log_error (_("can't open `%s': %s\n"), 
+       log_error (_("can't open `%s': %s\n"),
                    fname? fname: "[stdin]", strerror(errno) );
        goto leave;
     }
@@ -1288,7 +1288,7 @@ sign_symencrypt_file (const char *fname, strlist_t locusr)
     if ( gcry_md_open (&mfx.md, 0, 0) )
       BUG ();
     if ( DBG_HASHING )
-      gcry_md_start_debug (mfx.md, "symc-sign");
+      gcry_md_debug (mfx.md, "symc-sign");
 
     for (sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next) {
        PKT_secret_key *sk = sk_rover->sk;
@@ -1338,7 +1338,7 @@ sign_symencrypt_file (const char *fname, strlist_t locusr)
     rc = write_plaintext_packet (out, inp, fname, opt.textmode ? 't':'b');
     if (rc)
        goto leave;
-    
+
     /* Write the signatures */
     /*(current filters: zip - encrypt - armor)*/
     rc = write_signature_packets (sk_list, out, mfx.md,
@@ -1497,14 +1497,15 @@ int
 update_keysig_packet( PKT_signature **ret_sig,
                       PKT_signature *orig_sig,
                       PKT_public_key *pk,
-                      PKT_user_id *uid, 
+                      PKT_user_id *uid,
                       PKT_public_key *subpk,
                       PKT_secret_key *sk,
                       int (*mksubpkt)(PKT_signature *, void *),
                       void *opaque )
 {
     PKT_signature *sig;
-    int rc=0, digest_algo;
+    int rc = 0;
+    int digest_algo;
     gcry_md_hd_t md;
 
     if ((!orig_sig || !pk || !sk)
@@ -1517,7 +1518,7 @@ update_keysig_packet( PKT_signature **ret_sig,
     else
       digest_algo = orig_sig->digest_algo;
 
-    if ( gcry_md_open (&md, orig_sig->digest_algo, 0 ) )
+    if ( gcry_md_open (&md, digest_algo, 0 ) )
       BUG ();
 
     /* Hash the public key certificate and the user id. */
@@ -1530,7 +1531,9 @@ update_keysig_packet( PKT_signature **ret_sig,
 
     /* create a new signature packet */
     sig = copy_signature (NULL, orig_sig);
+
+    sig->digest_algo=digest_algo;
+
     /* We need to create a new timestamp so that new sig expiration
        calculations are done correctly... */
     sig->timestamp=make_timestamp();
index 3e6091c..c5f662c 100644 (file)
@@ -473,7 +473,7 @@ create_version_record (void)
 
 
 int
-tdbio_set_dbname( const char *new_dbname, int create )
+tdbio_set_dbname( const char *new_dbname, int create, int *r_nofile)
 {
     char *fname;
     static int initialized = 0;
@@ -483,6 +483,8 @@ tdbio_set_dbname( const char *new_dbname, int create )
        initialized = 1;
     }
 
+    *r_nofile = 0;
+
     if(new_dbname==NULL)
       fname=make_filename(opt.homedir,"trustdb" EXTSEP_S "gpg", NULL);
     else if (*new_dbname != DIRSEP_C )
@@ -501,7 +503,9 @@ tdbio_set_dbname( const char *new_dbname, int create )
            xfree(fname);
            return G10ERR_TRUSTDB;
        }
-       if( create ) {
+       if (!create)
+          *r_nofile = 1;
+        else {
            FILE *fp;
            TRUSTREC rec;
            int rc;
index b99b491..4f37de4 100644 (file)
@@ -57,7 +57,7 @@ struct trust_record {
            byte  min_cert_level;
            ulong created;   /* timestamp of trustdb creation  */
            ulong nextcheck; /* timestamp of next scheduled check */
-           ulong reserved;  
+           ulong reserved;
            ulong reserved2;
            ulong firstfree;
            ulong reserved3;
@@ -82,7 +82,7 @@ struct trust_record {
       } trust;
       struct {
         byte namehash[20];
-        ulong next;  
+        ulong next;
         byte validity;
        byte full_count;
        byte marginal_count;
@@ -93,7 +93,7 @@ typedef struct trust_record TRUSTREC;
 
 /*-- tdbio.c --*/
 int tdbio_update_version_record(void);
-int tdbio_set_dbname( const char *new_dbname, int create );
+int tdbio_set_dbname( const char *new_dbname, int create, int *r_nofile);
 const char *tdbio_get_dbname(void);
 void tdbio_dump_record( TRUSTREC *rec, FILE *fp );
 int tdbio_read_record( ulong recnum, TRUSTREC *rec, int expected );
index fe8b833..f96701a 100644 (file)
@@ -44,7 +44,7 @@
 
 /*
  * A structure to store key identification as well as some stuff needed
- * for validation 
+ * for validation
  */
 struct key_item {
   struct key_item *next;
@@ -60,7 +60,7 @@ typedef struct key_item **KeyHashTable; /* see new_key_hash_table() */
 
 /*
  * Structure to keep track of keys, this is used as an array wherre
- * the item right after the last one has a keyblock set to NULL. 
+ * the item right after the last one has a keyblock set to NULL.
  * Maybe we can drop this thing and replace it by key_item
  */
 struct key_array {
@@ -73,6 +73,7 @@ static struct {
     int init;
     int level;
     char *dbname;
+    int no_trustdb;   /* Set if a trustdb file is not available.  */
 } trustdb_args;
 
 /* some globals */
@@ -92,7 +93,7 @@ static struct key_item *
 new_key_item (void)
 {
   struct key_item *k;
-  
+
   k = xmalloc_clear (sizeof *k);
   return k;
 }
@@ -114,11 +115,11 @@ release_key_items (struct key_item *k)
  * For fast keylook up we need a hash table.  Each byte of a KeyIDs
  * should be distributed equally over the 256 possible values (except
  * for v3 keyIDs but we consider them as not important here). So we
- * can just use 10 bits to index a table of 1024 key items. 
+ * can just use 10 bits to index a table of 1024 key items.
  * Possible optimization: Don not use key_items but other hash_table when the
- * duplicates lists gets too large. 
+ * duplicates lists gets too large.
  */
-static KeyHashTable 
+static KeyHashTable
 new_key_hash_table (void)
 {
   struct key_item **tbl;
@@ -139,7 +140,7 @@ release_key_hash_table (KeyHashTable tbl)
   xfree (tbl);
 }
 
-/* 
+/*
  * Returns: True if the keyID is in the given hash table
  */
 static int
@@ -164,7 +165,7 @@ add_key_hash_table (KeyHashTable tbl, u32 *kid)
   for (k = tbl[(kid[1] & 0x03ff)]; k; k = k->next)
     if (k->kid[0] == kid[0] && k->kid[1] == kid[1])
       return; /* already in table */
-  
+
   kk = new_key_item ();
   kk->kid[0] = kid[0];
   kk->kid[1] = kid[1];
@@ -234,7 +235,7 @@ add_utk (u32 *kid)
 {
   struct key_item *k;
 
-  for (k = utk_list; k; k = k->next) 
+  for (k = utk_list; k; k = k->next)
     {
       if (k->kid[0] == kid[0] && k->kid[1] == kid[1])
         {
@@ -269,15 +270,15 @@ verify_own_keys(void)
     return;
 
   /* scan the trustdb to find all ultimately trusted keys */
-  for (recnum=1; !tdbio_read_record (recnum, &rec, 0); recnum++ ) 
+  for (recnum=1; !tdbio_read_record (recnum, &rec, 0); recnum++ )
     {
-      if ( rec.rectype == RECTYPE_TRUST 
+      if ( rec.rectype == RECTYPE_TRUST
            && (rec.r.trust.ownertrust & TRUST_MASK) == TRUST_ULTIMATE)
         {
             byte *fpr = rec.r.trust.fingerprint;
             int fprlen;
             u32 kid[2];
-            
+
             /* Problem: We do only use fingerprints in the trustdb but
              * we need the keyID here to indetify the key; we can only
              * use that ugly hack to distinguish between 16 and 20
@@ -293,9 +294,9 @@ verify_own_keys(void)
     }
 
   /* Put any --trusted-key keys into the trustdb */
-  for (k = user_utk_list; k; k = k->next) 
+  for (k = user_utk_list; k; k = k->next)
     {
-      if ( add_utk (k->kid) ) 
+      if ( add_utk (k->kid) )
         { /* not yet in trustDB as ultimately trusted */
           PKT_public_key pk;
 
@@ -441,7 +442,7 @@ init_trustdb()
 
   if(level==0 || level==1)
     {
-      int rc = tdbio_set_dbname( dbname, !!level );
+      int rc = tdbio_set_dbname (dbname, !!level, &trustdb_args.no_trustdb);
       if( rc )
        log_fatal("can't init trustdb: %s\n", g10_errstr(rc) );
     }
@@ -492,7 +493,7 @@ init_trustdb()
 static int
 trust_letter (unsigned int value)
 {
-  switch( (value & TRUST_MASK) ) 
+  switch( (value & TRUST_MASK) )
     {
     case TRUST_UNKNOWN:   return '-';
     case TRUST_EXPIRED:   return 'e';
@@ -505,7 +506,11 @@ trust_letter (unsigned int value)
     }
 }
 
-/* NOTE TO TRANSLATOR: these strings are similar to those in
+const char *
+uid_trust_string_fixed(PKT_public_key *key,PKT_user_id *uid)
+{
+  if(!key && !uid)
+/* TRANSLATORS: these strings are similar to those in
    trust_value_to_string(), but are a fixed length.  This is needed to
    make attractive information listings where columns line up
    properly.  The value "10" should be the length of the strings you
@@ -513,10 +518,6 @@ trust_letter (unsigned int value)
    It gets passed to atoi() so everything after the number is
    essentially a comment and need not be translated.  Either key and
    uid are both NULL, or neither are NULL. */
-const char *
-uid_trust_string_fixed(PKT_public_key *key,PKT_user_id *uid)
-{
-  if(!key && !uid)
     return _("10 translator see trustdb.c:uid_trust_string_fixed");
   else if(uid->is_revoked || (key && key->is_revoked))
     return                         _("[ revoked]");
@@ -541,7 +542,7 @@ uid_trust_string_fixed(PKT_public_key *key,PKT_user_id *uid)
 const char *
 trust_value_to_string (unsigned int value)
 {
-  switch( (value & TRUST_MASK) ) 
+  switch( (value & TRUST_MASK) )
     {
     case TRUST_UNKNOWN:   return _("unknown");
     case TRUST_EXPIRED:   return _("expired");
@@ -610,7 +611,7 @@ check_trustdb ()
 
 
 /*
- * Recreate the WoT. 
+ * Recreate the WoT.
  */
 void
 update_trustdb()
@@ -627,6 +628,9 @@ void
 revalidation_mark (void)
 {
   init_trustdb();
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return;
+
   /* we simply set the time for the next check to 1 (far back in 1970)
    * so that a --update-trustdb will be scheduled */
   if (tdbio_write_nextcheck (1))
@@ -662,8 +666,10 @@ read_trust_options(byte *trust_model,ulong *created,ulong *nextcheck,
   TRUSTREC opts;
 
   init_trustdb();
-
-  read_record(0,&opts,RECTYPE_VER);
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    memset (&opts, 0, sizeof opts);
+  else
+    read_record(0,&opts,RECTYPE_VER);
 
   if(trust_model)
     *trust_model=opts.r.ver.trust_model;
@@ -685,29 +691,29 @@ read_trust_options(byte *trust_model,ulong *created,ulong *nextcheck,
  ***********  Ownertrust et al. ****************
  ***********************************************/
 
-static int 
+static int
 read_trust_record (PKT_public_key *pk, TRUSTREC *rec)
 {
   int rc;
-  
+
   init_trustdb();
   rc = tdbio_search_trust_bypk (pk, rec);
   if (rc == -1)
     return -1; /* no record yet */
-  if (rc) 
+  if (rc)
     {
       log_error ("trustdb: searching trust record failed: %s\n",
                  g10_errstr (rc));
-      return rc; 
+      return rc;
     }
-      
+
   if (rec->rectype != RECTYPE_TRUST)
     {
       log_error ("trustdb: record %lu is not a trust record\n",
                  rec->recnum);
-      return G10ERR_TRUSTDB; 
-    }      
-  
+      return G10ERR_TRUSTDB;
+    }
+
   return 0;
 }
 
@@ -715,16 +721,19 @@ read_trust_record (PKT_public_key *pk, TRUSTREC *rec)
  * Return the assigned ownertrust value for the given public key.
  * The key should be the primary key.
  */
-unsigned int 
+unsigned int
 get_ownertrust ( PKT_public_key *pk)
 {
   TRUSTREC rec;
   int rc;
-  
+
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return TRUST_UNKNOWN;
+
   rc = read_trust_record (pk, &rec);
   if (rc == -1)
     return TRUST_UNKNOWN; /* no record yet */
-  if (rc) 
+  if (rc)
     {
       tdbio_invalid ();
       return rc; /* actually never reached */
@@ -733,16 +742,19 @@ get_ownertrust ( PKT_public_key *pk)
   return rec.r.trust.ownertrust;
 }
 
-unsigned int 
+unsigned int
 get_min_ownertrust (PKT_public_key *pk)
 {
   TRUSTREC rec;
   int rc;
-  
+
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return TRUST_UNKNOWN;
+
   rc = read_trust_record (pk, &rec);
   if (rc == -1)
     return TRUST_UNKNOWN; /* no record yet */
-  if (rc) 
+  if (rc)
     {
       tdbio_invalid ();
       return rc; /* actually never reached */
@@ -805,7 +817,10 @@ update_ownertrust (PKT_public_key *pk, unsigned int new_trust )
 {
   TRUSTREC rec;
   int rc;
-  
+
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return;
+
   rc = read_trust_record (pk, &rec);
   if (!rc)
     {
@@ -837,7 +852,7 @@ update_ownertrust (PKT_public_key *pk, unsigned int new_trust )
       do_sync ();
       rc = 0;
     }
-  else 
+  else
     {
       tdbio_invalid ();
     }
@@ -850,6 +865,9 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust )
   TRUSTREC rec;
   int rc;
 
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return;
+
   pk = xmalloc_clear (sizeof *pk);
   rc = get_pubkey (pk, kid);
   if (rc)
@@ -891,7 +909,7 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust )
       do_sync ();
       rc = 0;
     }
-  else 
+  else
     {
       tdbio_invalid ();
     }
@@ -904,7 +922,10 @@ clear_ownertrusts (PKT_public_key *pk)
 {
   TRUSTREC rec;
   int rc;
-  
+
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return 0;
+
   rc = read_trust_record (pk, &rec);
   if (!rc)
     {
@@ -932,8 +953,8 @@ clear_ownertrusts (PKT_public_key *pk)
   return 0;
 }
 
-/* 
- * Note: Caller has to do a sync 
+/*
+ * Note: Caller has to do a sync
  */
 static void
 update_validity (PKT_public_key *pk, PKT_user_id *uid,
@@ -952,7 +973,7 @@ update_validity (PKT_public_key *pk, PKT_user_id *uid,
       return;
     }
   if (rc == -1) /* no record yet - create a new one */
-    { 
+    {
       size_t dummy;
 
       rc = 0;
@@ -1007,6 +1028,8 @@ cache_disabled_value(PKT_public_key *pk)
     return (pk->is_disabled==2);
 
   init_trustdb();
+  if (trustdb_args.no_trustdb)
+    return 0;  /* No trustdb => not disabled.  */
 
   rc = read_trust_record (pk, &trec);
   if (rc && rc != -1)
@@ -1016,10 +1039,10 @@ cache_disabled_value(PKT_public_key *pk)
     }
   if (rc == -1) /* no record found, so assume not disabled */
     goto leave;
+
   if(trec.r.trust.ownertrust & TRUST_FLAG_DISABLED)
     disabled=1;
+
   /* Cache it for later so we don't need to look at the trustdb every
      time */
   if(disabled)
@@ -1037,6 +1060,9 @@ check_trustdb_stale(void)
   static int did_nextcheck=0;
 
   init_trustdb ();
+  if (trustdb_args.no_trustdb)
+    return;  /* No trustdb => can't be stale.  */
+
   if (!did_nextcheck
       && (opt.trust_model==TM_PGP || opt.trust_model==TM_CLASSIC))
     {
@@ -1047,7 +1073,7 @@ check_trustdb_stale(void)
       if ((scheduled && scheduled <= make_timestamp ())
          || pending_check_trustdb)
         {
-          if (opt.no_auto_check_trustdb) 
+          if (opt.no_auto_check_trustdb)
             {
               pending_check_trustdb = 1;
               log_info (_("please do a --check-trustdb\n"));
@@ -1064,7 +1090,7 @@ check_trustdb_stale(void)
 /*
  * Return the validity information for PK.  If the namehash is not
  * NULL, the validity of the corresponsing user ID is returned,
- * otherwise, a reasonable value for the entire key is returned. 
+ * otherwise, a reasonable value for the entire key is returned.
  */
 unsigned int
 get_validity (PKT_public_key *pk, PKT_user_id *uid)
@@ -1080,6 +1106,14 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid)
     namehash_from_uid(uid);
 
   init_trustdb ();
+
+  /* If we have no trustdb (which also means it has not been created)
+     and the trust-model is always, we don't know the validity -
+     return immediately.  If we won't do that the tdbio code would try
+     to open the trustdb and run into a fatal error.  */
+  if (trustdb_args.no_trustdb && opt.trust_model == TM_ALWAYS)
+    return TRUST_UNKNOWN;
+
   check_trustdb_stale();
 
   keyid_from_pk (pk, kid);
@@ -1093,7 +1127,7 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid)
           log_error ("error getting main key %s of subkey %s: %s\n",
                      tempkeystr, keystr(kid), g10_errstr(rc));
          xfree(tempkeystr);
-          validity = TRUST_UNKNOWN; 
+          validity = TRUST_UNKNOWN;
           goto leave;
        }
     }
@@ -1116,7 +1150,7 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid)
     }
   if (rc == -1) /* no record found */
     {
-      validity = TRUST_UNKNOWN; 
+      validity = TRUST_UNKNOWN;
       goto leave;
     }
 
@@ -1149,7 +1183,7 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid)
 
       recno = vrec.r.valid.next;
     }
-  
+
   if ( (trec.r.trust.ownertrust & TRUST_FLAG_DISABLED) )
     {
       validity |= TRUST_FLAG_DISABLED;
@@ -1168,7 +1202,7 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid)
    * I initially designed it that way */
   if (main_pk->has_expired || pk->has_expired)
     validity = (validity & ~TRUST_MASK) | TRUST_EXPIRED;
-  
+
   if (pending_check_trustdb)
     validity |= TRUST_FLAG_PENDING_CHECK;
 
@@ -1181,10 +1215,10 @@ int
 get_validity_info (PKT_public_key *pk, PKT_user_id *uid)
 {
   int trustlevel;
-  
+
   if (!pk)
     return '?';  /* Just in case a NULL PK is passed.  */
-  
+
   trustlevel = get_validity (pk, uid);
   if ( (trustlevel & TRUST_FLAG_REVOKED) )
     return 'r';
@@ -1311,7 +1345,7 @@ ask_ownertrust (u32 *kid,int minimum)
                  keystr(kid), g10_errstr(rc) );
       return TRUST_UNKNOWN;
     }
+
   if(opt.force_ownertrust)
     {
       log_info("force trust for key %s to %s\n",
@@ -1384,7 +1418,7 @@ dump_key_array (int depth, struct key_array *keys)
             }
         }
     }
-}  
+}
 
 
 static void
@@ -1407,7 +1441,7 @@ store_validation_status (int depth, KBNODE keyblock, KeyHashTable stored)
             status = TRUST_UNDEFINED;
           else
             status = 0;
-          
+
           if (status)
             {
               update_validity (keyblock->pkt->pkt.public_key,
@@ -1422,7 +1456,7 @@ store_validation_status (int depth, KBNODE keyblock, KeyHashTable stored)
 
   if (any)
     do_sync ();
-}  
+}
 
 /*
  * check whether the signature sig is in the klist k
@@ -1454,7 +1488,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
 {
   KBNODE node;
   PKT_signature *sig;
-  
+
   /* first check all signatures */
   for (node=uidnode->next; node; node = node->next)
     {
@@ -1487,7 +1521,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
          continue;
        }
       node->flag |= 1<<9;
-    }      
+    }
   /* reset the remaining flags */
   for (; node; node = node->next)
       node->flag &= ~(1<<8 | 1<<9 | 1<<10 | 1<<11 | 1<<12);
@@ -1535,7 +1569,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
              older: if signode was older then we don't want to take n
              as signode is nonrevocable.  If n was older then we're
              automatically fine. */
-         
+
          if(((IS_UID_SIG(signode->pkt->pkt.signature) &&
               !signode->pkt->pkt.signature->flags.revocable &&
               (signode->pkt->pkt.signature->expiredate==0 ||
@@ -1551,7 +1585,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
              n was older then we don't want to take signode as n is
              nonrevocable.  If signode was older then we're
              automatically fine. */
-         
+
          if((!(IS_UID_SIG(signode->pkt->pkt.signature) &&
                !signode->pkt->pkt.signature->flags.revocable &&
                (signode->pkt->pkt.signature->expiredate==0 ||
@@ -1582,7 +1616,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
 
       sig = signode->pkt->pkt.signature;
       if (IS_UID_SIG (sig))
-        { /* this seems to be a usable one which is not revoked. 
+        { /* this seems to be a usable one which is not revoked.
            * Just need to check whether there is an expiration time,
            * We do the expired certification after finding a suitable
            * certification, the assumption is that a signator does not
@@ -1591,7 +1625,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
            * different expiration time */
           const byte *p;
           u32 expire;
-                    
+
           p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_SIG_EXPIRE, NULL );
           expire = p? sig->timestamp + buffer_to_u32(p) : 0;
 
@@ -1678,7 +1712,7 @@ clean_sigs_from_uid(KBNODE keyblock,KBNODE uidnode,int noisy,int self_only)
       delete_kbnode(node);
       deleted++;
     }
-    
+
   return deleted;
 }
 
@@ -1937,7 +1971,7 @@ validate_one_keyblock (KBNODE kb, struct key_item *klist,
             {
               if (uid->help_full_count >= opt.completes_needed
                   || uid->help_marginal_count >= opt.marginals_needed )
-                uidnode->flag |= 4; 
+                uidnode->flag |= 4;
               else if (uid->help_full_count || uid->help_marginal_count)
                 uidnode->flag |= 2;
               uidnode->flag |= 1;
@@ -1952,7 +1986,7 @@ validate_one_keyblock (KBNODE kb, struct key_item *klist,
 
           issigned = 0;
          get_validity_counts(pk,uid);
-          mark_usable_uid_certs (kb, uidnode, main_kid, klist, 
+          mark_usable_uid_certs (kb, uidnode, main_kid, klist,
                                  curtime, next_expire);
         }
       else if (node->pkt->pkttype == PKT_SIGNATURE
@@ -1960,15 +1994,15 @@ validate_one_keyblock (KBNODE kb, struct key_item *klist,
         {
          /* Note that we are only seeing unrevoked sigs here */
           PKT_signature *sig = node->pkt->pkt.signature;
-          
+
           kr = is_in_klist (klist, sig);
          /* If the trust_regexp does not match, it's as if the sig
              did not exist.  This is safe for non-trust sigs as well
              since we don't accept a regexp on the sig unless it's a
              trust sig. */
-          if (kr && (!kr->trust_regexp 
-                     || opt.trust_model != TM_PGP 
-                     || (uidnode 
+          if (kr && (!kr->trust_regexp
+                     || opt.trust_model != TM_PGP
+                     || (uidnode
                          && check_regexp(kr->trust_regexp,
                                          uidnode->pkt->pkt.user_id->name))))
             {
@@ -2032,7 +2066,7 @@ validate_one_keyblock (KBNODE kb, struct key_item *klist,
 
                      pk->trust_value = sig->trust_value;
                      pk->trust_depth = depth-1;
-                      
+
                      /* If the trust sig contains a regexp, record it
                         on the pk for the next round. */
                      if (sig->trust_regexp)
@@ -2055,7 +2089,7 @@ validate_one_keyblock (KBNODE kb, struct key_item *klist,
     {
       if (uid->help_full_count >= opt.completes_needed
          || uid->help_marginal_count >= opt.marginals_needed )
-        uidnode->flag |= 4; 
+        uidnode->flag |= 4;
       else if (uid->help_full_count || uid->help_marginal_count)
         uidnode->flag |= 2;
       uidnode->flag |= 1;
@@ -2079,7 +2113,7 @@ search_skipfnc (void *opaque, u32 *kid, PKT_user_id *dummy)
  * kllist.  The caller has to pass keydb handle so that we don't use
  * to create our own.  Returns either a key_array or NULL in case of
  * an error.  No results found are indicated by an empty array.
- * Caller hast to release the returned array.  
+ * Caller hast to release the returned array.
  */
 static struct key_array *
 validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
@@ -2090,11 +2124,11 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
   size_t nkeys, maxkeys;
   int rc;
   KEYDB_SEARCH_DESC desc;
-  
+
   maxkeys = 1000;
   keys = xmalloc ((maxkeys+1) * sizeof *keys);
   nkeys = 0;
-  
+
   rc = keydb_search_reset (hd);
   if (rc)
     {
@@ -2119,21 +2153,21 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
       xfree (keys);
       return NULL;
     }
-  
+
   desc.mode = KEYDB_SEARCH_MODE_NEXT; /* change mode */
   do
     {
       PKT_public_key *pk;
-        
+
       rc = keydb_get_keyblock (hd, &keyblock);
-      if (rc) 
+      if (rc)
         {
           log_error ("keydb_get_keyblock failed: %s\n", g10_errstr(rc));
           xfree (keys);
           return NULL;
         }
-      
-      if ( keyblock->pkt->pkttype != PKT_PUBLIC_KEY) 
+
+      if ( keyblock->pkt->pkttype != PKT_PUBLIC_KEY)
         {
           log_debug ("ooops: invalid pkttype %d encountered\n",
                      keyblock->pkt->pkttype);
@@ -2143,7 +2177,7 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
         }
 
       /* prepare the keyblock for further processing */
-      merge_keys_and_selfsig (keyblock); 
+      merge_keys_and_selfsig (keyblock);
       clear_kbnode_flags (keyblock);
       pk = keyblock->pkt->pkt.public_key;
       if (pk->has_expired || pk->is_revoked)
@@ -2180,9 +2214,9 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
 
       release_kbnode (keyblock);
       keyblock = NULL;
-    } 
+    }
   while ( !(rc = keydb_search (hd, &desc, 1)) );
-  if (rc && rc != -1) 
+  if (rc && rc != -1)
     {
       log_error ("keydb_search_next failed: %s\n", g10_errstr(rc));
       xfree (keys);
@@ -2191,7 +2225,7 @@ validate_key_list (KEYDB_HANDLE hd, KeyHashTable full_trust,
 
   keys[nkeys].keyblock = NULL;
   return keys;
-} 
+}
 
 /* Caller must sync */
 static void
@@ -2201,7 +2235,7 @@ reset_trust_records(void)
   ulong recnum;
   int count = 0, nreset = 0;
 
-  for (recnum=1; !tdbio_read_record (recnum, &rec, 0); recnum++ ) 
+  for (recnum=1; !tdbio_read_record (recnum, &rec, 0); recnum++ )
     {
       if(rec.rectype==RECTYPE_TRUST)
        {
@@ -2240,7 +2274,7 @@ reset_trust_records(void)
  * Step 2: loop max_cert_times
  * Step 3:   if OWNERTRUST of any key in klist is undefined
  *             ask user to assign ownertrust
- * Step 4:   Loop over all keys in the keyDB which are not marked seen 
+ * Step 4:   Loop over all keys in the keyDB which are not marked seen
  * Step 5:     if key is revoked or expired
  *                mark key as seen
  *                continue loop at Step 4
@@ -2252,7 +2286,7 @@ reset_trust_records(void)
  *             End Loop
  * Step 8:   Build a new klist from all fully trusted keys from step 6
  *           End Loop
- *         Ready  
+ *         Ready
  *
  */
 static int
@@ -2322,7 +2356,7 @@ validate_keys (int interactive)
       if ( pk->expiredate && pk->expiredate >= start_time
            && pk->expiredate < next_expire)
         next_expire = pk->expiredate;
-      
+
       release_kbnode (keyblock);
       do_sync ();
     }
@@ -2398,7 +2432,7 @@ validate_keys (int interactive)
       /* Find all keys which are signed by a key in kdlist */
       keys = validate_key_list (kdb, full_trust, klist,
                                start_time, &next_expire);
-      if (!keys) 
+      if (!keys)
         {
           log_error ("validate_key_list failed\n");
           rc = G10ERR_GENERAL;
@@ -2416,9 +2450,9 @@ validate_keys (int interactive)
           store_validation_status (depth, kar->keyblock, stored);
 
       log_info (_("depth: %d  valid: %3d  signed: %3d"
-                  "  trust: %d-, %dq, %dn, %dm, %df, %du\n"), 
+                  "  trust: %d-, %dq, %dn, %dm, %df, %du\n"),
                 depth, valids, key_count, ot_unknown, ot_undefined,
-                ot_never, ot_marginal, ot_full, ot_ultimate ); 
+                ot_never, ot_marginal, ot_full, ot_ultimate );
 
       /* Build a new kdlist from all fully valid keys in KEYS */
       if (klist != utk_list)
@@ -2480,10 +2514,10 @@ validate_keys (int interactive)
   if (!rc && !quit) /* mark trustDB as checked */
     {
       if (next_expire == 0xffffffff || next_expire < start_time )
-        tdbio_write_nextcheck (0); 
+        tdbio_write_nextcheck (0);
       else
         {
-          tdbio_write_nextcheck (next_expire); 
+          tdbio_write_nextcheck (next_expire);
           log_info (_("next trustdb check due at %s\n"),
                     strtimestamp (next_expire));
         }
index 7cc38e0..61b9cd6 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -94,6 +111,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libgnu_a_SOURCES)
 DIST_SOURCES = $(libgnu_a_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -114,7 +136,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -346,7 +372,7 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) 
+libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES) 
        -rm -f libgnu.a
        $(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD)
        $(RANLIB) libgnu.a
@@ -475,10 +501,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
        -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
index a585bbd..b9320a3 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -66,6 +83,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
 ACLOCAL = @ACLOCAL@
@@ -83,7 +105,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -346,10 +372,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index f5caa8d..1b7e69b 100644 (file)
 #define CIPHER_ALGO_CAMELLIA256     13
 #define CIPHER_ALGO_DUMMY          110    /* No encryption at all. */
 
-#define PUBKEY_ALGO_RSA          /*  1 */ GCRY_PK_RSA
-#define PUBKEY_ALGO_RSA_E        /*  2 */ GCRY_PK_RSA_E /* RSA encrypt only. */
-#define PUBKEY_ALGO_RSA_S        /*  3 */ GCRY_PK_RSA_S /* RSA sign only.    */
-#define PUBKEY_ALGO_ELGAMAL_E    /* 16 */ GCRY_PK_ELG_E /* Elgamal encr only */
-#define PUBKEY_ALGO_DSA          /* 17 */ GCRY_PK_DSA
+#define PUBKEY_ALGO_RSA              1
+#define PUBKEY_ALGO_RSA_E            2 /* RSA encrypt only. */
+#define PUBKEY_ALGO_RSA_S            3 /* RSA sign only.    */
+#define PUBKEY_ALGO_ELGAMAL_E       16 /* Elgamal encr only */
+#define PUBKEY_ALGO_DSA             17
 #define PUBKEY_ALGO_ECDH            18
 #define PUBKEY_ALGO_ECDSA           19
-#define PUBKEY_ALGO_ELGAMAL      /* 20 */ GCRY_PK_ELG   /* Elgamal encr+sign */
+#define PUBKEY_ALGO_ELGAMAL         20 /* Elgamal encr+sign */
 
 #define PUBKEY_USAGE_SIG     GCRY_PK_USAGE_SIGN  /* Good for signatures. */
 #define PUBKEY_USAGE_ENC     GCRY_PK_USAGE_ENCR  /* Good for encryption. */
-#define PUBKEY_USAGE_CERT    GCRY_PK_USAGE_CERT  /* Also good to certify keys. */
+#define PUBKEY_USAGE_CERT    GCRY_PK_USAGE_CERT  /* Also good to certify keys.*/
 #define PUBKEY_USAGE_AUTH    GCRY_PK_USAGE_AUTH  /* Good for authentication. */
 #define PUBKEY_USAGE_UNKNOWN GCRY_PK_USAGE_UNKN  /* Unknown usage flag. */
+#define PUBKEY_USAGE_NONE    256                 /* No usage given. */
+#if  (GCRY_PK_USAGE_SIGN | GCRY_PK_USAGE_ENCR | GCRY_PK_USAGE_CERT \
+      | GCRY_PK_USAGE_AUTH | GCRY_PK_USAGE_UNKN) >= 256
+# error Please choose another value for PUBKEY_USAGE_NONE
+#endif
 
 #define DIGEST_ALGO_MD5       /*  1 */ GCRY_MD_MD5
 #define DIGEST_ALGO_SHA1      /*  2 */ GCRY_MD_SHA1
index b3e7d7d..2ba2fbf 100644 (file)
@@ -27,7 +27,7 @@ TESTS = $(module_tests)
 AM_CPPFLAGS = -I$(top_srcdir)/intl
 
 # We need libgcrypt because libjnlib-config includes gcrypt.h
-AM_CFLAGS = -DJNLIB_IN_JNLIB $(LIBGCRYPT_CFLAGS)
+AM_CFLAGS = -DJNLIB_IN_JNLIB $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 
 noinst_LIBRARIES = libjnlib.a
 
index a2d9663..8f5ac89 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -123,6 +140,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libjnlib_a_SOURCES) $(t_stringhelp_SOURCES)
 DIST_SOURCES = $(am__libjnlib_a_SOURCES_DIST) $(t_stringhelp_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -144,7 +166,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -326,7 +352,7 @@ EXTRA_DIST = README ChangeLog-2011
 AM_CPPFLAGS = -I$(top_srcdir)/intl
 
 # We need libgcrypt because libjnlib-config includes gcrypt.h
-AM_CFLAGS = -DJNLIB_IN_JNLIB $(LIBGCRYPT_CFLAGS)
+AM_CFLAGS = -DJNLIB_IN_JNLIB $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 noinst_LIBRARIES = libjnlib.a
 
 #libjnlib_a_LDFLAGS =
@@ -388,14 +414,14 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libjnlib.a: $(libjnlib_a_OBJECTS) $(libjnlib_a_DEPENDENCIES) 
+libjnlib.a: $(libjnlib_a_OBJECTS) $(libjnlib_a_DEPENDENCIES) $(EXTRA_libjnlib_a_DEPENDENCIES) 
        -rm -f libjnlib.a
        $(libjnlib_a_AR) libjnlib.a $(libjnlib_a_OBJECTS) $(libjnlib_a_LIBADD)
        $(RANLIB) libjnlib.a
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-t-stringhelp$(EXEEXT): $(t_stringhelp_OBJECTS) $(t_stringhelp_DEPENDENCIES) 
+t-stringhelp$(EXEEXT): $(t_stringhelp_OBJECTS) $(t_stringhelp_DEPENDENCIES) $(EXTRA_t_stringhelp_DEPENDENCIES) 
        @rm -f t-stringhelp$(EXEEXT)
        $(LINK) $(t_stringhelp_OBJECTS) $(t_stringhelp_LDADD) $(LIBS)
 
@@ -565,14 +591,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -621,10 +648,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index c9b5384..c457953 100644 (file)
@@ -1,6 +1,7 @@
 /* [argparse.c wk 17.06.97] Argument Parser for option handling
  * Copyright (C) 1998, 1999, 2000, 2001, 2006
- *               2007, 2008  Free Software Foundation, Inc.
+ *               2007, 2008, 2012  Free Software Foundation, Inc.
+ * Copyright (C) 1997, 2013 Werner Koch
  *
  * This file is part of JNLIB.
  *
@@ -92,7 +93,8 @@
  *              4 = takes ulong argument
  *     Bit 3 : argument is optional (r_type will the be set to 0)
  *     Bit 4 : allow 0x etc. prefixed values.
- *     Bit 7 : this is a command and not an option
+ *     Bit 6 : Ignore this option
+ *     Bit 7 : This is a command and not an option
  *  You stop the option processing by setting opts to NULL, the function will
  *  then return 0.
  * @Return Value
  *     { 'o', "output",    2 },
  *     { 'c', "cross-ref", 2|8 },
  *     { 'm', "my-option", 1|8 },
+ *     { 300, "ignored-long-option, ARGPARSE_OP_IGNORE},
  *     { 500, "have-no-short-option-for-this-long-option", 0 },
  *     {0} };
  *     ARGPARSE_ARGS pargs = { &argc, &argv, 0 }
@@ -143,6 +146,16 @@ struct alias_def_s {
     const char *value; /* ptr into name */
 };
 
+
+/* Object to store the names for the --ignore-invalid-option option.
+   This is a simple linked list.  */
+typedef struct iio_item_def_s *IIO_ITEM_DEF;
+struct iio_item_def_s
+{
+  IIO_ITEM_DEF next;
+  char name[1];      /* String with the long option name.  */
+};
+
 static const char *(*strusage_handler)( int ) = NULL;
 
 static int  set_opt_arg(ARGPARSE_ARGS *arg, unsigned flags, char *s);
@@ -162,6 +175,7 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno )
       arg->internal.stopped = 0;
       arg->internal.aliases = NULL;
       arg->internal.cur_alias = NULL;
+      arg->internal.iio_list = NULL;
       arg->err = 0;
       arg->flags |= 1<<15; /* Mark as initialized.  */
       if ( *arg->argc < 0 )
@@ -244,6 +258,111 @@ store_alias( ARGPARSE_ARGS *arg, char *name, char *value )
 #endif
 }
 
+
+/* Return true if KEYWORD is in the ignore-invalid-option list.  */
+static int
+ignore_invalid_option_p (ARGPARSE_ARGS *arg, const char *keyword)
+{
+  IIO_ITEM_DEF item = arg->internal.iio_list;
+
+  for (; item; item = item->next)
+    if (!strcmp (item->name, keyword))
+      return 1;
+  return 0;
+}
+
+
+/* Add the keywords up to the next LF to the list of to be ignored
+   options.  After returning FP will either be at EOF or the next
+   character read wll be the first of a new line.  The function
+   returns 0 on success or true on malloc failure.  */
+static int
+ignore_invalid_option_add (ARGPARSE_ARGS *arg, FILE *fp)
+{
+  IIO_ITEM_DEF item;
+  int c;
+  char name[100];
+  int namelen = 0;
+  int ready = 0;
+  enum { skipWS, collectNAME, skipNAME, addNAME} state = skipWS;
+
+  while (!ready)
+    {
+      c = getc (fp);
+      if (c == '\n')
+        ready = 1;
+      else if (c == EOF)
+        {
+          c = '\n';
+          ready = 1;
+        }
+    again:
+      switch (state)
+        {
+        case skipWS:
+          if (!isascii (c) || !isspace(c))
+            {
+              namelen = 0;
+              state = collectNAME;
+              goto again;
+            }
+          break;
+
+        case collectNAME:
+          if (isspace (c))
+            {
+              state = addNAME;
+              goto again;
+            }
+          else if (namelen < DIM(name)-1)
+            name[namelen++] = c;
+          else /* Too long.  */
+            state = skipNAME;
+          break;
+
+        case skipNAME:
+          if (isspace (c))
+            {
+              state = skipWS;
+              goto again;
+            }
+          break;
+
+        case addNAME:
+          name[namelen] = 0;
+          if (!ignore_invalid_option_p (arg, name))
+            {
+              item = jnlib_malloc (sizeof *item + namelen);
+              if (!item)
+                return 1;
+              strcpy (item->name, name);
+              item->next = (IIO_ITEM_DEF)arg->internal.iio_list;
+              arg->internal.iio_list = item;
+            }
+          state = skipWS;
+          goto again;
+        }
+    }
+  return 0;
+}
+
+
+/* Clear the entire ignore-invalid-option list.  */
+static void
+ignore_invalid_option_clear (ARGPARSE_ARGS *arg)
+{
+  IIO_ITEM_DEF item, tmpitem;
+
+  for (item = arg->internal.iio_list; item; item = tmpitem)
+    {
+      tmpitem = item->next;
+      jnlib_free (item);
+    }
+  arg->internal.iio_list = NULL;
+}
+
+
+
 /****************
  * Get options from a file.
  * Lines starting with '#' are comment lines.
@@ -253,6 +372,10 @@ store_alias( ARGPARSE_ARGS *arg, char *name, char *value )
  * are not valid here.
  * The special keyword "alias" may be used to store alias definitions,
  * which are later expanded like long options.
+ * The option
+ *   ignore-invalid-option OPTIONNAMEs
+ * is recognized and updates a list of option which should be ignored if they
+ * are not defined.
  * Caller must free returned strings.
  * If called with FP set to NULL command line args are parse instead.
  *
@@ -298,13 +421,32 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                 }
               idx = i;
               arg->r_opt = opts[idx].short_opt;
-              if (!opts[idx].short_opt )
-                arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND)
-                              ? ARGPARSE_INVALID_COMMAND
-                              : ARGPARSE_INVALID_OPTION);
-              else if (!(opts[idx].flags & 7))
+              if ((opts[idx].flags & ARGPARSE_OPT_IGNORE))
+                {
+                  state = i = 0;
+                  continue;
+                }
+              else if (!opts[idx].short_opt )
+                {
+                  if (!strcmp (keyword, "ignore-invalid-option"))
+                    {
+                      /* No argument - ignore this meta option.  */
+                      state = i = 0;
+                      continue;
+                    }
+                  else if (ignore_invalid_option_p (arg, keyword))
+                    {
+                      /* This invalid option is in the iio list.  */
+                      state = i = 0;
+                      continue;
+                    }
+                  arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND)
+                                ? ARGPARSE_INVALID_COMMAND
+                                : ARGPARSE_INVALID_OPTION);
+                }
+              else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK))
                 arg->r_type = 0; /* Does not take an arg. */
-              else if ((opts[idx].flags & 8) )
+              else if ((opts[idx].flags & ARGPARSE_OPT_OPTIONAL) )
                 arg->r_type = 0; /* Arg is optional.  */
               else
                 arg->r_opt = ARGPARSE_MISSING_ARG;
@@ -316,9 +458,9 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
               /* No argument found.  */
               if (in_alias)
                 arg->r_opt = ARGPARSE_MISSING_ARG;
-              else if (!(opts[idx].flags & 7))
+              else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK))
                 arg->r_type = 0; /* Does not take an arg. */
-              else if ((opts[idx].flags & 8))
+              else if ((opts[idx].flags & ARGPARSE_OPT_OPTIONAL))
                 arg->r_type = 0; /* No optional argument. */
               else
                 arg->r_opt = ARGPARSE_MISSING_ARG;
@@ -354,7 +496,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                         }
                    }
                }
-              else if (!(opts[idx].flags & 7))
+              else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK))
                 arg->r_opt = ARGPARSE_UNEXPECTED_ARG;
               else
                 {
@@ -389,6 +531,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
             }
           else if (c == EOF)
             {
+              ignore_invalid_option_clear (arg);
               if (ferror (fp))
                 arg->r_opt = ARGPARSE_READ_ERROR;
               else
@@ -415,13 +558,29 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
               break;
           idx = i;
           arg->r_opt = opts[idx].short_opt;
-          if (!opts[idx].short_opt)
+          if ((opts[idx].flags & ARGPARSE_OPT_IGNORE))
+            {
+              state = 1; /* Process like a comment.  */
+            }
+          else if (!opts[idx].short_opt)
             {
               if (!strcmp (keyword, "alias"))
                 {
                   in_alias = 1;
                   state = 3;
                 }
+              else if (!strcmp (keyword, "ignore-invalid-option"))
+                {
+                  if (ignore_invalid_option_add (arg, fp))
+                    {
+                      arg->r_opt = ARGPARSE_OUT_OF_CORE;
+                      break;
+                    }
+                  state = i = 0;
+                  ++*lineno;
+                }
+              else if (ignore_invalid_option_p (arg, keyword))
+                state = 1; /* Process like a comment.  */
               else
                 {
                   arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND)
@@ -551,7 +710,7 @@ find_long_option( ARGPARSE_ARGS *arg,
            return i;
        }
     }
-    return -1;
+    return -1;  /* Not found.  */
 }
 
 int
@@ -637,7 +796,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts)
         {
           for (i=0; opts[i].short_opt; i++ )
             {
-              if ( opts[i].long_opt )
+              if (opts[i].long_opt && !(opts[i].flags & ARGPARSE_OPT_IGNORE))
                 printf ("--%s\n", opts[i].long_opt);
            }
           fputs ("--dump-options\n--help\n--version\n--warranty\n", stdout);
@@ -655,7 +814,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts)
         arg->r_opt = opts[i].short_opt;
       if ( i < 0 )
         ;
-      else if ( (opts[i].flags & 0x07) )
+      else if ( (opts[i].flags & ARGPARSE_TYPE_MASK) )
         {
           if ( argpos )
             {
@@ -739,7 +898,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts)
            arg->internal.inarg++; /* Point to the next arg.  */
            arg->r.ret_str = s;
           }
-       else if ( (opts[i].flags & 7) )
+       else if ( (opts[i].flags & ARGPARSE_TYPE_MASK) )
           {
            if ( s[1] && !dash_kludge )
               {
@@ -811,9 +970,9 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts)
 static int
 set_opt_arg(ARGPARSE_ARGS *arg, unsigned flags, char *s)
 {
-  int base = (flags & 16)? 0 : 10;
+  int base = (flags & ARGPARSE_OPT_PREFIX)? 0 : 10;
 
-  switch ( (arg->r_type = (flags & 7)) )
+  switch ( (arg->r_type = (flags & ARGPARSE_TYPE_MASK)) )
     {
     case ARGPARSE_TYPE_INT:
       arg->r.ret_int = (int)strtol(s,NULL,base);
@@ -1107,7 +1266,7 @@ strusage( int level )
       break;
     case 11: p = "foo"; break;
     case 13: p = "0.0"; break;
-    case 14: p = "Copyright (C) 2012 Free Software Foundation, Inc."; break;
+    case 14: p = "Copyright (C) 2013 Free Software Foundation, Inc."; break;
     case 15: p =
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n";
index b211e5f..dd9b30b 100644 (file)
 #include "types.h"
 
 typedef struct
-{                  
+{
   int  *argc;        /* Pointer to ARGC (value subject to change). */
   char ***argv;              /* Pointer to ARGV (value subject to change). */
   unsigned int flags; /* Global flags.  May be set prior to calling the
                          parser.  The parser may change the value.  */
-  int err;            /* Print error description for last option. 
+  int err;            /* Print error description for last option.
                          Either 0,  ARGPARSE_PRINT_WARNING or
                          ARGPARSE_PRINT_ERROR.  */
 
@@ -49,6 +49,7 @@ typedef struct
     const char *last;
     void *aliases;
     const void *cur_alias;
+    void *iio_list;
   } internal;      /* Private - do not change. */
 } ARGPARSE_ARGS;
 
@@ -78,9 +79,12 @@ typedef struct
 #define ARGPARSE_TYPE_STRING      2  /* Takes a string argument.          */
 #define ARGPARSE_TYPE_LONG        3  /* Takes a long argument.            */
 #define ARGPARSE_TYPE_ULONG       4  /* Takes an unsigned long argument.  */
-#define ARGPARSE_OPT_OPTIONAL (1<<3) /* Argument is optional.             */ 
+#define ARGPARSE_OPT_OPTIONAL (1<<3) /* Argument is optional.             */
 #define ARGPARSE_OPT_PREFIX   (1<<4) /* Allow 0x etc. prefixed values.    */
-#define ARGPARSE_OPT_COMMAND  (1<<8) /* The argument is a command.        */
+#define ARGPARSE_OPT_IGNORE   (1<<6) /* Ignore command or option.         */
+#define ARGPARSE_OPT_COMMAND  (1<<7) /* The argument is a command.        */
+
+#define ARGPARSE_TYPE_MASK  7  /* Mask for the type values (internal).  */
 
 /* A set of macros to make option definitions easier to read.  */
 #define ARGPARSE_x(s,l,t,f,d) \
@@ -147,9 +151,11 @@ typedef struct
 #define ARGPARSE_c(s,l,d) \
      { (s), (l), (ARGPARSE_TYPE_NONE | ARGPARSE_OPT_COMMAND), (d) }
 
+#define ARGPARSE_ignore(s,l) \
+     { (s), (l), (ARGPARSE_OPT_IGNORE), "@" }
 
 #define ARGPARSE_group(s,d) \
-     { (s), NULL, 0, (d) } 
+     { (s), NULL, 0, (d) }
 
 #define ARGPARSE_end()  { 0, NULL, 0, NULL }
 
index e478354..dc17384 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 #ifndef LIBJNLIB_MISCHELP_H
-#define LIBJNLIB_MISCHHELP_H
+#define LIBJNLIB_MISCHELP_H
 
 
 /* Check whether the files NAME1 and NAME2 are identical.  This is for
index 3173ebc..c43b120 100644 (file)
@@ -30,6 +30,9 @@
 #include <unistd.h>
 #include <sys/types.h>
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #endif
 
@@ -230,7 +233,7 @@ length_sans_trailing_chars (const unsigned char *line, size_t len,
 {
   const unsigned char *p, *mark;
   size_t n;
-  
+
   for( mark=NULL, p=line, n=0; n < len; n++, p++ )
     {
       if (strchr (trimchars, *p ))
@@ -241,8 +244,8 @@ length_sans_trailing_chars (const unsigned char *line, size_t len,
       else
         mark = NULL;
     }
-  
-  if (mark) 
+
+  if (mark)
     return mark - line;
   return len;
 }
@@ -355,16 +358,16 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
 {
   const char *argv[32];
   int argc;
-  size_t n; 
+  size_t n;
   int skip = 1;
   char *home_buffer = NULL;
-  char *name, *home, *p;                           
-       
-  n = strlen (first_part) + 1;                     
+  char *name, *home, *p;
+
+  n = strlen (first_part) + 1;
   argc = 0;
-  while ( (argv[argc] = va_arg (arg_ptr, const char *)) )   
+  while ( (argv[argc] = va_arg (arg_ptr, const char *)) )
     {
-      n += strlen (argv[argc]) + 1;                        
+      n += strlen (argv[argc]) + 1;
       if (argc >= DIM (argv)-1)
         {
           if (xmode)
@@ -372,11 +375,11 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
           errno = EINVAL;
           return NULL;
         }
-      argc++; 
+      argc++;
     }
   n++;
-  
-  home = NULL;                                     
+
+  home = NULL;
   if (*first_part == '~')
     {
       if (first_part[1] == '/' || !first_part[1])
@@ -386,13 +389,13 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
           if (!home)
             home = home_buffer = get_pwdir (xmode, NULL);
           if (home && *home)
-            n += strlen (home);                            
+            n += strlen (home);
         }
       else
         {
           /* This is the "~username/" or "~username" case.  */
           char *user;
-    
+
           if (xmode)
             user = jnlib_xstrdup (first_part+1);
           else
@@ -405,7 +408,7 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
           if (p)
             *p = 0;
           skip = 1 + strlen (user);
-          
+
           home = home_buffer = get_pwdir (xmode, user);
           jnlib_free (user);
           if (home)
@@ -426,7 +429,7 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
           return NULL;
         }
     }
-  
+
   if (home)
     p = stpcpy (stpcpy (name, home), first_part + skip);
   else
@@ -481,9 +484,9 @@ int
 compare_filenames (const char *a, const char *b)
 {
 #ifdef HAVE_DRIVE_LETTERS
-  for ( ; *a && *b; a++, b++ ) 
+  for ( ; *a && *b; a++, b++ )
     {
-      if (*a != *b 
+      if (*a != *b
           && (toupper (*(const unsigned char*)a)
               != toupper (*(const unsigned char*)b) )
           && !((*a == '/' && *b == '\\') || (*a == '\\' && *b == '/')))
@@ -492,7 +495,7 @@ compare_filenames (const char *a, const char *b)
   if ((*a == '/' && *b == '\\') || (*a == '\\' && *b == '/'))
     return 0;
   else
-    return (toupper (*(const unsigned char*)a) 
+    return (toupper (*(const unsigned char*)a)
             - toupper (*(const unsigned char*)b));
 #else
     return strcmp(a,b);
@@ -531,7 +534,7 @@ hextobyte (const char *s)
 /* Print a BUFFER to stream FP while replacing all control characters
    and the characters DELIM and DELIM2 with standard C escape
    sequences.  Returns the number of characters printed. */
-size_t 
+size_t
 print_sanitized_buffer2 (FILE *fp, const void *buffer, size_t length,
                          int delim, int delim2)
 {
@@ -540,9 +543,9 @@ print_sanitized_buffer2 (FILE *fp, const void *buffer, size_t length,
 
   for (; length; length--, p++, count++)
     {
-      if (*p < 0x20 
+      if (*p < 0x20
           || *p == 0x7f
-          || *p == delim 
+          || *p == delim
           || *p == delim2
           || ((delim || delim2) && *p=='\\'))
         {
@@ -595,7 +598,7 @@ print_sanitized_buffer2 (FILE *fp, const void *buffer, size_t length,
 }
 
 /* Same as print_sanitized_buffer2 but with just one delimiter. */
-size_t 
+size_t
 print_sanitized_buffer (FILE *fp, const void *buffer, size_t length,
                         int delim)
 {
@@ -603,7 +606,7 @@ print_sanitized_buffer (FILE *fp, const void *buffer, size_t length,
 }
 
 
-size_t 
+size_t
 print_sanitized_utf8_buffer (FILE *fp, const void *buffer,
                              size_t length, int delim)
 {
@@ -611,7 +614,7 @@ print_sanitized_utf8_buffer (FILE *fp, const void *buffer,
   size_t i;
 
   /* We can handle plain ascii simpler, so check for it first. */
-  for (i=0; i < length; i++ ) 
+  for (i=0; i < length; i++ )
     {
       if ( (p[i] & 0x80) )
         break;
@@ -630,20 +633,20 @@ print_sanitized_utf8_buffer (FILE *fp, const void *buffer,
 }
 
 
-size_t 
+size_t
 print_sanitized_string2 (FILE *fp, const char *string, int delim, int delim2)
 {
   return string? print_sanitized_buffer2 (fp, string, strlen (string),
                                           delim, delim2):0;
 }
 
-size_t 
+size_t
 print_sanitized_string (FILE *fp, const char *string, int delim)
 {
   return string? print_sanitized_buffer (fp, string, strlen (string), delim):0;
 }
 
-size_t 
+size_t
 print_sanitized_utf8_string (FILE *fp, const char *string, int delim)
 {
   return string? print_sanitized_utf8_buffer (fp,
@@ -663,7 +666,7 @@ sanitize_buffer (const void *p_arg, size_t n, int delim)
   char *buffer, *d;
 
   /* First count length. */
-  for (save_n = n, save_p = p, buflen=1 ; n; n--, p++ ) 
+  for (save_n = n, save_p = p, buflen=1 ; n; n--, p++ )
     {
       if ( *p < 0x20 || *p == 0x7f || *p == delim  || (delim && *p=='\\'))
         {
@@ -735,13 +738,13 @@ const char *
 w32_strerror (int ec)
 {
   static char strerr[256];
-  
+
   if (ec == -1)
     ec = (int)GetLastError ();
   FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, NULL, ec,
                  MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
                  strerr, DIM (strerr)-1, NULL);
-  return strerr;    
+  return strerr;
 }
 #endif /*HAVE_W32_SYSTEM*/
 
@@ -762,7 +765,7 @@ ascii_islower (int c)
     return c >= 'a' && c <= 'z';
 }
 
-int 
+int
 ascii_toupper (int c)
 {
     if (c >= 'a' && c <= 'z')
@@ -770,7 +773,7 @@ ascii_toupper (int c)
     return c;
 }
 
-int 
+int
 ascii_tolower (int c)
 {
     if (c >= 'A' && c <= 'Z')
@@ -792,7 +795,7 @@ ascii_strcasecmp( const char *a, const char *b )
     return *a == *b? 0 : (ascii_toupper (*a) - ascii_toupper (*b));
 }
 
-int 
+int
 ascii_strncasecmp (const char *a, const char *b, size_t n)
 {
   const unsigned char *p1 = (const unsigned char *)a;
@@ -814,7 +817,7 @@ ascii_strncasecmp (const char *a, const char *b, size_t n)
       ++p2;
     }
   while (c1 == c2);
-  
+
   return c1 - c2;
 }
 
@@ -860,7 +863,7 @@ ascii_memcasemem (const void *haystack, size_t nhaystack,
     {
       const char *a = haystack;
       const char *b = a + nhaystack - nneedle;
-      
+
       for (; a <= b; a++)
         {
           if ( !ascii_memcasecmp (a, needle, nneedle) )
index fee4dc6..b5cf6a8 100644 (file)
@@ -27,9 +27,7 @@
 #include <langinfo.h>
 #endif
 #include <errno.h>
-#ifndef HAVE_W32_SYSTEM
-# include <iconv.h>
-#endif
+#include <iconv.h>
 
 #include "libjnlib-config.h"
 #include "stringhelp.h"
@@ -45,59 +43,6 @@ static int no_translation;     /* Set to true if we let simply pass through. */
 static int use_iconv;          /* iconv comversion fucntions required. */
 
 
-/* Under W32 we dlopen the iconv dll and don't require any iconv
-   related headers at all.  However we need to define some stuff.  */
-#ifdef HAVE_W32_SYSTEM
-typedef void *iconv_t;
-#ifndef ICONV_CONST
-#define ICONV_CONST const 
-#endif
-static iconv_t (* __stdcall iconv_open) (const char *tocode,
-                                         const char *fromcode);
-static size_t  (* __stdcall iconv) (iconv_t cd,
-                                    const char **inbuf, size_t *inbytesleft,
-                                    char **outbuf, size_t *outbytesleft);
-static int     (* __stdcall iconv_close) (iconv_t cd);
-
-static int 
-load_libiconv (void)
-{
-  static int done;
-  
-  if (!done)
-    {
-      void *handle;
-
-      done = 1; /* Do it right now because we might get called recursivly
-                   through gettext.  */
-    
-      handle = dlopen ("iconv.dll", RTLD_LAZY);
-      if (handle)
-        {
-          iconv_open  = dlsym (handle, "libiconv_open");
-          if (iconv_open)
-            iconv = dlsym (handle, "libiconv");
-          if (iconv)    
-            iconv_close = dlsym (handle, "libiconv_close");
-        }
-      if (!handle || !iconv_close)
-        {
-          log_info (_("error loading `%s': %s\n"),
-                     "iconv.dll",  dlerror ());
-          log_info (_("please see %s for more information\n"),
-                    "http://www.gnupg.org/download/iconv.html");
-          iconv_open = NULL;
-          iconv = NULL;
-          iconv_close = NULL;
-          if (handle)
-            dlclose (handle);
-        }
-    }
-  return iconv_open? 0: -1;
-}    
-#endif /*HAVE_W32_SYSTEM*/
-
-
 /* Error handler for iconv failures. This is needed to not clutter the
    output with repeated diagnostics about a missing conversion. */
 static void
@@ -152,13 +97,13 @@ set_native_charset (const char *newset)
 {
   const char *full_newset;
 
-  if (!newset) 
+  if (!newset)
     {
 #ifdef HAVE_W32_SYSTEM
       static char codepage[30];
       unsigned int cpno;
       const char *aliases;
-      
+
       /* We are a console program thus we need to use the
          GetConsoleOutputCP function and not the the GetACP which
          would give the codepage for a GUI program.  Note this is not
@@ -201,7 +146,7 @@ set_native_charset (const char *newset)
         }
 
 #else /*!HAVE_W32_SYSTEM*/
-      
+
 #ifdef HAVE_LANGINFO_CODESET
       newset = nl_langinfo (CODESET);
 #else /*!HAVE_LANGINFO_CODESET*/
@@ -225,7 +170,7 @@ set_native_charset (const char *newset)
               mod = strchr (++dot, '@');
               if (!mod)
                 mod = dot + strlen (dot);
-              if (mod - dot < sizeof codepage && dot != mod) 
+              if (mod - dot < sizeof codepage && dot != mod)
                 {
                   memcpy (codepage, dot, mod - dot);
                   codepage [mod - dot] = 0;
@@ -272,21 +217,16 @@ set_native_charset (const char *newset)
   else
     {
       iconv_t cd;
-      
-#ifdef HAVE_W32_SYSTEM
-      if (load_libiconv ())
-        return -1;
-#endif /*HAVE_W32_SYSTEM*/      
 
       cd = iconv_open (full_newset, "utf-8");
-      if (cd == (iconv_t)-1) 
+      if (cd == (iconv_t)-1)
         {
           handle_iconv_error (full_newset, "utf-8", 0);
           return -1;
         }
       iconv_close (cd);
       cd = iconv_open ("utf-8", full_newset);
-      if (cd == (iconv_t)-1) 
+      if (cd == (iconv_t)-1)
         {
           handle_iconv_error ("utf-8", full_newset, 0);
           return -1;
@@ -306,7 +246,7 @@ get_native_charset ()
 }
 
 /* Return true if the native charset is utf-8.  */
-int 
+int
 is_native_utf8 (void)
 {
   return no_translation;
@@ -353,13 +293,13 @@ native_to_utf8 (const char *orig_string)
       *p = 0;
     }
   else
-    { 
+    {
       /* Need to use iconv.  */
       iconv_t cd;
       const char *inptr;
       char *outptr;
       size_t inbytes, outbytes;
-     
+
       cd = iconv_open ("utf-8", active_charset_name);
       if (cd == (iconv_t)-1)
         {
@@ -367,14 +307,14 @@ native_to_utf8 (const char *orig_string)
           return native_to_utf8 (string);
         }
 
-      for (s=string; *s; s++ ) 
+      for (s=string; *s; s++ )
         {
           length++;
           if ((*s & 0x80))
             length += 5; /* We may need up to 6 bytes for the utf8 output. */
         }
       buffer = jnlib_xmalloc (length + 1);
-      
+
       inptr = string;
       inbytes = strlen (string);
       outptr = buffer;
@@ -448,10 +388,10 @@ do_utf8_to_native (const char *string, size_t length, int delim,
          if (!nleft)
            {
              if (!(*s & 0x80))
-               {       
+               {
                   /* Plain ascii. */
                  if ( delim != -1
-                       && (*s < 0x20 || *s == 0x7f || *s == delim 
+                       && (*s < 0x20 || *s == 0x7f || *s == delim
                            || (delim && *s == '\\')))
                    {
                      n++;
@@ -490,35 +430,35 @@ do_utf8_to_native (const char *string, size_t length, int delim,
                  encbuf[encidx++] = *s;
                }
              else if ((*s & 0xf0) == 0xe0) /* 1110 xxxx */
-               {       
+               {
                  val = *s & 0x0f;
                  nleft = 2;
                  encidx = 0;
                  encbuf[encidx++] = *s;
                }
              else if ((*s & 0xf8) == 0xf0) /* 1111 0xxx */
-               {       
+               {
                  val = *s & 0x07;
                  nleft = 3;
                  encidx = 0;
                  encbuf[encidx++] = *s;
                }
              else if ((*s & 0xfc) == 0xf8) /* 1111 10xx */
-               {       
+               {
                  val = *s & 0x03;
                  nleft = 4;
                  encidx = 0;
                  encbuf[encidx++] = *s;
                }
              else if ((*s & 0xfe) == 0xfc) /* 1111 110x */
-               {               
+               {
                  val = *s & 0x01;
                  nleft = 5;
                  encidx = 0;
                  encbuf[encidx++] = *s;
                }
              else /* Invalid encoding: print as \xNN. */
-               {               
+               {
                  if (p)
                    {
                      sprintf (p, "\\x%02x", *s);
@@ -551,7 +491,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
              val <<= 6;
              val |= *s & 0x3f;
              if (!--nleft)  /* Ready. */
-               { 
+               {
                  if (no_translation)
                    {
                      if (p)
@@ -590,12 +530,12 @@ do_utf8_to_native (const char *string, size_t length, int delim,
                      if (val >= 0x80 && val < 256)
                        {
                           /* We can simply print this character */
-                         n++;  
+                         n++;
                          if (p)
                            *p++ = val;
                        }
                      else
-                       {       
+                       {
                           /* We do not have a translation: print utf8. */
                          if (p)
                            {
@@ -625,7 +565,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
           const char *inptr;
           char *outbuf, *outptr;
           size_t inbytes, outbytes;
-          
+
           *p = 0;  /* Terminate the buffer. */
 
           cd = iconv_open (active_charset_name, "utf-8");
@@ -642,14 +582,14 @@ do_utf8_to_native (const char *string, size_t length, int delim,
           inbytes = n - 1;;
           inptr = buffer;
           outbytes = n * MB_LEN_MAX;
-          if (outbytes / MB_LEN_MAX != n) 
+          if (outbytes / MB_LEN_MAX != n)
             BUG (); /* Actually an overflow. */
           outbuf = outptr = jnlib_xmalloc (outbytes);
           if ( iconv (cd, (ICONV_CONST char **)&inptr, &inbytes,
-                      &outptr, &outbytes) == (size_t)-1) 
+                      &outptr, &outbytes) == (size_t)-1)
             {
               static int shown;
-              
+
               if (!shown)
                 log_info (_("conversion from `%s' to `%s' failed: %s\n"),
                           "utf-8", active_charset_name, strerror (errno));
@@ -661,7 +601,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
               outbuf = do_utf8_to_native (string, length, delim, 0);
             }
             else /* Success.  */
-              { 
+              {
                 *outptr = 0; /* Make sure it is a string. */
                 /* We could realloc the buffer now but I doubt that it
                    makes much sense given that it will get freed
@@ -694,45 +634,29 @@ utf8_to_native (const char *string, size_t length, int delim)
 
 
 
-/* Wrapper function for iconv_open, required for W32 as we dlopen that
-   library on that system.  */
-jnlib_iconv_t 
+/* Wrapper function for iconv_open, formerly required for W32 as we
+   used to dlopen that library on that system.  */
+jnlib_iconv_t
 jnlib_iconv_open (const char *tocode, const char *fromcode)
 {
-#ifdef HAVE_W32_SYSTEM
-  if (load_libiconv ())
-    return (jnlib_iconv_t)(-1);
-#endif /*HAVE_W32_SYSTEM*/      
-
   return (jnlib_iconv_t)iconv_open (tocode, fromcode);
 }
 
 
-/* Wrapper function for iconv, required for W32 as we dlopen that
-   library on that system.  */
+/* Wrapper function for iconv, formerly required for W32 as we used to
+   dlopen that library on that system.  */
 size_t
 jnlib_iconv (jnlib_iconv_t cd,
              const char **inbuf, size_t *inbytesleft,
              char **outbuf, size_t *outbytesleft)
 {
-
-#ifdef HAVE_W32_SYSTEM
-  if (load_libiconv ())
-    return 0;
-#endif /*HAVE_W32_SYSTEM*/      
-
   return iconv ((iconv_t)cd, (char**)inbuf, inbytesleft, outbuf, outbytesleft);
 }
 
-/* Wrapper function for iconv_close, required for W32 as we dlopen that
-   library on that system.  */
+/* Wrapper function for iconv_close, formerly required for W32 as we
+   used to dlopen that library on that system.  */
 int
 jnlib_iconv_close (jnlib_iconv_t cd)
 {
-#ifdef HAVE_W32_SYSTEM
-  if (load_libiconv ())
-    return 0;
-#endif /*HAVE_W32_SYSTEM*/      
-
   return iconv_close ((iconv_t)cd);
 }
index 834b2aa..14cb1e1 100644 (file)
@@ -6,12 +6,12 @@
    modify it under the terms of the GNU Lesser General Public License
    as published by the Free Software Foundation; either version 2.1 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
    Lesser General Public License for more details.
+
    You should have received a copy of the GNU Lesser General Public
    License along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -32,6 +32,9 @@
 #include <sys/stat.h>
 #include <stdint.h>
 #include <locale.h>
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif
 #include <windows.h>
 
 #ifdef JNLIB_IN_JNLIB
 #ifndef SUBLANG_UZBEK_CYRILLIC
 #define SUBLANG_UZBEK_CYRILLIC 0x02
 #endif
-/* Return an XPG style locale name 
+
+/* Return an XPG style locale name
      language[_territory[.codeset]][@modifier].
    Don't even bother determining the codeset; it's not useful in this
    context, because message catalogs are not specific to a single
@@ -1034,7 +1037,7 @@ hash_string( const char *str_param )
 {
   unsigned long int hval, g;
   const char *str = str_param;
-  
+
   hval = 0;
   while (*str != '\0')
     {
@@ -1158,7 +1161,7 @@ free_domain (struct loaded_domain *domain)
   jnlib_free (domain);
 }
 
-  
+
 static struct loaded_domain *
 load_domain (const char *filename)
 {
@@ -1169,7 +1172,7 @@ load_domain (const char *filename)
   struct loaded_domain *domain = NULL;
   size_t to_read;
   char *read_ptr;
-  
+
   fp = fopen (filename, "rb");
   if (!fp)
     return NULL;
@@ -1225,7 +1228,7 @@ load_domain (const char *filename)
   domain->data = (char *) data;
   domain->data_native = (char *) data + size;
   domain->must_swap = data->magic != MAGIC;
-  
+
   /* Fill in the information about the available tables.  */
   switch (SWAPIT (domain->must_swap, data->revision))
     {
@@ -1276,7 +1279,7 @@ utf8_to_wchar (const char *string, size_t length, size_t *retlen)
     return NULL;
 
   nbytes = (size_t)(n+1) * sizeof(*result);
-  if (nbytes / sizeof(*result) != (n+1)) 
+  if (nbytes / sizeof(*result) != (n+1))
     {
       errno = ENOMEM;
       return NULL;
@@ -1465,17 +1468,17 @@ get_string (struct loaded_domain *domain, uint32_t idx,
                + SWAPIT(domain->must_swap, domain->trans_tab[idx].offset));
       translen = SWAPIT(domain->must_swap, domain->trans_tab[idx].length);
     }
-  else if (!domain->mapped[idx]) 
+  else if (!domain->mapped[idx])
     {
       /* Not yet mapped.  Map from utf-8 to native encoding now.  */
       const char *p_utf8;
       size_t plen_utf8, buflen;
       char *buf;
 
-      p_utf8 = (domain->data 
+      p_utf8 = (domain->data
                 + SWAPIT(domain->must_swap, domain->trans_tab[idx].offset));
       plen_utf8 = SWAPIT(domain->must_swap, domain->trans_tab[idx].length);
-      
+
       buf = utf8_to_native (p_utf8, plen_utf8, &buflen);
       if (!buf)
         {
@@ -1487,7 +1490,7 @@ get_string (struct loaded_domain *domain, uint32_t idx,
           /* Copy into the DATA_NATIVE area. */
           char *p_tmp;
 
-          p_tmp = (domain->data_native 
+          p_tmp = (domain->data_native
                    + SWAPIT(domain->must_swap, domain->trans_tab[idx].offset));
           memcpy (p_tmp, buf, buflen);
           domain->mapped[idx] = buflen;
@@ -1523,7 +1526,7 @@ get_string (struct loaded_domain *domain, uint32_t idx,
         }
       jnlib_free (buf);
     }
-  else if (domain->mapped[idx] == 1) 
+  else if (domain->mapped[idx] == 1)
     {
       /* The translated string is in the overflow_space. */
       for (os=domain->overflow_space; os; os = os->next)
@@ -1540,8 +1543,8 @@ get_string (struct loaded_domain *domain, uint32_t idx,
           translen = 0;
         }
     }
-  else 
-    { 
+  else
+    {
       trans = (domain->data_native
                + SWAPIT(domain->must_swap, domain->trans_tab[idx].offset));
       translen = domain->mapped[idx];
@@ -1559,7 +1562,7 @@ do_gettext (const char *msgid, const char *msgid2, unsigned long nplural)
 {
   struct loaded_domain *domain;
   uint32_t top, bottom, nstr;
-  
+
   if (!(domain = the_domain))
     goto not_found;
 
@@ -1576,7 +1579,7 @@ do_gettext (const char *msgid, const char *msgid2, unsigned long nplural)
         {
           nstr--;
           if (nstr < domain->nstrings
-              && SWAPIT(domain->must_swap, 
+              && SWAPIT(domain->must_swap,
                         domain->orig_tab[nstr].length) >= len
               && !strcmp (msgid, (domain->data
                                   + SWAPIT(domain->must_swap,
@@ -1599,7 +1602,7 @@ do_gettext (const char *msgid, const char *msgid2, unsigned long nplural)
   while (bottom < top)
     {
       int cmp_val;
-      
+
       nstr = (bottom + top) / 2;
       cmp_val = strcmp (msgid, (domain->data
                                 + SWAPIT(domain->must_swap,
@@ -1671,10 +1674,10 @@ gettext_select_utf8 (int value)
 int
 main (int argc, char **argv)
 {
-  const char atext1[] = 
+  const char atext1[] =
     "Warning: You have entered an insecure passphrase.%%0A"
     "A passphrase should be at least %u character long.";
-  const char atext2[] = 
+  const char atext2[] =
     "Warning: You have entered an insecure passphrase.%%0A"
     "A passphrase should be at least %u characters long.";
 
@@ -1683,7 +1686,7 @@ main (int argc, char **argv)
       argc--;
       argv++;
     }
-  
+
   bindtextdomain ("gnupg2", "c:/programme/gnu/gnupg/share/locale");
 
   printf ("locale is `%s'\n", gettext_localename ());
index e6bd911..e55f806 100644 (file)
@@ -25,6 +25,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <stdarg.h>
+#ifdef HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif
 #include <windows.h>
 
 #include "libjnlib-config.h"
@@ -34,7 +37,7 @@ static HKEY
 get_root_key(const char *root)
 {
   HKEY root_key;
-  
+
   if (!root)
     root_key = HKEY_CURRENT_USER;
   else if (!strcmp( root, "HKEY_CLASSES_ROOT" ) )
@@ -51,7 +54,7 @@ get_root_key(const char *root)
     root_key = HKEY_CURRENT_CONFIG;
   else
     return NULL;
-  
+
   return root_key;
 }
 
@@ -65,10 +68,10 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
   HKEY root_key, key_handle;
   DWORD n1, nbytes, type;
   char *result = NULL;
-  
+
   if ( !(root_key = get_root_key(root) ) )
     return NULL;
-  
+
   if ( RegOpenKeyEx( root_key, dir, 0, KEY_READ, &key_handle ) )
     {
       if (root)
@@ -94,7 +97,7 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
   if (type == REG_EXPAND_SZ && strchr (result, '%'))
     {
       char *tmp;
-      
+
       n1 += 1000;
       tmp = jnlib_malloc (n1+1);
       if (!tmp)
@@ -111,7 +114,7 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
           if (nbytes && nbytes > n1)
             {
               /* Oops - truncated, better don't expand at all.  */
-              jnlib_free (tmp); 
+              jnlib_free (tmp);
               goto leave;
             }
           tmp[nbytes] = 0;
@@ -126,14 +129,14 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
           result = jnlib_malloc (strlen (tmp)+1);
           if (!result)
             result = tmp;
-            else 
+            else
               {
                 strcpy (result, tmp);
                 jnlib_free (tmp);
               }
         }
-      else 
-        {  
+      else
+        {
           /* Error - don't expand.  */
           jnlib_free (tmp);
         }
@@ -145,38 +148,4 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
 }
 
 
-int
-write_w32_registry_string (const char *root, const char *dir, 
-                           const char *name, const char *value)
-{
-  HKEY root_key, reg_key;
-  
-  if ( !(root_key = get_root_key(root) ) )
-    return -1;
-  
-  if ( RegOpenKeyEx( root_key, dir, 0, KEY_WRITE, &reg_key ) 
-       != ERROR_SUCCESS )
-    return -1;
-  
-  if ( RegSetValueEx (reg_key, name, 0, REG_SZ, (BYTE *)value, 
-                      strlen( value ) ) != ERROR_SUCCESS )
-    {
-      if ( RegCreateKey( root_key, name, &reg_key ) != ERROR_SUCCESS ) 
-        {
-          RegCloseKey(reg_key);
-          return -1;
-        }
-      if ( RegSetValueEx (reg_key, name, 0, REG_SZ, (BYTE *)value,
-                          strlen( value ) ) != ERROR_SUCCESS )
-        {
-          RegCloseKey(reg_key);
-          return -1;
-        }
-    }
-  
-  RegCloseKey (reg_key);
-  
-  return 0;
-}
-
 #endif /*HAVE_W32_SYSTEM*/
index c503ad2..c7aa5cb 100644 (file)
@@ -24,8 +24,6 @@
 /*-- w32-reg.c --*/
 char *read_w32_registry_string (const char *root,
                                const char *dir, const char *name );
-int write_w32_registry_string (const char *root, const char *dir,
-                               const char *name, const char *value);
 
 #ifdef USE_SIMPLE_GETTEXT
 char *bindtextdomain (const char *domainname, const char *dirname);
index 1e4e504..1965d77 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -114,6 +131,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libkeybox_a_SOURCES) $(kbxutil_SOURCES)
 DIST_SOURCES = $(libkeybox_a_SOURCES) $(kbxutil_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -133,7 +155,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -375,14 +401,17 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libkeybox.a: $(libkeybox_a_OBJECTS) $(libkeybox_a_DEPENDENCIES) 
+libkeybox.a: $(libkeybox_a_OBJECTS) $(libkeybox_a_DEPENDENCIES) $(EXTRA_libkeybox_a_DEPENDENCIES) 
        -rm -f libkeybox.a
        $(libkeybox_a_AR) libkeybox.a $(libkeybox_a_OBJECTS) $(libkeybox_a_LIBADD)
        $(RANLIB) libkeybox.a
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -416,7 +445,7 @@ uninstall-binPROGRAMS:
 
 clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-kbxutil$(EXEEXT): $(kbxutil_OBJECTS) $(kbxutil_DEPENDENCIES) 
+kbxutil$(EXEEXT): $(kbxutil_OBJECTS) $(kbxutil_DEPENDENCIES) $(EXTRA_kbxutil_DEPENDENCIES) 
        @rm -f kbxutil$(EXEEXT)
        $(LINK) $(kbxutil_OBJECTS) $(kbxutil_LDADD) $(LIBS)
 
@@ -549,10 +578,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index 4592811..f0921b7 100644 (file)
@@ -118,7 +118,7 @@ my_strusage( int level )
        break;
       case 41: p =
            _("Syntax: kbxutil [options] [files]\n"
-             "list, export, import Keybox data\n");
+             "List, export, import Keybox data\n");
        break;
 
 
index 626f3e5..728168d 100644 (file)
@@ -54,7 +54,7 @@ typedef struct keyboxblob *KEYBOXBLOB;
 
 typedef struct keybox_name *KB_NAME;
 typedef struct keybox_name const *CONST_KB_NAME;
-struct keybox_name 
+struct keybox_name
 {
   /* Link to the next resources, so that we can walk all
      resources.  */
@@ -70,7 +70,7 @@ struct keybox_name
      entrues are set to NULL.  HANDLE_TABLE may be NULL. */
   KEYBOX_HANDLE *handle_table;
   size_t handle_table_size;
-  
+
   /* Not yet used.  */
   int is_locked;
 
@@ -82,6 +82,14 @@ struct keybox_name
 };
 
 
+struct keybox_found_s
+{
+  KEYBOXBLOB blob;
+  off_t offset;
+  size_t pk_no;
+  size_t uid_no;
+  unsigned int n_packets; /*used for delete and update*/
+};
 
 struct keybox_handle {
   CONST_KB_NAME kb;
@@ -89,14 +97,9 @@ struct keybox_handle {
   FILE *fp;
   int eof;
   int error;
-  int ephemeral;  
-  struct {
-    KEYBOXBLOB blob;
-    off_t offset;
-    size_t pk_no;
-    size_t uid_no;
-    unsigned int n_packets; /*used for delete and update*/
-  } found;
+  int ephemeral;
+  struct keybox_found_s found;
+  struct keybox_found_s saved_found;
   struct {
     char *name;
     char *pattern;
@@ -215,7 +218,7 @@ void  _keybox_free (void *p);
 #define STR2(v) STR(v)
 
 /*
-  a couple of handy macros 
+  a couple of handy macros
 */
 
 #define return_if_fail(expr) do {                        \
index e413864..53c1c50 100644 (file)
@@ -148,6 +148,7 @@ keybox_release (KEYBOX_HANDLE hd)
           hd->kb->handle_table[idx] = NULL;
     }
   _keybox_release_blob (hd->found.blob);
+  _keybox_release_blob (hd->saved_found.blob);
   if (hd->fp)
     {
       fclose (hd->fp);
@@ -159,6 +160,35 @@ keybox_release (KEYBOX_HANDLE hd)
 }
 
 
+/* Save the current found state in HD for later retrieval by
+   keybox_restore_found_state.  Only one state may be saved.  */
+void
+keybox_push_found_state (KEYBOX_HANDLE hd)
+{
+  if (hd->saved_found.blob)
+    {
+      _keybox_release_blob (hd->saved_found.blob);
+      hd->saved_found.blob = NULL;
+    }
+  hd->saved_found = hd->found;
+  hd->found.blob = NULL;
+}
+
+
+/* Restore the saved found state in HD.  */
+void
+keybox_pop_found_state (KEYBOX_HANDLE hd)
+{
+  if (hd->found.blob)
+    {
+      _keybox_release_blob (hd->found.blob);
+      hd->found.blob = NULL;
+    }
+  hd->found = hd->saved_found;
+  hd->saved_found.blob = NULL;
+}
+
+
 const char *
 keybox_get_resource_name (KEYBOX_HANDLE hd)
 {
index 4330694..e0d8c53 100644 (file)
@@ -68,6 +68,8 @@ int keybox_is_writable (void *token);
 
 KEYBOX_HANDLE keybox_new (void *token, int secret);
 void keybox_release (KEYBOX_HANDLE hd);
+void keybox_push_found_state (KEYBOX_HANDLE hd);
+void keybox_pop_found_state (KEYBOX_HANDLE hd);
 const char *keybox_get_resource_name (KEYBOX_HANDLE hd);
 int keybox_set_ephemeral (KEYBOX_HANDLE hd, int yes);
 
index f1789df..e9da0a2 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -198,6 +215,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 SCRIPTS = $(libexec_SCRIPTS) $(noinst_SCRIPTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
@@ -213,6 +236,11 @@ SOURCES = $(gpg2keys_curl_SOURCES) $(gpg2keys_finger_SOURCES) \
 DIST_SOURCES = $(am__gpg2keys_curl_SOURCES_DIST) \
        $(gpg2keys_finger_SOURCES) $(am__gpg2keys_hkp_SOURCES_DIST) \
        $(gpg2keys_kdns_SOURCES) $(gpg2keys_ldap_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -232,7 +260,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -417,6 +449,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common \
        $(am__append_1) $(am__append_2) $(am__append_3) \
        $(am__append_4) $(am__append_5) $(am__append_6)
 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+resource_objs = 
 
 # Convenience macros
 libcommon = ../common/libcommon.a
@@ -469,7 +502,7 @@ gpg2keys_hkp_SOURCES = gpgkeys_hkp.c ksutil.c ksutil.h no-libgcrypt.c \
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -491,6 +524,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -506,8 +540,11 @@ gpg2keys_test: $(top_builddir)/config.status $(srcdir)/gpg2keys_test.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
        @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -541,25 +578,28 @@ uninstall-libexecPROGRAMS:
 
 clean-libexecPROGRAMS:
        -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
-gpg2keys_curl$(EXEEXT): $(gpg2keys_curl_OBJECTS) $(gpg2keys_curl_DEPENDENCIES) 
+gpg2keys_curl$(EXEEXT): $(gpg2keys_curl_OBJECTS) $(gpg2keys_curl_DEPENDENCIES) $(EXTRA_gpg2keys_curl_DEPENDENCIES) 
        @rm -f gpg2keys_curl$(EXEEXT)
        $(LINK) $(gpg2keys_curl_OBJECTS) $(gpg2keys_curl_LDADD) $(LIBS)
-gpg2keys_finger$(EXEEXT): $(gpg2keys_finger_OBJECTS) $(gpg2keys_finger_DEPENDENCIES) 
+gpg2keys_finger$(EXEEXT): $(gpg2keys_finger_OBJECTS) $(gpg2keys_finger_DEPENDENCIES) $(EXTRA_gpg2keys_finger_DEPENDENCIES) 
        @rm -f gpg2keys_finger$(EXEEXT)
        $(LINK) $(gpg2keys_finger_OBJECTS) $(gpg2keys_finger_LDADD) $(LIBS)
-gpg2keys_hkp$(EXEEXT): $(gpg2keys_hkp_OBJECTS) $(gpg2keys_hkp_DEPENDENCIES) 
+gpg2keys_hkp$(EXEEXT): $(gpg2keys_hkp_OBJECTS) $(gpg2keys_hkp_DEPENDENCIES) $(EXTRA_gpg2keys_hkp_DEPENDENCIES) 
        @rm -f gpg2keys_hkp$(EXEEXT)
        $(LINK) $(gpg2keys_hkp_OBJECTS) $(gpg2keys_hkp_LDADD) $(LIBS)
-gpg2keys_kdns$(EXEEXT): $(gpg2keys_kdns_OBJECTS) $(gpg2keys_kdns_DEPENDENCIES) 
+gpg2keys_kdns$(EXEEXT): $(gpg2keys_kdns_OBJECTS) $(gpg2keys_kdns_DEPENDENCIES) $(EXTRA_gpg2keys_kdns_DEPENDENCIES) 
        @rm -f gpg2keys_kdns$(EXEEXT)
        $(LINK) $(gpg2keys_kdns_OBJECTS) $(gpg2keys_kdns_LDADD) $(LIBS)
-gpg2keys_ldap$(EXEEXT): $(gpg2keys_ldap_OBJECTS) $(gpg2keys_ldap_DEPENDENCIES) 
+gpg2keys_ldap$(EXEEXT): $(gpg2keys_ldap_OBJECTS) $(gpg2keys_ldap_DEPENDENCIES) $(EXTRA_gpg2keys_ldap_DEPENDENCIES) 
        @rm -f gpg2keys_ldap$(EXEEXT)
        $(LINK) $(gpg2keys_ldap_OBJECTS) $(gpg2keys_ldap_LDADD) $(LIBS)
 install-libexecSCRIPTS: $(libexec_SCRIPTS)
        @$(NORMAL_INSTALL)
-       test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
        @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -587,9 +627,7 @@ uninstall-libexecSCRIPTS:
        @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || exit 0; \
        files=`for p in $$list; do echo "$$p"; done | \
               sed -e 's,.*/,,;$(transform)'`; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
+       dir='$(DESTDIR)$(libexecdir)'; $(am__uninstall_files_from_dir)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -966,10 +1004,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -1067,6 +1110,9 @@ uninstall-am: uninstall-libexecPROGRAMS uninstall-libexecSCRIPTS
        uninstall-libexecSCRIPTS
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
 $(PROGRAMS): $(common_libs)
index 500d9f5..be87780 100644 (file)
@@ -1,7 +1,8 @@
 /* curl-shim.c - Implement a small subset of the curl API in terms of
  * the iobuf HTTP API
  *
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012,
+ *               2013 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -174,6 +175,9 @@ curl_easy_perform(CURL *curl)
   CURLcode err=CURLE_OK;
   const char *errstr=NULL;
   char *proxy=NULL;
+  struct http_srv srv;
+
+  memset(&srv,0,sizeof(srv));
 
   /* Emulate the libcurl proxy behavior.  If the calling program set a
      proxy, use it.  If it didn't set a proxy or set it to NULL, check
@@ -186,10 +190,17 @@ curl_easy_perform(CURL *curl)
   else
     proxy=getenv(HTTP_PROXY_ENV);
 
+  if(curl->srvtag)
+    srv.srvtag=curl->srvtag;
+
   if(curl->flags.verbose)
     {
       fprintf(curl->errors,"* HTTP proxy is \"%s\"\n",proxy?proxy:"null");
       fprintf(curl->errors,"* HTTP URL is \"%s\"\n",curl->url);
+      if(srv.srvtag)
+       fprintf(curl->errors,
+               "* SRV tag is \"%s\": host and port may be overridden\n",
+               srv.srvtag);
       fprintf(curl->errors,"* HTTP auth is \"%s\"\n",
              curl->auth?curl->auth:"null");
       fprintf(curl->errors,"* HTTP method is %s\n",
@@ -199,12 +210,16 @@ curl_easy_perform(CURL *curl)
   if(curl->flags.post)
     {
       rc = http_open (&curl->hd, HTTP_REQ_POST, curl->url, curl->auth,
-                      0, proxy, NULL, curl->srvtag,
+                      0, proxy, NULL, &srv,
                      curl->headers?curl->headers->list:NULL);
       if (!rc)
        {
          unsigned int post_len = strlen(curl->postfields);
 
+         if(curl->flags.verbose && srv.used_server && srv.used_port)
+           fprintf (curl->errors, "* HTTP host:port post-SRV is \"%s:%hu\"\n",
+                    srv.used_server, srv.used_port);
+
          es_fprintf (http_get_write_ptr (curl->hd),
                       "Content-Type: application/x-www-form-urlencoded\r\n"
                       "Content-Length: %u\r\n", post_len);
@@ -223,10 +238,14 @@ curl_easy_perform(CURL *curl)
   else
     {
       rc = http_open (&curl->hd, HTTP_REQ_GET, curl->url, curl->auth,
-                      0, proxy, NULL, curl->srvtag,
+                      0, proxy, NULL, &srv,
                      curl->headers?curl->headers->list:NULL);
       if (!rc)
        {
+         if(curl->flags.verbose && srv.used_server && srv.used_port)
+           fprintf (curl->errors, "* HTTP host:port post-SRV is \"%s:%hu\"\n",
+                    srv.used_server, srv.used_port);
+
          rc = http_wait_response (curl->hd);
           curl->status = http_get_status_code (curl->hd);
          if (!rc)
@@ -268,6 +287,8 @@ curl_easy_perform(CURL *curl)
        }
     }
 
+  xfree(srv.used_server);
+
   switch(gpg_err_code (rc))
     {
     case 0:
@@ -286,6 +307,27 @@ curl_easy_perform(CURL *curl)
   return handle_error(curl,err,errstr);
 }
 
+CURLcode
+curl_easy_getinfo(CURL *curl, CURLINFO info, ... )
+{
+  va_list ap;
+  long *var;
+
+  va_start(ap,info);
+
+  switch(info)
+    {
+    case CURLINFO_RESPONSE_CODE:
+      var=va_arg(ap,long *);
+      *var=curl->status;
+      break;
+    default:
+      break;
+    }
+
+  return handle_error(curl,CURLE_OK,NULL);
+}
+
 /* This is not the same exact set that is allowed according to
    RFC-2396, but it is what the real curl uses. */
 #define VALID_URI_CHARS "abcdefghijklmnopqrstuvwxyz" \
index e37d816..df28fcc 100644 (file)
@@ -1,5 +1,6 @@
 /* curl-shim.h
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009,
+ *               2013 Free Software Foundation, Inc.
  *
  * This file is part of GNUPG.
  *
@@ -54,6 +55,11 @@ typedef enum
     CURLOPT_SRVTAG_GPG_HACK
   } CURLoption;
 
+typedef enum
+  {
+    CURLINFO_RESPONSE_CODE
+  } CURLINFO;
+
 typedef size_t (*write_func)(char *buffer,size_t size,
                             size_t nitems,void *outstream);
 
@@ -93,6 +99,7 @@ void curl_global_cleanup(void);
 CURL *curl_easy_init(void);
 CURLcode curl_easy_setopt(CURL *curl,CURLoption option,...);
 CURLcode curl_easy_perform(CURL *curl);
+CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );
 void curl_easy_cleanup(CURL *curl);
 char *curl_escape(char *str,int len);
 #define curl_free(x) free(x)
index 28ec698..f0f5744 100644 (file)
@@ -99,7 +99,7 @@ get_key(char *getkey)
   return curl_err_to_gpg_err(res);
 }
 
-static void 
+static void
 show_help (FILE *fp)
 {
   fprintf (fp,"-h, --help\thelp\n");
@@ -304,7 +304,8 @@ main(int argc,char *argv[])
     }
 
   curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,(long)opt->flags.check_cert);
-  curl_easy_setopt(curl,CURLOPT_CAINFO,opt->ca_cert_file);
+  if (opt->ca_cert_file)
+    curl_easy_setopt (curl, CURLOPT_CAINFO, opt->ca_cert_file);
 
   /* Avoid caches to get the most recent copy of the key.  This is bug
      #1061.  In pre-curl versions of the code, we didn't do it.  Then
index 721cb9a..a599e4d 100644 (file)
 #endif
 
 #ifdef HAVE_W32_SYSTEM
-#include <windows.h>
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>
 #else
 #include <unistd.h>
 #include <sys/types.h>
@@ -79,9 +82,9 @@ connect_server (const char *server, unsigned short port)
 
   /* Win32 gethostbyname doesn't handle IP addresses internally, so we
      try inet_addr first on that platform only. */
-  if ((l = inet_addr (server)) != INADDR_NONE) 
+  if ((l = inet_addr (server)) != INADDR_NONE)
     memcpy (&addr.sin_addr, &l, sizeof l);
-  else if ((hp = gethostbyname (server))) 
+  else if ((hp = gethostbyname (server)))
     {
       if (hp->h_addrtype != AF_INET)
         {
@@ -107,14 +110,14 @@ connect_server (const char *server, unsigned short port)
   sock = socket (AF_INET, SOCK_STREAM, 0);
   if (sock == INVALID_SOCKET)
     {
-      fprintf (console, "gpgkeys: error creating socket: ec=%d\n", 
+      fprintf (console, "gpgkeys: error creating socket: ec=%d\n",
                (int)WSAGetLastError ());
       return -1;
     }
 
   if (connect (sock, (struct sockaddr *)&addr, sizeof addr))
     {
-      fprintf (console, "gpgkeys: error connecting `%s': ec=%d\n", 
+      fprintf (console, "gpgkeys: error connecting `%s': ec=%d\n",
                server, (int)WSAGetLastError ());
       sock_close (sock);
       return -1;
@@ -134,26 +137,26 @@ connect_server (const char *server, unsigned short port)
                server, strerror (errno));
       return -1;
     }
-  
+
   addr.sin_addr = *(struct in_addr*)host->h_addr;
 
   sock = socket (AF_INET, SOCK_STREAM, 0);
   if (sock == -1)
     {
-      fprintf (console, "gpgkeys: error creating socket: %s\n", 
+      fprintf (console, "gpgkeys: error creating socket: %s\n",
                strerror (errno));
       return -1;
     }
-  
+
   if (connect (sock, (struct sockaddr *)&addr, sizeof addr) == -1)
     {
-      fprintf (console, "gpgkeys: error connecting `%s': %s\n", 
+      fprintf (console, "gpgkeys: error connecting `%s': %s\n",
                server, strerror (errno));
       close (sock);
       return -1;
     }
 #endif
-    
+
   return sock;
 }
 
@@ -163,11 +166,11 @@ write_server (int sock, const char *data, size_t length)
   int nleft;
 
   nleft = length;
-  while (nleft > 0) 
+  while (nleft > 0)
     {
       int nwritten;
-      
-#ifdef HAVE_W32_SYSTEM  
+
+#ifdef HAVE_W32_SYSTEM
       nwritten = send (sock, data, nleft, 0);
       if ( nwritten == SOCKET_ERROR )
         {
@@ -184,7 +187,7 @@ write_server (int sock, const char *data, size_t length)
           if (errno == EAGAIN)
             {
               struct timeval tv;
-              
+
               tv.tv_sec =  0;
               tv.tv_usec = 50000;
               select(0, NULL, NULL, NULL, &tv);
@@ -197,7 +200,7 @@ write_server (int sock, const char *data, size_t length)
       nleft -=nwritten;
       data += nwritten;
     }
-  
+
   return 0;
 }
 
@@ -227,7 +230,7 @@ send_request (const char *request, int *r_sock)
       return KEYSERVER_GENERAL_ERROR;
     }
   *server++ = 0;
-  
+
   sock = connect_server (server, 79);
   if (sock == -1)
     {
@@ -272,7 +275,7 @@ get_key (char *getkey)
       sock_close (sock);
       return KEYSERVER_OK;
     }
-  
+
   /* Hmmm, we use iobuf here only to cope with Windows socket
      peculiarities (we can't used fdopen).  */
   fp_read = iobuf_sockopen (sock , "r");
@@ -286,7 +289,7 @@ get_key (char *getkey)
   while ( iobuf_read_line ( fp_read, &line, &buflen, &maxlen))
     {
       maxlen=1024;
-      
+
       if(gotit)
         {
          print_nocr(output, (const char*)line);
@@ -299,7 +302,7 @@ get_key (char *getkey)
           gotit=1;
         }
     }
-  
+
   if(gotit)
     fprintf (output,"KEY 0x%s END\n", getkey);
   else
@@ -316,7 +319,7 @@ get_key (char *getkey)
 }
 
 
-static void 
+static void
 show_help (FILE *fp)
 {
   fprintf (fp,"-h, --help\thelp\n");
index ee6421a..36a44ef 100644 (file)
@@ -1,6 +1,6 @@
 /* gpgkeys_hkp.c - talk to an HKP keyserver
  * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- *               2009 Free Software Foundation, Inc.
+ *               2009, 2012, 2013 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
 #include <errno.h>
 #include <unistd.h>
 #ifdef HAVE_GETOPT_H
-#include <getopt.h>
+# include <getopt.h>
 #endif
 #ifdef HAVE_LIBCURL
-#include <curl/curl.h>
+# include <curl/curl.h>
+/* This #define rigamarole is to enable a hack to fake DNS SRV using
+   libcurl.  It only works if we have getaddrinfo(), inet_ntop(), and
+   a modern enough version of libcurl (7.21.3) so we can use
+   CURLOPT_RESOLVE to feed the resolver from the outside to force
+   libcurl to pass the right SNI. */
+# if (defined(HAVE_GETADDRINFO) && defined(HAVE_INET_NTOP) \
+      && LIBCURL_VERNUM >= 0x071503)
+#  include <sys/types.h>
+#  include <sys/socket.h>
+#  include <netdb.h>
+#  include <arpa/inet.h>
+# else
+#  undef USE_DNS_SRV
+# endif
 #else
-#include "curl-shim.h"
+#  include "curl-shim.h"
 #endif
 #include "util.h"
 #ifdef USE_DNS_SRV
-#include "srv.h"
+# include "srv.h"
 #endif
 #include "keyserver.h"
 #include "ksutil.h"
@@ -60,9 +74,10 @@ static char errorbuffer[CURL_ERROR_SIZE];
 static char *proto,*port;
 
 static size_t
-curl_mrindex_writer(const void *ptr,size_t size,size_t nmemb,void *stream)
+curl_mrindex_writer (const void *ptr,size_t size,size_t nmemb,void *stream)
 {
-  static int checked=0,swallow=0;
+  static int checked = 0;
+  static int swallow = 0;
 
   if(!checked)
     {
@@ -304,15 +319,49 @@ get_key(char *getkey)
     }
   else
     {
+      long status = 0;
+
       curl_writer_finalize(&ctx);
-      if(!ctx.flags.done)
+
+      curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &status);
+
+      if (opt->verbose > 2)
+       fprintf (console, "gpgkeys: HTTP response code is %ld\n", status);
+
+      if (status == 200)
        {
-         fprintf(console,"gpgkeys: key %s not found on keyserver\n",getkey);
-         fprintf(output,"\nKEY 0x%s FAILED %d\n",
-                 getkey,KEYSERVER_KEY_NOT_FOUND);
+         if (!ctx.flags.done)
+           {
+             if (ctx.flags.begun)
+               {
+                 fprintf (console, "gpgkeys: key %s partially retrieved"
+                          " (probably corrupt)\n", getkey);
+                 fprintf (output, "\nKEY 0x%s FAILED %d\n",
+                          getkey, KEYSERVER_KEY_INCOMPLETE);
+               }
+             else
+               {
+                 fprintf (console, "gpgkeys: key %s can't be retrieved\n",
+                          getkey);
+                 fprintf (output, "\nKEY 0x%s FAILED %d\n",
+                          getkey, KEYSERVER_GENERAL_ERROR);
+               }
+           }
+         else
+           fprintf (output, "\nKEY 0x%s END\n", getkey);
+       }
+      else if (status == 404)
+       {
+         fprintf (console, "gpgkeys: key %s not found on keyserver\n", getkey);
+         fprintf (output, "\nKEY 0x%s FAILED %d\n",
+                 getkey, KEYSERVER_KEY_NOT_FOUND);
        }
       else
-       fprintf(output,"\nKEY 0x%s END\n",getkey);
+       {
+         fprintf (console, "gpgkeys: key %s can't be retrieved\n", getkey);
+         fprintf (output, "\nKEY 0x%s FAILED %d\n",
+                 getkey, KEYSERVER_GENERAL_ERROR);
+       }
     }
 
   return KEYSERVER_OK;
@@ -354,7 +403,7 @@ get_name(const char *getkey)
       ret=KEYSERVER_NO_MEMORY;
       goto fail;
     }
-  
+
   fprintf(output,"NAME %s BEGIN\n",getkey);
 
   if(opt->verbose>2)
@@ -373,16 +422,47 @@ get_name(const char *getkey)
     }
   else
     {
+      long status = 0;
+
       curl_writer_finalize(&ctx);
-      if(!ctx.flags.done)
+
+      curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &status);
+
+      if (opt->verbose > 2)
+       fprintf (console, "gpgkeys: HTTP response code is %ld\n", status);
+
+      if (status == 200)
        {
-         fprintf(console,"gpgkeys: key %s not found on keyserver\n",getkey);
-         ret=KEYSERVER_KEY_NOT_FOUND;
+         if (!ctx.flags.done)
+           {
+             if (ctx.flags.begun)
+               {
+                 fprintf (console, "gpgkeys: key %s partially retrieved"
+                          " (probably corrupt)\n", getkey);
+                 ret = KEYSERVER_KEY_INCOMPLETE;
+               }
+             else
+               {
+                 fprintf (console, "gpgkeys: key %s can't be retrieved\n",
+                          getkey);
+                 ret = KEYSERVER_GENERAL_ERROR;
+               }
+           }
+         else
+           {
+             fprintf (output, "\nNAME %s END\n", getkey);
+             ret = KEYSERVER_OK;
+           }
+       }
+      else if (status == 404)
+       {
+         fprintf (console, "gpgkeys: key %s not found on keyserver\n", getkey);
+         ret = KEYSERVER_KEY_NOT_FOUND;
        }
       else
        {
-         fprintf(output,"\nNAME %s END\n",getkey);
-         ret=KEYSERVER_OK;
+         fprintf (console, "gpgkeys: key %s can't be retrieved\n", getkey);
+         ret = KEYSERVER_GENERAL_ERROR;
        }
     }
 
@@ -499,19 +579,29 @@ fail_all(struct keylist *keylist,int err)
       }
 }
 
-#ifdef HAVE_LIBCURL
+#if defined(HAVE_LIBCURL) && defined(USE_DNS_SRV)
 /* If there is a SRV record, take the highest ranked possibility.
-   This is a hack, as we don't proceed downwards. */
+   This is a hack, as we don't proceed downwards if we can't
+   connect(), but only if we can't getaddinfo().  All this should
+   ideally be replaced by actual SRV support in libcurl someday! */
+
+#define HOST_HEADER "Host:"
+
 static void
-srv_replace(const char *srvtag)
+srv_replace(const char *srvtag,
+           struct curl_slist **headers,struct curl_slist **resolve)
 {
-#ifdef USE_DNS_SRV
   struct srventry *srvlist=NULL;
-  int srvcount;
+  int srvcount, srvindex;
+  char *portstr;
 
   if(!srvtag)
     return;
 
+  portstr=malloc (MAX_PORT);
+  if(!portstr)
+    return;
+
   if(1+strlen(srvtag)+6+strlen(opt->host)+1<=MAXDNAME)
     {
       char srvname[MAXDNAME];
@@ -522,32 +612,81 @@ srv_replace(const char *srvtag)
       strcat(srvname,opt->host);
       srvcount=getsrv(srvname,&srvlist);
     }
+  else
+    srvcount = 0;
 
-  if(srvlist)
+  for(srvindex=0 ; srvindex<srvcount && portstr ; srvindex++)
     {
-      char *newname,*newport;
+      struct addrinfo hints, *res;
 
-      newname=strdup(srvlist->target);
-      newport=malloc(MAX_PORT);
-      if(newname && newport)
+      sprintf (portstr, "%hu", srvlist[srvindex].port);
+      memset (&hints, 0, sizeof (hints));
+      hints.ai_socktype = SOCK_STREAM;
+
+      if (getaddrinfo (srvlist[srvindex].target, portstr, &hints, &res) == 0)
        {
-         free(opt->host);
-         free(opt->port);
-         opt->host=newname;
-         snprintf(newport,MAX_PORT,"%u",srvlist->port);
-         opt->port=newport;
+         /* Very safe */
+         char ipaddr[INET_ADDRSTRLEN+INET6_ADDRSTRLEN];
+
+         if((res->ai_family==AF_INET
+             && inet_ntop (res->ai_family,
+                           &((struct sockaddr_in *)res->ai_addr)->sin_addr,
+                           ipaddr,sizeof(ipaddr)))
+            || (res->ai_family==AF_INET6
+                && inet_ntop (res->ai_family,
+                              &((struct sockaddr_in6 *)res->ai_addr)->sin6_addr,
+                              ipaddr,sizeof(ipaddr))))
+           {
+             char *entry,*host;
+
+             entry=malloc (strlen(opt->host)+1
+                           +strlen(portstr)+1+strlen(ipaddr)+1);
+
+             host=malloc (strlen(HOST_HEADER)+1+strlen(opt->host)+1);
+
+             if(entry && host)
+               {
+                 sprintf (entry, "%s:%s:%s", opt->host, portstr, ipaddr);
+                 sprintf (host, "%s %s", HOST_HEADER, opt->host);
+
+                 *resolve=curl_slist_append (*resolve,entry);
+                 *headers=curl_slist_append (*headers,host);
+
+                 if(*resolve && *headers)
+                   {
+                     if(curl_easy_setopt (curl,
+                                          CURLOPT_RESOLVE,*resolve)==CURLE_OK)
+                       {
+                         if(opt->debug)
+                           fprintf (console, "gpgkeys: Faking %s SRV from"
+                                    " %s to %s:%u\n",
+                                    srvtag, opt->host,
+                                    srvlist[srvindex].target,
+                                    srvlist[srvindex].port);
+
+                         free (opt->port);
+                         opt->port=portstr;
+                         portstr=NULL;
+                       }
+                   }
+               }
+
+             free (entry);
+             free (host);
+           }
+
+         freeaddrinfo (res);
        }
       else
-       {
-         free(newname);
-         free(newport);
-       }
+       continue; /* Not found */
     }
-#endif
+
+  free (srvlist);
+  free (portstr);
 }
 #endif
 
-static void 
+static void
 show_help (FILE *fp)
 {
   fprintf (fp,"-h, --help\thelp\n");
@@ -559,12 +698,19 @@ show_help (FILE *fp)
 int
 main(int argc,char *argv[])
 {
-  int arg,ret=KEYSERVER_INTERNAL_ERROR,try_srv=1;
+  int arg,ret=KEYSERVER_INTERNAL_ERROR;
   char line[MAX_LINE];
   int failed=0;
   struct keylist *keylist=NULL,*keyptr=NULL;
   char *proxy=NULL;
-  struct curl_slist *headers=NULL;
+  struct curl_slist *headers=NULL,*resolve=NULL;
+
+  /* Only default this to on if we have SRV support */
+#ifdef USE_DNS_SRV
+  int try_srv = 1;
+#else
+  int try_srv = 0;
+#endif
 
   console=stderr;
 
@@ -693,6 +839,7 @@ main(int argc,char *argv[])
       goto fail;
     }
 
+  /* Defaults */
   if(ks_strcasecmp(opt->scheme,"hkps")==0)
     {
       proto="https";
@@ -725,11 +872,16 @@ main(int argc,char *argv[])
       goto fail;
     }
 
-  /* If the user gives a :port, then disable SRV.  The semantics of a
-     specified port and SRV do not play well together. */
-  if(opt->port)
-    port=opt->port;
-  else if(try_srv)
+  if(opt->debug)
+    {
+      fprintf(console,"gpgkeys: curl version = %s\n",curl_version());
+      curl_easy_setopt(curl,CURLOPT_STDERR,console);
+      curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);
+    }
+
+  /* Only use SRV if the user does not provide a :port.  The semantics
+     of a specified port and SRV do not play well together. */
+  if(!opt->port && try_srv)
     {
       char *srvtag;
 
@@ -744,9 +896,13 @@ main(int argc,char *argv[])
       /* We're using libcurl, so fake SRV support via our wrapper.
         This isn't as good as true SRV support, as we do not try all
         possible targets at one particular level and work our way
-        down the list, but it's better than nothing. */      
-      srv_replace(srvtag);
+        down the list, but it's better than nothing. */
+#ifdef USE_DNS_SRV
+      srv_replace(srvtag,&headers,&resolve);
 #else
+      fprintf(console,"gpgkeys: try-dns-srv was requested, but not SRV capable\n");
+#endif
+#else /* !HAVE_LIBCURL */
       /* We're using our internal curl shim, so we can use its (true)
         SRV support.  Obviously, CURLOPT_SRVTAG_GPG_HACK isn't a real
         libcurl option.  It's specific to our shim. */
@@ -754,20 +910,19 @@ main(int argc,char *argv[])
 #endif
     }
 
+  /* If the user provided a port (or it came in via SRV, above),
+     replace the default. */
+  if(opt->port)
+    port=opt->port;
+
   curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
 
   if(opt->auth)
     curl_easy_setopt(curl,CURLOPT_USERPWD,opt->auth);
 
-  if(opt->debug)
-    {
-      fprintf(console,"gpgkeys: curl version = %s\n",curl_version());
-      curl_easy_setopt(curl,CURLOPT_STDERR,console);
-      curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);
-    }
-
   curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,(long)opt->flags.check_cert);
-  curl_easy_setopt(curl,CURLOPT_CAINFO,opt->ca_cert_file);
+  if (opt->ca_cert_file)
+    curl_easy_setopt (curl, CURLOPT_CAINFO, opt->ca_cert_file);
 
   /* Avoid caches to get the most recent copy of the key.  This is bug
      #1061.  In pre-curl versions of the code, we didn't do it.  Then
@@ -967,6 +1122,7 @@ main(int argc,char *argv[])
   free_ks_options(opt);
 
   curl_slist_free_all(headers);
+  curl_slist_free_all(resolve);
 
   if(curl)
     curl_easy_cleanup(curl);
index bd85234..9f99b28 100644 (file)
 #include "util.h"
 #endif
 
+
+#if HAVE_W32_SYSTEM
+# if !defined(__MINGW64_VERSION_MAJOR) || !defined(__MINGW32_MAJOR_VERSION)
+   /* This is mingw32 with bogus ldap definitions; i.e. Unix style
+      LDAP definitions.  */
+#  define my_ldap_start_tls_s(a,b,c) ldap_start_tls_sA ((a),(b),(c))
+# else
+   /* Standard Microsoft or mingw64.  */
+#  define my_ldap_start_tls_s(a,b,c) ldap_start_tls_sA ((a),NULL,NULL,(b),(c))
+# endif
+#else /*!W32*/
+# define my_ldap_start_tls_s(a,b,c) ldap_start_tls_s ((a),(b),(c))
+#endif /*!W32*/
+
+
 extern char *optarg;
 extern int optind;
 
@@ -2189,7 +2204,7 @@ main(int argc,char *argv[])
 #endif
 
          if(err==LDAP_SUCCESS)
-           err=ldap_start_tls_s(ldap,NULL,NULL);
+           err = my_ldap_start_tls_s (ldap, NULL, NULL);
 
          if(err!=LDAP_SUCCESS)
            {
index cc46b92..7231d0a 100644 (file)
 #include <stdlib.h>
 
 #ifdef HAVE_W32_SYSTEM
-#include <windows.h>
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
+# include <windows.h>
 #endif
 
 #ifdef HAVE_LIBCURL
@@ -78,7 +81,7 @@ register_timeout(void)
   sigemptyset(&act.sa_mask);
   act.sa_flags=0;
   return sigaction(SIGALRM,&act,NULL);
-#else 
+#else
   if(signal(SIGALRM,catch_alarm)==SIG_ERR)
     return -1;
   else
@@ -597,7 +600,7 @@ ks_hextobyte (const char *s)
 
 
 /* Non localized version of toupper.  */
-int 
+int
 ks_toupper (int c)
 {
   if (c >= 'a' && c <= 'z')
index 199bf8c..bac6a17 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -66,6 +83,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
 ACLOCAL = @ACLOCAL@
@@ -83,7 +105,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -354,10 +380,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index 6dc9e0e..712d6e8 100644 (file)
@@ -11,7 +11,7 @@ dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
 # GNUPG_PTH_VERSION_CHECK(REQUIRED)
-# 
+#
 # If the version is sufficient, HAVE_PTH will be set to yes.
 #
 # Taken and modified from the m4 macros which come with Pth.
@@ -69,7 +69,7 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK],
        AC_MSG_RESULT($gnupg_cv_pth_is_sane)
     else
        AC_MSG_RESULT(no)
-    fi    
+    fi
   ])
 
 
@@ -82,7 +82,7 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK],
 AC_DEFUN([GNUPG_PATH_PTH],
 [ AC_ARG_WITH(pth-prefix,
              AC_HELP_STRING([--with-pth-prefix=PFX],
-                           [prefix where GNU Pth is installed (optional)]),
+                           [prefix where GNU Pth is installed]),
      pth_config_prefix="$withval", pth_config_prefix="")
   if test x$pth_config_prefix != x ; then
      PTH_CONFIG="$pth_config_prefix/bin/pth-config"
@@ -91,7 +91,7 @@ AC_DEFUN([GNUPG_PATH_PTH],
   tmp=ifelse([$1], ,1.3.7,$1)
   if test "$PTH_CONFIG" != "no"; then
     GNUPG_PTH_VERSION_CHECK($tmp)
-    if test $have_pth = yes; then      
+    if test $have_pth = yes; then
        PTH_CFLAGS=`$PTH_CONFIG --cflags`
        PTH_LIBS=`$PTH_CONFIG --ldflags`
        PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs --all`"
index 9d96d16..feb963c 100644 (file)
@@ -1,5 +1,5 @@
 # gpg-error.m4 - autoconf macro to detect libgpg-error.
-# Copyright (C) 2002, 2003, 2004 g10 Code GmbH
+# Copyright (C) 2002, 2003, 2004, 2011 g10 Code GmbH
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
@@ -14,21 +14,34 @@ dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
 dnl Test for libgpg-error and define GPG_ERROR_CFLAGS and GPG_ERROR_LIBS
 dnl
 AC_DEFUN([AM_PATH_GPG_ERROR],
-[ AC_ARG_WITH(gpg-error-prefix,
-            AC_HELP_STRING([--with-gpg-error-prefix=PFX],
-                           [prefix where GPG Error is installed (optional)]),
-     gpg_error_config_prefix="$withval", gpg_error_config_prefix="")
+[ AC_REQUIRE([AC_CANONICAL_HOST])
+  gpg_error_config_prefix=""
+  dnl --with-libgpg-error-prefix=PFX is the preferred name for this option,
+  dnl since that is consistent with how our three siblings use the directory/
+  dnl package name in --with-$dir_name-prefix=PFX.
+  AC_ARG_WITH(libgpg-error-prefix,
+              AC_HELP_STRING([--with-libgpg-error-prefix=PFX],
+                             [prefix where GPG Error is installed (optional)]),
+              [gpg_error_config_prefix="$withval"])
+
+  dnl Accept --with-gpg-error-prefix and make it work the same as
+  dnl --with-libgpg-error-prefix above, for backwards compatibility,
+  dnl but do not document this old, inconsistently-named option.
+  AC_ARG_WITH(gpg-error-prefix,,
+              [gpg_error_config_prefix="$withval"])
+
   if test x$gpg_error_config_prefix != x ; then
      if test x${GPG_ERROR_CONFIG+set} != xset ; then
         GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
      fi
   fi
 
-  AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
+  AC_PATH_TOOL(GPG_ERROR_CONFIG, gpg-error-config, no)
   min_gpg_error_version=ifelse([$1], ,0.0,$1)
   AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
   ok=no
-  if test "$GPG_ERROR_CONFIG" != "no" ; then
+  if test "$GPG_ERROR_CONFIG" != "no" \
+     && test -f "$GPG_ERROR_CONFIG" ; then
     req_major=`echo $min_gpg_error_version | \
                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
     req_minor=`echo $min_gpg_error_version | \
@@ -40,7 +53,7 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
                sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
     if test "$major" -gt "$req_major"; then
         ok=yes
-    else 
+    else
         if test "$major" -eq "$req_major"; then
             if test "$minor" -ge "$req_minor"; then
                ok=yes
@@ -53,6 +66,19 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
     GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
     AC_MSG_RESULT([yes ($gpg_error_config_version)])
     ifelse([$2], , :, [$2])
+    gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none`
+    if test x"$gpg_error_config_host" != xnone ; then
+      if test x"$gpg_error_config_host" != x"$host" ; then
+  AC_MSG_WARN([[
+***
+*** The config script $GPG_ERROR_CONFIG was
+*** built for $gpg_error_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-gpg-error-prefix
+*** to specify a matching config script.
+***]])
+      fi
+    fi
   else
     GPG_ERROR_CFLAGS=""
     GPG_ERROR_LIBS=""
@@ -62,4 +88,3 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
   AC_SUBST(GPG_ERROR_CFLAGS)
   AC_SUBST(GPG_ERROR_LIBS)
 ])
-
index 66bc76f..085cd06 100644 (file)
@@ -1,5 +1,5 @@
-# iconv.m4 serial AM6 (gettext-0.17)
-dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
+# iconv.m4 serial 17 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -30,44 +30,55 @@ AC_DEFUN([AM_ICONV_LINK],
   dnl Add $INCICONV to CPPFLAGS before performing the following checks,
   dnl because if the user has installed libiconv and not disabled its use
   dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
   am_save_CPPFLAGS="$CPPFLAGS"
   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
 
-  AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <stdlib.h>
+#include <iconv.h>
+         ]],
+         [[iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);]])],
+      [am_cv_func_iconv=yes])
     if test "$am_cv_func_iconv" != yes; then
       am_save_LIBS="$LIBS"
       LIBS="$LIBS $LIBICONV"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+           ]],
+           [[iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);]])],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
       LIBS="$am_save_LIBS"
     fi
   ])
   if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [
-      dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+      dnl Solaris 10.
       am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
-      AC_TRY_RUN([
+      AC_RUN_IFELSE(
+        [AC_LANG_SOURCE([[
 #include <iconv.h>
 #include <string.h>
 int main ()
 {
+  int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
@@ -84,7 +95,47 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static const char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        const char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #if 0 /* This bug could be worked around by the caller.  */
@@ -103,7 +154,8 @@ int main ()
                             (char **) &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
-          return 1;
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #endif
@@ -117,13 +169,19 @@ int main ()
       && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
       /* Try HP-UX names.  */
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
-  return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
-        [case "$host_os" in
+    result |= 16;
+  return result;
+}]])],
+        [am_cv_func_iconv_works=yes],
+        [am_cv_func_iconv_works=no],
+        [
+changequote(,)dnl
+         case "$host_os" in
            aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
            *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac])
+         esac
+changequote([,])dnl
+        ])
       LIBS="$am_save_LIBS"
     ])
     case "$am_cv_func_iconv_works" in
@@ -134,7 +192,7 @@ int main ()
     am_func_iconv=no am_cv_lib_iconv=no
   fi
   if test "$am_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1,
+    AC_DEFINE([HAVE_ICONV], [1],
       [Define if you have the iconv() function and it works.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
@@ -147,17 +205,37 @@ int main ()
     LIBICONV=
     LTLIBICONV=
   fi
-  AC_SUBST(LIBICONV)
-  AC_SUBST(LTLIBICONV)
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
 ])
 
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [m4_ifdef([gl_00GNULIB],
+       [[AC_DEFUN_ONCE(
+           [$1], [$2])]],
+       [[AC_DEFUN(
+           [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
 [
   AM_ICONV_LINK
   if test "$am_cv_func_iconv" = yes; then
     AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
+    AC_CACHE_VAL([am_cv_proto_iconv], [
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
 #include <stdlib.h>
 #include <iconv.h>
 extern
@@ -169,12 +247,22 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si
 #else
 size_t iconv();
 #endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+           ]],
+           [[]])],
+        [am_cv_proto_iconv_arg1=""],
+        [am_cv_proto_iconv_arg1="const"])
       am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
       [Define as const if the declaration of iconv() needs const.])
+    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+    m4_ifdef([gl_ICONV_H_DEFAULTS],
+      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+       if test -n "$am_cv_proto_iconv_arg1"; then
+         ICONV_CONST="const"
+       fi
+      ])
   fi
 ])
index 1100387..73b2e26 100644 (file)
@@ -15,13 +15,14 @@ dnl              [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
 dnl Test for libksba and define KSBA_CFLAGS and KSBA_LIBS
 dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
 dnl with the API version to also check the API compatibility. Example:
-dnl a MINIMUN-VERSION of 1:1.0.7 won't pass the test unless the installed 
+dnl a MINIMUN-VERSION of 1:1.0.7 won't pass the test unless the installed
 dnl version of libksba is at least 1.0.7 *and* the API number is 1.  Using
 dnl this features allows to prevent build against newer versions of libksba
 dnl with a changed API.
 dnl
 AC_DEFUN([AM_PATH_KSBA],
-[ AC_ARG_WITH(ksba-prefix,
+[AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_ARG_WITH(ksba-prefix,
             AC_HELP_STRING([--with-ksba-prefix=PFX],
                            [prefix where KSBA is installed (optional)]),
      ksba_config_prefix="$withval", ksba_config_prefix="")
@@ -60,7 +61,7 @@ AC_DEFUN([AM_PATH_KSBA],
                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
     if test "$major" -gt "$req_major"; then
         ok=yes
-    else 
+    else
         if test "$major" -eq "$req_major"; then
             if test "$minor" -gt "$req_minor"; then
                ok=yes
@@ -99,6 +100,19 @@ AC_DEFUN([AM_PATH_KSBA],
     KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags`
     KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs`
     ifelse([$2], , :, [$2])
+    libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none`
+    if test x"$libksba_config_host" != xnone ; then
+      if test x"$libksba_config_host" != x"$host" ; then
+  AC_MSG_WARN([[
+***
+*** The config script $LIBKSBA_CONFIG was
+*** built for $libksba_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libksba-prefix
+*** to specify a matching config script.
+***]])
+      fi
+    fi
   else
     KSBA_CFLAGS=""
     KSBA_LIBS=""
index 7d1dbd3..6299501 100644 (file)
@@ -65,13 +65,21 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG],
      AC_PROG_AWK
 
      _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'"
+     # More recent versions of curl-config have a direct --vernum
+     # option, but we'd like this code to work with older versions as
+     # well, so just convert --version.
+     _libcurl_vernum_parse="eval $AWK '{printf \"0x%06X\",\$NF}'"
 
      _libcurl_try_link=yes
 
      if test -d "$_libcurl_with" ; then
         LIBCURL_CPPFLAGS="-I$withval/include"
         _libcurl_ldflags="-L$withval/lib"
-        AC_PATH_PROG([_libcurl_config],["$withval/bin/curl-config"])
+        if test -x "$withval/bin/curl-config" ; then
+          _libcurl_config="$withval/bin/curl-config"
+        else
+          _libcurl_config=
+        fi
      else
        AC_PATH_PROG([_libcurl_config],[curl-config])
      fi
@@ -184,6 +192,10 @@ x=CURLOPT_VERBOSE;
            AC_SUBST(LIBCURL_CPPFLAGS)
            AC_SUBST(LIBCURL)
 
+          _libcurl_vernum=`echo $_libcurl_version | $_libcurl_vernum_parse`
+
+          AC_DEFINE_UNQUOTED(LIBCURL_VERNUM,$_libcurl_vernum,[The version of the libcurl library in packed hex form])
+
            for _libcurl_feature in $_libcurl_features ; do
              AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1])
              eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes
@@ -224,6 +236,7 @@ x=CURLOPT_VERBOSE;
      unset _libcurl_protocol
      unset _libcurl_protocols
      unset _libcurl_version
+     unset _libcurl_vernum
      unset _libcurl_ldflags
   fi
 
index 854eaaa..6cf482f 100644 (file)
@@ -1,5 +1,5 @@
 dnl Autoconf macros for libgcrypt
-dnl       Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+dnl       Copyright (C) 2002, 2004, 2011 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; as a special exception the author gives
 dnl unlimited permission to copy and/or distribute it, with or without
@@ -15,13 +15,14 @@ dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
 dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
 dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
 dnl with the API version to also check the API compatibility. Example:
-dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed 
+dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
 dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1.  Using
 dnl this features allows to prevent build against newer versions of libgcrypt
 dnl with a changed API.
 dnl
 AC_DEFUN([AM_PATH_LIBGCRYPT],
-[ AC_ARG_WITH(libgcrypt-prefix,
+[ AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_ARG_WITH(libgcrypt-prefix,
             AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
                            [prefix where LIBGCRYPT is installed (optional)]),
      libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
@@ -31,7 +32,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
      fi
   fi
 
-  AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
+  AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
   tmp=ifelse([$1], ,1:1.2.0,$1)
   if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
      req_libgcrypt_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
@@ -59,7 +60,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
     if test "$major" -gt "$req_major"; then
         ok=yes
-    else 
+    else
         if test "$major" -eq "$req_major"; then
             if test "$minor" -gt "$req_minor"; then
                ok=yes
@@ -98,6 +99,19 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
     LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
     LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
     ifelse([$2], , :, [$2])
+    libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
+    if test x"$libgcrypt_config_host" != xnone ; then
+      if test x"$libgcrypt_config_host" != x"$host" ; then
+  AC_MSG_WARN([[
+***
+*** The config script $LIBGCRYPT_CONFIG was
+*** built for $libgcrypt_config_host and thus may not match the
+*** used host $host.
+*** You may want to use the configure option --with-libgcrypt-prefix
+*** to specify a matching config script.
+***]])
+      fi
+    fi
   else
     LIBGCRYPT_CFLAGS=""
     LIBGCRYPT_LIBS=""
index fecf500..eb68ea2 100644 (file)
@@ -56,8 +56,8 @@ XGETTEXT_ = @XGETTEXT@
 XGETTEXT_no = @XGETTEXT@
 XGETTEXT_yes = @XGETTEXT_015@
 XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGMERGE = msgmerge --previous
+MSGMERGE_UPDATE = @MSGMERGE@ --previous --update
 MSGINIT = msginit
 MSGCONV = msgconv
 MSGFILTER = msgfilter
index dc3c6f8..00c9692 100644 (file)
Binary files a/po/be.gmo and b/po/be.gmo differ
index 9282dad..9922128 100644 (file)
--- a/po/be.po
+++ b/po/be.po
@@ -6,16 +6,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2003-10-30 16:35+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
+"Language: be\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.0.2\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
@@ -25,21 +26,21 @@ msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -49,166 +50,169 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "пароль занадта доўгі\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "пароль занадта доўгі\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr ""
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "дрэнны MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "дрэнны пароль"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "дрэнны пароль"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "Увядзіце пароль\n"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -228,7 +232,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -331,7 +335,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
@@ -341,7 +345,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "Паўтарыце пароль\n"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -352,278 +356,283 @@ msgstr ""
 "Выбары:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "шматслоўнасьць"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "працаваць менш шматслоўна"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr ""
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr ""
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "Паўтарыце пароль\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr ""
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
 msgstr ""
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "запіс у stdout\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: тэчка створана\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr ""
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -632,7 +641,7 @@ msgstr ""
 "@Загады:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -644,48 +653,48 @@ msgstr ""
 "Выбары:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "дрэнны пароль"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "скасавана карыстальнікам\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr ""
@@ -800,8 +809,8 @@ msgstr "дрэнны пароль"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
@@ -841,12 +850,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
@@ -877,17 +886,17 @@ msgstr "скасавана карыстальнікам\n"
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr ""
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr ""
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr ""
@@ -1119,12 +1128,12 @@ msgstr "Гэты ключ згубіў састарэў!"
 msgid "Root certificate trustworthy"
 msgstr "дрэнны сэртыфікат"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "дрэнны сэртыфікат"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Даведка адсутнічае"
@@ -1204,7 +1213,7 @@ msgstr "нечаканыя даньні"
 msgid "invalid dash escaped line: "
 msgstr ""
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr ""
@@ -1221,7 +1230,7 @@ msgstr ""
 msgid "malformed CRC\n"
 msgstr ""
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "памылка CRC; %06lx - %06lx\n"
@@ -1234,16 +1243,16 @@ msgstr ""
 msgid "error in trailer line\n"
 msgstr ""
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr ""
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr ""
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1274,7 +1283,7 @@ msgstr ""
 msgid "not human readable"
 msgstr ""
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "сакрэтны ключ недаступны"
@@ -1284,8 +1293,8 @@ msgstr "сакрэтны ключ недаступны"
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr ""
 
@@ -1293,217 +1302,217 @@ msgstr ""
 msgid "This command is only available for version 2 cards\n"
 msgstr ""
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr ""
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr ""
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr ""
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "непадтрымліваецца"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr ""
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr ""
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "за шмат пераваг для \"%c\"\n"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "недапушчальныя дапомныя перавагі\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "недапушчальныя дапомныя перавагі\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr ""
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr ""
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1511,142 +1520,142 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Калі ласка, абярыце від ключа, які Вам патрэбны:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr ""
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr ""
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Калі ласка, абярыце від ключа, які Вам патрэбны:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "невядомы альгарытм сьцісканьня"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "сакрэтны ключ недаступны"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr ""
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr ""
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "несумяшчальныя загады\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "паказаць гэтую даведку"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Даведка адсутнічае"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr ""
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "за шмат пераваг для \"%c\"\n"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "стварыць новую пару ключоў"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "несумяшчальныя загады\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "несумяшчальныя загады\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "сакрэтны ключ недаступны"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Нерэчаісны загад (паспрабуйце \"help\")\n"
 
@@ -1654,18 +1663,18 @@ msgstr "Нерэчаісны загад (паспрабуйце \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr ""
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "немагчыма адкрыць \"%s\"\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1762,7 +1771,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr ""
@@ -1772,72 +1781,72 @@ msgstr ""
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr ""
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr ""
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr ""
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr ""
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr ""
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr ""
@@ -1934,196 +1943,196 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "No fingerprint"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "зрабіць адчэплены подпіс"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[файл]|зрабіць чысты тэкставы подпіс"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "зрабіць адчэплены подпіс"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "зашыфраваць даньні"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "шыфраваньне толькі сымэтрычнымі шыфрамі"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "разшыфраваць даньні (дапомна)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "праверыць подпіс"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "паказаць сьпіс ключоў"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "праверыць подпісы ключа"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "паказаць сакрэтныя ключы"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "стварыць новую пару ключоў"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr ""
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "выдаліць ключы са зьвязку грамадскіх ключоў"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "падпісаць ключ"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "падпісаць ключ толькі мясцова"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "падпісаць ці рэдагаваць ключ"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "дрэнны пароль"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "экспарт ключоў"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "экспартаваць ключы на паслужнік ключоў"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "імпартаваць ключы з паслужніка ключоў"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr ""
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "абнавіць усе ключы з паслужніка ключоў"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "імпартаваць/аб'яднаць ключы"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr ""
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr ""
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr ""
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ІМЯ|   зашыфраваць для вылучанай асобы"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr ""
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr ""
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "не рабіць ніякіх зьменаў"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "пытацца перад перазапісам"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2131,7 +2140,7 @@ msgstr ""
 "@\n"
 "(Глядзіце man старонку, для больш поўнага апісаньня ўсіх загадаў і выбараў)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2151,21 +2160,26 @@ msgstr ""
 " --list-keys [назвы]        паказаць ключы\n"
 " --fingerprint [назвы]      паказаць адбіткі пальцаў\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Сынтаксіс: gpg [выбары] [файлы]\n"
 "sign, check, encrypt ці decrypt\n"
 "Дапомнае дзеяньне залежыць ад уваходных даньняў\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2173,552 +2187,552 @@ msgstr ""
 "\n"
 "Альгарытмы, якія падтрымліваюцца:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr ""
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "Выкарыстаньне: gpg [выбары] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "несумяшчальныя загады\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "невядомая вэрсыя"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr ""
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr ""
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr ""
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s - гэта недапушчальнае мноства знакаў\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s - гэта недапушчальнае мноства знакаў\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr ""
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: недапушчальныя выбары імпартаваньня\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "недапушчальныя выбары імпартаваньня\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: недапушчальныя выбары імпартаваньня\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "недапушчальныя выбары імпартаваньня\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s - гэта недапушчальнае мноства знакаў\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s - гэта недапушчальнае мноства знакаў\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s - гэта недапушчальнае мноства знакаў\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: недапушчальныя выбары экспартаваньня\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr ""
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr ""
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s не дазваляецца разам з %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ня мае сэнсу разам з %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "запіс у stdout\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr ""
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr ""
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr ""
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "недапушчальныя дапомныя перавагі\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ня мае сэнсу разам з %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [назва_файла]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [назва_файла]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [назва_файла]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [назва_файла]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [назва_файла]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [назва_файла]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [назва_файла]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [назва_файла]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [назва_файла]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [назва_файла]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [загады]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[назва_файла]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr ""
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr ""
 
@@ -2755,467 +2769,481 @@ msgstr "Даведка адсутнічае"
 msgid "No help available for `%s'"
 msgstr "Для \"%s\" даведка адсутнічае"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr ""
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr ""
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr ""
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr ""
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr ""
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr ""
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr ""
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr ""
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr ""
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr ""
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr ""
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr ""
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "грамадскі ключ ня знойдзены"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr ""
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr ""
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr ""
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr ""
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr ""
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr ""
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr ""
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr ""
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr ""
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr ""
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr ""
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr ""
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr ""
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr ""
+#: g10/import.c:1205
+#, fuzzy, c-format
+msgid "secret key %s: %s\n"
+msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "сакрэтны ключ недаступны"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr ""
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr ""
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr ""
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr ""
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr ""
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr ""
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "%s: тэчка створана\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr ""
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr ""
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr ""
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr ""
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "%s:%d: недапушчальныя выбары экспартаваньня\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr ""
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr ""
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "Ключ абаронены.\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr ""
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr ""
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "%s: тэчка створана\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr ""
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr ""
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr ""
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr ""
@@ -3299,12 +3327,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr ""
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr ""
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -3477,8 +3505,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
@@ -3487,20 +3515,20 @@ msgstr "збой падпісаньня: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr ""
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr ""
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "сакрэтны ключ недаступны"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Ключ абаронены.\n"
 
@@ -3517,7 +3545,7 @@ msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr ""
 
@@ -3697,24 +3725,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Даступны сакрэтны ключ.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr ""
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr ""
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3722,161 +3750,161 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr ""
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 #, fuzzy
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "падпісаць ключ толькі мясцова"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "невядомая вэрсыя"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr ""
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr ""
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr ""
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr ""
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Захаваць зьмены? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Выйсьці не захаваўшы зьмены? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr ""
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr ""
@@ -3884,432 +3912,432 @@ msgstr ""
 "Выбары:\n"
 " "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr ""
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "памылка чытаньня файла"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "памылка чытаньня файла"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr "памылка чытаньня файла"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr ""
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr ""
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr ""
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr ""
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr ""
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr ""
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr ""
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr ""
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr ""
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "паказаць сьпіс ключоў і подпісаў"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr ""
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Калі ласка, абярыце від ключа, які Вам патрэбны:\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr ""
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr ""
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr ""
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Перазапісаць (y/N)?"
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "памылка чытаньня файла"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr ""
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr ""
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr ""
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr ""
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr ""
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr ""
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr ""
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "за шмат пераваг для \"%c\"\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "за шмат пераваг для \"%c\"\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "за шмат пераваг для \"%c\"\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "недапушчальныя дапомныя перавагі\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr ""
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr ""
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr ""
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr ""
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "зашыфраваць даньні"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4323,104 +4351,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr ""
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Калі ласка, абярыце від ключа, які Вам патрэбны:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr ""
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr ""
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr ""
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr ""
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr ""
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr ""
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr ""
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr ""
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr ""
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr ""
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4430,7 +4458,7 @@ msgid ""
 "      <n>y = key expires in n years\n"
 msgstr ""
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4440,48 +4468,48 @@ msgid ""
 "      <n>y = signature expires in n years\n"
 msgstr ""
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr ""
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr ""
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr ""
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr ""
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr ""
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4492,7 +4520,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4502,44 +4530,44 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr ""
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr ""
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr ""
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr ""
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr ""
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr ""
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr ""
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr ""
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr ""
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4547,11 +4575,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4566,29 +4594,29 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr ""
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr ""
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr ""
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
@@ -4597,12 +4625,12 @@ msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr ""
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4610,7 +4638,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4618,91 +4646,91 @@ msgid ""
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr ""
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr ""
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "запіс у stdout\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr ""
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr ""
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
 msgstr ""
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr ""
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr ""
@@ -4735,30 +4763,30 @@ msgstr ""
 msgid "Keyring"
 msgstr ""
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr ""
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -4838,460 +4866,460 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr ""
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "недапушчальныя выбары экспартаваньня\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "экспартаваць ключы на паслужнік ключоў"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "імпартаваць ключы з паслужніка ключоў"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "імпартаваць ключы з паслужніка ключоў"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "недапушчальныя выбары экспартаваньня\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "агульная памылка"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr ""
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr ""
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr ""
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr ""
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "%u-бітавы %s ключ, ID %08lX, створаны %s"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "Паўтарыце пароль\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Паўтарыце пароль\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 #, fuzzy
 msgid "encrypted with 1 passphrase\n"
 msgstr "Паўтарыце пароль\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr ""
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr ""
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr ""
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr ""
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr ""
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr ""
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 #, fuzzy
 msgid "Key available at: "
 msgstr "Даведка адсутнічае"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr ""
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr ""
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 #, fuzzy
 msgid "unknown"
 msgstr "невядомая вэрсыя"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr ""
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr ""
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr ""
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr ""
 "па больш падрабязныя зьвесткі шукайце на http://www.gnupg.org/faq.html\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr ""
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr ""
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr ""
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr ""
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr ""
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "невядомая вэрсыя"
@@ -5334,16 +5362,16 @@ msgstr ""
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr ""
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr ""
@@ -5399,7 +5427,7 @@ msgstr "%u-бітавы %s ключ, ID %08lX, створаны %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5408,34 +5436,34 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr ""
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr ""
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr ""
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr ""
 
@@ -5467,6 +5495,16 @@ msgstr ""
 msgid "revocation comment: "
 msgstr ""
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr ""
@@ -5637,66 +5675,66 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr ""
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr ""
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr ""
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr ""
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr ""
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr ""
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr ""
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr ""
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr ""
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
@@ -5974,17 +6012,22 @@ msgstr ""
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr ""
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -6062,7 +6105,7 @@ msgstr ""
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr ""
@@ -6107,17 +6150,17 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "памылка чытаньня файла"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -6126,117 +6169,117 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr ""
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr ""
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "немагчыма адкрыць \"%s\"\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr ""
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr ""
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr ""
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr ""
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr ""
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr ""
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr ""
 
@@ -6250,172 +6293,180 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr ""
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr ""
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr ""
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr ""
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr ""
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "памылка чытаньня файла"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "невядомая вэрсыя"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr ""
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr ""
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6437,76 +6488,76 @@ msgstr ""
 msgid "can't open fd %d: %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "сакрэтны ключ недаступны"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "памылка чытаньня файла"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "пароль занадта доўгі\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr ""
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "несумяшчальныя загады\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "недапушчальныя выбары імпартаваньня\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "непадтрымліваецца"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "недапушчальныя выбары імпартаваньня\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Нерэчаісны загад (паспрабуйце \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "непадтрымліваецца"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "недапушчальныя выбары імпартаваньня\n"
@@ -6516,22 +6567,17 @@ msgstr "недапушчальныя выбары імпартаваньня\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "памылка стварэньня \"%s\": %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
@@ -6588,24 +6634,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6654,207 +6701,221 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "Паўтарыце пароль\n"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "Паўтарыце пароль\n"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "Паўтарыце пароль\n"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Калі ласка, абярыце від ключа, які Вам патрэбны:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "Паўтарыце пароль\n"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "Паўтарыце пароль\n"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "стварыць новую пару ключоў"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "стварыць новую пару ключоў"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "стварыць новую пару ключоў"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "Паўтарыце пароль\n"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6863,70 +6924,74 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr ""
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|НАЗВА|     задаць назву дапомнага сакрэтнага ключа"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|НАЗВА|     задаць назву дапомнага сакрэтнага ключа"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr ""
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "несумяшчальныя загады\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -6964,11 +7029,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "даведка (help)"
@@ -7000,206 +7065,207 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "сакрэтны ключ недаступны"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr ""
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "збой падпісаньня: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "сакрэтны ключ недаступны"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Гэты ключ згубіў састарэў!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Гэты ключ згубіў састарэў!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Гэты ключ згубіў састарэў!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Гэты ключ згубіў састарэў!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "дрэнны сэртыфікат"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "дрэнны сэртыфікат"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr ""
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "праверыць подпіс"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "дрэнны сэртыфікат"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "дрэнны сэртыфікат"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7264,19 +7330,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7478,7 +7544,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
@@ -7612,7 +7678,7 @@ msgstr "выдаліць ключы са зьвязку грамадскіх к
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|НАЗВА|     задаць назву дапомнага сакрэтнага ключа"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ВУЗЕЛ|     выкарыстоўваць гэты паслужнік для пошуку ключоў"
@@ -7636,8 +7702,8 @@ msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для 
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Сынтаксіс: gpg [выбары] [файлы]\n"
 "sign, check, encrypt ці decrypt\n"
@@ -7673,26 +7739,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr ""
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7709,12 +7775,7 @@ msgstr ""
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
@@ -7729,46 +7790,42 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "error reading input: %s\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "%s: тэчка створана\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
@@ -7952,149 +8009,149 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "Паўтарыце пароль\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|НАЗВА|     задаць назву дапомнага сакрэтнага ключа"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|ІМЯ|   зашыфраваць для вылучанай асобы"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr ""
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8353,6 +8410,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "памылка стварэньня \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Загад> "
 
index 9bd4784..ba8111b 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 9c1df8c..6d48b94 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -27,15 +27,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2005-02-04 02:04+0100\n"
 "Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
+"Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
@@ -45,21 +46,21 @@ msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -69,166 +70,169 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "la línia és massa llarga\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "la contrasenya és massa llarga\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Hi ha un caràcter invàlid en el camp *nom*\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "l'MPI és erroni"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "la contrasenya és errònia"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "la contrasenya és errònia"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "l'algoritme de protecció %d%s no està suportat\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "no s'ha pogut obrir «%s»: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr ""
 "no s'ha trobat cap anell secret de escrivible: %s\n"
 "\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "canvia la contrasenya"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -249,7 +253,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -356,7 +360,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Cal una contrasenya per a protegir la clau secreta.\n"
 "\n"
@@ -366,7 +370,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "canvia la contrasenya"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -377,285 +381,300 @@ msgstr ""
 "Opcions:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
 # Un dels dos és en la llista d'opcions amb --help. Urgh. jm
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "detall"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "una mica més silenciós"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "cerca claus en un servidor de claus"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "actualitza la base de dades de confiança"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+# Gènere?  Nombre?  ivb
+# Werner FIXME: please add translator comment saying *what* is
+# uncompressed so we know the gender. jm
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "no és suportat"
 
-#: agent/gpg-agent.c:182
+# Gènere?  Nombre?  ivb
+# Werner FIXME: please add translator comment saying *what* is
+# uncompressed so we know the gender. jm
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "no és suportat"
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: no existeix el fitxer d'opcions predeterminades «%s»\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fitxer d'opcions «%s»: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "s'estan llegint opcions de «%s»\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "no es pot crear el directori «%s»: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, fuzzy, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "Certificat de revocació vàlid"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: s'ha creat el directori\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: no s'ha pogut crear el directori: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "ha fallat l'actualització de la clau secreta: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu claus es descarta\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "la variable d'entorn GPG_AGENT_INFO és malformada\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "la versió %d del protocol de gpg-agent no està suportada\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -664,7 +683,7 @@ msgstr ""
 "@Ordres:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -676,51 +695,51 @@ msgstr ""
 "Opcions:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "la contrasenya és errònia"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Cancel·la"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
@@ -836,8 +855,8 @@ msgstr "canvia la contrasenya"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
@@ -877,12 +896,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "%s: no s'ha trobat l'usuari\n"
@@ -916,18 +935,18 @@ msgid "problem with the agent\n"
 msgstr "hi ha un problema amb l'agent: l'agent ha tornat 0x%lx\n"
 
 # bolcats de memòria?  ivb
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "no s'han pogut desactivar els bolcats de memòria: %s\n"
 
 # Indi. ivb
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
@@ -1177,12 +1196,12 @@ msgstr ""
 "No s'han trobat certificats amb confiança no definida.\n"
 "\n"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "Certificat correcte"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "La clau és disponible en: "
@@ -1267,7 +1286,7 @@ msgstr "armadura inesperada:"
 msgid "invalid dash escaped line: "
 msgstr "la línia escapada amb guió és invàlida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "el caràcter radix64 %02x invàlid s'ha omés\n"
@@ -1284,7 +1303,7 @@ msgstr "fi de fitxer prematur (en CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC malformat\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "error de CRC; %06lx - %06lx\n"
@@ -1298,16 +1317,16 @@ msgstr "fí de fitxer prematur (al final)\n"
 msgid "error in trailer line\n"
 msgstr "error en l'última línia\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "no s'han trobat dades OpenPGP vàlides.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "l'armadura és invàlida: la línia és més llarga que %d caràcters\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1343,7 +1362,7 @@ msgstr "AVÍS: s'hi han trobat dades de notació invàlides\n"
 msgid "not human readable"
 msgstr "no llegible per humans"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "la clau secreta no està disponible"
@@ -1355,8 +1374,8 @@ msgstr ""
 
 # Destès? ivb
 # Desatès, sí. jm
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "no es pot fet això en mode desatès\n"
@@ -1367,31 +1386,31 @@ msgid "This command is only available for version 2 cards\n"
 msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
 
 # Parts?  Peces?  ivb
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "parts de la clau secreta no estan disponbles\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "La vostra selecció? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[no establert]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "home"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "dóna"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "no especificat"
 
@@ -1399,192 +1418,192 @@ msgstr "no especificat"
 # Probablement és una clau, femení. jm
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "no forçat"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "forçat"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "no hi ha cap clau pública corresponent: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferències actualitzades"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "hi ha un caràcter invàlid en la cadena de preferència\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "hi ha un caràcter invàlid en la cadena de preferència\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Empremta digital:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "no s'han trobat dades OpenPGP vàlides.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arrodonida fins a %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1592,144 +1611,144 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Seleccioneu quin tipus de clau voleu:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr ""
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (només xifrar)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "La selecció és invàlida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Seleccioneu la raó de la revocació:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "l'algorisme de protecció és desconegut\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Les parts secretes de la clau primària no estan disponibles.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ix del menú"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "les ordres entren en conflicte\n"
 
 # «pantalla» o «ajuda»?  ivb
 # «ajuda», evidentment. jm
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "mostra aquesta ajuda"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "La clau és disponible en: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "canvia la data de caducitat"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "canvia la confiança"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra empremta"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "genera un nou parell de claus"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "les ordres entren en conflicte\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr ""
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr ""
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "L'ordre no és vàlida (proveu «help»)\n"
 
@@ -1737,18 +1756,18 @@ msgstr "L'ordre no és vàlida (proveu «help»)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output no funciona per a aquesta ordre\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "no s'ha pogut obrir «%s»\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1856,7 +1875,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "forçar el xifrat asimètric %s (%d) viola les preferències del destinatari\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "no podeu usar %s mentre esteu en mode %s\n"
@@ -1866,82 +1885,82 @@ msgstr "no podeu usar %s mentre esteu en mode %s\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s xifrat per a: «%s»\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "dades xifrades amb %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "xifrat amb l'algoritme %d (desconegut)\n"
 
 # És no-wrap?  ivb
 # Com? jm
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ATENCIÓ: el missatge s'ha xifrat amb una clau feble durant el xifratge\n"
 "simètric.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problema en tractar amb un paquet xifrat\n"
 
 # Execució de programes remots, o execució remota de programes? jm
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "no hi ha suport per a l'execució remota de programes\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "les crides a programes externs estan inhabilitades per tindre el fitxer "
 "d'opcions permissos insegurs\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "aquesta plataforma necessita fitxers temporals quan es crida a programes "
 "externs\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "no s'ha pogut executar %s «%s»: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "no s'ha pogut executar %s «%s»: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "s'ha produït un error del sistema en cridar el programa extern: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "s'ha produït una eixida no natural del programa extern\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "no s'ha pogut executar el programa extern\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "no s'ha pogut llegir la resposta del programa extern: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el directori temporal «%s»: %s\n"
@@ -2045,204 +2064,204 @@ msgstr "error en crear «%s»: %s\n"
 msgid "No fingerprint"
 msgstr "Empremta digital:"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "La clau invàlida %08lX s'ha fet vàlida amb --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "no hi ha una clau secreta per a la subclau pública %08lX - es descarta\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "s'usarà la clau secundària %08lX en lloc de la primària %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "clau %08lX: clau secreta sense clau pública - es descarta\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "|[fitxer]|crea una signatura"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fitxer]|crea una signatura en text clar"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "crea una signatura separada"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "xifra dades"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "xifra només amb xifratge simètric"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "desxifra dades (predeterminat)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifica una signatura"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "llista claus"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "llista claus i signatures"
 
 # «de les claus» o «de la clau»?  ivb
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "comprova les signatures de la claus"
 
 # «dactilars» o «digitals»?  ivb
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "llista claus i empremtes digitals"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "llista claus secretes"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "genera un certificat de revocació"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "elimina claus de l'anell públic"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "elimina claus de l'anell secret"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "signa una clau"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "signa una clau localment"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "signa o edita una clau"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "canvia la contrasenya"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exporta claus"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exporta claus a un servidor de claus"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importa claus d'un servidor de claus"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "cerca claus en un servidor de claus"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "actualitza totes les claus des d'un servidor de claus"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importa/fon claus"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "actualitza la base de dades de confiança"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fitxers]|imprimeix resums de missatges"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "crea eixida amb armadura ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOM|xifra per a NOM"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "usa aquest id per a signar o desxifrar"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nivell de compressió N (0 no comprimeix)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usa el mode de text canònic"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "no fa cap canvi"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "pregunta abans de sobreescriure"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2253,7 +2272,7 @@ msgstr ""
 # Crec q (A)lice (orig.), (B)ob (dest.), etc. són noms usats pel Zimmerman
 # en el manual original de PGP.  A, B, C...  ivb
 # En efecte. Idem per a Mallory més endavant. Els deixe com a l'original. jm
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2273,15 +2292,20 @@ msgstr ""
 " --list-keys [noms]         mostra claus\n"
 " --fingerprint [noms]       mostra empremtes digitals\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxi: gpg [opcions] [fitxers]\n"
 "signa, comprova, xifra o desxifra\n"
@@ -2292,7 +2316,7 @@ msgstr ""
 # Precissament acabem de parlar d'«implementat a la llista del GNOME
 # i s'ha dit que és erroni, igual que «suportat» :) Les alternatives
 # encara no m'agraden massa... jm
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2300,571 +2324,571 @@ msgstr ""
 "\n"
 "Algoritmes suportats:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Clau pública: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Xifratge: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Dispersió: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compressió: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "forma d'ús: gpg [opcions] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "les ordres entren en conflicte\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no s'ha trobat cap signe = a la definició de grup «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "s'ha creat el nou fitxer d'opcions «%s»\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mostra en quin anell de claus està una clau llistada"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTA: es descarta el fitxer d'opcions predeterminades antic «%s»\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: %s no és per a ús normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opcions d'importanció no vàlides\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opcions d'importanció no vàlides\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "no s'ha pogut fixar l'exec-path a %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVÍS: el programa podria crear un fitxer core!\n"
 
 # FIXME: preferència? jm
 # Ho discutírem en la llista, segur.  Deu ser als arxius.  ivb
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVÍS: %s té preferència sobre %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s no és permés amb %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s no té sentit amb %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
 # clares -> en clar?  ivb
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "només podeu fer signatures separades o en clar en el mode --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "no podeu signar i xifrar al mateix temps en el mode --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "heu d'utilitzar fitxers (i no un conducte) mentre treballeu amb --pgp2 "
 "habilitat.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "xifrar un missatge en mode --pgp2 requereix el xifratge IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algorisme de xifratge triat no és vàlid\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "l'algorisme de resum seleccionat no és vàlid\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "l'algorisme de xifratge triat no és vàlid\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "l'algorisme de resum de certificació seleccionat no és vàlid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed ha de ser major que 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed ha de ser major que 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth ha d'estar en el rang 1 a 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 #, fuzzy
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-check-level és invàlid; ha de ser 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 #, fuzzy
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "default-check-level és invàlid; ha de ser 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: el mode S2K simple (0) no és gens recomanable\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "el mode S2K és invàlid; ha de ser 0, 1 o 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "les preferències per defecte són invàlides\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "les preferències personals de xifrat són invàlides\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "les preferències personals de digest són invàlides\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "les preferències personals de compressió són invàlides\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s encara no funciona amb %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "no podeu usar l'algorisme de xifratge «%s» mentre esteu en mode %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "no podeu usar l'algorisme de resum %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "no podeu usar l'algorisme de compressió %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVÍS: s'han donat destinataris (-r) sense usar xifratge de clau pública\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nom_del_fitxer]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nom_del_fitxer]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "ha fallat el desxifratge: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nom_del_fitxer]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [nom_del_fitxer]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "no podeu usar %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nom_del_fitxer]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nom_del_fitxer]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [nom_del_fitxer]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "no podeu usar %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [nom_del_fitxer]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nom_del_fitxer]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nom_del_fitxer]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [ordres]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "l'enviament al servidor de claus ha fallat: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "la recepció des del servidor de claus ha fallat: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "l'exportació de la clau ha fallat: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "ha fallat la cerca al servidor de claus: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "ha fallat el refresc des del servidor de claus: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "no s'ha pogut llevar l'armadura: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "l'algoritme de dispersió és invàlid «%s»\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nom_del_fitxer]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Endavant, escriviu el missatge...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "la URL de política de certificació donada no és vàlida\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la URL de política de signatura donada no és vàlida\n"
@@ -2905,313 +2929,327 @@ msgstr "No hi ha ajuda disponible"
 msgid "No help available for `%s'"
 msgstr "No hi ha ajuda disponible per a `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "actualitza la base de dades de confiança"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "la clau pública no coincideix amb la clau secreta!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "la clau secreta és inusable"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "es descarta un bloc de tipus %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "fins ara s'han processat %lu claus\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Nombre total processat: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr " claus noves descartades: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                sense ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importades: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          no modificades: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       ID d'usuaris nous: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "          subclaus noves: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        signatures noves: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "       noves revocacions: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " claus privades llegides: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "claus privades importades: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "claus privades no canviades: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              importades: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        signatures noves: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " claus privades llegides: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "clau %08lX: sense ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "es descarta «%s»: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "clau %08lX: corrupció de la subclau HKP reparada\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "clau %08lX: s'ha acceptat la ID d'usuari no autosignada «%s»\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "clau %08lX: l'ID no és vàlid\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "açò pot ser causat per l'absència d'autosignatura\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "clau %08lX: no s'ha trobat la clau pública: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "clau %08lX: clau nova - es descarta \n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no s'ha trobat cap anell escrivible: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "s'està escrivint en «%s»\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "clau %08lX: s'ha importat la clau pública «%s»\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "clau %08lX: no correspon a la nostra còpia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "clau %08lX: no s'ha trobat el bloc de claus original: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "clau %08lX: no s'ha pogut llegir el bloc de claus original: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "clau %08lX: «%s» 1 ID d'usuari nou\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "clau %08lX: «%s» 1 signatura nova\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "clau %08lX: «%s» 1 subclau nova\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "clau %08lX: «%s» %d subclaus noves\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "clau %08lX: «%s» no ha estat modificada\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "clau %08lX: clau secreta amb xifrat %d no vàlid - es descarta\n"
+msgid "secret key %s: %s\n"
+msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "clau %08lX: clau secreta amb xifrat %d no vàlid - es descarta\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "no hi ha anell secret predeterminat: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "clau %08lX: s'ha importat la clau secreta\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "clau %08lX: ja es troba en l'anell privat\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "clau %08lX: no s'ha trobat la clau secreta: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
@@ -3221,174 +3259,174 @@ msgstr ""
 # O «rebutjara»? ivb
 # Per tots els canvis d'anglicisme «ignorat» -> «es descarta»,
 # «es rebutja» està bé. jm
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "clau %08lX: el certificat de revocació és invàlid: %s: es rebutja\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "clau %08lX: s'ha importat el certificat de revocació «%s»\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "clau %08lX: no hi ha ID per a la signatura\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
-"clau %08lX: l'algoritme de clau pública no es suporta sobre l'id d'usuari «%"
-"s»\n"
+"clau %08lX: l'algoritme de clau pública no es suporta sobre l'id d'usuari "
+"«%s»\n"
 "\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "clau %08lX: l'autosignatura no és vàlida en l'id d'usuari «%s»\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "clau %08lX: l'algoritme de clau pública no és suportat\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "clau %08lX: s'ha afegit la signatura de clau directa\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "clau %08lX: no hi ha una subclau per a l'enllaç de la clau\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "clau %08lX: l'enllaç de subclau és invàlid\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "clau %08lX: s'ha eliminat un enllaç de subclau múltiple\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "clau %08lX: no hi ha una subclau per a la clau de revocació\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "clau %08lX: Subclau de revocació no vàlida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "clau %08lX: s'han eliminat subclaus de revocació múltiples\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "clau %08lX: es descarta l'ID d'usuari '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "clau %08lX: es descarta la subclau\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "clau %08lX: la signatura és inexportable (classe %02x) - es descarta\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "clau %08lX: el certificat de revocació és en el lloc equivocat - es "
 "descarta\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "clau %08lX: el certificat de revocació és invàlid: %s - es descarta\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "clau %08lX: la signatura de la subclau és en el lloc equivocat - es "
 "descarta\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 "clau %08lX: la classe de signatura és inesperada (0x%02x) - es descarta\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "clau %08lX: s'ha detectat un ID d'usuari duplicat - es fusiona\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"AVÍS: la clau %08lX pot estar revocada: s'adquireix la clau de revocació %"
-"08lX\n"
+"AVÍS: la clau %08lX pot estar revocada: s'adquireix la clau de revocació "
+"%08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVÍS: la clau %08lX pot estar revocada: la clau de revocació %08lX no està "
 "present.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "clau %08lX: s'hi ha afegit el certificat de revocació «%s»\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "clau %08lX: s'ha afegit la signatura de clau directa\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "la clau pública no coincideix amb la clau secreta!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "s'ha creat l'anell «%s»\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
@@ -3476,14 +3514,14 @@ msgid "User ID \"%s\" is revoked."
 msgstr "L'ID d'usuari «%s» està revocat."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Segur que encara voleu signarla? (s/N) "
 
 # O no s'ha pogut? ivb
 # FIXME: comprovar context. jm
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  No es pot signar.\n"
 
@@ -3694,8 +3732,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Signar realment? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Ha fallat el procés de signatura: %s\n"
@@ -3704,20 +3742,20 @@ msgstr "Ha fallat el procés de signatura: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Aquesta clau no està protegida.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Les parts secretes de la clau primària no estan disponibles.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Les parts secretes de la clau primària no estan disponibles.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "La clau està protegida.\n"
 
@@ -3734,7 +3772,7 @@ msgstr ""
 "Introduïu la nova contrasenya per a la clau secreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "la contrasenya no s'ha repetit correctament; torneu a intentar-ho"
 
@@ -3942,24 +3980,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "error en llegir el bloc de claus secretes «%s»: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "La clau secreta està disponible.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Cal la clau secreta per a fer açò.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Useu l'ordre «toggle» abans.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3967,247 +4005,247 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "La clau està revocada."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Realment voleu signar tots els ID d'usuari? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Pista: Trieu els ID d'usuari que voleu signar\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "la classe de signatura és desconeguda"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Heu de seleccionar al menys un ID d'usuari.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "No podeu esborrar l'últim ID d'usuari!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Realment voleu eliminar tots els ID d'usuari seleccionats? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Realment voleu eliminar aquest ID d'usuari? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Realment voleu esborrar aquesta autosignatura? (s/N)"
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Heu de seleccionar, si més no, una clau.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "no s'ha pogut obrir «%s»: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Heu de seleccionar, si més no, una clau.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Realment voleu eliminar les claus seleccionades? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Realment voleu eliminar aquesta clau? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Realment voleu revocar tots els ID d'usuari seleccionats? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Realment voleu eliminar aquest ID d'usuari? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Realment voleu revocar aquesta clau? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Realment voleu revocar les claus seleccionades? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Realment voleu revocar aquesta clau? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "estableix la llista de preferències"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Realment voleu actualitzar les preferències? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Voleu desar els canvis? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Voleu eixir sense desar? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "ha fallat l'actualització de la clau secreta: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "La clau no ha canviat, per tant no cal actualització.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Resum: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Funcionalitats: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notació: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "No hi ha preferències en un ID d'usuari d'estil PGP 2.x.\n"
 
 # Potser %s haja d'anar darrere de «clau».  ivb
 # És cert. Nova funcionalitat de 1.2.0, IIRC. jm
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Aquesta clau pot ser revocada per la clau %s "
 
 # Potser %s haja d'anar darrere de «clau».  ivb
 # És cert. Nova funcionalitat de 1.2.0, IIRC. jm
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Aquesta clau pot ser revocada per la clau %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensible)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "no s'ha pogut creat %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revocada]"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr ""
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Aquesta clau ha estat desactivada"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4215,19 +4253,19 @@ msgstr ""
 "Teniu en compte que la validesa de la clau mostrada no és necessàriament\n"
 "correcta a no ser que torneu a executar el programa.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[revocada]"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4237,7 +4275,7 @@ msgstr ""
 "assumida.\n"
 
 # Photo ID com abans.  ivb
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4246,78 +4284,78 @@ msgstr ""
 "AVÍS: Aquesta és una clau d'estil PGP2. Afegir un photo ID pot fer que "
 "algunes versions de PGP rebutgen aquesta clau.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Esteu segur que encara voleu afegir-lo? (s/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "No podeu afegir un photo ID a una clau d'estil PGP2.\n"
 
 # Aquesta i les següents no haurien de portar (s/N/q) i no (y/N/q)?  ivb
 # Hmm. Sí... (s/N/x) jm
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura correcta? (s/N/x)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura invàlida? (s/N/x)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura desconeguda? (s/N/x)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Realment voleu esborrar aquesta autosignatura? (s/N)"
 
 # Werner FIXME: use ngettext. jm
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "S'ha esborrat %d signatura.\n"
 
 # Werner FIXME: use ngettext. jm
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "S'han esborrat %d signatures.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "No s'hi ha eliminat res.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "invàlida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4326,283 +4364,283 @@ msgstr ""
 "AVÍS: Aquesta és una clau d'estil PGP 2.x. Afegir un revocador designat pot\n"
 "fer que algunes versions de PGP rebutjen aquesta clau.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "No podeu afegir un revocador designat a una clau d'estil PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduïu l'ID d'usuari del revocador designat: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "no es pot nominar a una clau d'estil PGP 2.x com a revocador designat\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "no podeu nominar una clau com el seu propi revocador designat\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "no podeu nominar una clau com el seu propi revocador designat\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVÍS: no es pot desfer la nominació d'una clau com a revocador designat!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Esteu segur que voleu nominar aquesta clau com a revocador designat? (s/N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Per favor, elimineu les seleccions de les claus secretes.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Per favor, seleccioneu com a molt una clau secundària.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "S'està canviant la data de caducitat per a una clau secundària.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "S'està canviant la data de caducitat per a una clau primària.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "No podeu canviar la data de caducitat de les claus v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVÍS: no es pot desfer la nominació d'una clau com a revocador designat!\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Heu de seleccionar exactament un ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "es descarta l'autosignatura v3 en l'id d'usuari «%s»\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Esteu segur que encara voleu utilitzarla (s/N)? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Esteu segur que encara voleu utilitzarla (s/N)? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notació de signatura: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Voleu sobreescriure? (s/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID d'usuari: «"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 "»\n"
 "signat amb la vostra clau %08lX el %s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (no-exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Aquesta signatura va caducar el %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Esteu segur de que encara voleu revocarla? (s/N) "
 
 # (s/N) ivb
 # S! jm
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Voleu crear un certificat de revocació per a aquesta signatura? (s/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Heu signat els següents ID d'usuari:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (no-exportable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revocat per %08lX el %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Esteu a punt de revocar aquestes signatures:\n"
 
 # (s/N)?  ivb
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Realment voleu crear els certificats de revocació? (s/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "ho hi ha clau secreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "AVÍS: una signatura d'ID d'usuari està datada %d segons en el futur\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "S'està mostrant el photo ID %s de mida %ld per a la clau 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "la preferència %c%lu és duplicada\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "hi ha massa preferències «%c»\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "hi ha massa preferències «%c»\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "hi ha massa preferències «%c»\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "hi ha un caràcter invàlid en la cadena de preferència\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "s'està escrivint una signatura directa\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "s'està escrivint l'autosignatura\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "s'està escrivint la signatura de comprovació de la clau\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "la mida de la clau és invàlida; s'hi usaran %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "la mida de la clau ha estat arrodonida fins a %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "xifra dades"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4616,104 +4654,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr ""
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Seleccioneu quin tipus de clau voleu:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA i ElGamal (predeterminat)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA i ElGamal (predeterminat)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (només signar)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (només signar)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (només xifrar)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (només xifrar)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (només signar)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (només xifrar)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "La grandària sol·licitada és %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4729,7 +4767,7 @@ msgstr ""
 "      <n>m = la clau caduca als n mesos\n"
 "      <n>y = la clau caduca als n anys\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4745,42 +4783,42 @@ msgstr ""
 "      <n>m = la signatura caduca als n mesos\n"
 "      <n>y = la signatura caduca als n anys\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Indiqueu la validesa de la clau (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Indiqueu la validesa de la signatura (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "el valor no és vàlid\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s no caduca en absolut\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s no caduca en absolut\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s caduca el %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Aquesta signatura caduca el %s\n"
 
 # Amb «it» es refereix a les dates?  ivb
 # Això vaig entendre jo. jm
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4788,12 +4826,12 @@ msgstr ""
 "El vostre sistema no pot representar dates posteriors a l'any 2038.\n"
 "Tanmateix, les tractarà bé fins l'any 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "És correcte? (s/n)"
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4804,7 +4842,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4821,44 +4859,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nom i cognoms: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Hi ha un caràcter invàlid en el camp *nom*\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "El nom no pot començar amb un dígit\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "El nom ha de tenir, si més no, 5 caràcters\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Adreça electrònica: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "No és una adreça vàlida\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentari: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Hi ha un caràcter invàlid en el camp *comentari*\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Esteu usant el joc de caràcters `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4869,11 +4907,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "No inclogueu l'adreça ni en el camp *nom* ni en el camp *comentari*\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4890,23 +4928,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoXx"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Canvia (N)om, (C)omentari, (E)mail o (X) ix "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Canvia (N)om, (C)omentari, (E)mail o (O) d'acord / (X) ix"
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Corregiu l'error primer\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4914,19 +4952,19 @@ msgstr ""
 "Cal una contrasenya per a protegir la clau secreta.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4938,7 +4976,7 @@ msgstr ""
 "useu aquest programa amb l'opció \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4950,53 +4988,53 @@ msgstr ""
 "nombres primers; açò dóna oportunitat al generador de nombres aleatoris\n"
 "d'aconseguir prou entropia.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "La generació de claus ha estat cancel·lada.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "s'està escrivint la clau pública a «%s»\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
 # Potser no hi haja cap anell! ivb
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "no s'ha trobat cap anell públic escrivible: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr ""
 "no s'ha trobat cap anell secret de escrivible: %s\n"
 "\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell públic «%s»: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "s'han creat i signat les claus pública i secreta.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -5005,13 +5043,13 @@ msgstr ""
 "Noteu que aquesta clau no serveix per a xifrar. Potser vulgueu usar l'ordre\n"
 "\"--edit-key\" per a generar una clau secundària per a tal propòsit.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
 # Werner FIXME: Use ngettext. jm
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -5020,7 +5058,7 @@ msgstr ""
 "amb el rellotge)\n"
 
 # Werner FIXME: use ngettext. jm
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -5028,26 +5066,26 @@ msgstr ""
 "la clau s'ha creat %lu segons en el futur (salt en el temps o problemes\n"
 "amb el rellotge)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTA: crear subclaus per a claus v3 no és conforme amb OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Crear realment? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr ""
@@ -5080,30 +5118,30 @@ msgstr "Notació de signatura: "
 msgid "Keyring"
 msgstr "Anell"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Empremtes digital de la clau primària:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Empremta digital de la subclau:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Empremta digital de la clau primària:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Empremta digital de la subclau:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Empremta digital ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5187,446 +5225,446 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "AVÍS: les opcions en «%s» encara no estan actives durant aquesta execució\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr ""
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
 # «del servidor», «en el servidor»?  ivb
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "error de servidor de claus"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "no es coneix cap servidor de claus (useu l'opció \"--keyserver\")\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
 # «del servidor», «en el servidor»?  ivb
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "error de servidor de claus"
 
 # «del servidor», «en el servidor»?  ivb
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "error de servidor de claus"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "la recepció des del servidor de claus ha fallat: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: no és un ID vàlid\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "mida extranya per a una clau de sessió xifrada (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "clau de sessió xifrada amb %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "xifrat amb l'algoritme %d (desconegut)\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "la clau pública és %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dades xifrades amb clau pública: bona clau de xifratge (DEK)\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "xifrat amb una clau %2$s de %1$u bits, ID %3$08lX, creada en %4$s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "xifrat amb una clau %s, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "ha fallat el desxifratge amb la clau pública: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "xifrat amb %lu contrasenyes\n"
 
 # FIXME WK: Use ngettext
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "xifrat amb 1 contrasenya\n"
 
 # I no serà «dades xifrades amb %s»?  ivb
 # Sembla que sí, ho marque per a mirar-ho més endavant. jm
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "s'assumeixen dades xifrades amb %s\n"
 
 # L'optimístic és aquell que té una Fe Cega en que Tot Anirà Bé!  ivb
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "El xifratge IDEA no està disponible, s'intentarà utilitzar optimistament %s "
 "en el seu lloc\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "desxifratge correcte\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVÍS: el missatge no tenia protecció d'integritat\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVÍS: el missatge xifrat ha estat manipulat!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "ha fallat el desxifratge: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: el remitent ha sol·licitat \"alt secret\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nom del fitxer original='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocació autònoma: useu \"gpg --import\" per a aplicar-la\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Signatura correcta de \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "s'ha eliminat la verificació de signatura\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "no es poden tractar aquestes signatures múltiples\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Aquesta signatura va caducar el %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "              alias \""
 
 # «%.*s» no serà una data?  Caldrà «el» al davant.  ivb
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatura creada el %.*s usant una clau %s ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "La clau és disponible en: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Signatura INCORRECTA de \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Signatura caducada de \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Signatura correcta de \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[incert]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "              alias \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Aquesta signatura va caducar el %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Aquesta signatura caduca el %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binari"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "mode text"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "desconeguda"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "No s'ha pogut comprovar la signatura: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "no és una signatura separada\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVÍS: s'han detectat múltiples signatures. Només es comprovarà la primera.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "signatura autònoma de classe 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signatura de l'estil antic (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "s'ha detectat un paquet arrel invàlid en proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "ha fallat l'actualització de la base de dades de confiança: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "no es pot treballar amb l'algoritme de clau pública %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "l'algoritme de xifratge no és implementat"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "el mòdul de xifratge IDEA no està present\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = mostra més informació\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: l'opció «%s» està desaconsellada.\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "si us plau, utilitzeu «%s%s» en el seu lloc\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
@@ -5634,7 +5672,7 @@ msgstr "AVÍS: %s és una opció desaconsellada.\n"
 # Gènere?  Nombre?  Passat, futur?  ivb
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "No comprimit"
 
@@ -5642,22 +5680,22 @@ msgstr "No comprimit"
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "No comprimit"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "aquest missatge pot no ser usable per %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "s'estan llegint opcions de «%s»\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "el destinatari predeterminat és desconegut «%s»\n"
@@ -5702,17 +5740,17 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "AVÍS: les opcions en «%s» encara no estan actives durant aquesta execució\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "no es pot treballar amb l'algoritme de clau pública %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "AVÍS: la clau de sessió pot estar xifrada simètricament de forma insegura\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "el subpaquet de tipus %d té el bit crític activat\n"
@@ -5779,7 +5817,7 @@ msgstr "clau %2$s de %1$u bits, ID %3$08lX, creada en %4$s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5794,35 +5832,35 @@ msgstr ""
 "molt gran!\n"
 "Es recomana una imatge amb una mida aproximada de 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Introduïu el nom del fitxer JPEG per al photo ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "No s'ha pogut obrir la foto «%s»: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Esteu segur que encara voleu utilitzarla (s/N)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "«%s» no és un fitxer JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "És aquesta foto correcta (s/N/x)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "no s'ha pogut mostrar el photo ID!\n"
 
@@ -5854,6 +5892,16 @@ msgstr "raó de la revocació: "
 msgid "revocation comment: "
 msgstr "comentari de la revocació: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMxXoO"
@@ -6047,25 +6095,25 @@ msgstr "AVÍS: Aquesta clau no ve certificada per signatures prou fiables!\n"
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "No és segur que la signatura pertanya al seu propietari.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: es descarta: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: es descarta: la clau pública ja està present\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "No heu especificat un ID d'usuari. (podeu usar «-r»)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -6073,42 +6121,42 @@ msgstr ""
 "\n"
 "Introduïu l'ID d'usuari. Finalitzeu amb una línia en blanc: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Usuari inexistent.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "es descarta: la clau pública ja s'ha especificat com a destinatari\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "La clau pública està desactivada.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "es descarta: la clau pública ja està establida\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "el destinatari predeterminat és desconegut «%s»\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: es descarta: la clau pública està desactivada\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "no hi ha adreces vàlides\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "clau %08lX: sense ID\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "clau %08lX: sense ID\n"
@@ -6412,20 +6460,26 @@ msgstr "NOTA: la clau de signatura %08lX va caducar el %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTA: aquesta clau ha estat revocada!"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "signatura %s, algorisme de resum %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "es supossa una signatura incorrecta de la clau %08lX a causa d'un bit crític "
 "desconegut\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 "clau %08lX: no hi ha una subclau per al paquet de la subclau de revocació\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -6517,10 +6571,10 @@ msgstr "es descarta: la clau secreta ja és present\n"
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
-"es descarta «%s»: és una clau ElGamal generada per PGP que no és segura per "
-"signatures!\n"
+"es descarta «%s»: és una clau ElGamal generada per PGP que no és segura per "
+"signatures!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut escriure: %s\n"
@@ -6568,139 +6622,139 @@ msgstr "error en trobar el registre de confiança: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "error de lectura: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de dades de confiança: no s'ha pogut sincronitzar: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "reg de la base de dades de confiança %lu: ha fallat lseek: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
-"reg de la base de dades de confiança %lu: ha fallat la escriptura (n=%d): %"
-"s\n"
+"reg de la base de dades de confiança %lu: ha fallat la escriptura (n=%d): "
+"%s\n"
 
 #: g10/tdbio.c:245
 msgid "trustdb transaction too large\n"
 msgstr "la transacció de la base de dades de confiança és massa gran\n"
 
 # No em passe! ;)  ivb
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "no s'ha pogut tancar «%s»: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: el directori no existeix!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "no es pot crear el directori «%s»: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "no s'ha pogut obrir «%s»\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: no s'ha pogut crear un registre de versió: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: s'ha creat una base de dades de confiança invàlida\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: s'ha creat la base de dades de confiança\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTA: no es pot escriure en la base de dades de confiança\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: la base de dades de confiança és invàlida\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: error en actualitzar el registre de la versió: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: error en llegir el registre de la versió: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: error en escriure el registre de la versió: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de dades de confiança: ha fallat lseek: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s no és un fitxer de base de dades de confiança\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: registre de versió amb número de registre %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: la versió de fitxer %d és invàlida\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: error en llegir el registre lliure: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: error en escriure el registre de directoris: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: no s'ha pogut posar a zero un registre: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: no s'ha pogut afegir un registre: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: s'ha creat la base de dades de confiança\n"
@@ -6715,182 +6769,190 @@ msgstr "no es poden tractar línies més llargues de %d caràcters\n"
 msgid "input line longer than %d characters\n"
 msgstr "la línia d'entrada és superior a %d caràcters\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "«%s» no és un ID de clau llarg vàlid\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "clau %08lX: s'accepta com a clau fiable\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 "la clau %08lX apareix més d'una vegada en la base de dades de confiança\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "clau %08lX: no hi ha una clau pública per a la clau fiable - es descarta\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "s'ha marcat la clau com a de confiança absoluta.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut llegir: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "el registre de confiança %lu no és del tipus demanat %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revocada]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[caducada]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "desconeguda"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "mai       "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "la pròxima comprovació de la base de dades de confiança serà el %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "no s'ha trobat la clau pública %08lX: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "si us plau, feu un --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "s'està comprovant la base de dades de confiança\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "s'han processat %d claus (s'han netejat %d comptes de validesa)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "no s'han trobat claus amb confiança absoluta\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "no s'ha trobat la clau pública de la clau amb confiança absoluta %08lX\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut escriure: %s\n"
@@ -6916,31 +6978,31 @@ msgstr "la línia d'entrada %u és massa llarga o hi falta un fí de línia\n"
 msgid "can't open fd %d: %s\n"
 msgstr "no s'ha pogut obrir «%s»: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr ""
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "error de lectura"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "la línia és massa llarga\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "l'argument és invàlid"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "les ordres entren en conflicte\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opcions d'importació no vàlides\n"
@@ -6949,37 +7011,37 @@ msgstr "opcions d'importació no vàlides\n"
 # Probablement és una clau, femení. jm
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "no forçat"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opcions d'importació no vàlides\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "L'ordre no és vàlida (proveu «help»)\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
@@ -6988,12 +7050,12 @@ msgstr ""
 # Probablement és una clau, femení. jm
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "no forçat"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opcions d'importació no vàlides\n"
@@ -7003,22 +7065,17 @@ msgstr "opcions d'importació no vàlides\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "heu trobat un bug... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "error en la lectura de «%s»: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "no es pot obrir el fitxer: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
@@ -7075,24 +7132,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -7141,208 +7199,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "l'enviament al servidor de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Seleccioneu la raó de la revocació:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "canvia la contrasenya"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "canvia la contrasenya"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "«%s» ja està comprimida\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "genera un nou parell de claus"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "genera un nou parell de claus"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "canvia la contrasenya"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7352,72 +7424,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "Introduïu el nom d'usuari: "
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOM|usa NOM com a destinatari predeterminat"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOM|usa NOM com a destinatari predeterminat"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "no usa el terminal en absolut"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "les ordres entren en conflicte\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7456,11 +7532,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "ajuda"
@@ -7492,220 +7568,221 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "NOTA: aquesta clau ha estat revocada!"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, fuzzy, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "problema en la lectura del certificat: %s\n"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 #, fuzzy
 msgid "certificate not yet valid"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 #, fuzzy
 msgid "intermediate certificate not yet valid"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "problema en la lectura del certificat: %s\n"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "problema en la lectura del certificat: %s\n"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "problema en la lectura del certificat: %s\n"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "problema en la lectura del certificat: %s\n"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "        signatures noves: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "S'ha creat el certificat de revocació.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "Empremta digital:"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 #, fuzzy
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 "No s'han trobat certificats amb confiança no definida.\n"
 "\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "Certificat correcte"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 #, fuzzy
 msgid "root certificate is not marked trusted"
 msgstr ""
 "No s'han trobat certificats amb confiança no definida.\n"
 "\n"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 #, fuzzy
 msgid "issuer certificate not found"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verifica una signatura"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "certificat duplicat: esborrat"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr ""
 "No s'han trobat certificats amb confiança no definida.\n"
 "\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7781,19 +7858,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -8004,7 +8081,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
@@ -8142,7 +8219,7 @@ msgstr "afegeix aquest anell a la llista"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|usa aquest servidor per a cercar claus"
@@ -8164,8 +8241,8 @@ msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxi: gpg [opcions] [fitxers]\n"
 "signa, comprova, xifra o desxifra\n"
@@ -8201,27 +8278,27 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " o = omet aquesta clau\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
 # No em passe! ;)  ivb
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "no s'ha pogut tancar «%s»: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8239,12 +8316,7 @@ msgstr "Certificat correcte"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error en crear «%s»: %s\n"
@@ -8259,46 +8331,42 @@ msgstr "error en la creació de la contrasenya: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "s'ha creat l'anell «%s»\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? hi ha problemes en la comprovació de la revocació: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -8486,149 +8554,149 @@ msgstr "error mentre s'enviava a «%s»: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|usa el mode de contrasenya especificat"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOM|xifra per a NOM"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOM|usa l'algoritme de xifratge NOM per a les contrasenyes"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8889,6 +8957,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "error en la lectura de «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Ordre> "
 
@@ -8972,7 +9048,8 @@ msgstr ""
 #~ "claus\n"
 #~ "tenen confiança absoluta - aquestes són normalment les claus per a les "
 #~ "que\n"
-#~ "teniu accés a la clau secreta.  Contesteu «sí» per a donar a aquesta clau\n"
+#~ "teniu accés a la clau secreta.  Contesteu «sí» per a donar a aquesta "
+#~ "clau\n"
 #~ "confiança absoluta\n"
 
 # "clau no confiable"? jm
@@ -9094,7 +9171,8 @@ msgstr ""
 #~ "«1» significa que creieu que la clau és de la persona que diu que és la\n"
 #~ "    propietària, però no heu pogut, o no heu verificat la clau de cap "
 #~ "manera.\n"
-#~ "    Açò és útil per a la verificació d'un «rol», quan signeu la clau d'un\n"
+#~ "    Açò és útil per a la verificació d'un «rol», quan signeu la clau "
+#~ "d'un\n"
 #~ "    usuari amb pseudònim.\n"
 #~ "\n"
 #~ "«2» significa que heu fet algunes comprovacions de la clau. Per exemple, "
@@ -9288,7 +9366,8 @@ msgstr ""
 #, fuzzy
 #~ msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
 #~ msgstr ""
-#~ "la extensió de xifrat «%s» no s'ha carregat per tindre permissos insegurs\n"
+#~ "la extensió de xifrat «%s» no s'ha carregat per tindre permissos "
+#~ "insegurs\n"
 
 #~ msgid "DSA requires the use of a 160 bit hash algorithm\n"
 #~ msgstr "DSA requereix l'ús d'un algoritme de dispersió de 160 bits\n"
@@ -9443,12 +9522,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "s'ha utilitzat una clau secreta incorrecta"
 
-# Gènere?  Nombre?  ivb
-# Werner FIXME: please add translator comment saying *what* is
-# uncompressed so we know the gender. jm
-#~ msgid "not supported"
-#~ msgstr "no és suportat"
-
 #~ msgid "bad key"
 #~ msgstr "la clau és incorrecta"
 
index 1e8712d..e4c03b1 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index e5af5a2..25daab1 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,13 +3,14 @@
 #               2005 Free Software Foundation, Inc.
 # Magda Procházková <magda@math.muni.cz> 2001,
 # Roman Pavlik <rp@tns.cz> 2001, 2002, 2003, 2004, 2005.
-# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011.
+# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013.
 #
 # A "%%0A" is used by Pinentry to insert a line break. The double percent
 # sign is actually needed because it is also a printf format string. If you
 # need to insert a plain % sign, you need to encode it as "%%25".
 #
 # „armor“ překládat jako „ASCII“
+# (reader's) pinpad → klávesnice čtečky
 #
 # „keybox“ je jednotné úložiště pro X.509 a PGP certifikáty/klíče
 # <http://www.gnupg.org/documentation/manuals/gnupg/kbxutil.html>
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg2 2.0.17-git56b2bc2\n"
+"Project-Id-Version: gnupg2 2.0.21\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2011-01-11 22:55+0100\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-09-01 11:14+0200\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translations.cs@gnupg.cz>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: cs\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "získání zámku pinetry se nezdařilo: %s\n"
@@ -47,21 +48,21 @@ msgstr "získání zámku pinetry se nezdařilo: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "|pinentry-label|_Zrušit"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "|pinentry-label|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Kvalita:"
 
@@ -71,164 +72,169 @@ msgstr "Kvalita:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Kvalita textu zde zadaného.\n"
 "Na podrobnosti ohledně kritérií se zeptejte svého správce."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 "Prosím, zadejte váš PIN, aby pro tuto relaci mohl být odemknut tajný klíč"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 "Prosím, zadejte vaše heslo, aby pro tuto relaci mohl být odemknut tajný klíč"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (pokus %d z %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN je příliš dlouhý"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Heslo je příliš dlouhé"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Neplatný znak v PINu"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN je příliš krátký"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Špatný PIN"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Špatné heslo"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Heslo"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "SSH klíče delší než %d bitů nejsou podporovány\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "nemohu vytvořit „%s“: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "nemohu otevřít „%s“: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "chyba při získání sériového čísla karty: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "nalezena karta se sériovým číslem: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
-"chyba při získání identifikátoru implicitního autentizačního klíče karty: %"
-"s\n"
+"chyba při získání identifikátoru implicitního autentizačního klíče karty: "
+"%s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "nenalezen žádný vhodný klíč karty: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "výroba stínového klíče se nezdařila: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "chyba při zápisu klíče: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
+"Proces SSH si vyžádal použití klíče%%0A  %s%%0A  (%s)%%0APřejete si to "
+"povolit?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
-msgstr ""
+msgstr "Povolit"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
-msgstr ""
+msgstr "Zakázat"
 
-#: agent/command-ssh.c:2155
-#, fuzzy, c-format
+#: agent/command-ssh.c:2514
+#, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
-msgstr "Prosím, vložte heslo pro SSH klíč%0A  %c"
+msgstr "Prosím, vložte heslo pro SSH klíč%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Prosím, vložte toto heslo znovu"
 
-#: agent/command-ssh.c:2509
-#, fuzzy, c-format
+#: agent/command-ssh.c:2858
+#, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Prosím, vložte heslo, abyste ochránil(a) přijatý tajný klíč%%0A   %s%%"
-"0Auvnitř úložiště klíčů gpg-agenta"
+"Prosím, vložte heslo, abyste ochránil(a) přijatý tajný klíč%%0A   %s%%0A   %s"
+"%%0Auvnitř úložiště klíčů gpg-agenta"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "neshodují se – zkuste to znovu"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "ze socketu se nepodařilo se vytvořit proud (stream): %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Prosím, vložte kartu se sériovým číslem"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Prosím, vyjměte kartu a vložte jinou se sériovým číslem"
 
@@ -248,8 +254,8 @@ msgstr "Resetační kód"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr "%s%%0A%%0APoužijte klávesnici čtečky."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0APro vstup použijte klávesnici čtečky."
 
 #: agent/divert-scd.c:287
 msgid "Repeat this Reset Code"
@@ -326,14 +332,14 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
 "contain at least %u digits or%%0Aspecial characters."
 msgstr[0] ""
-"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň %"
-"u číslici nebo %%0Azvláštní znak."
+"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň "
+"%u číslici nebo %%0Azvláštní znak."
 msgstr[1] ""
-"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň %"
-"u číslice nebo %%0Azvláštní znaky."
+"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň "
+"%u číslice nebo %%0Azvláštní znaky."
 msgstr[2] ""
-"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň %"
-"u číslic nebo %%0Azvláštních znaků."
+"Varování: Zadali jste nebezpečné heslo.%%0AHeslo by mělo obsahovat alespoň "
+"%u číslic nebo %%0Azvláštních znaků."
 
 #: agent/genkey.c:237
 #, c-format
@@ -365,14 +371,14 @@ msgstr "Ano, ochrana není třeba"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr "Prosím, pro ochranu svého nového klíče%0A zadejte heslo"
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "Pro ochranu svého nového klíče,%0Aprosím, zadejte heslo"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Prosím, zadejte nové heslo"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -381,103 +387,107 @@ msgstr ""
 "@Volby:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
+msgstr "běžet v režimu démona (na pozadí)"
+
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
 msgid "run in server mode (foreground)"
 msgstr "běžet v režimu serveru (na popředí)"
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
-msgstr "běžen v režimu démona (na pozadí)"
-
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "s dodatečnými informacemi"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "být o trochu víc tichý"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "vypisovat příkazy ve stylu sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "vypisovat příkazy ve stylu csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|SOUBOR|načíst volby ze SOUBORU"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "neodpojovat se od konzole"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "neuzurpovat si klávesnici a myš"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "použít pro server soubor s protokolem"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "použít standardní umístění socketu"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PROGRAM|použít PROGRAM jako PIN-Entry program"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PROGRAM|použít PROGRAM jako SCdaemon program"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "nepoužívat SCdémona"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignorovat požadavky na změnu TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignorovat požadavky na změnu X displeje"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|zahodit zapamatované PINy po N sekundách"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "nepoužívat paměť PINů na podepisování"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr "dovolit klientům označit klíče za „důvěryhodné“"
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "nedovolit klientům označovat klíče za „důvěryhodné“"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "umožnit přednastavení hesla"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr "zapnout emulaci ssh-agenta"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr "zapnout podporu pro OpenSSH"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr "zapnout podporu pro PuTTY"
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|SOUBOR|zapsat nastavení prostředí též do SOUBORU"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -485,11 +495,11 @@ msgstr ""
 "Chyby v programu, prosím, oznamujte (anglicky) na <@EMAIL@>,\n"
 "připomínky k překladu hlaste (česky) na <translations.cs@gnupg.cz>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Použití: gpg-agent [VOLBY] (-h pro nápovědu)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -497,154 +507,155 @@ msgstr ""
 "Syntaxe: gpg-agent [VOLBY] [PŘÍKAZ [ARGUMENTY]]\n"
 "Správa tajných klíčů pro GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "zadána neplatná úroveň ladění „%s“\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s je příliš stará (potřebuji %s, mám %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "POZNÁMKA: neexistuje implicitní soubor s možnostmi „%s“\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "soubor s možnostmi „%s“: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "čtu možnosti z „%s“\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "chyba při vytváření „%s“: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "nemohu vytvořit adresář „%s“: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "název socketu je příliš dlouhý\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "nemohu vytvořit socket: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "název socketu „%s“ je příliš dlouhý\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent již běží – nový nebude spuštěn\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "chyba při získání náhodného řetězce pro socket\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "chyba při přilepování socketu na „%s“: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "služba listen() selhala: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "naslouchám na socketu „%s“\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "adresář „%s“ vytvořen\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() na „%s“ selhal: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "„%s“ nelze použít jako domovský adresář\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "chyba při čtení náhodného řetězce z fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "obsluha 0x%lx pro fd %d spuštěna\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "obsluha 0x%lx pro fd %d ukončena\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "SSH obsluha 0x%lx pro fd %d spuštěna\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "SSH obsluha 0x%lx pro fd %d ukončena\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select selhala: %s – čekám 1 s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s pozastaveno\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "v této relaci neběží žádný gpg-agent\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "špatný formát proměnné prostředí GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent protokol verze %d není podporován\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Použití: gpg-preset-passphrase [VOLBY] KEYGRIP (-h pro nápovědu)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -652,7 +663,7 @@ msgstr ""
 "Syntaxe: gpg-preset-passphrase [VOLBY] KEYGRIP\n"
 "Správa dočasné paměti pro hesla\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -661,7 +672,7 @@ msgstr ""
 "@Příkazy:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -673,11 +684,11 @@ msgstr ""
 "Volby:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Použití: gpg-protect-tool [VOLBY] (-h pro nápovědu)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -685,15 +696,15 @@ msgstr ""
 "Syntaxe: gpg-protect-tool [VOLBY] [ARGUMENTY]nNástroj na správu tajných "
 "klíčů\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Prosím, vložte heslo, abyste zpřístupnili objekt PKCS#12."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Prosím, vložte heslo, abyste ochránili nový objekt PKCS#12."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -701,7 +712,7 @@ msgstr ""
 "Prosím, zadejte heslo, abyste ochránili importovaný objekt uvnitř systému "
 "GnuPG."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -709,15 +720,15 @@ msgstr ""
 "Prosím, vložte heslo nebo PIN\n"
 "potřebný pro dokončení této operace."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Heslo:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "zrušeno\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "chyba při ptaní se na heslo: %s\n"
@@ -833,8 +844,8 @@ msgstr "Změnit heslo"
 msgid "I'll change it later"
 msgstr "Změním jej později"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "chyba při vytváření roury: %s\n"
@@ -874,12 +885,12 @@ msgstr "chyba při spouštění „%s“: pravděpodobně není nainstalován\n"
 msgid "error running `%s': terminated\n"
 msgstr "chyba v běhu „%s“: násilně ukončeno\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "chyba při vytváření socketu: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "stroj nenalezen"
 
@@ -908,19 +919,19 @@ msgstr "zrušeno uživatelem\n"
 msgid "problem with the agent\n"
 msgstr "problém s agentem\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "nemohu vypnout vytváření core souborů: %s\n"
 
 # TODO: i18n of first %s
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Varování: vlastnictví %s „%s“ není nastaveno bezpečně\n"
 
 # TODO: i18n of first %s
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Varování: přístupová práva %s „%s“ nejsou bezpečná\n"
@@ -982,13 +993,13 @@ msgstr "při pokusu alokovat %lu bajtů došla paměť"
 
 #: common/asshelp.c:293 tools/gpg-connect-agent.c:2129
 msgid "no running gpg-agent - starting one\n"
-msgstr "gpg-agent neběží – spouštím jej\n"
+msgstr "gpg-agent neběží – spouští se\n"
 
-# TODO: Plurals
+# TODO: Plural
 #: common/asshelp.c:349
 #, c-format
 msgid "waiting %d seconds for the agent to come up\n"
-msgstr "čeká se na agenta %d sekund\n"
+msgstr "čeká se %d s, než se objeví agent\n"
 
 #: common/asshelp.c:426
 msgid "can't connect to the agent - trying fall back\n"
@@ -1136,11 +1147,11 @@ msgstr "Řetěz certifikátů je platný"
 msgid "Root certificate trustworthy"
 msgstr "Kořenový certifikát je důvěryhodný"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "pro certifikát nebyl nalezen žádný CRL"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "dostupný CRL je příliš starý"
 
@@ -1214,7 +1225,7 @@ msgstr "neočekávaný ASCII armor: "
 msgid "invalid dash escaped line: "
 msgstr "nesprávné označení řádku mínusy: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "neplatný radix64 znak %02X byl přeskočen\n"
@@ -1231,7 +1242,7 @@ msgstr "předčasný konec souboru (žádné CRC)\n"
 msgid "malformed CRC\n"
 msgstr "špatný formát CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Chyba CRC; %06lX - %06lX\n"
@@ -1244,16 +1255,16 @@ msgstr "předčasný konec souboru (v patičce)\n"
 msgid "error in trailer line\n"
 msgstr "chyba v patičce\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nenalezena žádná platná data ve formátu OpenPGP.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "neplatné kódování ASCII: řádek je delší než %d znaků\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1288,7 +1299,7 @@ msgstr "VAROVÁNÍ: nalezen neplatný formát zápisu data\n"
 msgid "not human readable"
 msgstr "není v přímo čitelném formátu"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP karta není dostupná: %s\n"
@@ -1298,8 +1309,8 @@ msgstr "OpenPGP karta není dostupná: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Nalezena OpenPGP karta číslo %s\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "nelze provést v dávkovém módu\n"
 
@@ -1307,155 +1318,155 @@ msgstr "nelze provést v dávkovém módu\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tento příkaz je dostupný pouze pro karty verze 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Resetační kód není nebo už není dostupný\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Váš výběr? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[není nastaven]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "muž"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "žena"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "neuvedeno"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "není vyžadováno"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "vyžadováno"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Chyba: V současné verzi je povolenou pouze plain ASCII.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Chyba: Znak „<“ nelze použít.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Chyba: Více mezer není povoleno.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Příjmení držitele karty: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Jméno (křestní) držitele karty: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Chyba: jméno a příjmení je příliš dlouhé (limit je %d znaků).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL pro získání veřejného klíče: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Chyba: URL je příliš dlouhé (limit je %d znaků).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "chyba při alokování paměti: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "chyba při čtení „%s“: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "chyba při zápisu do „%s“: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Login (jménu účtu): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Chyba: Login je příliš dlouhý (limit je %d znaků).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Privátní DO data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Chyba: Privátní DO je příliš dlouhé (limit je %d znaků).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Jazykové předvolby: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Chyba: neplatná délka řetězce s předvolbami.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Chyba: neplatný znak v řetězci s předvolbami\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Zadejte pohlaví: M – mužské, F – ženské, nebo stiskněte mezerník: "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Chyba: neplatná odpověď.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "Otisk CA: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Chyba: chybně utvořené otisk.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operace s klíčem není možná: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "toto není OpenPGP karta"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "chyba při získání informací o aktuálním klíči: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Přepsat existující klíč? (a/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1466,55 +1477,55 @@ msgstr ""
 "dokumentace\n"
 "          své karty, kde se dozvíte, jaké velikosti jsou dovoleny.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Jakou délku klíče pro podepisování si přejete? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Jakou délku klíče pro šifrování si přejete? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Jakou délku klíče pro autentizaci si přejete? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokrouhleno na %u bitů\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "velikost klíče %s musí být v intervalu %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "chyba při změně velikosti klíče %d na %u bitů: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Vytvořit zálohu šifrovacího klíče mimo kartu? (A/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "POZNÁMKA: na kartě jsou již klíče uloženy!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Přepsat existující klíče? (a/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1525,129 +1536,129 @@ msgstr ""
 "   PIN = „%s“     PIN administrátora = „%s“\n"
 "Toto nastavení můžete změnit příkazem --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Prosím, vyberte druh klíče, který chcete generovat:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Podepisovací klíč\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Šifrovací klíč\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentizační klíč\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Neplatný výběr.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Prosím vyberte místo pro uchování klíče:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "neznámý algoritmus pro ochranu klíče\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "tajné části klíče nejsou dostupné\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "tajný klíč je na kartě uložen\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "chyba při zápisu klíče na kartu: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ukončit toto menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "zobraz administrátorské příkazy"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "ukázat tuto pomoc"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "vypiš všechna dostupná data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "změní jméno majitele karty"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "změní URL pro získání klíče"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "získá klíč specifikovaný v URL karty"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "změnit login name"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "změnit jazykové předvolby"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "změní pohlaví držitele karty"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "vypsat otisk certifikační autority"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "zapnout/vypnout požadování PINu při každé self-sign operaci"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "vytvořit nový pár klíčů"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "nabídka pro změnu anebo odblokování PINu"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "ověř PIN a vypiš všechna data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "odblokovat PIN pomocí resetačního kódu"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/karta> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "pouze administrátorské příkazy\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "administrátorské příkazy jsou povoleny\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "administrátorské příkazy nejsou povoleny\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Neplatný příkaz (zkuste „help“)\n"
 
@@ -1655,18 +1666,18 @@ msgstr "Neplatný příkaz (zkuste „help“)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output pro tento příkaz není platný\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "nelze otevřít „%s“\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "klíč „%s“ nenalezen: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1691,7 +1702,7 @@ msgstr "Toto je tajný klíč! - opravdu smazat? (a/N) "
 #: g10/delkey.c:163
 #, c-format
 msgid "deleting keyblock failed: %s\n"
-msgstr "smazání bloku klíče se nezdařilo:  %s\n"
+msgstr "smazání bloku klíče se nezdařilo: %s\n"
 
 #: g10/delkey.c:173
 msgid "ownertrust information cleared\n"
@@ -1700,7 +1711,7 @@ msgstr "informace o důvěryhodnosti vlastníka klíče vymazány\n"
 #: g10/delkey.c:204
 #, c-format
 msgid "there is a secret key for public key \"%s\"!\n"
-msgstr "existuje tajný klíč pro tento veřejný klíč \"%s\"!\n"
+msgstr "tajný klíč pro veřejný klíč „%s“ existuje!\n"
 
 #: g10/delkey.c:206
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
@@ -1767,7 +1778,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "vyžádaná symetrická šifra %s (%d) nevyhovuje předvolbám příjemce\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "použití %s není v módu %s dovoleno\n"
@@ -1777,76 +1788,76 @@ msgstr "použití %s není v módu %s dovoleno\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s zašifrovaný pro: „%s“\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s zašifrovaná data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "zašifrováno neznámým algoritmem %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "VAROVÁNÍ: zpráva byla zašifrována slabým klíčem v symetrické šifře.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problém se zašifrovaným paketem\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "spuštění externího programu není podporováno\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "volání externích programů je zakázáno, protože file permissions nejsou\n"
 "nastaveny nebezpečně\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "na této platformě jsou při volání externích programů vyžadovány\n"
 "dočasné soubory (temp files)\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "nelze spustit program „%s“: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "nelze spustit shell „%s“: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systémová chyba při volání externího programu: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "neočekávaný konec externího programu\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "nelze spustit externí program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nelze přečíst odpověď externího programu: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "VAROVÁNÍ: nelze smazat dočasný soubor (%s) „%s“: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "VAROVÁNÍ: nelze smazat dočasný adresář „%s“: %s\n"
@@ -1939,191 +1950,191 @@ msgid "No fingerprint"
 msgstr "Chybí otisk"
 
 # c-format
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Neplatný klíč %s změněn na platný pomocí --always-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "neexistuje tajný podklíč pro veřejný klíč %s – ignorováno\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "používám podklíč %s místo primárního klíče %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "klíč %s: tajný klíč bez klíče veřejného – přeskočeno\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "vytvořit podpis"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "vytvořit podpis v čitelném dokumentu"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "vytvořit podpis oddělený od dokumentu"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "šifrovat data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "šifrování pouze se symetrickou šifrou"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "dešifrovat data (implicitně)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifikovat podpis"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "vypsat seznam klíčů"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "vypsat seznam klíčů a podpisů"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "vypsat a zkontrolovat podpisy klíčů"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "vypsat seznam klíčů a otisků"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "vypsat seznam tajných klíčů"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "vytvořit nový pár klíčů"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "vytvořit revokační certifikát"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "odstranit klíč ze souboru veřejných klíčů"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "odstranit klíč ze souboru tajných klíčů"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "podepsat klíč"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "podepsat klíč lokálně"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "podepsat nebo modifikovat klíč"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "změnit heslo"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportovat klíče"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportovat klíče na server klíčů"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importovat klíče ze serveru klíčů"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "vyhledat klíče na serveru klíčů"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "aktualizovat všechny klíče ze serveru klíčů"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importovat/sloučit klíče"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "vytisknout stav karty"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "změnit data na kartě"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "změnit PIN karty"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "aktualizovat databázi důvěry"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "vypsat hash zprávy"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "pracovat v režimu serveru"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "vytvoř výstup zakódovaný pomocí ASCII"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ID_UŽIVATELE|šifrovat pro ID_UŽIVATELE"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|ID_UŽIVATELE|použít toto ID_UŽIVATELE pro podepsání nebo dešifrování"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nastavit úroveň komprese na N (0 – žádná)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "použít kanonický textový mód"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|SOUBOR|zapsat výstup do SOUBORU"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "neprovádět žádné změny"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "vyžádat potvrzení před přepsáním"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "použít chování striktně podle OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2131,7 +2142,7 @@ msgstr ""
 "@\n"
 "(Pro kompletní seznam všech příkazů a možností použijte manuálové stránky.)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2149,21 +2160,21 @@ msgstr ""
 " --list-keys [jména]        vypsat klíče\n"
 " --fingerprint [jména]      vypsat otisky\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Použití: gpg [možnosti] [soubory] (-h pro pomoc)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntaxe: gpg [možnosti] [soubory]\n"
-"podepsat, ověřit, šifrovat nebo dešifrovat\n"
-"implicitní operace závisí na vstupních datech\n"
+"Podepisuje, ověřuje, šifruje nebo dešifruje.\n"
+"Výchozí operace závisí na vstupních datech.\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2171,78 +2182,78 @@ msgstr ""
 "\n"
 "Podporované algoritmy:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Veřejný klíč: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Šifra: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Komprese: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "užití: gpg [možnosti]"
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "konfliktní příkazy\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no = podpis nalezen v definici skupiny „%s“\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví domovského adresáře není nastaveno bezpečně „%s“\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví konfiguračního souboru není nastaveno bezpečně „%s“\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví rozšiřujícího modulu není nastaveno bezpečně „%s“\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
 "VAROVÁNÍ: přístupová práva pro domovský adresáře nejsou bezpečná „%s“\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 "VAROVÁNÍ: přístupová práva pro konfigurační soubor nejsou bezpečná „%s“\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "VAROVÁNÍ: přístupová práva rozšiřujícímu modulu nejsou bezpečná „%s“\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře s domovským adresářem není nastaveno "
 "nebezpečně „%s“\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2250,21 +2261,21 @@ msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře s konfiguračním souborem není nastaveno "
 "nebezpečně „%s“\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře s rozšiřujícím modulem není nastaveno "
 "nebezpečně „%s“\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "VAROVÁNÍ: přístupová práva k adresáři s domovským adresářem nejsou nastavena "
 "bezpečně „%s“\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2272,7 +2283,7 @@ msgstr ""
 "VAROVÁNÍ: přístupová práva k adresáři s konfiguračním souborem nejsou "
 "nastavena bezpečně „%s“\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
@@ -2280,459 +2291,459 @@ msgstr ""
 "nastavena bezpečně „%s“\n"
 
 # c-format
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "neznámá konfigurační položka „%s“\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "zobrazovat ID fotografií během výpisu klíčů"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "ukazovat URL politik během výpisu podpisů"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "ukazovat všechny poznámky během výpisu podpisů"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "ukazovat poznámky IETF standardu během vypisování podpisů"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "ukazovat uživatelské poznámky během výpisu podpisů"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "ukazovat URL upřednostňovaného serveru klíčů při výpisu podpisů"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "ukazovat platnost ID uživatelů při výpisu klíčů"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "ukazovat odvolané a prošlé ID uživatelů při výpisu klíčů"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "ukazovat odvolané a prošlé podklíče při výpisu klíčů"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "ukazovat název souboru s klíči při výpisu klíčů"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "ukazovat data expirace během výpisu podpisů"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "POZNÁMKA: starý implicitní soubor s možnostmi „%s“ ignorován\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt je příliš stará (potřebuji %s, mám %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "POZNÁMKA: %s není pro normální použití!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "„%s“ není platná doba expirace podpisu\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "„%s“ není platná znaková sada\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "nelze zpracovat URL serveru klíčů\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: neplatný parametr pro server klíčů\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "neplatný parametr pro server klíčů\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: neplatný parametr pro import\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "neplatný parametr pro import\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: neplatný parametr pro export\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "neplatný parametr pro export\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: neplatný parametr pro výpis\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "neplatný parametr pro výpis\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "zobrazovat ID fotografií při ověřování podpisu"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "ukazovat URL politik při ověřování podpisu"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "ukazovat všechny poznámky při ověřování podpisu"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "ukazovat poznámky IETF standardu při ověřování podpisu"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "ukazovat uživatelské poznámky při ověřování podpisu"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "ukazovat URL upřednostňovaného serveru klíčů při ověřování podpisu"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "ukazovat platnost ID uživatele při ověřování podpisu"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "ukazovat odvolané a prošlé ID uživatelů při ověřování podpisů"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "ukazovat jen primární ID uživatele při ověřování podpisu"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "ověřovat podpisy s daty PKA"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "vyzvednout důvěru podpisů s platnými daty PKA"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: neplatný parametr pro ověření\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "neplatný parametr pro ověření\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nelze nastavit exec-path na %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: neplatný seznam auto-key-locate\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "neplatný seznam auto-key-locate\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROVÁNÍ: program může vytvořit soubor core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROVÁNÍ: %s přepíše %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Není dovoleno používat %s s %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nedává s %s smysl!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nelze spustit s nebezpečnou pamětí vzhledem k %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "v módu --pgp2 můžete vytvářet pouze oddělené podpisy nebo podpisy čitelné "
 "jako text\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "v módu --pgp2 nelze současně šifrovat a podepisovat\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "v módu --pgp2 musíte použít soubor (ne rouru).\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "šifrování zpráv v módu --pgp2 vyžaduje algoritmus IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "vybraný šifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "vybraný kompresní algoritmus je neplatný\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "položka completes-needed musí být větší než 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "položka marginals-needed musí být větší než 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "položka max-cert-depth musí být v rozmezí od 1 do 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "neplatná implicitní úroveň certifikace (default-cert-level); musí být 0, 1, "
 "2 nebo 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 "neplatná minimální úroveň certifikace (min-cert-level); musí být 0, 1, 2 "
 "nebo 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "POZNÁMKA: jednoduchý mód S2K (0) je důrazně nedoporučován\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "neplatný mód S2K; musí být 0, 1 nebo 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "neplatné implicitní předvolby\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "neplatné uživatelské předvolby pro šifrování\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "neplatné uživatelské předvolby pro hashování\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "neplatné uživatelské předvolby pro komprimaci\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s dosud není funkční s %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "použití šifrovacího algoritmu „%s“ v módu %s dovoleno\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "použití hashovacího algoritmu „%s“ v módu %s dovoleno\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "použití komprimačního algoritmu „%s“ v módu %s dovoleno\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "nemohu inicializovat databázi důvěry: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROVÁNÍ: specifikován adresát (-r) bez použití šifrování s veřejným klíčem\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [jméno souboru]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [jméno souboru]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "symetrické šifrování „%s“ se nepovedlo: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [jméno souboru]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [jméno souboru]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nelze použít --symmetric --encrypt s příkazem --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "nelze použít --symmetric --encrypt v módu %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [jméno souboru]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [jméno souboru]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [jméno souboru]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nelze použít --symmetric --sign --encrypt s příkazem --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "nelze použít --symmetric --sign --encrypt v módu %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [jméno souboru]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [jméno souboru]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [jméno souboru]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id uživatele"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id uživatele"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id uživatele [příkazy]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <id-uživatele>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "odeslání na keyserver se nezdařilo: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "získání dat z serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export klíče se nepodařil: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "hledání na serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "obnovení dat na serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dekódování z ASCII formátu selhalo: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "kódování do ASCII formátu selhalo: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "neplatný hashovací algoritmus „%s“\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[jméno souboru]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Začněte psát svou zprávu ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "zadané URL pro certifikační politiku je neplatné\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "zadané URL pro podepisovací politiku je neplatné\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "zadané URL preferovaného serveru klíčů je neplatné\n"
 
@@ -2769,120 +2780,120 @@ msgstr "Nápověda není k dispozici"
 msgid "No help available for `%s'"
 msgstr "Pro „%s“ není dostupná žádná nápověda"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "importovat podpisy, které jsou označeny jen jako místní"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "opravit poškození vzniklá při importu z PKS serveru"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "neaktualizovat databázi důvěry po importu"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "vytvořit veřejný klíč při importu tajného klíče"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "přijímat aktualizace pouze u existujících klíčů"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "odstranit z klíče po importu nepoužitelné části"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "odstranit po importu z klíče vše, co lze"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d byl přeskočen\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu klíče byly doposud zpracovány\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Celkový počet zpracovaných klíčů: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "     přeskočeny nové klíče: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          bez ID uživatele: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                 importováno: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                 beze změn: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         nové ID uživatelů: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "             nové podklíče: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              nové podpisy: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "       nové revokace klíčů: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      přečtené tajné klíče: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "   importované tajné klíče: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "     tajné klíče nezměněny: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             neimportováno: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         odstraněné podpisy: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " odstraněné uživatelské ID: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2891,351 +2902,367 @@ msgstr ""
 "VAROVÁNÍ: klíč %s obsahuje předvolby pro nedostupné\n"
 "algoritmy na těchto ID uživatelů:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": předvolby pro šifrovací algoritmus %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": předvolby pro podepisovací algoritmus %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": předvolby pro komprimační algoritmus %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "velmi doporučujeme aktualizaci nastavení vašich preferencí a\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "distribuci tohoto klíče aby jste předešel problémům s neshodou algoritmů\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "nelze aktualizovat předvolby s: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "klíč %s: chybí identifikátor uživatele\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "přeskočen „%s“: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "klíč %s: PKS poškození podklíče opraveno\n"
 
 # c-format
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "klíč %s: přijat id uživatele \"%s\",který není podepsán jím samým\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "klíč %s: chybí platný identifikátor uživatele\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "může to být způsobeno chybějícím podpisem klíče jím samým\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "klíč %s: veřejný klíč nenalezen: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "klíč %s: nový klíč - přeskočen\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "nenalezen zapisovatelný soubor klíčů (keyring): %s\n"
 
 # g10/import.c:766 g10/openfile.c:261#, c-format
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "zapisuji do „%s“\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "chyba při zápisu souboru klíčů (keyring) „%s“: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "klíč %s: veřejný klíč „%s“ importován\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "klíč %s: neodpovídá naší kopii\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "klíč %s: nemohu najít originální blok klíče: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "klíč %s: nemohu číst originální blok klíče: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "klíč %s: „%s“ 1 nový identifikátor uživatele\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "klíč %s: „%s“ %d nových identifikátorů uživatele\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "klíč %s: „%s“ 1 nový podpis\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "klíč %s: „%s“ %d nových podpisů\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "klíč %s: „%s“ 1 nový podklíč\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "klíč %s: „%s“ %d nových podklíčů\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "klíč %s: „%s“ %d podpisů odstraněno\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "klíč %s: „%s“ %d podpisů odstraněno\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "klíč %s: „%s“ %d ID uživatele odstraněno\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "klíč %s: „%s“ %d ID uživatele odstraněno\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "klíč %s: „%s“ beze změn\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "klíč %s: tajný klíč s neplatnou šifrou %d – přeskočeno\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "tajný klíč „%s“ nenalezen: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "import tajných klíčů není povolen\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "klíč %s: tajný klíč s neplatnou šifrou %d – přeskočeno\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "není nastaven implicitní soubor tajných klíčů %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "klíč %s: tajný klíč importován\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "klíč %s: je již v souboru tajných klíčů\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "klíč %s: nenalezen tajný klíč: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "klíč %s: chybí veřejný klíč – nemohu aplikovat revokační certifikát\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "klíč %s: neplatný revokační certifikát: %s – zamítnuto\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "klíč %s: „%s“ revokační certifikát importován\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "klíč %s: neexistuje id uživatele pro podpis\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "klíč %s: nepodporovaný algoritmus veřejného klíče u uživatelského ID „%s“\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "klíč %s neplatný podpis klíče jím samým u uživatelského ID „%s“\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "klíč %s: nepodporovaný algoritmus veřejného klíče\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "klíč %s: neplatný podpis klíče jím samým (direct key signature)\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "klíč %s: neexistuje podklíč pro vázání klíčů\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "klíč %s: neplatná vazba podklíče\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "klíč %s: smazána vícenásobná vazba podklíče\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "klíč %s: neexistuje podklíč pro revokaci klíče\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "klíč %s: neplatný revokační podklíč\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "klíč %s: smazána vícenásobná revokace podklíče\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "klíč %s: přeskočen identifikátor uživatele „%s“\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "klíč %s: podklíč přeskočen\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "klíč %s: podpis není exportovatelný (třída %02X) - přeskočeno\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "klíč %s: revokační certifikát na špatném místě - přeskočeno \n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "klíč %s: neplatný revokační certifikát: %s - přeskočen\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "klíč %s: podpis podklíče na špatném místě - přeskočeno \n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "klíč %s: neočekávaná podpisová třída (0x%02X) - přeskočeno\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "klíč %s: objeven duplikovaný identifikátor uživatele - sloučen\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "VAROVÁNÍ: klíč %s může být revokován: zkouším získat revokační klíč %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "VAROVÁNÍ: klíč %s může být revokován: revokační klíč %s nenalezen.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "klíč %s: „%s“ přidán revokační certifikát\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "klíč %s: podpis klíče jím samým (direct key signature) přidán\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "POZNÁMKA: sériové číslo klíče neodpovídá číslu karty\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "POZNÁMKA: primární klíč je online a je uložen na kartě\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "POZNÁMKA: sekundární klíč je online a je uložen na kartě\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "chyba při vytváření souboru klíčů (keyring) „%s“: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "soubor klíčů (keyring) „%s“ vytvořen\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "zdroj bloku klíče „%s“: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "selhalo obnovení vyrovnávací paměti klíčů: %s\n"
@@ -3299,12 +3326,12 @@ msgstr ""
 #: g10/keyedit.c:418 g10/pkclist.c:274
 #, c-format
 msgid "  %d = I trust marginally\n"
-msgstr " %d = Důvěřuji částečně\n"
+msgstr "  %d = Důvěřuji částečně\n"
 
 #: g10/keyedit.c:419 g10/pkclist.c:276
 #, c-format
 msgid "  %d = I trust fully\n"
-msgstr " %d = Důvěřuji úplně\n"
+msgstr "  %d = Důvěřuji úplně\n"
 
 #: g10/keyedit.c:438
 msgid ""
@@ -3328,12 +3355,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Uživatelské ID „%s“ je revokováno."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Jste si jistý(á), že stále chcete podepsat tento klíč? (a/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Nelze podepsat.\n"
 
@@ -3519,8 +3546,8 @@ msgstr "Velmi pečlivě jsem ověřil tento klíč.\n"
 msgid "Really sign? (y/N) "
 msgstr "Skutečně podepsat? (a/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "podepsání selhalo: %s\n"
@@ -3531,19 +3558,19 @@ msgstr ""
 "K dispozici je jen kontrolní součet klíče nebo je klíč na kartě - passphrase "
 "nelze změnit.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Tento klíč není chráněný.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Tajné části primárního klíče nejsou dostupné.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Tajná část primárního klíče jsou uloženy na kartě.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Klíč je chráněný.\n"
 
@@ -3560,7 +3587,7 @@ msgstr ""
 "Vložte nové heslo (passphrase) pro tento tajný klíč.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "heslo není zopakováno správně; zkuste to znovu"
 
@@ -3733,24 +3760,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "směstnat nepoužitelná ID uživatelů a odstranit z klíče všechny podpisy"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "chyba při čtení bloku tajného klíče „%s“: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Tajný klíč je dostupný.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Pro provedení této operace je potřeba tajný klíč.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Prosím, nejdříve použijte příkaz „toggle“ (přepnout).\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3761,225 +3788,225 @@ msgstr ""
 "  s prefixem „t“ pro důvěryhodný podpis (tsign) nebo „nr“ pro neodvolatelný\n"
 "  podpis (nrsign) nebo libovolnou jejich kombinací (ltsign, tnrsign, atd.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Klíč revokován."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Opravdu podepsat všechny id uživatele? (a/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Nápověda: Vyberte id uživatele k podepsání\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Neznámý typ podpisu „%s“\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tento příkaz není v módů %s dovolený.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Musíte vybrat alespoň jeden id uživatele.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Nemůžete smazat poslední id uživatele!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Opravdu odstranit všechny vybrané id uživatele? (a/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Opravdu odstranit tento id uživatele? (a/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Opravdu přesunout primární klíč? (a/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Musíte vybrat právě jeden klíč.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Příkaz očekává jméno souboru jako argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Nemohu otevřít „%s“: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Chyba při čtení záložního klíče z „%s“: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Musíte vybrat alespoň jeden klíč.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Opravdu chcete smazat vybrané klíče? (a/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Opravdu chcete smazat tento klíč? (a/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Opravdu revokovat všechny vybrané id uživatele? (a/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Opravdu revokovat tento id uživatele? (a/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Opravdu chcete revokovat celý klíč? (a/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Opravdu chcete revokovat vybrané podklíče? (a/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Opravdu chcete revokovat tento podklíč? (a/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Důvěryhodnost vlastníka nelze měnit je-li používána databáze důvěry "
 "poskytnutá uživatelem\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Nastavit seznam předvoleb:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Opravdu aktualizovat předvolby pro vybraný id uživatele? (a/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Opravdu aktualizovat předvolby? (a/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Uložit změny? (a/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Ukončit bez uložení? (a/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualizace selhala: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "aktualizace tajného klíče selhala: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Klíč nebyl změněn, takže není potřeba jej aktualizovat.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Hash: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Vlastnosti: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Keyserver bez modifikace"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Preferovaný keyserver: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Poznámky: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Uživatelský ID formátu PGP 2.x nemá žádné předvolby\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "V %s byl následující klíč revokován %s klíčem %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tento klíč může být revokován %s klíčem %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(citlivá informace)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "vytvořen: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "revokován: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "platnost skončila: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "platnost skončí: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "použití: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "důvěra: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "platnost: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Tento klíč byl označen za neplatný (disabled)"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "číslo karty: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3987,17 +4014,17 @@ msgstr ""
 "Prosím nezapomeňte, že zobrazované údaje o platnosti klíčů nemusí\n"
 "být nutně správné, dokud znova nespustíte program.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "revokován"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "platnost skončila"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4005,7 +4032,7 @@ msgstr ""
 "VAROVÁNÍ: žádné uživatelské ID nebylo označeno jako primární.  Tento příkaz\n"
 "              může způsobit, že za primární bude považováno jiné user ID.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4014,74 +4041,74 @@ msgstr ""
 "VAROVÁNÍ: Toto je PGP2 klíč. Přidání fotografického ID může v některých\n"
 "         verzích PGP vést k odmítnutí tohoto klíče.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Jste si jistý, že jej chcete stále přidat? (a/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Neměli by jste přidávat fotografický ID k PGP2 klíči.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Smazat tento dobrý podpis? (a/N/u)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Smazat tento neplatný podpis? (a/N/u)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Smazat tento neznámý podpis? (a/N/u)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Opravdu smazat tento podpis podepsaný sebou samým? (a/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Smazán %d podpis.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Smazáno %d podpisů.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nic nebylo smazáno.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "neplatný"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Uživatelské ID „%s“ směstnáno: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Uživatelské ID „%s“: %d podpisů odstraněno\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Uživatelské ID „%s“: %d podpisů odstraněno\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Uživatelské ID „%s“: je již minimalizované\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Uživatelské ID „%s“: je již odstraněné\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4090,262 +4117,262 @@ msgstr ""
 "VAROVÁNÍ: Toto je PGP2 klíč. Přidání 'pověření revokace' může v některých\n"
 "          verzích PGP vést k odmítnutí tohoto klíče.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Neměli by jste přidávat 'pověření revokace' k PGP2 klíči.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Vložte identifikátor uživatele pověřeného revokací: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "klíč formátu PGP 2.x nelze pověřit revokací\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "klíč nelze pověřit revokací jím samým\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "tento klíč již byl pověřen revokací\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "VAROVÁNÍ: ustanovení klíče „pověřeným odvolatelem“ je nevratná operace!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Jste si jistí, že tento klíč chcete pověřit revokací? (a/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Prosím, odstraňte výběr z tajných klíčů.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Prosím, vyberte nejvýše jeden podklíč.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Měním dobu expirace podklíče.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Měním dobu expirace primárního klíče.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nemůžete změnit dobu platnosti klíče verze 3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "V souboru tajných klíčů chybí odpovídající podpis\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "podepisovací podklíč %s je již křížově certifikován\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "podklíč %s nepodepisuje, a tak není třeba jej křížově certifikovat\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Prosím, vyberte právě jeden id uživatele .\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "přeskočen v3 podpis klíče jím samým u uživatelského id „%s“\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Vložte URL preferovaného serveru klíčů: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Jste si jistý(á), že jej chcete přepsat? (a/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Jste si jistý(á), že jej chcete smazat? (a/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Vložte poznámku: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Pokračovat (a/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Neexistuje identifikátor uživatele s indexem %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Neexistuje uživatelské ID s hashem %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Neexistuje podklíč s indexem %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID uživatele: „%s“\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "podepsáno vaším klíčem %s v %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (neexportovatelné)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Platnost podpisu vyprší %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Jste si jistý, že jej chcete stále revokovat? (a/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vytvořit pro tento podpis revokační certifikát? (a/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Nepodepsáno vámi.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Podepsal(a) jste následující identifikátory uživatele: %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (neodvolatelné)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revokováno vaším klíčem %s v %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Chystáte se revokovat tyto podpisy:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Opravdu vytvořit revokační certifikáty? (a/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "neexistuje tajný klíč\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "uživatelské ID „%s“ je již revokováno\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "VAROVÁNÍ: podpis ID uživatele je datován %d sekund v budoucnosti\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Klíč %s je již revokován.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Podklíč %s je již revokován.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Zobrazuji %s fotografický ID o velikosti %ld pro klíč %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "duplicita předvolby „%s“\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "příliš mnoho předvoleb pro šifrování\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "příliš mnoho předvoleb pro vzorkování\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "příliš mnoho předvoleb pro komprimaci\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "neplatná položka „%s“ v řetězci s předvolbami\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "zapisuji podpis klíče jím samým (direct signature)\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "zapisuji podpis klíče sebou samým\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "zapisuji „key-binding“ podpis\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "neplatná délka klíče; použiji %u bitů\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "délka klíče zaokrouhlena na %u bitů\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "VAROVÁNÍ: některé OpenPGP programy nedokáží zacházet s DSA klíčem s takto "
 "dlouhým hashem\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Podepisování"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certifikování"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Šifrování"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Autentizace"
 
@@ -4359,104 +4386,104 @@ msgstr "Autentizace"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Pro klíč %s lze provést: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Aktuálně povolené akce: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Zapnout/vypnout schopnost podepisovat\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Zapnout/vypnout schopnost šifrovat\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Zapnout/vypnout schopnost autentizovat\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Konec\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Prosím, vyberte druh klíče, který chcete:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA a RSA (implicitní)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA a Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (pouze pro podpis)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (pouze pro podpis)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (pouze pro šifrování)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (pouze pro šifrování)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (nastavit si vlastní použití)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (nastavit si vlastní použití)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "klíč %s může mít délku v intervalu %u až %u bitů.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Jakou délku podklíče si přejete? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Jakou délku klíče si přejete? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Požadovaná délka klíče je %u bitů.\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4472,7 +4499,7 @@ msgstr ""
 "      <n>m = doba platnosti klíče skončí za n měsíců\n"
 "      <n>y = doba platnosti klíče skončí za n let\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4488,38 +4515,38 @@ msgstr ""
 "      <n>m = doba platnosti podpisu skončí za n měsíců\n"
 "      <n>y = doba platnosti podpisu skončí za n let\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Klíč je platný pro? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Podpis je platný pro? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "neplatná hodnota\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Platnost klíče nikdy neskončí\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Platnost podpisu nikdy neskončí\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Platnost klíče skončí v %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Platnost podpisu skončí v %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4527,11 +4554,11 @@ msgstr ""
 "Váš systém neumí zobrazit data po roce 2038.\n"
 "V každém případě budou data korektně zpracovávána do roku 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Je to správně (a/N)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4546,7 +4573,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4562,44 +4589,44 @@ msgstr ""
 "    „Magda Prochazkova (student) <magda@domena.cz>“\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Jméno a příjmení: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Neplatný znak ve jméně\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Jméno nemůže začínat číslicí\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Jméno musí být dlouhé alespoň 5 znaků\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-mailová adresa: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Neplatná e-mailová adresa\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Komentář: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Neplatný znak v komentáři\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Používáte znakovou sadu „%s“.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4610,11 +4637,11 @@ msgstr ""
 "    „%s“\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Do pole jméno nebo komentář nepište, prosím, e-mailovou adresu.\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Takový identifikátor uživatele již u tohoto klíče existuje!\n"
 
@@ -4629,25 +4656,25 @@ msgstr "Takový identifikátor uživatele již u tohoto klíče existuje!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "jJkKeEPpUu"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Změnit (J)méno, (K)omentář, (E)-mail nebo (U)končit? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "Změnit (J)méno, (K)omentář, (E)-mail, (P)okračovat dál nebo (U)končit "
 "program? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Nejdřív, prosím, opravte chybu\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4655,7 +4682,7 @@ msgstr ""
 "Pro ochranu Vašeho tajného klíče musíte zadat heslo.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4663,12 +4690,12 @@ msgstr ""
 "Prosím, zadejte heslo, kterým ochráníte zálohu mimo kartu nového šifrovacího "
 "klíče."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4680,7 +4707,7 @@ msgstr ""
 "tohoto programu s parametrem „--edit-key“.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4693,50 +4720,50 @@ msgstr ""
 "používat disky); díky tomu má generátor lepší šanci získat dostatek "
 "entropie.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Vytváření klíče bylo zrušeno.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "zapisuji veřejný klíč do „%s“\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "zapisuji tajný klíč do „%s“\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "zapisuji tajný klíč do „%s“\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "nenalezen zapisovatelný soubor veřejných klíčů (pubring): %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "nenalezen zapisovatelný soubor tajných klíčů (secring): %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "chyba při zápisu do souboru veřejných klíčů „%s“: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "chyba při zápisu do souboru tajných klíčů „%s“: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "veřejný a tajný klíč byly vytvořeny a podepsány.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4744,12 +4771,12 @@ msgstr ""
 "Tento klíč nemůže být použitý pro šifrování. K vytvoření\n"
 "sekundárního klíče pro tento účel můžete použít příkaz „--edit-key“.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Vytvoření klíče se nepodařilo: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4757,7 +4784,7 @@ msgstr ""
 "klíč byl vytvořen %lu sekund v budoucnosti (došlo ke změně času nebo\n"
 "je problém se systémovým časem)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4765,25 +4792,25 @@ msgstr ""
 "klíč byl vytvořen %lu sekund v budoucnosti (došlo ke změně času nebo\n"
 "je problém se systémovým časem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "POZNÁMKA: vytvoření podklíče pro klíče v3 není v souladu s OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Opravdu vytvořit? (a/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "uložení klíče na kartu se nezdařilo: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "nemohu vytvořit zálohu souboru „%s“: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "POZNÁMKA: záloha klíče z karty uložena do „%s“\n"
@@ -4816,29 +4843,29 @@ msgstr "Podepisovací notace: "
 msgid "Keyring"
 msgstr "soubor klíčů (keyring)"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Otisk primárního klíče:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "         Otisk podklíče:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "  Otisk primárního klíče:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "          Otisk podklíče:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "          Otisk klíče ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "  Sériové číslo karty ="
 
@@ -4918,458 +4945,458 @@ msgstr "respektovat PKA záznamy klíče při získávání klíčů"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "VAROVÁNÍ: volba „%s“ pro server klíčů není na této platformě účinná\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "zneplatněn"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Vložte číslo (čísla), „N“ pro další, nebo „Q“ pro konec > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "neplatný protokol serveru klíčů (naše %d!=obsluha %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "klíč „%s“ nebyl na serveru klíčů nalezen\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "klíč nebyl na serveru klíčů nalezen\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "požaduji klíč %s ze %s server %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "požaduji klíč %s z %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "vyhledávám jména na %s serveru %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "vyhledávám jména na serveru %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "posílám klíč %s na %s server %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "posílám klíč %s na %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "vyhledávám „%s“ na %s serveru %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "vyhledávám „%s“ na serveru %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "žádná operace se serverem klíčů!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "VAROVÁNÍ: obsluha serveru klíčů z jiné verze GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "server klíčů neposlal VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "žádný server klíčů není znám (použijte volbu --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "volání externího keyserver není v této verzi podporováno\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "protokol serveru klíčů „%s“ není podporován\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "akce „%s“ není podporována v protokolu „%s“ serveru klíčů\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s nepodporuje protokol verze  %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "časový limit pro server klíčů vypršel\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "interní chyba serveru klíčů\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "chyba komunikace se serverem klíčů: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "„%s“ není ID klíče: přeskočeno\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROVÁNÍ: nelze aktualizovat klíč %s prostřednictvím %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "aktualizuji 1 klíč z %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "aktualizuji %d klíčů z %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROVÁNÍ: URI %s nelze získat: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "VAROVÁNÍ: URI %s nelze rozebrat\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "podivná velikost šifrovacího klíče pro sezení (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s zašifrovaný klíč sezení\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "heslo (passphrase) generováno s použitím neznámého algoritmu %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "veřejný klíč je %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "data zašifrována veřejným klíčem: správný DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "zašifrována %u-bitovým %s klíčem, ID %s, vytvořeným %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      „%s“\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "zašifrováno %s klíčem, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "dešifrování veřejným klíčem selhalo: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "zašifrováno s heslem %lu\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "zašifrováno jedním heslem\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "předpokládám %s šifrovaných dat\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "algoritmus IDEA není dostupný; optimisticky se jej pokusíme nahradit "
 "algoritmem %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "dešifrování o.k.\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROVÁNÍ: zpráva nebyla chráněna proti porušení její integrity\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROVÁNÍ: se zašifrovanou zprávou bylo manipulováno!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "vymazané heslo zapamatované pro ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dešifrování selhalo: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "POZNÁMKA: odesílatel požadoval („for-your-eyes-only“)\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "původní jméno souboru='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "VAROVÁNÍ: zachyceno více prostých textů\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "samostatný revokační certifikát – použijte „gpg --import“, chcete-li jej "
 "užít\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "nenalezen žádná podpis\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verifikace podpisu potlačena\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neumím pracovat s těmito nejednoznačnými daty\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Podpis vytvořen %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               použití %s klíče %s\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpis vytvořen %s pomocí klíče %s s ID uživatele %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Klíč k dispozici na: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ŠPATNÝ podpis od „%s“"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Podpis s vypršenou platností od „%s“"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Dobrý podpis od „%s“"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[nejistý]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                alias „%s“"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Platnost podpisu skončila %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Platnost podpisu skončí %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "podpis %s, hashovací algoritmus %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binární formát"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "textový formát"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "neznámý formát"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nemohu ověřit podpis: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "toto není podpis oddělený od dokumentu\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "VAROVÁNÍ: detekováno více podpisů. Kontrolován bude pouze první.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "samostatný podpis třídy 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starého typu (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "nalezen neplatný kořenový paket v proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat „%s“ selhal na %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) selhal v %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "VAROVÁNÍ: používám experimentální algoritmus veřejného klíče %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "VAROVÁNÍ: Podepisovací a šifrovací klíče Elgamal se nedoporučují\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "VAROVÁNÍ: používám experimentální šifrovací algoritmus %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "VAROVÁNÍ: používám experimentální hashovací algoritmus %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "VAROVÁNÍ: vyžádaný algoritmus %s není doporučen\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA modul pro GnuPG nenalezen\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "více informací naleznete na adrese %s\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: použití parametru „%s“ se nedoporučuje\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "VAROVÁNÍ: používání parametru „%s“ se nedoporučuje\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "použijte místo něj „%s%s“ \n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "VAROVÁNÍ: používání příkaz „%s“ se nedoporučuje - nepoužívejte jej\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: zastaralý parametr „%s“ – neúčinkuje\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "VAROVÁNÍ: „%s“ je zastaralý parametr – neúčinkuje\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Nezkomprimováno"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "nezkomprimováno|nic"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "tato zpráva nemusí být s %s použitelná\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "nejednoznačné volby „%s“\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "neznámá volba „%s“\n"
@@ -5411,16 +5438,16 @@ msgstr "vytvořen nový konfigurační soubor „%s“\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "VAROVÁNÍ: nastavení z „%s“ nejsou při tomto spuštění zatím aktivní\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "nemohu pracovat s algoritmem veřejného klíče %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "VAROVÁNÍ: potencionálně nebezpečně symetricky zašifrován klíč sezení\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpacket typu %d má nastavený kritický bit\n"
@@ -5433,7 +5460,7 @@ msgstr "problém s agentem: %s\n"
 #: g10/passphrase.c:344 g10/passphrase.c:613
 #, c-format
 msgid " (main key ID %s)"
-msgstr "(hlavní ID klíče %s)"
+msgstr " (hlavní ID klíče %s)"
 
 #: g10/passphrase.c:358
 #, c-format
@@ -5477,7 +5504,7 @@ msgstr "délka %u bitů, typ %s, klíč %s, vytvořený %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (podklíč na hlavním klíči ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5491,34 +5518,34 @@ msgstr ""
 "klíči - velký obrázek bude mít za následek velmi velký veřejný klíč !\n"
 "Vhodná velikost obrázku je asi 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Vložte jméno JPEG souboru s fotografickým ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "nelze otevřít JPEG soubor „%s“: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Tento JPEG je opravdu velký (%d bajtů)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Jste si jistý(á), že jej chcete použít? (a/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "„%s“ není soubor ve formátu JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Je tato fotografie správná (a/N/u)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "nelze zobrazit photo ID!\n"
 
@@ -5550,6 +5577,16 @@ msgstr "důvod pro revokaci: "
 msgid "revocation comment: "
 msgstr "revokační poznámka: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMuUsS"
@@ -5727,26 +5764,26 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Není jisté, zda tento podpis patří vlastníkovi.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: přeskočeno: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: přeskočeno: veřejný klíč je již obsažen v databázi\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Nespecifikoval jste identifikátor uživatele (user ID). Můžete použít \"-r\"\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Aktuální příjemci:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5754,42 +5791,42 @@ msgstr ""
 "\n"
 "Napište identifikátor uživatele (user ID). Ukončete prázdným řádkem: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Takový identifikátor uživatele neexistuje.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "přeskočeno: veřejný klíč je už nastaven podle implicitního adresáta\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Veřejný klíč je neplatný (disabled).\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "přeskočeno: veřejný klíč je již nastaven\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "neznámý implicitní adresát „%s“\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: přeskočeno: veřejný klíč je neplatný (disabled)\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "žádné platné adresy\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Poznámka: klíči %s chybí vlastnost %s\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Poznámka: klíči %s chybí předvolby pro %s\n"
@@ -6029,7 +6066,7 @@ msgstr "DSA klíč %s používá nebezpečný (%ubitový) hash\n"
 #: g10/seskey.c:252
 #, c-format
 msgid "DSA key %s requires a %u bit or larger hash\n"
-msgstr "DSA klíč %s vyžaduje hash o délce %u bitů nebo více\n"
+msgstr "DSA klíč %s vyžaduje hash o délce %u nebo více bitů\n"
 
 #: g10/sig-check.c:80
 msgid "WARNING: signature digest conflict in message\n"
@@ -6081,19 +6118,25 @@ msgstr "POZNÁMKA: podpisovému klíči %s skončila platnost %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "POZNÁMKA: podpisový klíč %s byl odvolán\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "podpis %s, hashovací algoritmus %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "předpokládám špatný podpis klíčem %s, protože je nastaven neznámý kritický "
 "bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "klíč %s: neexistuje podklíč pro revokaci podklíče\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "klíč %s: podklíč který je svázán s podpisem neexistuje\n"
@@ -6186,7 +6229,7 @@ msgstr ""
 "toto je PGP klíč vygenerovaný podle algoritmu Elgamal,\n"
 "podpisy vytvořené tímto klíčem nejsou bezpečné!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "záznam důvěry %lu, typ %d: zápis selhal: %s\n"
@@ -6231,17 +6274,17 @@ msgstr "chyba při hledání záznamu důvěryhodnosti v „%s“: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "chyba při čtení v „%s“: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "databáze důvěry: synchronizace selhala %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "záznam v databázi důvěry %lu: lseek() se nepodařil: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "záznam v databázi důvěry %lu: zápis se nepodařil (n=%d): %s\n"
@@ -6250,117 +6293,117 @@ msgstr "záznam v databázi důvěry %lu: zápis se nepodařil (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "transakce s databází důvěry je příliš dlouhá\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "nemohu otevřít „%s“: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: adresář neexistuje!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "nemohu vytvořit zámek pro  „%s“\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "nelze zamknout „%s“\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: nepodařilo se vytvořit záznam verze: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: vytvořena neplatná databáze důvěry\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: databáze důvěry vytvořena\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "POZNÁMKA: do trustedb nezle zapisovat\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: neplatná databáze důvěry\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: nepodařilo se vytvořit hashovací tabulku: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: chyba při aktualizaci záznamu verze: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: chyba při čtení záznamu verze: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: chyba při zápisu záznamu verze: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "databáze důvěry: procedura lseek() selhala: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "databáze důvěry: procedura read() (n=%d) selhala: %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: není soubor databáze důvěry\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: záznam verze s číslem %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: neplatná verze souboru %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: chyba při čtení volného záznamu: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: chyba při zápisu adresářového záznamu: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: vynulování záznamu selhalo: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: přidání záznamu selhalo: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Chyba: Databáze důvěry je poškozena.\n"
 
@@ -6374,174 +6417,182 @@ msgstr "nemohu pracovat s řádky delšími než %d znaků\n"
 msgid "input line longer than %d characters\n"
 msgstr "vstupní řádek je delší než %d znaků\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "„%s“ není platný dlouhý keyID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "klíč %s: akceptován jako důvěryhodný klíč\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "klíč %s se v databázi důvěry vyskytuje více než jednou\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "klíč %s: nenalezen veřejný klíč k důvěryhodnému klíči – přeskočeno\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "klíč %s označen jako absolutně důvěryhodný.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "záznam důvěry %lu, typ pož. %d: čtení selhalo: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "záznam důvěry %lu není požadovaného typu %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "Databázi důvěry můžete zkusit znovu vytvořit pomocí těchto příkazů:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "Pokud to nebude fungovat, prosím, nahlédněte do návodu\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "nelze použít neznámý model důvěry (%d) – předpokládáme použití modelu %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "použití modelu důvěry %s\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 "14 fixní délka na kterou se překládá see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ revokován  ]"
 
 # TODO: use context to distinguish gender
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[ prošlý(á)  ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[  neznámá   ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[nedefinovaná]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[  částečná  ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[    plná    ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[  absolutní ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "nedefinována"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "žádná"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "částečná"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "plná"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "absolutní"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "není nutné kontrolovat databázi důvěry\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "další kontrola databáze důvěry v %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "není nutné kontrolovat databázi důvěry s modelem „%s“\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "není nutné aktualizovat databázi důvěry s modelem „%s“\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "veřejný klíč %s nebyl nalezen: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "prosím proveďte --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "kontroluji databázi důvěry\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "zpracováno %d klíčů (%d validit vymazáno)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "žádný absolutně důvěryhodný klíč nebyl nalezen\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "veřejný klíč k absolutně důvěryhodnému klíči %s nebyl nalezen\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "požadováno %d částečné důvěry a %d úplné důvěry, model %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"hloubka: %d  platných: %3d  podepsaných: %3d  důvěra: %d-, %dq, %dn, %dm, %"
-"df, %du\n"
+"hloubka: %d  platných: %3d  podepsaných: %3d  důvěra: %d-, %dq, %dn, %dm, "
+"%df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "nelze aktualizovat záznam v databázi důvěry: chyba při zápisu: %s\n"
@@ -6566,68 +6617,68 @@ msgstr "vstupní řádek %u je příliš dlouhý nebo na konci chybí znak LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "nemohu otevřít deskriptor %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "argument nebyl očekáván"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "chyba při čtení"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "klíčové slovo je příliš dlouhé"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "postrádám argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "neplatný příkaz"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "neplatný definice aliasu"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "nedostatek paměti"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "neplatný parametr"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "postrádám argument u volby „%.50s“\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "volba „%.50s“ nečeká argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "neplatný příkaz „%.50s“\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
-msgstr "volba „%s.50s“ není jednoznačná\n"
+msgstr "volba „%.50s“ není jednoznačná\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "příkaz „%.50s“ není jednoznačný\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "nedostatek paměti\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "neplatný parametr „%.50s“\n"
@@ -6637,22 +6688,17 @@ msgstr "neplatný parametr „%.50s“\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "nalezena chyba v programu… (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "chyba při nahrávání „%s“: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "převod z „%s“ na „%s“ není k dispozici\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open selhala: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "převod z „%s“ na „%s“ se nezdařil: %s\n"
@@ -6710,24 +6756,24 @@ msgstr "Použití: kbxutil [VOLBY] [SOUBORY] (-h pro nápovědu)"
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Syntaxe: kbxutil [VOLBY] [SOUBORY]\n"
-"vypisuje, exportuje, importuje schránku na klíče (keybox)\n"
+"Vypisuje, exportuje, importuje schránku na klíče (keybox).\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "schází RSA modulus nebo nemá velikost %d bitů\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "schází veřejný RSA exponent nebo je delší než %d bitů\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "funkce PIN callback skončila chybou: %s\n"
@@ -6780,79 +6826,79 @@ msgstr ""
 "|NP|Prosím, zadejte kód pro odblokování (PUK) klíče určeného na tvorbu "
 "kvalifikovaných podpisů."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "chyba při získání nového PINu: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "uložení otisku se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "uložení data vytvoření se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "čtení veřejného klíče se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "odpověď neobsahuje veřejný klíč\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "odpověď neobsahuje RSA modulus\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "odpověď neobsahuje veřejný RSA exponent\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "používám implicitní PIN jako %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "použití implicitního PINu jako %s selhalo: %s – vypínám jeho budoucí "
 "použití\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Prosím vložte PIN%%0A[podpis hotov: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Prosím vložte PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN pro CHV%d je příliš krátký; minimální délka je %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "ověření CHV%d se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "chyba při získání CHV z karty\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "karta je trvale uzamčena!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
@@ -6860,121 +6906,132 @@ msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Prosím, zadejte PIN správce%%0A[zbývá pokusů: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Prosím, zadejte PIN správce"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "přístup k administrátorským příkazům není nakonfigurován\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Prosím, zadejte resetační kód karty"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Resetační kód je příliš krátký; minimální délka je %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nový resetační kód"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nový PIN správce"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Nový PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Prosím, zadejte PIN správce a nový PIN správce"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Prosím, zadejte PIN a nový PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "chyba při čtení aplikačních dat\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "chyba při čtení otisku DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "klíč již existuje\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "existující klíč bude přepsán\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generování nového klíče\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "nový klíč se zapisuje\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "chybí časové razítko vytvoření\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "schází RSA prime %s nebo nemá velikost %d bitů\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nelze uložit klíč: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "prosím počkejte než bude klíč vygenerován…\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "generování klíče se nezdařilo\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "generování klíče dokončeno (%d sekund)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "neplatná struktura OpenPGP karty (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "otisk na kartě se neshoduje s požadovaným\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "karta nepodporuje hashovací algoritmus %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "dosud vytvořené podpisy: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "ověření PIN správce je nyní prostřednictvím tohoto příkazu zakázáno\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "přístup na %s se nezdařil – vadná OpenPGP karta?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Prosím, zadejte svůj PIN na klávesnici čtečky"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -6984,51 +7041,55 @@ msgstr "||Prosím, zadejte svůj PIN na klávesnici čtečky"
 msgid "|N|Initial New PIN"
 msgstr "|N|Prvotní nový PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "pracovat ve více serverové režimu (na popředí)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|ÚROVEŇ|nastavit úroveň ladění na ÚROVEŇ"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|SOUBOR|zapisovat protokol do SOUBORU"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|připojit se na čtečku na portu N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "NÁZEV|použít NÁZEV jako ovladač ct-API"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "NÁZEV|použít NÁZEV jako ovladač PC/SC"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "nepoužívat vnitřní ovladač CCID"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|odpojovat se od karty po N sekundách nečinnosti"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr "nepoužívat klávesnici čtečky"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "zakázat používání správcovských příkazů karty"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "používat vstup o proměnné délce na klávesnici čtečky"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Použití: scdaemon [možnosti] [SOUBORY] (-h pro nápovědu)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7036,17 +7097,17 @@ msgstr ""
 "Syntaxe: scdaemon [VOLBY] [PŘÍKAZ [ARGUMENTY]]\n"
 "Démon pro čipové karty (smartcard) pro GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "prosím, použijte volbu „--daemon“, chcete-li nechat běžet program na pozadí\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "obsluha pro deskriptor %d spuštěna\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "obsluha pro deskriptor %d ukončena\n"
@@ -7064,7 +7125,7 @@ msgstr "předání dotazu %s klientovi se nezdařilo\n"
 #: sm/call-dirmngr.c:252
 #, c-format
 msgid "no running dirmngr - starting `%s'\n"
-msgstr "žádný dirmngr neběží – spouštím „%s“\n"
+msgstr "žádný dirmngr neběží – spouští se „%s“\n"
 
 #: sm/call-dirmngr.c:285
 msgid "malformed DIRMNGR_INFO environment variable\n"
@@ -7084,11 +7145,11 @@ msgstr "k dirmngr se nelze připojit – zkouším náhradní způsob\n"
 msgid "validation model requested by certificate: %s"
 msgstr "certifikátem vyžadovaný ověřovací model: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "řetězený"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "jednovrstvý"
 
@@ -7118,193 +7179,194 @@ msgstr "poznámka: nekritické certifikační politiky nejsou dovoleny"
 msgid "certificate policy not allowed"
 msgstr "certifikační politika není dovolena"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "hledám vydavatele na jiném místě\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "počet odpovídajících vydavatelů: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "hledám vydavatele ve vyrovnávací paměti Dirmngr\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "počet odpovídajících certifikátů: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "hledání klíče pouze ve vyrovnávací paměti dirmngr neuspělo: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr "alokace popisovače keyDB se nezdařila\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "certifikát byl odvolán"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "status certifikáty není znám"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "prosím, ujistěte se, že „dirmngr“ je správně nainstalován\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "kontrola CRL se nezdařila: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "certifikát s neplatnou platností: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "certifikát ještě nezačal platit"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "kořenový certifikát ještě nezačal platit"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "mezilehlý certifikát ještě nezačal platit"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certifikát je prošlý"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "kořenový certifikát je prošlý"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "mezilehlý certifikát je prošlý"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "chybí povinné atributy certifikátu: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "certifikát s neplatnou platností"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "podpis nebyl vytvořen v době životnosti certifikátu"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "certifikát nebyl vytvořen v době životnosti vydavatele"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "mezilehlý certifikát nebyl vytvořen v době životnosti vydavatele"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (       podpis vytvořen "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (   certifikát vytvořen "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (   certifikát planý od "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (   vydavatel platný od "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "otisk=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "kořenový certifikát byl nyní označen za důvěryhodný\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "v gpg-agentu není povoleno interaktivní označování za důvěryhodný\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "interaktivní označovaní jako důvěryhodný je pro tuto relaci zakázáno\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "VAROVÁNÍ: datum vytvoření podpisu není známo – předpokládám současnost"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "v certifikátu nebyl nalezen vydavatel"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "certifikát podepsaný sám sebou má ŠPATNÝ podpis"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "kořenový certifikát není označen jako důvěryhodný"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "kontrola seznamu důvěry se nepodařila: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "řetěz certifikátů je příliš dlouhý\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "vydavatel certifikátu nebyl nalezen"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "certifikát má ŠPATNÝ podpis"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "nalezen další možný odpovídající certifikát CA – zkouším znovu"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "řetězec certifikátů je delší, než je dovoleno CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certifikát je v pořádku\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "mezilehlý certifikát je v pořádku\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "kořenový certifikát je v pořádku\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "přepínám do řetězeného modelu"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "použit ověřovací model: %s"
@@ -7368,20 +7430,20 @@ msgid "error getting key usage information: %s\n"
 msgstr "chyba při získání informací o způsobu užití klíče: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "certifikát neměl být použit pro certifikování\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "certifikát neměl být použit pro podepsání OCSP odpovědi\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "certifikát neměl použit pro šifrování\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr "certifikát neměl být použit pro podepisování\n"
+msgid "certificate should not have been used for signing\n"
+msgstr "certifikát neměl být použit pro podepsání\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
@@ -7465,7 +7527,7 @@ msgstr "Vložte keygrip: "
 
 #: sm/certreqgen-ui.c:210
 msgid "Not a valid keygrip (expecting 40 hex digits)\n"
-msgstr "Není platným keygripem (očekáváno 40šestnáctkových číslic)\n"
+msgstr "Není platným keygripem (očekáváno 40 šestnáctkových číslic)\n"
 
 #: sm/certreqgen-ui.c:212
 msgid "No key with this keygrip\n"
@@ -7558,7 +7620,7 @@ msgstr "Parametry, které budou použity v žádosti o certifikát:\n"
 
 #: sm/certreqgen-ui.c:389
 msgid "Now creating certificate request.  This may take a while ...\n"
-msgstr "Nyní vytvořím žádost o certifikát. To může chvíli trvat…\n"
+msgstr "Nyní se vytváří žádost o certifikát. To může chvíli trvat…\n"
 
 #: sm/certreqgen-ui.c:398
 msgid "Ready.  You should now send this request to your CA.\n"
@@ -7581,7 +7643,7 @@ msgstr "(toto nevypadá jako zašifrovaná zpráva)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "certifikát „%s“ nebyl nenalezen: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "chyba při zamykání schránky na klíče: %s\n"
@@ -7655,7 +7717,7 @@ msgstr "použít systémový dirmngr, je-li dostupný"
 
 #: sm/gpgsm.c:247
 msgid "never consult a CRL"
-msgstr "nikdy nenahlížet do  CRL"
+msgstr "nikdy nenahlížet do CRL"
 
 #: sm/gpgsm.c:257
 msgid "check validity using OCSP"
@@ -7709,7 +7771,7 @@ msgstr "|SOUBOR|přidat klíčenku na seznam klíčenek"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ID_UŽIVATELE|použít ID_UŽIVATELE jako implicitní tajný klíč"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|použít tento server pro dohledávání klíčů"
 
@@ -7728,12 +7790,12 @@ msgstr "Použití: gpgsm [VOLBY] [SOUBORY] (-h pro nápovědu)"
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntaxe: gpgsm [VOLBY] [SOUBORY]\n"
-"podepisuje, ověřuje, šifruje nebo dešifruje pomocí protokolu S/MIME\n"
-"implicitní operace závisí na vstupních datech\n"
+"Podepisuje, ověřuje, šifruje nebo dešifruje pomocí protokolu S/MIME.\n"
+"Výchozí operace závisí na vstupních datech.\n"
 
 #: sm/gpgsm.c:617
 msgid "usage: gpgsm [options] "
@@ -7764,25 +7826,25 @@ msgstr "%s:%u: zadáno heslo bez uživatele\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: přeskakuji tento řádek\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "nelze rozebrat serveru klíčů\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "VAROVÁNÍ: pracuji s podvrženým systémovým časem: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "importuji běžné certifikáty „%s“\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "nemohu podepsat pomocí „%s“: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "neplatný příkaz (neexistuje žádný implicitní příkaz)\n"
 
@@ -7799,11 +7861,7 @@ msgstr "chyba při ukládání certifikátu\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "základní kontrola certifikátu selhala – neimportováno\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "alokace popisovače keyDB se nezdařila\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "chyba při získání uložených příznaků: %s\n"
@@ -7818,45 +7876,41 @@ msgstr "chyba při importování certifikátu: %s\n"
 msgid "error reading input: %s\n"
 msgstr "chyba při čtení vstupu: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "chyba při vytváření schránky na klíče (keybox) „%s“: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "možná byste chtěl(a) nejprve spustit gpg-agenta\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "schránka na klíče (keybox) „%s“ vytvořena\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "otisk se nepodařilo získat\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problém při hledání existujícího certifikátu: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "chyba při hledání zapisovatelné keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "chyba při ukládání certifikátu: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problém při opakovaném hledání certifikátu: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "chyba při ukládání příznaků: %s\n"
@@ -8049,144 +8103,144 @@ msgstr "chyba při odesílání příkazu %s: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "chyba při odesílání standardního parametru: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Volby ovlivňující diagnostický výstup"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Volby ovlivňující nastavení"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Volby užitečné při ladění"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|SOUBOR|zapisuje protokol serverového režimu do SOUBORU"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Volby ovlivňující bezpečnost"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|zahazovat klíče SSH po N sekundách"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|nastavit maximální životnost dočasné paměti pro PINy na N sekund"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N| nastavit maximální životnost klíčů SSH na N sekund"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Volby vynucující politiku hesel"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "nedovolit obejít politiku hesel"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|nastavit minimální vyžadovanou délku nových hesel na N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|vyžaduje alespoň N nepísmenných znaků v novém hesle"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|SOUBOR|prověřovat nová hesla proti vzorům v SOUBORU"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|omezit platnost hesla na N dnů"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "nedovolit opakovat stará hesla"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NÁZEV|použít NÁZEV jako implicitní tajný klíč"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|JMÉNO|šifrovat rovněž pro uživatele s ID JMÉNO"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|nastavit e-mailový alias"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Nastavení serverů klíčů"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|používat server klíčů na URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "povolit dohledávání PKA (dotazy na DNS)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|METODA|používat METODU pro dohledávání klíčů podle e-mailové adresy"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "zakázat veškerý přístup k dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NÁZEV|používat kódování NÁZEV pro PKCS#12 hesla"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "neprověřovat kořenové certifikáty proti CRL"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Volby ovlivňující podobu výstupu"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Volby ovlivňující interaktivitu a vymáhání"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Nastavení HTTP serverů"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "používat systémové nastavení HTTP proxy"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Nastavení používaných LDAP serverů"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "Seznam LDAP serverů"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Nastavení OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Selhalo externí ověření komponenty %s"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Vezměte na vědomí, že určení skupiny se ignoruje\n"
 
@@ -8212,7 +8266,7 @@ msgstr "|KOMPONENTA|zkontrolovat volby"
 
 #: tools/gpgconf.c:68
 msgid "apply global default values"
-msgstr "Aplikovat globální implicitní hodnoty"
+msgstr "aplikovat globální implicitní hodnoty"
 
 #: tools/gpgconf.c:70
 msgid "get the configuration directories for gpgconf"
@@ -8442,93 +8496,1237 @@ msgstr ""
 "Syntaxe: gpg-check-pattern [VOLBY] SOUBOR_SE_VZOREM\n"
 "Prověří heslo zadané na vstupu proti souboru se vzory\n"
 
-#~ msgid "Command> "
-#~ msgstr "Příkaz> "
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "možná byste chtěl(a) nejprve spustit gpg-agenta\n"
 
-#~ msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
-#~ msgstr "databáze důvěry je poškozena; prosím spusťte „gpg --fix-trustdb“.\n"
+#~ msgid "enable ssh-agent emulation"
+#~ msgstr "zapnout emulaci ssh-agenta"
 
-#~ msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
-#~ msgstr ""
-#~ "Chyby oznamte (anglicky), prosím, na adresu <gnupg-bugs@gnu.org>.\n"
-#~ "Připomínky k překladu (česky) <translations.cs@gnupg.cz>.\n"
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "chyba při nahrávání „%s“: %s\n"
 
-#~ msgid "Please report bugs to "
-#~ msgstr ""
-#~ "Připomínky k překladu hlaste (česky) na <translations.cs@gnupg.cz>,\n"
-#~ "chyby v programu (anglicky) na "
+#~ msgid "a %zu bit hash is not valid for a %u bit %s key\n"
+#~ msgstr "%zubitový hash není platný pro %ubitový %s klíč\n"
 
-#~ msgid "DSA keypair will have %u bits.\n"
-#~ msgstr "Pár DSA klíčů DSA dlouhý %u bitů.\n"
+#~ msgid "public key algorithm %d (%s) is not supported\n"
+#~ msgstr "algoritmus %d (%s) veřejného klíče není podporován\n"
 
-#~ msgid "Repeat passphrase\n"
-#~ msgstr "Opakovat heslo\n"
+#~ msgid "protection hash algorithm %d (%s) is not supported\n"
+#~ msgstr "ochranný algoritmus %d (%s) není podporován\n"
 
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr ""
-#~ "||Prosím, zadejte svůj PIN na klávesnici čtečky%%0A[podpis hotov: %lu]"
+#~ msgid "error creating a stream for a pipe: %s\n"
+#~ msgstr "chyba při vytváření proudu pro rouru: %s\n"
 
-#~ msgid "|A|Admin PIN"
-#~ msgstr "|A|PIN správce"
+#~ msgid "connection to agent established\n"
+#~ msgstr "spojení na agenta ustanoveno\n"
 
-#~ msgid ""
-#~ "It's up to you to assign a value here; this value will never be exported\n"
-#~ "to any 3rd party.  We need it to implement the web-of-trust; it has "
-#~ "nothing\n"
-#~ "to do with the (implicitly created) web-of-certificates."
-#~ msgstr ""
-#~ "Je na Vás, abyste zde přiřadil(a) hodnotu; tato hodnota nebude nikdy\n"
-#~ "exportována třetí straně. Potřebujeme ji k implementaci \"pavučiny\n"
-#~ "důvěry\"; nemá to nic společného s (implicitně vytvořenou) \"pavučinou\n"
-#~ "certifikátů\"."
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "čeká se na dirmngr… (%d s)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "spojení na dirmngr ustanoveno\n"
+
+#~ msgid "deleting secret key not implemented\n"
+#~ msgstr "smazání tajného klíče není implementováno\n"
+
+#~ msgid " - skipped"
+#~ msgstr " – přeskočeno"
+
+#~ msgid "key %s: secret key already exists\n"
+#~ msgstr "klíč %s: tajný klíč již existuje\n"
+
+#~ msgid "key %s: error sending to agent: %s\n"
+#~ msgstr "klíč %s: chyba při odesílání dat agentovi: %s\n"
+
+#~ msgid "key %s: error changing passphrase: %s\n"
+#~ msgstr "klíč %s: chyba při měnění hesla: %s\n"
+
+#~ msgid "   (%d) ECDSA and ECDH\n"
+#~ msgstr "   (%d) ECDSA a ECDH\n"
+
+#~ msgid "  (%d) ECDSA (sign only)\n"
+#~ msgstr "  (%d) ECDSA (pouze pro podpis)\n"
+
+#~ msgid "  (%d) ECDSA (set your own capabilities)\n"
+#~ msgstr "  (%d) ECDSA (nastavit si vlastní použití)\n"
+
+#~ msgid "  (%d) ECDH (encrypt only)\n"
+#~ msgstr "  (%d) ECDH (pouze pro šifrování)\n"
+
+#~ msgid "rounded to %u bits\n"
+#~ msgstr "zaokrouhleno na %u bitů\n"
+
+#~ msgid "requesting key from `%s'\n"
+#~ msgstr "požaduji klíč z „%s“\n"
 
 #~ msgid ""
-#~ "To build the Web-of-Trust, GnuPG needs to know which keys are\n"
-#~ "ultimately trusted - those are usually the keys for which you have\n"
-#~ "access to the secret key.  Answer \"yes\" to set this key to\n"
-#~ "ultimately trusted\n"
+#~ "ECDSA public key is expected to be in SEC encoding multiple of 8 bits\n"
 #~ msgstr ""
-#~ "Aby bylo možné vybudovat pavučinu důvěry, musí GnuPG vědět, kterým "
-#~ "klíčům\n"
-#~ "důvěřujete absolutně - obvykle to jsou ty klíče, pro něž máte přístup\n"
-#~ "k tajným klíčům. Odpovězte \"ano\", abyste nastavili tyto klíče\n"
-#~ "jako absolutně důvěryhodné\n"
+#~ "U veřejného klíče ECDSA se očekává, že v kódování SEC bude délka násobkem "
+#~ "8 bitů\n"
 
-#~ msgid "If you want to use this untrusted key anyway, answer \"yes\"."
+#~ msgid ""
+#~ "Please enter the passphrase to unlock the secret key for the OpenPGP "
+#~ "certificate:"
 #~ msgstr ""
-#~ "Pokud přesto chcete použít tento nedůvěryhodný klíč, odpovězte \"ano\"."
+#~ "Prosím, zadejte heslo, abyste odemkl(a) tajný klíč příslušející OpenPGP "
+#~ "certifikátu:"
 
 #~ msgid ""
-#~ "Enter the user ID of the addressee to whom you want to send the message."
-#~ msgstr "Vložte identifikátor adresáta, kterému chcete poslat zprávu."
+#~ "Please enter the passphrase to import the secret key for the OpenPGP "
+#~ "certificate:"
+#~ msgstr ""
+#~ "Prosím, zadejte heslo, abyste mohl(a) importovat tajný klíč příslušející "
+#~ "OpenPGP certifikátu:"
 
 #~ msgid ""
-#~ "Select the algorithm to use.\n"
-#~ "\n"
-#~ "DSA (aka DSS) is the Digital Signature Algorithm and can only be used\n"
-#~ "for signatures.\n"
-#~ "\n"
-#~ "Elgamal is an encrypt-only algorithm.\n"
-#~ "\n"
-#~ "RSA may be used for signatures or encryption.\n"
-#~ "\n"
-#~ "The first (primary) key must always be a key which is capable of signing."
+#~ "%s\n"
+#~ "\"%.*s\"\n"
+#~ "%u-bit %s key, ID %s,\n"
+#~ "created %s%s.\n"
 #~ msgstr ""
-#~ "Vyberte algoritmus, který chcete použít.\n"
-#~ "\n"
-#~ "DSA (alias DSS) je Digital Signature Algorithm a může být použit pouze "
-#~ "pro\n"
-#~ "podepisování.\n"
-#~ "\n"
-#~ "Elgamal je pouze šifrovací algoritmus.\n"
-#~ "\n"
-#~ "RSA může být použit pro šifrování anebo podepisování.\n"
-#~ "\n"
-#~ "První (primární) klíč musí být vždy klíč, pomocí kterého lze podepisovat."
+#~ "%s\n"
+#~ "„%.*s“\n"
+#~ "%ubitový klíč %s, ID %s,\n"
+#~ "vytvořen %s%s.\n"
 
-#~ msgid ""
-#~ "In general it is not a good idea to use the same key for signing and\n"
-#~ "encryption.  This algorithm should only be used in certain domains.\n"
+#~ msgid "%s key %s uses an unsafe (%zu bit) hash\n"
+#~ msgstr "%s klíč %s používá nebezpečný (%zubitový) hash\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "alokace popisovače keyDB se nezdařila\n"
+
+#~ msgid "line %d: invalid serial number\n"
+#~ msgstr "řádek %d: neplatné sériové číslo\n"
+
+#~ msgid "line %d: invalid issuer name label `%.*s'\n"
+#~ msgstr "řádek %d: neplatný název vydavatele „%.*s“\n"
+
+#~ msgid "line %d: invalid issuer name `%s' at pos %d\n"
+#~ msgstr "řádek %d: neplatný název vydavatele „%s“ na pozici %d\n"
+
+#~ msgid "line %d: invalid date given\n"
+#~ msgstr "řádek %d: zadáno neplatné datum\n"
+
+#~ msgid "line %d: error getting signing key by keygrip `%s': %s\n"
+#~ msgstr ""
+#~ "řádek %d: chyba při získávání podpisového klíče podle keygripu „%s“: %s\n"
+
+#~ msgid "line %d: invalid hash algorithm given\n"
+#~ msgstr "řádek %d: zadán neplatný algoritmus hashe\n"
+
+#~ msgid "Create self-signed certificate? (y/N) "
+#~ msgstr "Vytvořit sám sebou podepsaný certifikát? (a/N)"
+
+#~ msgid "These parameters are used:\n"
+#~ msgstr "Budou použity tyto parametry:\n"
+
+#~ msgid "Now creating self-signed certificate.  "
+#~ msgstr "Nyní se vytváří sám sebou podepsaný certifikát. "
+
+#~ msgid "This may take a while ...\n"
+#~ msgstr "To může chvíli trvat…\n"
+
+# Ready ve významu finished po vygenerování certifikátu
+#~ msgid "Ready.\n"
+#~ msgstr "Hotovo.\n"
+
+#~ msgid "can't initialize certificate cache lock: %s\n"
+#~ msgstr "zámek keše certifikát nelze inicializovat: %s\n"
+
+#~ msgid "can't acquire read lock on the certificate cache: %s\n"
+#~ msgstr "zámek pro čtení keše certifikátů nelze získat: %s\n"
+
+#~ msgid "can't acquire write lock on the certificate cache: %s\n"
+#~ msgstr "zámek pro zápis keše certifikátů nelze získat: %s\n"
+
+#~ msgid "can't release lock on the certificate cache: %s\n"
+#~ msgstr "zámek keše certifikátů nelze uvolnit: %s\n"
+
+# TODO: plural
+#~ msgid "dropping %u certificates from the cache\n"
+#~ msgstr "%u certifikátů bude z keše vyřazeno\n"
+
+#~ msgid "can't access directory `%s': %s\n"
+#~ msgstr "k adresáři „%s“ nelze přistoupit: %s\n"
+
+#~ msgid "can't parse certificate `%s': %s\n"
+#~ msgstr "certifikát „%s“ nelze rozebrat: %s\n"
+
+#~ msgid "certificate `%s' already cached\n"
+#~ msgstr "certifikát „%s“ je již v keši\n"
+
+#~ msgid "trusted certificate `%s' loaded\n"
+#~ msgstr "zaveden důvěryhodný certifikát „%s“\n"
+
+#~ msgid "certificate `%s' loaded\n"
+#~ msgstr "certifikát „%s“ zaveden\n"
+
+#~ msgid "  SHA1 fingerprint = %s\n"
+#~ msgstr " otisk SHA1 = %s\n"
+
+#~ msgid "   issuer ="
+#~ msgstr "vydavatel ="
+
+# XXX: align with msgid "   issuer ="
+#~ msgid "  subject ="
+#~ msgstr "  subjekt ="
+
+#~ msgid "error loading certificate `%s': %s\n"
+#~ msgstr "chyba při zavádění certifikátu „%s“: %s\n"
+
+# XXX: Align with msgid "runtime cached certificates:"
+#~ msgid "permanently loaded certificates: %u\n"
+#~ msgstr "   trvale zavedených certifikátů: %u\n"
+
+# XXX: Align with msgid "permanently loaded certificates:"
+#~ msgid "    runtime cached certificates: %u\n"
+#~ msgstr "za běhu nakešovaných certifikátů: %u\n"
+
+#~ msgid "certificate already cached\n"
+#~ msgstr "certifikát již v keši\n"
+
+#~ msgid "certificate cached\n"
+#~ msgstr "certifikát uložen do keše\n"
+
+#~ msgid "error caching certificate: %s\n"
+#~ msgstr "chyba při ukládání certifikátu do keše: %s\n"
+
+#~ msgid "invalid SHA1 fingerprint string `%s'\n"
+#~ msgstr "neplatný řetězec otisku SHA1 „%s“\n"
+
+#~ msgid "error fetching certificate by S/N: %s\n"
+#~ msgstr "chyba při stahování certifikátu určeného sériovým číslem: %s\n"
+
+#~ msgid "error fetching certificate by subject: %s\n"
+#~ msgstr "chyba při stahovaní certifikátu určeného subjektem: %s\n"
+
+#~ msgid "no issuer found in certificate\n"
+#~ msgstr "v certifikátu nebyl nalezen vydavatel\n"
+
+#~ msgid "error getting authorityKeyIdentifier: %s\n"
+#~ msgstr "chyba při zjišťování authorityKeyIdentifier: %s\n"
+
+#~ msgid "creating directory `%s'\n"
+#~ msgstr "vytváří se adresář „%s“\n"
+
+#~ msgid "error creating directory `%s': %s\n"
+#~ msgstr "chyba při zakládání adresáře „%s“: %s\n"
+
+#~ msgid "ignoring database dir `%s'\n"
+#~ msgstr "adresář databáze „%s“ nebude brán zřetel\n"
+
+#~ msgid "error reading directory `%s': %s\n"
+#~ msgstr "chyba při čtení adresáře „%s“: %s\n"
+
+#~ msgid "removing cache file `%s'\n"
+#~ msgstr "odstraňuje se soubor keše „%s“\n"
+
+#~ msgid "not removing file `%s'\n"
+#~ msgstr "soubor „%s“ nebude neodstraněn\n"
+
+#~ msgid "error closing cache file: %s\n"
+#~ msgstr "chyba při zavírání souboru keše: %s\n"
+
+#~ msgid "failed to open cache dir file `%s': %s\n"
+#~ msgstr "otevření kešového dir souboru „%s“ selhalo: %s\n"
+
+#~ msgid "error creating new cache dir file `%s': %s\n"
+#~ msgstr "chyba při vytváření nového kešového dir souboru „%s“: %s\n"
+
+#~ msgid "error writing new cache dir file `%s': %s\n"
+#~ msgstr "chyba při zápisu nového kešového dir souboru „%s: %s\n"
+
+#~ msgid "error closing new cache dir file `%s': %s\n"
+#~ msgstr "chyba při uzavírání nového kešového dir souboru „%s“: %s\n"
+
+#~ msgid "new cache dir file `%s' created\n"
+#~ msgstr "nový kešový dir soubor „%s“ vytvořen\n"
+
+#~ msgid "failed to re-open cache dir file `%s': %s\n"
+#~ msgstr "znovu otevření kešového dir souboru „%s“ selhalo: %s\n"
+
+#~ msgid "first record of `%s' is not the version\n"
+#~ msgstr "první záznam „%s“ není verze\n"
+
+#~ msgid "old version of cache directory - cleaning up\n"
+#~ msgstr "stará verze adresáře s keší – bude vyčištěna\n"
+
+#~ msgid "old version of cache directory - giving up\n"
+#~ msgstr "stará verze adresáře s keší – nelze pokračovat\n"
+
+#~ msgid "extra field detected in crl record of `%s' line %u\n"
+#~ msgstr "nalezena nadbytečná položka v záznamu CRL „%s“ na řádku %u\n"
+
+#~ msgid "invalid line detected in `%s' line %u\n"
+#~ msgstr "nalezen neplatný řádek %2$u v „%1$s\n"
+
+#~ msgid "duplicate entry detected in `%s' line %u\n"
+#~ msgstr "nalezena duplicitní položka v „%s“ na řádku %u\n"
+
+#~ msgid "unsupported record type in `%s' line %u skipped\n"
+#~ msgstr "nepodporovaný typ záznamu v „%s“ na řádku %u přeskočen\n"
+
+#~ msgid "invalid issuer hash in `%s' line %u\n"
+#~ msgstr "neplatný haš vydavatele v „%s“ na řádku %u\n"
+
+#~ msgid "no issuer DN in `%s' line %u\n"
+#~ msgstr "v „%s“ na řádku %u chybí DN vydavatele\n"
+
+#~ msgid "invalid timestamp in `%s' line %u\n"
+#~ msgstr "neplatné časové razítko v „%s“ na řádku %u\n"
+
+#~ msgid "WARNING: invalid cache file hash in `%s' line %u\n"
+#~ msgstr "POZOR: neplatný haš souboru keše v „%s“ na řádku %u\n"
+
+#~ msgid "detected errors in cache dir file\n"
+#~ msgstr "v kešovém dir souboru nalezeny chyby\n"
+
+#~ msgid "please check the reason and manually delete that file\n"
+#~ msgstr "prosím, zjistěte příčinu a soubor ručně smažte\n"
+
+#~ msgid "failed to create temporary cache dir file `%s': %s\n"
+#~ msgstr "založení dočasného kešového dir souboru „%s“ selhalo: %s\n"
+
+#~ msgid "error closing `%s': %s\n"
+#~ msgstr "chyba při uzavírání „%s“: %s\n"
+
+#~ msgid "error renaming `%s' to `%s': %s\n"
+#~ msgstr "chyba při přejmenování „%s“ na „%s“: %s\n"
+
+#~ msgid "can't hash `%s': %s\n"
+#~ msgstr "nelze vypočítat haš „%s“: %s\n"
+
+#~ msgid "error setting up MD5 hash context: %s\n"
+#~ msgstr "chyba při nastavování hašovacího kontextu MD5: %s\n"
+
+#~ msgid "error hashing `%s': %s\n"
+#~ msgstr "chyba při výpočtu haše „%s“: %s\n"
+
+#~ msgid "invalid formatted checksum for `%s'\n"
+#~ msgstr "chybně zformátovaný kontrolní součet souboru „%s“\n"
+
+#~ msgid "too many open cache files; can't open anymore\n"
+#~ msgstr "otevřeno příliš mnoho kešových souborů, další již nelze otevřít\n"
+
+#~ msgid "opening cache file `%s'\n"
+#~ msgstr "otevírá se kešový soubor „%s“\n"
+
+#~ msgid "error opening cache file `%s': %s\n"
+#~ msgstr "chyba při otevírání kešového souboru „%s“: %s\n"
+
+#~ msgid "error initializing cache file `%s' for reading: %s\n"
+#~ msgstr "chyba při inicializaci kešového souboru „%s pro čtení: %s\n"
+
+#~ msgid "calling unlock_db_file on a closed file\n"
+#~ msgstr "unlock_db_file zavoláno na zavřený soubor\n"
+
+#~ msgid "calling unlock_db_file on an unlocked file\n"
+#~ msgstr "unlock_db_file zavoláno na nezamčeném souboru\n"
+
+#~ msgid "failed to create a new cache object: %s\n"
+#~ msgstr "výroba nového objektu keše selhala: %s\n"
+
+#~ msgid "no CRL available for issuer id %s\n"
+#~ msgstr "pro vydavatele s ID %s není dostupný žádný CRL\n"
+
+#~ msgid "cached CRL for issuer id %s too old; update required\n"
+#~ msgstr ""
+#~ "nakešovaný CRL pro vydavatele s ID %s příliš starý; aktualizace "
+#~ "vyžadována\n"
+
+# TODO: plural
+#~ msgid ""
+#~ "force-crl-refresh active and %d minutes passed for issuer id %s; update "
+#~ "required\n"
+#~ msgstr ""
+#~ "force-crl-refresh je aktivováno a %d minut uplynulo vydavateli s ID %s, "
+#~ "aktualizace je požadována\n"
+
+#~ msgid "force-crl-refresh active for issuer id %s; update required\n"
+#~ msgstr ""
+#~ "force-crl-required je u vydavatele s ID %s aktivováno, aktualizace je "
+#~ "požadována\n"
+
+# CRL for issuer překládat jako CRL pro vydavatele, prože CRL může mít jiného
+# vydavatele než je vydavatel odvolaných certifikátů (tzv. indirect CRL)
+#~ msgid "available CRL for issuer ID %s can't be used\n"
+#~ msgstr "dostupný CRL pro vydavatele ID %s nemůže být použit\n"
+
+#~ msgid "cached CRL for issuer id %s tampered; we need to update\n"
+#~ msgstr ""
+#~ "nakešovaný CRL pro vydavatele ID %s je pozměněný, je třeba jej "
+#~ "aktualizovat\n"
+
+# XXX: The message is followed by the serial number
+# TODO: Use c-format
+#~ msgid "WARNING: invalid cache record length for S/N "
+#~ msgstr "POZOR: neplatná délka záznamu v keši pod sériovým číslem "
+
+#~ msgid "problem reading cache record for S/N %s: %s\n"
+#~ msgstr "problém se čtením záznamu keše pro sériové číslo %s: %s\n"
+
+#~ msgid "S/N %s is not valid; reason=%02X  date=%.15s\n"
+#~ msgstr "sériové číslo %s není platné, důvod=%02X  datum=%.15s\n"
+
+#~ msgid "S/N %s is valid, it is not listed in the CRL\n"
+#~ msgstr "sériové číslo %s je platné, není na seznamu CRL\n"
+
+#~ msgid "error getting data from cache file: %s\n"
+#~ msgstr "chyba při získávání dat ze souboru keše: %s\n"
+
+#~ msgid "unknown hash algorithm `%s'\n"
+#~ msgstr "neznámý hašovací algoritmus „%s“\n"
+
+#~ msgid "gcry_md_open for algorithm %d failed: %s\n"
+#~ msgstr "gcry_md_open selhalo na algoritmu %d: %s\n"
+
+#~ msgid "got an invalid S-expression from libksba\n"
+#~ msgstr "z libksba obdržen neplatný S-výraz\n"
+
+#~ msgid "converting S-expression failed: %s\n"
+#~ msgstr "převod S-výrazu se nezdařil: %s\n"
+
+#~ msgid "creating S-expression failed: %s\n"
+#~ msgstr "výroba S-výrazu selhala: %s\n"
+
+#~ msgid "ksba_crl_parse failed: %s\n"
+#~ msgstr "ksba_crl_parse selhal: %s\n"
+
+#~ msgid "error getting update times of CRL: %s\n"
+#~ msgstr "chyba při zjišťování časů aktualizace CRL %s\n"
+
+#~ msgid "update times of this CRL: this=%s next=%s\n"
+#~ msgstr "časy aktualizace tohoto CRL: tento=%s příští=%s\n"
+
+#~ msgid "nextUpdate not given; assuming a validity period of one day\n"
+#~ msgstr ""
+#~ "nextUpdate neuvedeno, předpokládaná perioda platnosti bude jeden den\n"
+
+#~ msgid "error getting CRL item: %s\n"
+#~ msgstr "chyba při získávání položky CRL: %s\n"
+
+#~ msgid "error inserting item into temporary cache file: %s\n"
+#~ msgstr "chyba vkládání položky do dočasného souboru keše: %s\n"
+
+#~ msgid "no CRL issuer found in CRL: %s\n"
+#~ msgstr "v CRL nebyl nalezen žádný vydavatel CRL: %s\n"
+
+#~ msgid "locating CRL issuer certificate by authorityKeyIdentifier\n"
+#~ msgstr ""
+#~ "certifikát vydavatele CRL bude hledán podle authorityKeyIdentifier\n"
+
+#~ msgid "CRL signature verification failed: %s\n"
+#~ msgstr "ověřování podpisu CRL selhalo: %s\n"
+
+#~ msgid "error checking validity of CRL issuer certificate: %s\n"
+#~ msgstr "chyba při kontrole platnosti certifikátu vydavatele CRL: %s\n"
+
+#~ msgid "ksba_crl_new failed: %s\n"
+#~ msgstr "volání ksba_crl_new selhalo: %s\n"
+
+#~ msgid "ksba_crl_set_reader failed: %s\n"
+#~ msgstr "volání ksba_crl_set_reader selhalo: %s\n"
+
+#~ msgid "removed stale temporary cache file `%s'\n"
+#~ msgstr "odstraněn zastaralý dočasný soubor keše „%s“\n"
+
+#~ msgid "problem removing stale temporary cache file `%s': %s\n"
+#~ msgstr ""
+#~ "problém s odstraňováním zastaralého dočasného souboru keše „%s“: %s\n"
+
+#~ msgid "error creating temporary cache file `%s': %s\n"
+#~ msgstr "chyba při zakládání dočasného souboru keše „%s“: %s\n"
+
+#~ msgid "crl_parse_insert failed: %s\n"
+#~ msgstr "volání crl_parse_insert selhalo: %s\n"
+
+#~ msgid "error finishing temporary cache file `%s': %s\n"
+#~ msgstr "chyba při dokončování dočasného souboru keše „%s“: %s\n"
+
+#~ msgid "error closing temporary cache file `%s': %s\n"
+#~ msgstr "chyba při uzavírání dočasného souboru keše „%s“: %s\n"
+
+#~ msgid "WARNING: new CRL still too old; it expired on %s - loading anyway\n"
+#~ msgstr ""
+#~ "POZOR: nový CRL je stále příliš starý; jeho platnost vypršela %s – stejně "
+#~ "bude nahrán\n"
+
+#~ msgid "new CRL still too old; it expired on %s\n"
+#~ msgstr "nový CRL je stále příliš starý; jeho platnost vypršela %s\n"
+
+#~ msgid "unknown critical CRL extension %s\n"
+#~ msgstr "neznámé kritické rozšíření CRL %s\n"
+
+#~ msgid "error reading CRL extensions: %s\n"
+#~ msgstr "chyba při čtení rozšíření CRL: %s\n"
+
+#~ msgid "creating cache file `%s'\n"
+#~ msgstr "vytváří se soubor keše „%s“\n"
+
+#~ msgid "problem renaming `%s' to `%s': %s\n"
+#~ msgstr "problém s přejmenováním „%s“ na „%s“: %s\n"
+
+#~ msgid ""
+#~ "updating the DIR file failed - cache entry will get lost with the next "
+#~ "program start\n"
+#~ msgstr ""
+#~ "aktualizace souboru DIR selhalo – záznam keše bude při příštím startu "
+#~ "programu ztracen\n"
+
+#~ msgid "Begin CRL dump (retrieved via %s)\n"
+#~ msgstr "Zahajuje se výpis CRL (získán přes %s)\n"
+
+#~ msgid ""
+#~ " ERROR: The CRL will not be used because it was still too old after an "
+#~ "update!\n"
+#~ msgstr ""
+#~ " CHYBA: CRL nebude použit, protože i po aktualizaci byl příliš starý!\n"
+
+#~ msgid ""
+#~ " ERROR: The CRL will not be used due to an unknown critical extension!\n"
+#~ msgstr " CHYBA: CRL nebude použit kvůli neznámému kritickému rozšíření!\n"
+
+#~ msgid " ERROR: The CRL will not be used\n"
+#~ msgstr " CHYBA: CRL nebude použit\n"
+
+#~ msgid " ERROR: This cached CRL may has been tampered with!\n"
+#~ msgstr " CHYBA: Tento nakešovaný CRL byl možná pozměněn!\n"
+
+#~ msgid " WARNING: invalid cache record length\n"
+#~ msgstr " POZOR: neplatná délka záznamu keše\n"
+
+#~ msgid "problem reading cache record: %s\n"
+#~ msgstr "problém se čtením záznamu keše: %s\n"
+
+#~ msgid "problem reading cache key: %s\n"
+#~ msgstr "problém se čtením klíče keše: %s\n"
+
+#~ msgid "error reading cache entry from db: %s\n"
+#~ msgstr "chyba při čtení položky keše z databáze: %s\n"
+
+#~ msgid "End CRL dump\n"
+#~ msgstr "Konec výpisu CRL\n"
+
+#~ msgid "crl_fetch via DP failed: %s\n"
+#~ msgstr "volání crl_fetch přes DP selhalo: %s\n"
+
+#~ msgid "crl_cache_insert via DP failed: %s\n"
+#~ msgstr "volání crl_cache_insert přes DP selhalo: %s\n"
+
+#~ msgid "crl_cache_insert via issuer failed: %s\n"
+#~ msgstr "volání crl_cache_insert přes vydavatele selhalo: %s\n"
+
+#~ msgid "reader to file mapping table full - waiting\n"
+#~ msgstr "tabulka mapování čtenáře na soubor je plná – čeká se\n"
+
+#~ msgid "using \"http\" instead of \"https\"\n"
+#~ msgstr "namísto „https“ se použije „http“\n"
+
+# Poslední argument je název protokolu
+#~ msgid "CRL access not possible due to disabled %s\n"
+#~ msgstr "Přístup k CRL není možný kvůli vypnutému %s\n"
+
+#~ msgid "error initializing reader object: %s\n"
+#~ msgstr "chyba při inicializaci čtecího objektu: %s\n"
+
+#~ msgid "URL `%s' redirected to `%s' (%u)\n"
+#~ msgstr "URL „%s“ přesměrováno na „%s“ (%u)\n"
+
+#~ msgid "too many redirections\n"
+#~ msgstr "příliš mnoho přesměrování\n"
+
+#~ msgid "error retrieving `%s': %s\n"
+#~ msgstr "chyba při získávání „%s“: %s\n"
+
+#~ msgid "error retrieving `%s': http status %u\n"
+#~ msgstr "chyba při získávání „%s“: status HTTP je %u\n"
+
+#~ msgid "certificate search not possible due to disabled %s\n"
+#~ msgstr "dohledání certifikátu nemožné kvůli vypnutému %s\n"
+
+#~ msgid "use OCSP instead of CRLs"
+#~ msgstr "místo CRL použije OCSP"
+
+#~ msgid "check whether a dirmngr is running"
+#~ msgstr "zjistí, jestli dirmngr běží"
+
+#~ msgid "add a certificate to the cache"
+#~ msgstr "přidá certifikát do keše"
+
+#~ msgid "validate a certificate"
+#~ msgstr "ověří platnost certifikátu"
+
+#~ msgid "lookup a certificate"
+#~ msgstr "vyhledá certifikát"
+
+#~ msgid "lookup only locally stored certificates"
+#~ msgstr "hledá pouze mezi lokálně uloženými certifikáty"
+
+#~ msgid "expect an URL for --lookup"
+#~ msgstr "u --lookup očekává URL"
+
+#~ msgid "load a CRL into the dirmngr"
+#~ msgstr "zavede CRL do dirmngr"
+
+#~ msgid "special mode for use by Squid"
+#~ msgstr "zvláštní režim pro použití se Squidem"
+
+#~ msgid "certificates are expected in PEM format"
+#~ msgstr "certifikáty budou očekávány ve formátu PEM"
+
+#~ msgid "force the use of the default OCSP responder"
+#~ msgstr "vynutí použití výchozího OCSP odpovídače"
+
+#~ msgid "Usage: dirmngr-client [options] [certfile|pattern] (-h for help)\n"
+#~ msgstr ""
+#~ "Použití: dirmngr-client [VOLBY] [CERT_SOUBOR|VZOR] (-h pro nápovědu)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr-client [options] [certfile|pattern]\n"
+#~ "Test an X.509 certificate against a CRL or do an OCSP check\n"
+#~ "The process returns 0 if the certificate is valid, 1 if it is\n"
+#~ "not valid and other error codes for general failures\n"
+#~ msgstr ""
+#~ "Syntaxe: dirmngr-client [VOLBY] [CERT_SOUBOR|VZOR]\n"
+#~ "Vyzkouší X.509 certifikát proti CRL nebo OCSP.\n"
+#~ "Proces vrátí 0, pokud je certifikát platný, 1, pokud není platný nebo "
+#~ "jiný\n"
+#~ "chybový kód značící obecné selhání.\n"
+
+#~ msgid "error reading certificate from stdin: %s\n"
+#~ msgstr "chyba při čtení certifikátu ze standardního vstupu: %s\n"
+
+#~ msgid "error reading certificate from `%s': %s\n"
+#~ msgstr "chyba při čtení certifikátu ze „%s“: %s\n"
+
+#~ msgid "certificate too large to make any sense\n"
+#~ msgstr "certifikát je příliš velký, než aby dával smysl\n"
+
+#~ msgid "lookup failed: %s\n"
+#~ msgstr "hledání selhalo: %s\n"
+
+#~ msgid "loading CRL `%s' failed: %s\n"
+#~ msgstr "zavádění CRL „%s“ selhalo: %s\n"
+
+#~ msgid "a dirmngr daemon is up and running\n"
+#~ msgstr "démon dirmngr běží\n"
+
+#~ msgid "validation of certificate failed: %s\n"
+#~ msgstr "ověření platnosti certifikátu selhalo: %s\n"
+
+#~ msgid "certificate is valid\n"
+#~ msgstr "certifikát je platný\n"
+
+#~ msgid "certificate has been revoked\n"
+#~ msgstr "certifikát byl odvolán\n"
+
+#~ msgid "certificate check failed: %s\n"
+#~ msgstr "kontrola certifikátu selhala: %s\n"
+
+#~ msgid "got status: `%s'\n"
+#~ msgstr "obdržen status: „%s“\n"
+
+#~ msgid "error writing base64 encoding: %s\n"
+#~ msgstr "chyba při zápisu kódování base64: %s\n"
+
+#~ msgid "failed to allocate assuan context: %s\n"
+#~ msgstr "alokace kontextu assuan selhala: %s\n"
+
+#~ msgid "apparently no running dirmngr\n"
+#~ msgstr "dirmngr zjevně neběží\n"
+
+#~ msgid "no running dirmngr - starting one\n"
+#~ msgstr "žádný dirmngr neběží – jeden bude spuštěn\n"
+
+#~ msgid "can't connect to the dirmngr: %s\n"
+#~ msgstr "k dirmngr se nelze připojit: %s\n"
+
+#~ msgid "unsupported inquiry `%s'\n"
+#~ msgstr "nepodporovaný dotaz „%s“\n"
+
+#~ msgid "absolute file name expected\n"
+#~ msgstr "očekáván absolutní název souboru\n"
+
+#~ msgid "looking up `%s'\n"
+#~ msgstr "hledá se „%s“\n"
+
+#~ msgid "run as windows service (background)"
+#~ msgstr "poběží jako služba Windows (na pozadí)"
+
+#~ msgid "list the contents of the CRL cache"
+#~ msgstr "vypíše obsah CRL keše"
+
+#~ msgid "|FILE|load CRL from FILE into cache"
+#~ msgstr "|SOUBOR|zavede CRL ze SOUBORU do keše"
+
+#~ msgid "|URL|fetch a CRL from URL"
+#~ msgstr "|URL|stáhne CRL z URL"
+
+#~ msgid "shutdown the dirmngr"
+#~ msgstr "vypne dirmngr"
+
+#~ msgid "flush the cache"
+#~ msgstr "vyprázdní keš"
+
+#~ msgid "run without asking a user"
+#~ msgstr "běží bez dotazování se uživatele"
+
+#~ msgid "force loading of outdated CRLs"
+#~ msgstr "vynutí zavedení zastaralých CRL"
+
+#~ msgid "allow sending OCSP requests"
+#~ msgstr "povolí odesílání OCSP dotazů"
+
+#~ msgid "inhibit the use of HTTP"
+#~ msgstr "zakáže použití HTTP"
+
+#~ msgid "inhibit the use of LDAP"
+#~ msgstr "zakáže použití LDAP"
+
+#~ msgid "ignore HTTP CRL distribution points"
+#~ msgstr "ignoruje HTTP distribuční místa CRL "
+
+#~ msgid "ignore LDAP CRL distribution points"
+#~ msgstr "ignoruje LDAP distribuční místa CRL"
+
+#~ msgid "ignore certificate contained OCSP service URLs"
+#~ msgstr "ignoruje URL služby OCSP uvedené v certifikátu"
+
+#~ msgid "|URL|redirect all HTTP requests to URL"
+#~ msgstr "|URL|všechny HTTP požadavky přesměruje na URL"
+
+#~ msgid "|HOST|use HOST for LDAP queries"
+#~ msgstr "|STROJ|pro LDAP dotazy použije STROJ"
+
+#~ msgid "do not use fallback hosts with --ldap-proxy"
+#~ msgstr "nepoužije náhradní stroje s --ldap-proxy"
+
+#~ msgid "|FILE|read LDAP server list from FILE"
+#~ msgstr "|SOUBOR|načte seznam LDAP serverů ze SOUBORU"
+
+#~ msgid "add new servers discovered in CRL distribution points to serverlist"
+#~ msgstr ""
+#~ "na seznam serverů přidá nové servery nalezené v místech distribuce CRL"
+
+#~ msgid "|N|set LDAP timeout to N seconds"
+#~ msgstr "|N|nastaví časový limit pro LDAP na N sekund"
+
+#~ msgid "|URL|use OCSP responder at URL"
+#~ msgstr "|URL|použije OCSP odpovídače na URL"
+
+#~ msgid "|FPR|OCSP response signed by FPR"
+#~ msgstr "|OTISK|OCSP odpovědi podepsané podle OTISKU"
+
+#~ msgid "|N|do not return more than N items in one query"
+#~ msgstr "|N|nevrací více jak N položek na jeden dotaz"
+
+#~ msgid ""
+#~ "@\n"
+#~ "(See the \"info\" manual for a complete listing of all commands and "
+#~ "options)\n"
+#~ msgstr ""
+#~ "@\n"
+#~ "(Úplný seznam příkazů a voleb naleznete v „info“ manuálu.)\n"
+
+#~ msgid "Usage: dirmngr [options] (-h for help)"
+#~ msgstr "Použití: dirmngr [VOLBY] (-h pro nápovědu)"
+
+#~ msgid ""
+#~ "Syntax: dirmngr [options] [command [args]]\n"
+#~ "LDAP and OCSP access for GnuPG\n"
+#~ msgstr ""
+#~ "Syntaxe: dirmngr [VOLBY] [PŘÍKAZ [ARGUMENTY]]\n"
+#~ "LDAP a OCSP přístup z GnuPG\n"
+
+#~ msgid "valid debug levels are: %s\n"
+#~ msgstr "platné úrovně ladění jsou: %s\n"
+
+#~ msgid "usage: dirmngr [options] "
+#~ msgstr "použití: dirmngr [VOLBY] "
+
+#~ msgid "colons are not allowed in the socket name\n"
+#~ msgstr "dvojtečky v názvu socketu jsou nepřípustné\n"
+
+#~ msgid "fetching CRL from `%s' failed: %s\n"
+#~ msgstr "stahování CRL z „%s„ selhalo: %s\n"
+
+#~ msgid "processing CRL from `%s' failed: %s\n"
+#~ msgstr "zpracování CRL z „%s“ selhalo: %s\n"
+
+#~ msgid "%s:%u: line too long - skipped\n"
+#~ msgstr "%s:%u: řádek je příliš dlouhý – přeskočen\n"
+
+#~ msgid "%s:%u: invalid fingerprint detected\n"
+#~ msgstr "%s:%u: zjištěn neplatný otisk\n"
+
+#~ msgid "%s:%u: read error: %s\n"
+#~ msgstr "%s:%u: chyba čtení: %s\n"
+
+#~ msgid "%s:%u: garbage at end of line ignored\n"
+#~ msgstr "%s:%u: nepořádek na konci řádku ignorován\n"
+
+#~ msgid "SIGHUP received - re-reading configuration and flushing caches\n"
+#~ msgstr "přijat SIGHUP – konfigurace bude znovu načtena a keš vyprázdněna\n"
+
+#~ msgid "SIGUSR2 received - no action defined\n"
+#~ msgstr "přijat SIGUSR2 – žádná akce nedefinována\n"
+
+#~ msgid "SIGTERM received - shutting down ...\n"
+#~ msgstr "přijat SIGTERM – vypíná se…\n"
+
+# TODO: plural
+#~ msgid "SIGTERM received - still %d active connections\n"
+#~ msgstr "přijat SIGTERM – stále aktivních spojení: %d\n"
+
+#~ msgid "shutdown forced\n"
+#~ msgstr "vypnutí vynuceno\n"
+
+#~ msgid "SIGINT received - immediate shutdown\n"
+#~ msgstr "přijat SIGINT – okamžité vypnutí\n"
+
+#~ msgid "signal %d received - no action defined\n"
+#~ msgstr "přijat signál č. %d – žádná akce nedefinována\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "vrátí všechny hodnoty v záznamově orientovaném formátu"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NÁZEV|ignoruje část se strojem a připojí se skrze NÁZEV"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NÁZEV|připojí se ke strojí NÁZEV"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|připojí se na port N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|JMÉNO|pro autentizaci použije JMÉNO uživatele"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|HESLO|pro autentizaci použije HESLO"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "heslo získá z $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|ŘETĚZEC|dotáže se na DN ŘETĚZEC"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|ŘETĚZEC|jako filtrující výraz použije ŘETĚZEC"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|ŘETĚZEC|vrátí atribut ŘETĚZEC"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Použití: dirmngr_ldap [VOLBY] [URL] (-h pro nápovědu)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr.\n"
+#~ "Interface and options may change without notice.\n"
+#~ msgstr ""
+#~ "Syntaxe: dirmngr_ldap [VOLBY] [URL]\n"
+#~ "Vnitřní LDAP pomůcka pro pro Dirmngr.\n"
+#~ "Rozhraní a volby se mohou bez upozornění změnit.\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "neplatné číslo portu %d\n"
+
+#~ msgid "scanning result for attribute `%s'\n"
+#~ msgstr "ve výsledku se hledá atribut „%s“\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "chyba při zápisu na standardní výstup: %s\n"
+
+#~ msgid "          available attribute `%s'\n"
+#~ msgstr "          dostupný atribut „%s“\n"
+
+#~ msgid "attribute `%s' not found\n"
+#~ msgstr "atribut „%s“ nenalezen\n"
+
+#~ msgid "found attribute `%s'\n"
+#~ msgstr "nalezen atribut „%s“\n"
+
+#~ msgid "processing url `%s'\n"
+#~ msgstr "zpracovává se URL „%s“\n"
+
+#~ msgid "          user `%s'\n"
+#~ msgstr "          uživatel „%s“\n"
+
+#~ msgid "          pass `%s'\n"
+#~ msgstr "          heslo „%s“\n"
+
+#~ msgid "          host `%s'\n"
+#~ msgstr "          stroj „%s“\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          port %d\n"
+
+#~ msgid "            DN `%s'\n"
+#~ msgstr "            DN „%s“\n"
+
+#~ msgid "        filter `%s'\n"
+#~ msgstr "        filtr „%s“\n"
+
+#~ msgid "          attr `%s'\n"
+#~ msgstr "          atribut „%s“\n"
+
+#~ msgid "no host name in `%s'\n"
+#~ msgstr "v „%s“ chybí název stroje\n"
+
+#~ msgid "no attribute given for query `%s'\n"
+#~ msgstr "u dotazu „%s“ nezadán žádný atribut\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "POZOR: použije se pouze první atribut\n"
+
+#~ msgid "LDAP init to `%s:%d' failed: %s\n"
+#~ msgstr "Inicializace LDAP u „%s:%d“ selhala: %s\n"
+
+#~ msgid "binding to `%s:%d' failed: %s\n"
+#~ msgstr "napojení k „%s:%d“ selhalo: %s\n"
+
+#~ msgid "searching `%s' failed: %s\n"
+#~ msgstr "vyhledávání „%s“ selhalo: %s\n"
+
+#~ msgid "`%s' is not an LDAP URL\n"
+#~ msgstr "„%s“ není LDAP URL\n"
+
+#~ msgid "`%s' is an invalid LDAP URL\n"
+#~ msgstr "„%s“ není platní LDAP URL\n"
+
+#~ msgid "error allocating memory: %s\n"
+#~ msgstr "chyba při alokování paměti: %s\n"
+
+#~ msgid "error printing log line: %s\n"
+#~ msgstr "chyba při tisknutí řádku protokolu: %s\n"
+
+#~ msgid "error reading log from ldap wrapper %d: %s\n"
+#~ msgstr "chyba při čtení protokolu z ldapové obálky č. %d: %s\n"
+
+#~ msgid "pth_event failed: %s\n"
+#~ msgstr "funkce pth_event selhala: %s\n"
+
+#~ msgid "pth_wait failed: %s\n"
+#~ msgstr "funkce pth_wait selhala: %s\n"
+
+#~ msgid "ldap wrapper %d ready"
+#~ msgstr "ldapová obálka %d připravena"
+
+#~ msgid "ldap wrapper %d ready: timeout\n"
+#~ msgstr "ldapová obálka %d připravena: čas vypršel\n"
+
+#~ msgid "ldap wrapper %d ready: exitcode=%d\n"
+#~ msgstr "ldapová obálka %d připravena: návratový kód = %d\n"
+
+#~ msgid "waiting for ldap wrapper %d failed: %s\n"
+#~ msgstr "čekání na ldapovou obálku %d selhalo: %s\n"
+
+#~ msgid "ldap wrapper %d stalled - killing\n"
+#~ msgstr "ldapová obálka %d se zasekla – bude zabita\n"
+
+#~ msgid "error spawning ldap wrapper reaper thread: %s\n"
+#~ msgstr "chyba při zakládání vlákna ovládajícího obálku LDAPu: %s\n"
+
+#~ msgid "reading from ldap wrapper %d failed: %s\n"
+#~ msgstr "čtení z ldapové obálky %d selhalo: %s\n"
+
+#~ msgid "invalid char 0x%02x in host name - not added\n"
+#~ msgstr "v názvu stroje je neplatný znak 0x%02x – nepřidáno\n"
+
+#~ msgid "adding `%s:%d' to the ldap server list\n"
+#~ msgstr "na seznam LDAP serverů bude zařazen „%s:%d“\n"
+
+#~ msgid "malloc failed: %s\n"
+#~ msgstr "funkce malloc selhala: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern `%s'\n"
+#~ msgstr "start_cert_fetch: chybný vzor „%s“\n"
+
+#~ msgid "ldap_search hit the size limit of the server\n"
+#~ msgstr "ldap_search přesáhl omezení velikosti serveru\n"
+
+#~ msgid "invalid canonical S-expression found\n"
+#~ msgstr "nalezen neplatný kanonický S-výraz\n"
+
+#~ msgid "gcry_md_open failed: %s\n"
+#~ msgstr "gcry_md_open selhalo: %s\n"
+
+#~ msgid "oops: ksba_cert_hash failed: %s\n"
+#~ msgstr "jejda: ksba_cert_hash selhalo: %s\n"
+
+#~ msgid "bad URL encoding detected\n"
+#~ msgstr "zjištěno chybné kódování URL\n"
+
+#~ msgid "error reading from responder: %s\n"
+#~ msgstr "chyba při čtení z odpovídače: %s\n"
+
+#~ msgid "response from server too large; limit is %d bytes\n"
+#~ msgstr "odpověď serveru je příliš velká, limit je %d bajtů\n"
+
+#~ msgid "OCSP request not possible due to disabled HTTP\n"
+#~ msgstr "OCSP dotaz není možný, protože HTTP je zakázáno\n"
+
+#~ msgid "error setting OCSP target: %s\n"
+#~ msgstr "chyba při nastavování cíle OCSP: %s\n"
+
+#~ msgid "error building OCSP request: %s\n"
+#~ msgstr "chyba při sestavování OCSP dotazu: %s\n"
+
+#~ msgid "error connecting to `%s': %s\n"
+#~ msgstr "chyba při připojování na „%s“: %s\n"
+
+#~ msgid "error reading HTTP response for `%s': %s\n"
+#~ msgstr "chyba při čtení HTTP odpovědi od „%s“: %s\n"
+
+#~ msgid "error accessing `%s': http status %u\n"
+#~ msgstr "chyba přístupu k „%s“: status HTTP %u\n"
+
+#~ msgid "error parsing OCSP response for `%s': %s\n"
+#~ msgstr "chyba při rozebírání OCSP odpovědi od „%s“: %s\n"
+
+#~ msgid "OCSP responder at `%s' status: %s\n"
+#~ msgstr "Stav odpovídače OCSP na „%s“: %s\n"
+
+#~ msgid "hashing the OCSP response for `%s' failed: %s\n"
+#~ msgstr "hašování OCSP odpovědi pro „%s“ selhalo: %s\n"
+
+#~ msgid "not signed by a default OCSP signer's certificate"
+#~ msgstr "nepodepsáno výchozím OCSP certifikátem podepisovatele"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "v OCSP odpovědích je podporováno jen SHA-1\n"
+
+#~ msgid "allocating list item failed: %s\n"
+#~ msgstr "alokování prvku seznamu selhalo: %s\n"
+
+#~ msgid "error getting responder ID: %s\n"
+#~ msgstr "chyba při zjišťování ID odpovídače: %s\n"
+
+#~ msgid "no suitable certificate found to verify the OCSP response\n"
+#~ msgstr "žádný vhodný certifikát pro ověření OCSP odpovědi nebyl nalezen\n"
+
+#~ msgid "issuer certificate not found: %s\n"
+#~ msgstr "certifikát vydavatele nenalezen: %s\n"
+
+#~ msgid "caller did not return the target certificate\n"
+#~ msgstr "volající nevrátil cílový certifikát\n"
+
+#~ msgid "caller did not return the issuing certificate\n"
+#~ msgstr "volající nevrátil vydávající certifikát\n"
+
+#~ msgid "failed to allocate OCSP context: %s\n"
+#~ msgstr "alokace OCSP kontextu selhala: %s\n"
+
+#~ msgid "can't get authorityInfoAccess: %s\n"
+#~ msgstr "authorityInfoAccess nelze získat: %s\n"
+
+#~ msgid "no default OCSP responder defined\n"
+#~ msgstr "žádný výchozí OCSP odpovídač nedefinován\n"
+
+#~ msgid "no default OCSP signer defined\n"
+#~ msgstr "žádný výchozí OCSP podepisovatel nedefinován\n"
+
+#~ msgid "using default OCSP responder `%s'\n"
+#~ msgstr "použije se výchozí OCSP odpovídač „%s“\n"
+
+#~ msgid "using OCSP responder `%s'\n"
+#~ msgstr "použije se OCSP odpovídač „%s“\n"
+
+#~ msgid "failed to establish a hashing context for OCSP: %s\n"
+#~ msgstr "nepodařilo se ustanovit hašovací kontext OCSP: %s\n"
+
+#~ msgid "error getting OCSP status for target certificate: %s\n"
+#~ msgstr "chyba při zjišťování OCSP stavu cílového certifikátu: %s\n"
+
+#~ msgid "certificate status is: %s  (this=%s  next=%s)\n"
+#~ msgstr "stav certifikátu je: %s (nyní=%s, příště=%s)\n"
+
+# status
+#~ msgid "good"
+#~ msgstr "dobrý"
+
+#~ msgid "certificate has been revoked at: %s due to: %s\n"
+#~ msgstr "certifikát byl odvolán kdy: %s, důvod: %s\n"
+
+#~ msgid "OCSP responder returned a status in the future\n"
+#~ msgstr "OCSP odpovídač vrátil stav v budoucnosti\n"
+
+#~ msgid "OCSP responder returned a non-current status\n"
+#~ msgstr "OCSP odpovídač vrátil ne současný stav\n"
+
+#~ msgid "OCSP responder returned an too old status\n"
+#~ msgstr "OCSP odpovídač vrátil příliš starý stav\n"
+
+#~ msgid "assuan_inquire(%s) failed: %s\n"
+#~ msgstr "volání assuan_inquire(%s) selhalo: %s\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "chybí ldapserver (LDAP server)"
+
+#~ msgid "serialno missing in cert ID"
+#~ msgstr "v ID certifikátu chybí serialno (sériové číslo)"
+
+#~ msgid "assuan_inquire failed: %s\n"
+#~ msgstr "volání assuan_inquire selhalo: %s\n"
+
+#~ msgid "fetch_cert_by_url failed: %s\n"
+#~ msgstr "volání fetch_cert_by_url selhalo: %s\n"
+
+#~ msgid "error sending data: %s\n"
+#~ msgstr "chyba při odesílání dat: %s\n"
+
+#~ msgid "start_cert_fetch failed: %s\n"
+#~ msgstr "volání start_cert_fetch selhalo: %s\n"
+
+#~ msgid "fetch_next_cert failed: %s\n"
+#~ msgstr "volání fetch_next_cert selhalo: %s\n"
+
+#~ msgid "max_replies %d exceeded\n"
+#~ msgstr "max_replies (max. odpovědí) %d překročeno\n"
+
+#~ msgid "can't allocate control structure: %s\n"
+#~ msgstr "řídící strukturu nelze alokovat: %s\n"
+
+#~ msgid "failed to initialize the server: %s\n"
+#~ msgstr "inicializace serveru selhala: %s\n"
+
+#~ msgid "failed to the register commands with Assuan: %s\n"
+#~ msgstr "registrace příkazu u Assuanu selhala: %s\n"
+
+#~ msgid "Assuan accept problem: %s\n"
+#~ msgstr "problém příjmu Assuanu: %s\n"
+
+#~ msgid "Assuan processing failed: %s\n"
+#~ msgstr "zpracování Assuanu se nezdařilo: %s\n"
+
+#~ msgid "accepting root CA not marked as a CA"
+#~ msgstr "kořenová CA, která není označena jako CA, bude přijata"
+
+#~ msgid "CRL checking too deeply nested\n"
+#~ msgstr "kontrola CRL se zanořila příliš hluboko\n"
+
+#~ msgid "not checking CRL for"
+#~ msgstr "nekontroluje se CRL pro"
+
+#~ msgid "checking CRL for"
+#~ msgstr "kontroluje se CRL pro"
+
+#~ msgid "running in compatibility mode - certificate chain not checked!\n"
+#~ msgstr "provoz v režimu kompatibility – řetěz certifikátů nezkontrolován!\n"
+
+#~ msgid "selfsigned certificate has a BAD signature"
+#~ msgstr "sám sebou podepsaný certifikát má CHYBNÝ podpis"
+
+#~ msgid "checking trustworthiness of root certificate failed: %s\n"
+#~ msgstr "kontrola důvěryhodnosti kořenového certifikátu selhala: %s\n"
+
+#~ msgid "certificate chain is good\n"
+#~ msgstr "řetěz certifikátů je v pořádku\n"
+
+#~ msgid "DSA requires the use of a 160 bit hash algorithm\n"
+#~ msgstr "DSA požaduje použití 160-ti bitového hashovacího algoritmu\n"
+
+#~ msgid "certificate should have not been used for CRL signing\n"
+#~ msgstr "certifikát by neměl být použit pro podepisování CRL\n"
+
+#~ msgid "|ADDR|connect to Assuan server at ADDR"
+#~ msgstr "|ADRESA|připojit se na socket Assuanu na ADRESE"
+
+#~ msgid "reload all or a given component"
+#~ msgstr "znovu načíst všechny nebo zadané komponenty"
+
+#~ msgid "kill a given component"
+#~ msgstr "zabít zadanou komponentu"
+
+#~ msgid "Command> "
+#~ msgstr "Příkaz> "
+
+#~ msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
+#~ msgstr "databáze důvěry je poškozena; prosím spusťte „gpg --fix-trustdb“.\n"
+
+#~ msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
+#~ msgstr ""
+#~ "Chyby oznamte (anglicky), prosím, na adresu <gnupg-bugs@gnu.org>.\n"
+#~ "Připomínky k překladu (česky) <translations.cs@gnupg.cz>.\n"
+
+#~ msgid "Please report bugs to "
+#~ msgstr ""
+#~ "Připomínky k překladu hlaste (česky) na <translations.cs@gnupg.cz>,\n"
+#~ "chyby v programu (anglicky) na "
+
+#~ msgid "DSA keypair will have %u bits.\n"
+#~ msgstr "Pár DSA klíčů DSA dlouhý %u bitů.\n"
+
+#~ msgid "Repeat passphrase\n"
+#~ msgstr "Opakovat heslo\n"
+
+#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
+#~ msgstr ""
+#~ "||Prosím, zadejte svůj PIN na klávesnici čtečky%%0A[podpis hotov: %lu]"
+
+#~ msgid "|A|Admin PIN"
+#~ msgstr "|A|PIN správce"
+
+#~ msgid ""
+#~ "It's up to you to assign a value here; this value will never be exported\n"
+#~ "to any 3rd party.  We need it to implement the web-of-trust; it has "
+#~ "nothing\n"
+#~ "to do with the (implicitly created) web-of-certificates."
+#~ msgstr ""
+#~ "Je na Vás, abyste zde přiřadil(a) hodnotu; tato hodnota nebude nikdy\n"
+#~ "exportována třetí straně. Potřebujeme ji k implementaci \"pavučiny\n"
+#~ "důvěry\"; nemá to nic společného s (implicitně vytvořenou) \"pavučinou\n"
+#~ "certifikátů\"."
+
+#~ msgid ""
+#~ "To build the Web-of-Trust, GnuPG needs to know which keys are\n"
+#~ "ultimately trusted - those are usually the keys for which you have\n"
+#~ "access to the secret key.  Answer \"yes\" to set this key to\n"
+#~ "ultimately trusted\n"
+#~ msgstr ""
+#~ "Aby bylo možné vybudovat pavučinu důvěry, musí GnuPG vědět, kterým "
+#~ "klíčům\n"
+#~ "důvěřujete absolutně - obvykle to jsou ty klíče, pro něž máte přístup\n"
+#~ "k tajným klíčům. Odpovězte \"ano\", abyste nastavili tyto klíče\n"
+#~ "jako absolutně důvěryhodné\n"
+
+#~ msgid "If you want to use this untrusted key anyway, answer \"yes\"."
+#~ msgstr ""
+#~ "Pokud přesto chcete použít tento nedůvěryhodný klíč, odpovězte \"ano\"."
+
+#~ msgid ""
+#~ "Enter the user ID of the addressee to whom you want to send the message."
+#~ msgstr "Vložte identifikátor adresáta, kterému chcete poslat zprávu."
+
+#~ msgid ""
+#~ "Select the algorithm to use.\n"
+#~ "\n"
+#~ "DSA (aka DSS) is the Digital Signature Algorithm and can only be used\n"
+#~ "for signatures.\n"
+#~ "\n"
+#~ "Elgamal is an encrypt-only algorithm.\n"
+#~ "\n"
+#~ "RSA may be used for signatures or encryption.\n"
+#~ "\n"
+#~ "The first (primary) key must always be a key which is capable of signing."
+#~ msgstr ""
+#~ "Vyberte algoritmus, který chcete použít.\n"
+#~ "\n"
+#~ "DSA (alias DSS) je Digital Signature Algorithm a může být použit pouze "
+#~ "pro\n"
+#~ "podepisování.\n"
+#~ "\n"
+#~ "Elgamal je pouze šifrovací algoritmus.\n"
+#~ "\n"
+#~ "RSA může být použit pro šifrování anebo podepisování.\n"
+#~ "\n"
+#~ "První (primární) klíč musí být vždy klíč, pomocí kterého lze podepisovat."
+
+#~ msgid ""
+#~ "In general it is not a good idea to use the same key for signing and\n"
+#~ "encryption.  This algorithm should only be used in certain domains.\n"
 #~ "Please consult your security expert first."
 #~ msgstr ""
 #~ "Obecně nelze doporučit používat stejný klíč pro šifrování a podepisování\n"
@@ -8798,9 +9996,6 @@ msgstr ""
 #~ "šifra „%s“ nebyla nahrána, protože přístupová práva nejsou nastavena "
 #~ "bezpečně\n"
 
-#~ msgid "DSA requires the use of a 160 bit hash algorithm\n"
-#~ msgstr "DSA požaduje použití 160-ti bitového hashovacího algoritmu\n"
-
 #~ msgid ".\n"
 #~ msgstr ".\n"
 
@@ -8958,9 +10153,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "je použit špatný tajný klíč"
 
-#~ msgid "not supported"
-#~ msgstr "nepodporováno"
-
 #~ msgid "bad key"
 #~ msgstr "špatný klíč"
 
index 994558c..5f4f5b6 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index dbbc67a..23af05d 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1,52 +1,56 @@
-# Dansk oversættelse af: / Danish translation of: GnuPG
-# Copyright (C) 2000 Free Software Foundation, Inc.
-# Birger Langkjer <birger.langkjer@image.dk>, 2000.
-#                 !-- user unknown (2011-01-11)
-# Kenneth Christiansen -- kenneth@ripen.dk, 2000.
-# -- puh'ha denne er lang...nå men det går da fremad ;-)
-#
-# Designated-Translator: none
+# Dansk oversættelse af: / Danish translation of: GnuPG
+# Copyright (C) 2012 Free Software Foundation, Inc.
+# Birger Langkjer, <birger.langkjer@image.dk>, 2000.
+# Kenneth Christiansen, kenneth@ripen.dk, 2000.
+# Joe Hansen, <joedalton2@yahoo.dk>, 2012.
 #
+# deadlock -> baglås
+# ownertrust -> ejertroværdighed (pålidelighed, tillid)
+# record -> post
+# trust -> troværdig (pålidelig, tillid)
+# trustlist -> troværdig liste (betroet liste)
+# 2012-06-05
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg 1.0.0h\n"
+"Project-Id-Version: gnupg\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2003-12-03 16:11+0100\n"
-"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
-"Language-Team: Danish <dansk@klid.dk>\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2012-11-01 20:27+0200\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
+"Language: da\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-# er det klogt at oversætte TrustDB?
-#: agent/call-pinentry.c:244
-#, fuzzy, c-format
+#: agent/call-pinentry.c:254
+#, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke indhente pinentry-lås: %s\n"
 
 #. TRANSLATORS: These are labels for buttons etc used in
 #. Pinentries.  An underscore indicates that the next letter
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
-msgstr ""
+msgstr "_O.k."
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
-msgstr ""
+msgstr "_Afbryd"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
-msgstr ""
+msgstr "PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
-msgstr ""
+msgstr "Kvalitet:"
 
 #. TRANSLATORS: This string is a tooltip, shown by pinentry when
 #. hovering over the quality bar.  Please use an appropriate
@@ -54,244 +58,241 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
+"Denne række indikerer kvaliteten for ovenstående angivne adgangskode.\n"
+"GnuPG anser en adgangskode for svag så længe den er rød.\n"
+"En stærk adgangskode opbygges ved at blande store bogstaver, tal og\n"
+"specialtegn. Spørg din administrator om mere præcis information om\n"
+"hvordan man anvender sikre adgangskoder."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
+"Indtast venligst din PIN, så at den hemmelige nøgle kan låses op for denne "
+"session"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
+"Indtast din adgangsfrase, så at den hemmelige nøgle kan låses op for denne "
+"session"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
-msgstr ""
+msgstr "SETERROR %s (forsøg %d af %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
-msgstr ""
+msgstr "PIN er for lang"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
-msgstr ""
+msgstr "Adgangsfrase er for lang"
 
-#: agent/call-pinentry.c:808
-#, fuzzy
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
-msgstr "Ugyldige bogstaver i navn\n"
+msgstr "Ugyldige tegn i PIN"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
-msgstr ""
+msgstr "PIN er for kort"
 
-#: agent/call-pinentry.c:825
-#, fuzzy
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
-msgstr "dårlig mpi"
+msgstr "Ugyldig PIN"
 
-#: agent/call-pinentry.c:826
-#, fuzzy
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
-msgstr "dårlig kodesætning"
+msgstr "Ugyldig adgangsfrase"
 
-#: agent/call-pinentry.c:863
-#, fuzzy
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
-msgstr "dårlig kodesætning"
+msgstr "Adgangsfrase"
 
-#: agent/command-ssh.c:531
-#, fuzzy, c-format
+#: agent/command-ssh.c:595
+#, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "ssh-nøgler større end %d bit er ikke understøttet\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
-#, fuzzy, c-format
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
+#, c-format
 msgid "can't create `%s': %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke oprette »%s«: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke åbne »%s«: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
-#, fuzzy, c-format
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
+#, c-format
 msgid "error getting serial number of card: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved indhentelse af serielnummer for kort: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
-msgstr ""
+msgstr "detekteret kort med S/N: %s\n"
 
-#: agent/command-ssh.c:1717
-#, fuzzy, c-format
+#: agent/command-ssh.c:2119
+#, c-format
 msgid "error getting default authentication keyID of card: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved indhentelse af standard-keyID for godkendelses af kort: %s\n"
 
-#: agent/command-ssh.c:1737
-#, fuzzy, c-format
+#: agent/command-ssh.c:2139
+#, c-format
 msgid "no suitable card key found: %s\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "ingen egnet kortnøgle fundet: %s\n"
 
-#: agent/command-ssh.c:1787
-#, fuzzy, c-format
+#: agent/command-ssh.c:2189
+#, c-format
 msgid "shadowing the key failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "skygge for nøgle mislykkedes: %s\n"
 
-#: agent/command-ssh.c:1802
-#, fuzzy, c-format
+#: agent/command-ssh.c:2204
+#, c-format
 msgid "error writing key: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af nøgle: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
+"En ssh-proces anmodte om brugen af nøgle%%0A  %s%%0A  (%s)%%0AØnsker du at "
+"tillade dette"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
-msgstr ""
+msgstr "Tillad"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
-msgstr ""
+msgstr "Nægt"
 
-#: agent/command-ssh.c:2155
-#, fuzzy, c-format
+#: agent/command-ssh.c:2514
+#, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
-msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+msgstr "Indtast venligst adgangsfrasen for ssh-nøglen%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
-#, fuzzy
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
-msgstr "ændr kodesætningen"
+msgstr "Genindtast venligst denne adgangsfrase"
 
-#: agent/command-ssh.c:2509
-#, fuzzy, c-format
+#: agent/command-ssh.c:2858
+#, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+"Indtast venligst en adgangsfrase for at beskytte den modtaget hemmelige nøgle"
+"%%0A   %s%%0A   %s%%0Ainden i gpg-agentens nøglelager"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
-msgstr ""
+msgstr "matcher ikke - prøv igen"
 
-# er det klogt at oversætte TrustDB?
-#: agent/command-ssh.c:3054
-#, fuzzy, c-format
+#: agent/command-ssh.c:3408
+#, c-format
 msgid "failed to create stream from socket: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke oprette strøm fra sokkel: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
-msgstr ""
+msgstr "Indsæt venligst kortet med serielnummeret"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
-msgstr ""
+msgstr "Fjern venligst det aktuelle kort og indsæt det med serielnummeret"
 
 #: agent/divert-scd.c:200
-#, fuzzy
 msgid "Admin PIN"
-msgstr "Indtast bruger-id: "
+msgstr "Administrator-PIN"
 
 #. TRANSLATORS: A PUK is the Personal Unblocking Code
 #. used to unblock a PIN.
 #: agent/divert-scd.c:205
 msgid "PUK"
-msgstr ""
+msgstr "PUK"
 
 #: agent/divert-scd.c:212
 msgid "Reset Code"
-msgstr ""
+msgstr "Nulstillingskode"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr ""
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0ABrug læserens numeriske tastatur for indtastning."
 
 #: agent/divert-scd.c:287
-#, fuzzy
 msgid "Repeat this Reset Code"
-msgstr "Gentag kodesætning: "
+msgstr "Gentag denne nulstillingskode"
 
 #: agent/divert-scd.c:289
-#, fuzzy
 msgid "Repeat this PUK"
-msgstr "Gentag kodesætning: "
+msgstr "Gentag denne PUK"
 
 #: agent/divert-scd.c:290
-#, fuzzy
 msgid "Repeat this PIN"
-msgstr "Gentag kodesætning: "
+msgstr "Gentag denne PIN"
 
 #: agent/divert-scd.c:295
-#, fuzzy
 msgid "Reset Code not correctly repeated; try again"
-msgstr "kodesætningen blev ikke ordentlig gentaget; prøv igen.\n"
+msgstr "Nulstillingskode er ikke korrekt gentaget; prøv igen"
 
 #: agent/divert-scd.c:297
-#, fuzzy
 msgid "PUK not correctly repeated; try again"
-msgstr "kodesætningen blev ikke ordentlig gentaget; prøv igen.\n"
+msgstr "PUK er ikke korrekt gentaget; prøv igen"
 
 #: agent/divert-scd.c:298
-#, fuzzy
 msgid "PIN not correctly repeated; try again"
-msgstr "kodesætningen blev ikke ordentlig gentaget; prøv igen.\n"
+msgstr "PIN er ikke korrekt gentaget; prøv igen"
 
 #: agent/divert-scd.c:310
 #, c-format
 msgid "Please enter the PIN%s%s%s to unlock the card"
-msgstr ""
+msgstr "Indtast venligst PIN'en%s%s%s for at låse kortet op"
 
 #: agent/genkey.c:108 sm/certreqgen-ui.c:384 sm/export.c:638 sm/export.c:654
 #: sm/import.c:667 sm/import.c:692
-#, fuzzy, c-format
+#, c-format
 msgid "error creating temporary file: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved oprettelse af midlertidig fil: %s\n"
 
 #: agent/genkey.c:115 sm/export.c:645 sm/import.c:675
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to temporary file: %s\n"
-msgstr "skriver til `%s'\n"
+msgstr "fejl ved skrivning til midlertidig fil: %s\n"
 
 #: agent/genkey.c:153 agent/genkey.c:159
-#, fuzzy
 msgid "Enter new passphrase"
-msgstr "Indtast kodesætning: "
+msgstr "Indtast ny adgangsfrase"
 
 #: agent/genkey.c:167
-#, fuzzy
 msgid "Take this one anyway"
-msgstr "Brug denne nøgle alligevel? "
+msgstr "Brug denne alligevel"
 
 #: agent/genkey.c:193
 #, c-format
@@ -302,7 +303,11 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should be "
 "at least %u characters long."
 msgstr[0] ""
+"Advarsel: Du har indtastet en usikker adgangsfrase.%%0AEn adgangsfrase skal "
+"være mindst %u tegn langt."
 msgstr[1] ""
+"Advarsel: Du har indtastet en usikker adgangsfrase.%%0AEn adgangsfrase skal "
+"være mindst %u tegn langt."
 
 #: agent/genkey.c:214
 #, c-format
@@ -313,7 +318,11 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
 "contain at least %u digits or%%0Aspecial characters."
 msgstr[0] ""
+"Advarsel: Du har indtastet en usikker adgangsfrase.%%0AEn adgangsfrase skal "
+"indeholde mindst %u ciffer eller%%0specielt tegn."
 msgstr[1] ""
+"Advarsel: Du har indtastet en usikker adgangsfrase.%%0AEn adgangsfrase skal "
+"indeholde mindst %u cifre eller%%0specielle tegn."
 
 #: agent/genkey.c:237
 #, c-format
@@ -321,12 +330,15 @@ msgid ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase may not be "
 "a known term or match%%0Acertain pattern."
 msgstr ""
+"Advarsel: Du har indtastet en usikker adgangsfrase.%%0AEn adgangsfrase må "
+"ikke være en kendt term eller matche%%0Aet bestemt mønster."
 
 #: agent/genkey.c:253
 #, c-format
 msgid ""
 "You have not entered a passphrase!%0AAn empty passphrase is not allowed."
 msgstr ""
+"Du har ikke indtastet en adgangsfrase!%0AEn tom adgangsfrase er ikke tilladt."
 
 #: agent/genkey.c:255
 #, c-format
@@ -334,309 +346,310 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
+"Du har ikke indtastet en adgangsfrase - dette er generelt en dårlig ide!"
+"%0ABekræft venligst at du ikke ønsker beskyttelse på din nøgle."
 
 #: agent/genkey.c:264
 msgid "Yes, protection is not needed"
-msgstr ""
+msgstr "Ja, beskyttelse er ikke krævet"
 
 #: agent/genkey.c:308
-#, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+#, c-format
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "Indtast venligst adgangsfrasen %0Afor at beskytte din nye nøgle"
 
 #: agent/genkey.c:431
-#, fuzzy
 msgid "Please enter the new passphrase"
-msgstr "ændr kodesætningen"
+msgstr "Indtast venligst den nye adgangsfrase"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
-#, fuzzy
 msgid ""
 "@Options:\n"
 " "
 msgstr ""
-"@\n"
-"Indstillinger:\n"
+"@Indstillinger:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr ""
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
-msgstr ""
+msgstr "kør i dæmontilstand (baggrunden)"
+
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "kør i servertilstand (forgrunden)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
-msgstr "meddelsom"
+msgstr "uddybende"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
-msgstr "vær mere stille"
+msgstr "vær mindre uddybende"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
-msgstr ""
+msgstr "kommandoresultat i sh-stil"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
-msgstr ""
+msgstr "kommandoresultat i csh-stil"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
-#, fuzzy
 msgid "|FILE|read options from FILE"
-msgstr "|FILE|indlæs udvidelsesmodul FILE"
+msgstr "|FIL|læs tilvalg fra FIL"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
-msgstr ""
+msgstr "frakobl ikke fra konsollen"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
-msgstr ""
+msgstr "fang ikke tastatur og mus"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
-#, fuzzy
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
-msgstr "eksportér nøgler til en nøgletjener"
+msgstr "brug en logfil for serveren"
 
-#: agent/gpg-agent.c:138
-#, fuzzy
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
-msgstr "Generér en annullérbar certifikat"
+msgstr "brug en standardplacering for soklen"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
-msgstr ""
+msgstr "|PGM|brug PGM som PIN-Entry-program"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
-msgstr ""
+msgstr "|PGM|brug PGM som SCdaemon-program"
 
-#: agent/gpg-agent.c:145
-#, fuzzy
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
-msgstr "opdatér tillidsdatabasen"
+msgstr "brug ikke SCdaemon'en"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
-msgstr ""
+msgstr "ignorer forespørgsler om at ændre TTY'en"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
-msgstr ""
+msgstr "ignorer forespørgsler om at ændre X-skærmen"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
-msgstr ""
+msgstr "|N|udløb mellemlagrede PIN'er efter N sekunder"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
-msgstr ""
-
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr ""
+msgstr "brug ikke PIN-mellemlageret når der underskrives"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:189
 #, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "tillad klienter at markere nøgler som »trusted« (troværdige)"
+
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "tillad forhåndsindstilling af adgangsfrase"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
+msgstr "aktiver ssh-agent-emulering"
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
 msgstr ""
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
-msgstr ""
+msgstr "|FIL|skriv også miljøindstillinger til FIL"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
-#, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
-msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
+msgstr "Rapporter venligst fejl til <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
-#, fuzzy
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg-agent [tilvalg] (-h for hjælp)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
+"Syntaks: gpg-agent [tilvalg] [kommando [parametre]]\n"
+"Hemmelig nøglehåndtering for GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
-msgstr ""
+msgstr "ugyldigt fejlsøgningsniveau »%s« angivet\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "%s er for gammel (kræver %s, har %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
-msgstr "NOTITS: ingen standard alternativfil '%s'\n"
+msgstr "BEMÆRK: Ingen standardfil for tilvalg »%s«\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
-msgstr "alternativfil`%s': %s\n"
+msgstr "tilvalgsfil »%s«: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
-msgstr "læser indstillinger fra `%s'\n"
+msgstr "læser tilvalg fra »%s«\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
-#, fuzzy, c-format
+#, c-format
 msgid "error creating `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved oprettelse af »%s«: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
+#, c-format
 msgid "can't create directory `%s': %s\n"
-msgstr "%s: kan ikke oprette mappe: %s\n"
+msgstr "kan ikke oprette mappe »%s«: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
-msgstr ""
+msgstr "sokkelnavnet er for langt\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
+#, c-format
 msgid "can't create socket: %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke oprette sokkel: %s\n"
 
-#: agent/gpg-agent.c:1507
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1559
+#, c-format
 msgid "socket name `%s' is too long\n"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "sokkelnavnet »%s« er for langt\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
-msgstr ""
+msgstr "en gpg-agent kører allerede - starter ikke en ny\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
-#, fuzzy
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved indhentelse af nonce for soklen\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
+#, c-format
 msgid "error binding socket to `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved binding af sokkel til »%s«: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
+#, c-format
 msgid "listen() failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "listen() mislykkedes: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
+#, c-format
 msgid "listening on socket `%s'\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "lytter på sokkel »%s«\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
+#, c-format
 msgid "directory `%s' created\n"
-msgstr "%s: mappe oprettet\n"
+msgstr "mappe »%s« oprettet\n"
 
-#: agent/gpg-agent.c:1640
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1692
+#, c-format
 msgid "stat() failed for `%s': %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "stat() mislykkedes for »%s«: %s\n"
 
-#: agent/gpg-agent.c:1644
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1696
+#, c-format
 msgid "can't use `%s' as home directory\n"
-msgstr "%s: kan ikke oprette mappe: %s\n"
+msgstr "kan ikke bruge »%s« som hjemmemappe\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
+#, c-format
 msgid "error reading nonce on fd %d: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af nonce på fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "håndtering 0x%lx for fd %d startet\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "håndtering 0x%lx for fd %d termineret\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "ssh-håndtering 0x%lx for fd %d startet\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "ssh-håndtering 0x%lx for %d termineret\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
-msgstr ""
+msgstr "pth_select mislykkeds: %s - venter 1s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
-#, fuzzy, c-format
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
+#, c-format
 msgid "%s %s stopped\n"
-msgstr "%s: udelod: %s\n"
+msgstr "%s %s stoppet\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
-msgstr ""
+msgstr "ingen gpg-agent kører i denne session\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
-msgstr ""
+msgstr "forkert udformet GPG_AGENT_INFO-miljøvariabel\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
-#, fuzzy, c-format
+#, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "gpg-agent-protokolversion %d er ikke understøttet\n"
 
-#: agent/preset-passphrase.c:98
-#, fuzzy
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg-preset-passphrase [tilvalg] KEYGRIP (-h for hjælp)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
+"Syntaks: gpg-preset-passphrase [tilvalg] KEYGRIP\n"
+"Adgangskode for mellemlagervedligeholdelse\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -645,7 +658,7 @@ msgstr ""
 "@Kommandoer:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -654,92 +667,98 @@ msgid ""
 " "
 msgstr ""
 "@\n"
-"Indstillinger:\n"
+"Tilvalg:\n"
 " "
 
-#: agent/protect-tool.c:166
-#, fuzzy
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg-protect-tool [tilvalg] (-h for hjælp)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
+"Syntaks: gpg-protect-tool [tilvalg] [parametre]\n"
+"Vedligeholdelsesværktøj for hemmelig nøgle\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
+"Indtast venligst adgangsfrasen for at fjerne beskyttelsen på PKCS#12-"
+"objektet."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
-msgstr ""
+msgstr "Indtast venligst adgangsfrasen for at beskytte det nye PKCS#12-objekt."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
+"Indtast venligst adgangsfrasen for at beskytte det importeret objekt inden i "
+"GnuPG-systemet."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
+"Indtast venligst adgangsfrasen eller PIN'en\n"
+"krævet for at færdiggøre denne handling."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
-#, fuzzy
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
-msgstr "dårlig kodesætning"
+msgstr "Adgangsfrase:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
-msgstr ""
+msgstr "afbrudt\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
-#, fuzzy, c-format
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
+#, c-format
 msgid "error while asking for the passphrase: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved oprettelse af adgangsfrasen: %s\n"
 
 #: agent/trustlist.c:136 agent/trustlist.c:334
-#, fuzzy, c-format
+#, c-format
 msgid "error opening `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved åbning af »%s«: %s\n"
 
 #: agent/trustlist.c:151 common/helpfile.c:63 common/helpfile.c:79
-#, fuzzy, c-format
+#, c-format
 msgid "file `%s', line %d: %s\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "fil »%s«, linje %d: %s\n"
 
 #: agent/trustlist.c:171 agent/trustlist.c:179
 #, c-format
 msgid "statement \"%s\" ignored in `%s', line %d\n"
-msgstr ""
+msgstr "udtryk »%s« ignoreret i »%s«, linje %d\n"
 
 #: agent/trustlist.c:185
-#, fuzzy, c-format
+#, c-format
 msgid "system trustlist `%s' not available\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "troværdig liste for systemet »%s« er ikke tilgængelig\n"
 
 #: agent/trustlist.c:229
-#, fuzzy, c-format
+#, c-format
 msgid "bad fingerprint in `%s', line %d\n"
-msgstr "panser: %s\n"
+msgstr "ugyldigt fingeraftryk i »%s«, linje %d\n"
 
 #: agent/trustlist.c:254 agent/trustlist.c:261
 #, c-format
 msgid "invalid keyflag in `%s', line %d\n"
-msgstr ""
+msgstr "ugyldigt nøgleflag i »%s«, linje %d\n"
 
 #: agent/trustlist.c:295 common/helpfile.c:126
-#, fuzzy, c-format
+#, c-format
 msgid "error reading `%s', line %d: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af »%s«, linje %d: %s\n"
 
 #: agent/trustlist.c:400 agent/trustlist.c:450
 msgid "error reading list of trusted root certificates\n"
-msgstr ""
+msgstr "fejl ved læsning af liste over betroede rodcertifikater\n"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry
 #. and has one special property: A "%%0A" is used by
@@ -755,15 +774,16 @@ msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
+"Stoler du fuldstændig på at%%0A  \"%s\"%%0Akorrekt certificerer "
+"brugercertifikater?"
 
 #: agent/trustlist.c:620 common/audit.c:467
-#, fuzzy
 msgid "Yes"
-msgstr "ja"
+msgstr "Ja"
 
 #: agent/trustlist.c:620 common/audit.c:469
 msgid "No"
-msgstr ""
+msgstr "Nej"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry and has
 #. one special property: A "%%0A" is used by Pinentry to
@@ -779,22 +799,24 @@ msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
 "fingerprint:%%0A  %s"
 msgstr ""
+"Verificer venligst at certifikatet identificeres som:%%0A  \"%s\"%%0Ahar "
+"fingeraftrykket:%%0A  %s"
 
 #. TRANSLATORS: "Correct" is the label of a button and intended
 #. to be hit if the fingerprint matches the one of the CA.  The
 #. other button is "the default "Cancel" of the Pinentry.
 #: agent/trustlist.c:668
 msgid "Correct"
-msgstr ""
+msgstr "Korrekt"
 
 #: agent/trustlist.c:668
 msgid "Wrong"
-msgstr ""
+msgstr "Forkert"
 
 #: agent/findkey.c:157
 #, c-format
 msgid "Note: This passphrase has never been changed.%0APlease change it now."
-msgstr ""
+msgstr "Bemærk: Denne adgangsfrase er aldrig blevet ændret.%0AÆndr den nu."
 
 #: agent/findkey.c:173
 #, c-format
@@ -802,106 +824,106 @@ msgid ""
 "This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
 "it now."
 msgstr ""
+"Denne adgangsfrase er ikke blevet ændret%%0Asiden %.4s-%.2s-%.2s. Ændr den "
+"nu."
 
 #: agent/findkey.c:187 agent/findkey.c:194
-#, fuzzy
 msgid "Change passphrase"
-msgstr "ændr kodesætningen"
+msgstr "Ændr adgangsfrasen"
 
 #: agent/findkey.c:195
 msgid "I'll change it later"
-msgstr ""
+msgstr "Jeg ændrer den senere"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
-#, fuzzy, c-format
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
+#, c-format
 msgid "error creating a pipe: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved oprettelse af datakanal: %s\n"
 
 #: common/exechelp.c:599 common/exechelp.c:658
-#, fuzzy, c-format
+#, c-format
 msgid "can't fdopen pipe for reading: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke fdopen datakanal for læsning: %s\n"
 
 #: common/exechelp.c:637 common/exechelp.c:765 common/exechelp.c:1002
-#, fuzzy, c-format
+#, c-format
 msgid "error forking process: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved forgrening af proces: %s\n"
 
 #: common/exechelp.c:811 common/exechelp.c:864
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
-msgstr ""
+msgstr "ventning på at proces %d skulle terminere mislykkedes: %s\n"
 
 #: common/exechelp.c:819
-#, fuzzy, c-format
+#, c-format
 msgid "error getting exit code of process %d: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved indhentelse af afslutningskode for proces %d: %s\n"
 
 #: common/exechelp.c:825 common/exechelp.c:877
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': exit status %d\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved kørsel af »%s«: afslutningsstatus %d\n"
 
 #: common/exechelp.c:870
 #, c-format
 msgid "error running `%s': probably not installed\n"
-msgstr ""
+msgstr "fejl ved kørsel af »%s«: sikkert ikke installeret\n"
 
 #: common/exechelp.c:885
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': terminated\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved kørsel af »%s«: termineret\n"
 
-#: common/http.c:1674
-#, fuzzy, c-format
+#: common/http.c:1682
+#, c-format
 msgid "error creating socket: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved oprettelse af sokkel: %s\n"
 
-#: common/http.c:1718
-#, fuzzy
+#: common/http.c:1733
 msgid "host not found"
-msgstr "%s: bruger ikke fundet\n"
+msgstr "vært ikke fundet"
 
 #: common/simple-pwquery.c:338
 msgid "gpg-agent is not available in this session\n"
-msgstr ""
+msgstr "gpg-agent er ikke tilgængelig i denne session\n"
 
 #: common/simple-pwquery.c:395
-#, fuzzy, c-format
+#, c-format
 msgid "can't connect to `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke forbinde til »%s«: %s\n"
 
 #: common/simple-pwquery.c:406
 msgid "communication problem with gpg-agent\n"
-msgstr ""
+msgstr "kommunikationsproblem med gpg-agent\n"
 
 #: common/simple-pwquery.c:416
 msgid "problem setting the gpg-agent options\n"
-msgstr ""
+msgstr "problem ved angivelse af indstillinger for gpg-agent\n"
 
 #: common/simple-pwquery.c:579 common/simple-pwquery.c:675
 msgid "canceled by user\n"
-msgstr ""
+msgstr "afbrudt af brugeren\n"
 
 #: common/simple-pwquery.c:594 common/simple-pwquery.c:681
 msgid "problem with the agent\n"
-msgstr ""
+msgstr "problem med agenten\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
-msgstr "kan ikke slå core-dump fra: %s\n"
+msgstr "kan ikke slå kernedump fra: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
-msgstr ""
+msgstr "Advarsel: usikker ejerskab på %s »%s«\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
-msgstr ""
+msgstr "Advarsel: usikre rettigheder på %s »%s«\n"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
 #: common/yesno.c:35 common/yesno.c:72
@@ -933,255 +955,230 @@ msgstr "aA"
 #. TRANSLATORS: See doc/TRANSLATE about this string.
 #: common/yesno.c:113
 msgid "okay|okay"
-msgstr ""
+msgstr "okay|okay|ok"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
 #: common/yesno.c:115
 msgid "cancel|cancel"
-msgstr ""
+msgstr "afbryd|stop"
 
 #: common/yesno.c:116
 msgid "oO"
-msgstr ""
+msgstr "oO"
 
 #: common/yesno.c:117
-#, fuzzy
 msgid "cC"
-msgstr "c"
+msgstr "cC"
 
 #: common/miscellaneous.c:77
 #, c-format
 msgid "out of core in secure memory while allocating %lu bytes"
-msgstr ""
+msgstr "ikke nok kerne i sikker hukommelse under allokering af %lu byte"
 
 #: common/miscellaneous.c:80
 #, c-format
 msgid "out of core while allocating %lu bytes"
-msgstr ""
+msgstr "ikke nok kerne under allokering af %lu byte"
 
 #: common/asshelp.c:293 tools/gpg-connect-agent.c:2129
 msgid "no running gpg-agent - starting one\n"
-msgstr ""
+msgstr "ingen kørende gpg-agent - starter en\n"
 
 #: common/asshelp.c:349
 #, c-format
 msgid "waiting %d seconds for the agent to come up\n"
-msgstr ""
+msgstr "venter %d sekunder på at agenten kommer frem\n"
 
 #: common/asshelp.c:426
 msgid "can't connect to the agent - trying fall back\n"
-msgstr ""
+msgstr "kan ikke forbinde til agenten - forsøger med reserven\n"
 
 #. TRANSLATORS: Copy the prefix between the vertical bars
 #. verbatim.  It will not be printed.
 #: common/audit.c:474
 msgid "|audit-log-result|Good"
-msgstr ""
+msgstr "|audit-log-result|Godt"
 
 #: common/audit.c:477
 msgid "|audit-log-result|Bad"
-msgstr ""
+msgstr "|audit-log-result|Ugyldigt"
 
 #: common/audit.c:479
 msgid "|audit-log-result|Not supported"
-msgstr ""
+msgstr "|audit-log-result|Ikke understøttet"
 
 #: common/audit.c:481
-#, fuzzy
 msgid "|audit-log-result|No certificate"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Intet certifikat"
 
 #: common/audit.c:483
-#, fuzzy
 msgid "|audit-log-result|Not enabled"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Ikke aktiveret"
 
 #: common/audit.c:485
 msgid "|audit-log-result|Error"
-msgstr ""
+msgstr "|audit-log-result|Fejl"
 
 #: common/audit.c:487
-#, fuzzy
 msgid "|audit-log-result|Not used"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Ikke brugt"
 
 #: common/audit.c:489
-#, fuzzy
 msgid "|audit-log-result|Okay"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Okay"
 
 #: common/audit.c:491
-#, fuzzy
 msgid "|audit-log-result|Skipped"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Udeladt"
 
 #: common/audit.c:493
-#, fuzzy
 msgid "|audit-log-result|Some"
-msgstr "Godt certifikat"
+msgstr "|audit-log-result|Lidt"
 
 #: common/audit.c:726
-#, fuzzy
 msgid "Certificate chain available"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "Certifikatkæde er tilgængelig"
 
 #: common/audit.c:733
-#, fuzzy
 msgid "root certificate missing"
-msgstr "Godt certifikat"
+msgstr "rodcertifikat mangler"
 
 #: common/audit.c:759
 msgid "Data encryption succeeded"
-msgstr ""
+msgstr "Datakryptering lykkedes"
 
 #: common/audit.c:764 common/audit.c:830 common/audit.c:906 common/audit.c:997
-#, fuzzy
 msgid "Data available"
-msgstr "Ingen hjælp tilgængelig"
+msgstr "Data tilgængelig"
 
 #: common/audit.c:767
 msgid "Session key created"
-msgstr ""
+msgstr "Sessionsnøgle oprettet"
 
 #: common/audit.c:772 common/audit.c:912 common/audit.c:919
-#, fuzzy, c-format
+#, c-format
 msgid "algorithm: %s"
-msgstr "panser: %s\n"
+msgstr "algoritme: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#, fuzzy, c-format
+#, c-format
 msgid "unsupported algorithm: %s"
-msgstr ""
-"\n"
-"Understøttede algoritmer:\n"
+msgstr "ikke understøttet algoritme: %s"
 
 #: common/audit.c:778 common/audit.c:925
-#, fuzzy
 msgid "seems to be not encrypted"
-msgstr "ikke krypteret"
+msgstr "ser ikke ud til at være krypteret"
 
 #: common/audit.c:784 common/audit.c:933
 msgid "Number of recipients"
-msgstr ""
+msgstr "Antal modtagere"
 
 #: common/audit.c:792 common/audit.c:956
 #, c-format
 msgid "Recipient %d"
-msgstr ""
+msgstr "Modtager %d"
 
 #: common/audit.c:825
 msgid "Data signing succeeded"
-msgstr ""
+msgstr "Dataunderskrivning lykkedes"
 
 #: common/audit.c:839 common/audit.c:1033 common/audit.c:1060
-#, fuzzy, c-format
+#, c-format
 msgid "data hash algorithm: %s"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "hash-algoritme for data: %s"
 
 #: common/audit.c:862
-#, fuzzy, c-format
+#, c-format
 msgid "Signer %d"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskriver %d"
 
 #: common/audit.c:866 common/audit.c:1065
-#, fuzzy, c-format
+#, c-format
 msgid "attr hash algorithm: %s"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "hash-algoritme for attr: %s"
 
 #: common/audit.c:901
 msgid "Data decryption succeeded"
-msgstr ""
+msgstr "Datadekryptering lykkedes"
 
 #: common/audit.c:910
-#, fuzzy
 msgid "Encryption algorithm supported"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "Krypteringsalgoritme er ikke understøttet"
 
 #: common/audit.c:993
 msgid "Data verification succeeded"
-msgstr ""
+msgstr "Dataverifikation lykkedes"
 
 #: common/audit.c:1002
-#, fuzzy
 msgid "Signature available"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift tilgængelig"
 
 #: common/audit.c:1024
-#, fuzzy
 msgid "Parsing data succeeded"
-msgstr "God signatur fra \""
+msgstr "Fortolkning af data lykkedes"
 
 #: common/audit.c:1036
-#, fuzzy, c-format
+#, c-format
 msgid "bad data hash algorithm: %s"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "ugyldig hash-algoritme for data: %s"
 
 #: common/audit.c:1051
-#, fuzzy, c-format
+#, c-format
 msgid "Signature %d"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift %d"
 
 #: common/audit.c:1079
-#, fuzzy
 msgid "Certificate chain valid"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "Certifikatkæde er gyldig"
 
 #: common/audit.c:1090
-#, fuzzy
 msgid "Root certificate trustworthy"
-msgstr "Godt certifikat"
+msgstr "Rodcertifikat er troværdigt"
 
-#: common/audit.c:1111 sm/certchain.c:935
-#, fuzzy
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
-msgstr "Godt certifikat"
+msgstr "ingen CRL fundet for certifikat"
 
-#: common/audit.c:1114 sm/certchain.c:945
-#, fuzzy
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
-msgstr "Ingen hjælp tilgængelig"
+msgstr "den tilgængelige CRL er for gammel"
 
 #: common/audit.c:1119
-#, fuzzy
 msgid "CRL/OCSP check of certificates"
-msgstr "Godt certifikat"
+msgstr "CRL/OCSP-kontrol af certifikater"
 
 #: common/audit.c:1139
-#, fuzzy
 msgid "Included certificates"
-msgstr "Godt certifikat"
+msgstr "Inkluderede certifikater"
 
 #: common/audit.c:1194
 msgid "No audit log entries."
-msgstr ""
+msgstr "Ingen punkter i revisionslog."
 
 #: common/audit.c:1243
-#, fuzzy
 msgid "Unknown operation"
-msgstr "ukendt version"
+msgstr "Ukendt handling"
 
 #: common/audit.c:1261
 msgid "Gpg-Agent usable"
-msgstr ""
+msgstr "Gpg-Agent er brugbar"
 
 #: common/audit.c:1271
 msgid "Dirmngr usable"
-msgstr ""
+msgstr "Dirmngr er brugbar"
 
 #: common/audit.c:1307
-#, fuzzy, c-format
+#, c-format
 msgid "No help available for `%s'."
-msgstr "Ingen hjælp tilgængelig for `%s'"
+msgstr "Ingen hjælp tilgængelig for »%s«."
 
 #: common/helpfile.c:80
-#, fuzzy
 msgid "ignoring garbage line"
-msgstr "fejl i trailerlinie\n"
+msgstr "ignorerer affaldslinje"
 
 #: common/gettime.c:503
-#, fuzzy
 msgid "[none]"
-msgstr "ukendt version"
+msgstr "[ingen]"
 
 #: g10/armor.c:379
 #, c-format
@@ -1198,30 +1195,28 @@ msgstr "panserhoved: "
 
 #: g10/armor.c:442
 msgid "invalid clearsig header\n"
-msgstr ""
+msgstr "ugyldigt clearsig-hoved\n"
 
 #: g10/armor.c:455
-#, fuzzy
 msgid "unknown armor header: "
-msgstr "panserhoved: "
+msgstr "ukendt panserhoved: "
 
 #: g10/armor.c:508
 msgid "nested clear text signatures\n"
-msgstr ""
+msgstr "indlejrede underskrifter i klartekst\n"
 
 #: g10/armor.c:643
-#, fuzzy
 msgid "unexpected armor: "
-msgstr "uforventet beskyttelse:"
+msgstr "uventet panser: "
 
 #: g10/armor.c:655
 msgid "invalid dash escaped line: "
-msgstr ""
+msgstr "ugyldig striplet undvegen linje: "
 
-#: g10/armor.c:810 g10/armor.c:1420
-#, fuzzy, c-format
+#: g10/armor.c:810 g10/armor.c:1434
+#, c-format
 msgid "invalid radix64 character %02X skipped\n"
-msgstr "ugyldigt radix64 tegn %02x udeladt\n"
+msgstr "ugyldigt radix64-tegn %02x udeladt\n"
 
 #: g10/armor.c:853
 msgid "premature eof (no CRC)\n"
@@ -1233,551 +1228,530 @@ msgstr "for tidlig eof (i CRC)\n"
 
 #: g10/armor.c:895
 msgid "malformed CRC\n"
-msgstr "dårlig CRC\n"
+msgstr "ugyldig udformet CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
-#, fuzzy, c-format
+#: g10/armor.c:899 g10/armor.c:1471
+#, c-format
 msgid "CRC error; %06lX - %06lX\n"
-msgstr "CRC fejl; %06lx - %06lx\n"
+msgstr "CRC-fejl; %06lx - %06lx\n"
 
 #: g10/armor.c:919
-#, fuzzy
 msgid "premature eof (in trailer)\n"
 msgstr "for tidlig eof (i trailer)\n"
 
 #: g10/armor.c:923
 msgid "error in trailer line\n"
-msgstr "fejl i trailerlinie\n"
+msgstr "fejl i trailerlinje\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
-msgstr "ingen gyldig OpenPGP data fundet.\n"
+msgstr "ingen gyldige OpenPGP-data fundet.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
-msgstr "ugyldigt panser: linie længere end %d tegn\n"
+msgstr "ugyldigt panser: linje længere end %d tegn\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
-msgstr "quoted printable-tegn i panser - måske pga. en fejlbehæftet MTA\n"
+msgstr ""
+"citeret udskrivingstegn i panser - måske på grund af en fejlbehæftet MTA\n"
 
 #: g10/build-packet.c:976
 msgid ""
 "a notation name must have only printable characters or spaces, and end with "
 "an '='\n"
 msgstr ""
+"et notationsnavn må kun have udskrivningstegn eller mellemrum og skal "
+"sluttes med et »=«\n"
 
 #: g10/build-packet.c:988
-#, fuzzy
 msgid "a user notation name must contain the '@' character\n"
-msgstr "en notationsværdi må ikke bruge nogen kontroltegn\n"
+msgstr "et brugernotationsnavn skal indeholde tegnet »@«\n"
 
 #: g10/build-packet.c:994
-#, fuzzy
 msgid "a notation name must not contain more than one '@' character\n"
-msgstr "en notationsværdi må ikke bruge nogen kontroltegn\n"
+msgstr "et notationsnavn må ikke indeholde mere end et »@«-tegn\n"
 
 #: g10/build-packet.c:1012
 msgid "a notation value must not use any control characters\n"
-msgstr "en notationsværdi må ikke bruge nogen kontroltegn\n"
+msgstr "en notationsværdi må ikke bruge nogen kontroltegn\n"
 
 #: g10/build-packet.c:1046 g10/build-packet.c:1055
-#, fuzzy
 msgid "WARNING: invalid notation data found\n"
-msgstr "ingen gyldig OpenPGP data fundet.\n"
+msgstr "ADVARSEL: Ingen notationsdata fundet\n"
 
 #: g10/build-packet.c:1077 g10/build-packet.c:1079
 msgid "not human readable"
-msgstr ""
+msgstr "kan ikke læses af mennesker"
 
-#: g10/card-util.c:85 g10/card-util.c:374
-#, fuzzy, c-format
+#: g10/card-util.c:85 g10/card-util.c:375
+#, c-format
 msgid "OpenPGP card not available: %s\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "OpenPGP-kort er ikke tilgængeligt: %s\n"
 
 #: g10/card-util.c:90
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
-msgstr ""
+msgstr "OpenPGP-kortnr. %s detekteret\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
-msgstr ""
+msgstr "kan ikke udføre dette i jobtilstand\n"
 
 #: g10/card-util.c:106
 msgid "This command is only available for version 2 cards\n"
-msgstr ""
+msgstr "Denne kommando er kun tilgængelig for version 2-kort\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
-#, fuzzy
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "Nulstillingskode er ikke eller ikke mere tilgængelig\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Dit valg? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
-msgstr ""
+msgstr "[ikke indstillet]"
 
-#: g10/card-util.c:512
-#, fuzzy
+#: g10/card-util.c:513
 msgid "male"
-msgstr "slåtil"
+msgstr "mand"
 
-#: g10/card-util.c:513
-#, fuzzy
+#: g10/card-util.c:514
 msgid "female"
-msgstr "slåtil"
+msgstr "kvinde"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
-msgstr ""
+msgstr "ikke angivet"
 
-#: g10/card-util.c:540
-#, fuzzy
+#: g10/card-util.c:541
 msgid "not forced"
-msgstr "ikke bearbejdet"
+msgstr "ikke tvunget"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
-msgstr ""
+msgstr "tvunget"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
-msgstr ""
+msgstr "Fejl: Kun ren ASCII er tilladt i øjeblikket.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
-msgstr ""
+msgstr "Fejl: Tegnet »<« må ikke bruges.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
-msgstr ""
+msgstr "Fejl: Dobbelt mellemrum er ikke tilladt.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
-msgstr ""
+msgstr "Kortholders efternavn: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
-msgstr ""
+msgstr "Kortholders fornavn: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
-msgstr ""
+msgstr "Fejl: Kombineret navn er for langt (begrænsningen er på %d tegn).\n"
 
-#: g10/card-util.c:693
-#, fuzzy
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
-msgstr "skriver offentligt certifikat til '%s'\n"
+msgstr "Adresse hvor offentlig nøgle skal hentes: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
-msgstr ""
+msgstr "Fejl: Adresse er for lang (begrænsningen er %d tegn).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
-#, fuzzy, c-format
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
+#, c-format
 msgid "error allocating enough memory: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved allokering af nok hukommelse: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af »%s«: %s\n"
 
-#: g10/card-util.c:839
-#, fuzzy, c-format
+#: g10/card-util.c:840
+#, c-format
 msgid "error writing `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af »%s«: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
-msgstr ""
+msgstr "Loginddata (kontonavn): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
-msgstr ""
+msgstr "Fejl: Loginddata er for lange (begrænsningen er %d tegn).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
-msgstr ""
+msgstr "Private DO-data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
-msgstr ""
+msgstr "Fejl: Privat DO er for lang (begrænsningen er %d tegn).\n"
 
-#: g10/card-util.c:1005
-#, fuzzy
+#: g10/card-util.c:1006
 msgid "Language preferences: "
-msgstr "vis præferencer"
+msgstr "Sprogpræferencer: "
 
-#: g10/card-util.c:1013
-#, fuzzy
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
-msgstr "Ugyldige bogstaver i navn\n"
+msgstr "Fejl: ugyldig længde for præferencestreng.\n"
 
-#: g10/card-util.c:1022
-#, fuzzy
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
-msgstr "Ugyldige bogstaver i navn\n"
+msgstr "Fejl: ugyldige tegn i præferencestreng.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
-msgstr ""
+msgstr "Køn ((M)and, Kvinde(F) eller mellemrum): "
 
-#: g10/card-util.c:1058
-#, fuzzy
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
-msgstr "fejl i trailerlinie\n"
+msgstr "Fejl: ugyldigt svar.\n"
 
-#: g10/card-util.c:1080
-#, fuzzy
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
-msgstr "Fingeraftryk:"
+msgstr "CA-fingeraftryk: "
 
-#: g10/card-util.c:1103
-#, fuzzy
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
-msgstr "fejl i trailerlinie\n"
+msgstr "Fejl: Ugyldigt formateret fingeraftryk.\n"
 
-#: g10/card-util.c:1153
-#, fuzzy, c-format
+#: g10/card-util.c:1154
+#, c-format
 msgid "key operation not possible: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "nøglehandling er ikke mulig: %s\n"
 
-#: g10/card-util.c:1154
-#, fuzzy
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
-msgstr "ingen gyldig OpenPGP data fundet.\n"
+msgstr "ikke et OpenPGP-kort"
 
-#: g10/card-util.c:1167
-#, fuzzy, c-format
+#: g10/card-util.c:1168
+#, c-format
 msgid "error getting current key info: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved indhentelse af aktuel nøgleinformation: %s\n"
 
-#: g10/card-util.c:1254
-#, fuzzy
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
-msgstr "Vil du gerne signere? "
+msgstr "Erstat eksisterende nøgle? (j/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
+"BEMÆRK: Der er ingen garanti for at kortet understøtter den ønskede\n"
+"        størrelse. Hvis nøgleoprettelsen ikke lykkes, så kontroller\n"
+"        dokumentationen for dit kort for at se hvilke størrelser, der\n"
+"        er tilladt.\n"
 
-#: g10/card-util.c:1295
-#, fuzzy, c-format
+#: g10/card-util.c:1296
+#, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (1024) "
+msgstr "Hvilken nøglestørrelse ønsker du for underskriftsnøglen (%u) "
 
-#: g10/card-util.c:1297
-#, fuzzy, c-format
+#: g10/card-util.c:1298
+#, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (1024) "
+msgstr "Hvilken nøglestørrelse ønsker du for krypteringsnøglen? (%u) "
 
-#: g10/card-util.c:1298
-#, fuzzy, c-format
+#: g10/card-util.c:1299
+#, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (1024) "
+msgstr "Hvilken nøglestørrelse ønsker du for godkendelsesnøglen? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
-msgstr "rundet op til %u bit\n"
+msgstr "afrundet op til %u bit\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
-msgstr ""
+msgstr "%s nøglestørrelser skal være i intervallet %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgstr ""
+msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
 
-#: g10/card-util.c:1342
-#, fuzzy, c-format
+#: g10/card-util.c:1343
+#, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved ændring af størrelsen på nøglen %d til %u bit: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
+"Lav sikkerhedskopi et andet sted end på kortet for krypteringsnøglen? (J/n) "
 
-#: g10/card-util.c:1378
-#, fuzzy
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
-msgstr "udelod: hemmelig nøgle er allerede tilstede\n"
+msgstr "BEMÆRK: Nøgler er allerede gemt på kortet!\n"
 
-#: g10/card-util.c:1381
-#, fuzzy
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
-msgstr "Vil du gerne signere? "
+msgstr "Erstat eksisterende nøgler (j/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "You should change them using the command --change-pin\n"
 msgstr ""
+"Bemærk venligst at fabriksindstillingerne for PIN'erne er\n"
+"   PIN = »%s«     Admin-PIN = »%s«\n"
+"Du bør ændre dem med kommandoen --change-pin\n"
 
-#: g10/card-util.c:1449
-#, fuzzy
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+msgstr "Vælg venligst hvilken slags nøgle der skal oprettes:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
-#, fuzzy
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "   (1) Underskriftsnøgle\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
-#, fuzzy
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (2) Krypteringsnøgle\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
-msgstr ""
+msgstr "   (3) Godkendelsesnøgle\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Ugyldigt valg.\n"
 
-#: g10/card-util.c:1556
-#, fuzzy
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "Vælg venligst hvor nøglen skal gemmes:\n"
 
-#: g10/card-util.c:1600
-#, fuzzy
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
-msgstr "ukendt kompressionsalgoritme"
+msgstr "ukendt nøglebeskyttelsessalgoritme\n"
 
-#: g10/card-util.c:1605
-#, fuzzy
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "hemmelige dele af nøglen er ikke tilgængelige\n"
 
-#: g10/card-util.c:1610
-#, fuzzy
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
-msgstr "udelod: hemmelig nøgle er allerede tilstede\n"
+msgstr "hemmelig nøgle er allerede gemt på et kort\n"
 
-#: g10/card-util.c:1623
-#, fuzzy, c-format
+#: g10/card-util.c:1624
+#, c-format
 msgid "error writing key to card: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af nøgle til kort: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "afslut denne menu"
 
-#: g10/card-util.c:1684
-#, fuzzy
+#: g10/card-util.c:1685
 msgid "show admin commands"
-msgstr "konfliktende kommandoer\n"
+msgstr "vis administratorkommandoer"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
-msgstr "vis denne hjælp"
+msgstr "vis denne hjælpetekst"
 
-#: g10/card-util.c:1687
-#, fuzzy
+#: g10/card-util.c:1688
 msgid "list all available data"
-msgstr "Ingen hjælp tilgængelig"
+msgstr "vis alle tilgængelige data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
-msgstr ""
+msgstr "ændr kortholders navn"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
-msgstr ""
+msgstr "ændr adresse for at indhente nøgle"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
-msgstr ""
+msgstr "hent nøglen angivet i kortadressen"
 
-#: g10/card-util.c:1693
-#, fuzzy
+#: g10/card-util.c:1694
 msgid "change the login name"
-msgstr "ændr udløbsdatoen"
+msgstr "ændr logindnavnet"
 
-#: g10/card-util.c:1694
-#, fuzzy
+#: g10/card-util.c:1695
 msgid "change the language preferences"
-msgstr "vis præferencer"
+msgstr "ændr sprogpræferencerne"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
-msgstr ""
+msgstr "ændr kortholders køn"
 
-#: g10/card-util.c:1696
-#, fuzzy
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
-msgstr "vis fingeraftryk"
+msgstr "ændr et CA-fingeraftryk"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
-msgstr ""
+msgstr "skift force PIN-flag for underskriften"
 
-#: g10/card-util.c:1698
-#, fuzzy
+#: g10/card-util.c:1699
 msgid "generate new keys"
-msgstr "generér et nyt nøglepar"
+msgstr "opret nye nøgler"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
-msgstr ""
+msgstr "menu til at ændre eller fjerne blokering for PIN'en"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
-msgstr ""
+msgstr "verificer PIN'en og vis alle data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
-msgstr ""
+msgstr "fjern blokering for PIN'en med en nulstillingskode"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
-msgstr ""
+msgstr "gpg/card> "
 
-#: g10/card-util.c:1864
-#, fuzzy
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
-msgstr "konfliktende kommandoer\n"
+msgstr "Kommandoer kun for administratoren\n"
 
-#: g10/card-util.c:1895
-#, fuzzy
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
-msgstr "konfliktende kommandoer\n"
+msgstr "Administratorkommandoer er tilladt\n"
 
-#: g10/card-util.c:1897
-#, fuzzy
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "Administratorkommandoer er ikke tilladt\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
-msgstr ""
+msgstr "Ugyldig kommando (prøv »help«)\n"
 
 #: g10/decrypt.c:110 g10/encode.c:876
 msgid "--output doesn't work for this command\n"
-msgstr ""
+msgstr "--output virker ikke for denne kommando\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
-msgstr "kan ikke åbne `%s'\n"
+msgstr "kan ikke åbne »%s«\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
-#, fuzzy, c-format
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
+#, c-format
 msgid "key \"%s\" not found: %s\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "nøglen »%s« blev ikke fundet: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
-#, fuzzy, c-format
+#, c-format
 msgid "error reading keyblock: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af nøgleblok: %s\n"
 
 #: g10/delkey.c:127 g10/delkey.c:134
 msgid "(unless you specify the key by fingerprint)\n"
-msgstr ""
+msgstr "(med mindre du angiver nøglen med fingeraftryk)\n"
 
 #: g10/delkey.c:133
 msgid "can't do this in batch mode without \"--yes\"\n"
-msgstr ""
+msgstr "kan ikke udføre dette i jobtilstand uden »--yes«\n"
 
 #: g10/delkey.c:145
-#, fuzzy
 msgid "Delete this key from the keyring? (y/N) "
-msgstr "Slet denne nøgle fra nøgleringen? "
+msgstr "Slet denne nøgle fra nøgleringen? (j/N) "
 
 #: g10/delkey.c:153
 msgid "This is a secret key! - really delete? (y/N) "
-msgstr ""
+msgstr "Dette er en hemmelig nøgle! - Slet? (j/N) "
 
 #: g10/delkey.c:163
-#, fuzzy, c-format
+#, c-format
 msgid "deleting keyblock failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "sletning af nøgleblok mislykkedes: %s\n"
 
 #: g10/delkey.c:173
 msgid "ownertrust information cleared\n"
-msgstr ""
+msgstr "information om ejertroværdighed ryddet\n"
 
 #: g10/delkey.c:204
 #, c-format
 msgid "there is a secret key for public key \"%s\"!\n"
-msgstr ""
+msgstr "der er en hemmelig nøgle for offentlig nøgle »%s«!\n"
 
 #: g10/delkey.c:206
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
-msgstr ""
+msgstr "brug tilvalget »--delete-secret-keys« for at slette den først.\n"
 
 #: g10/encode.c:226 g10/sign.c:1269
 #, c-format
 msgid "error creating passphrase: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved oprettelse af adgangsfrase: %s\n"
 
 #: g10/encode.c:232
 msgid "can't use a symmetric ESK packet due to the S2K mode\n"
-msgstr ""
+msgstr "kan ikke bruge en symmetrisk ESK-pakke på grund af S2K-tilstanden\n"
 
 #: g10/encode.c:246
-#, fuzzy, c-format
+#, c-format
 msgid "using cipher %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "bruger chiffer %s\n"
 
 #: g10/encode.c:256 g10/encode.c:577
 #, c-format
 msgid "`%s' already compressed\n"
-msgstr ""
+msgstr "»%s« allerede komprimeret\n"
 
 #: g10/encode.c:311 g10/encode.c:611 g10/sign.c:564
 #, c-format
 msgid "WARNING: `%s' is an empty file\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: »%s« er en tom fil\n"
 
 #: g10/encode.c:485
 msgid "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
 msgstr ""
+"du kan kun kryptere til RSA-nøgler for 2048 bit eller mindre i tilstanden --"
+"pgp2\n"
 
 #: g10/encode.c:510
 #, c-format
 msgid "reading from `%s'\n"
-msgstr "læser fra '%s'\n"
+msgstr "læser fra »%s«\n"
 
 #: g10/encode.c:541
 msgid ""
 "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
-msgstr ""
+msgstr "kan ikke bruge IDEA-chifferen for alle nøglerne du krypterer til.\n"
 
 #: g10/encode.c:559
 #, c-format
 msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
+"ADVARSEL: Tvang for symmetrisk chiffer %s (%d) overtræder modtagerens "
+"præferencer\n"
 
 #: g10/encode.c:655 g10/sign.c:939
 #, c-format
@@ -1785,156 +1759,160 @@ msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
 "preferences\n"
 msgstr ""
+"ADVARSEL: Tvang for komprimeringsalgoritme %s (%d) overtræder modtagerens "
+"præferencer\n"
 
 #: g10/encode.c:751
 #, c-format
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
+"tvang for symmetrisk chiffer %s (%d) overtræder modtagerens præferencer\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
-msgstr ""
+msgstr "du kan ikke bruge %s i tilstanden %s\n"
 
 #: g10/encode.c:848
-#, fuzzy, c-format
+#, c-format
 msgid "%s/%s encrypted for: \"%s\"\n"
-msgstr "%s/%s krypteret for: %s\n"
+msgstr "%s/%s krypteret for: »%s«\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
-msgstr ""
+msgstr "%s krypterede data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
-msgstr ""
+msgstr "krypteret med ukendt algoritme %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
+"ADVARSEL: Besked blev krypteret med en svag nøgle i den symmetriske "
+"chiffer.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
-msgstr ""
+msgstr "problem ved håndtering af krypteret pakke\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
-msgstr ""
+msgstr "kørsel via eksternt program er ikke understøttet\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
+"kald fra eksterne programmer er deaktiveret på grund af usikre rettigheder "
+"for indstillingsfil\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
+"denne platform kræver midlertidige filer når der kaldes eksterne programmer\n"
 
-#: g10/exec.c:416
-#, fuzzy, c-format
+#: g10/exec.c:419
+#, c-format
 msgid "unable to execute program `%s': %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke køre program »%s«: %s\n"
 
-#: g10/exec.c:419
-#, fuzzy, c-format
+#: g10/exec.c:422
+#, c-format
 msgid "unable to execute shell `%s': %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke køre skal »%s«: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
-msgstr ""
+msgstr "systemfejl under kald af eksternt program: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
-msgstr ""
+msgstr "unaturlig afslutning på eksternt program\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
-msgstr ""
+msgstr "kan ikke køre eksternt program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
-msgstr ""
+msgstr "kan ikke læse svar fra eksternt program: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
-msgstr ""
+msgstr "ADVARSEL: kan ikke fjerne midlertidig fil (%s) »%s«: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
-msgstr ""
+msgstr "ADVARSEL: kan ikke fjerne midlertidig mappe »%s«: %s\n"
 
 #: g10/export.c:61
-#, fuzzy
 msgid "export signatures that are marked as local-only"
-msgstr "signér nøglen lokalt"
+msgstr "eksportunderskrifter som er markeret som kun lokale"
 
 #: g10/export.c:63
 msgid "export attribute user IDs (generally photo IDs)"
-msgstr ""
+msgstr "bruger-id'er for eksportattributter (normalt billed-id'er)"
 
 #: g10/export.c:65
 msgid "export revocation keys marked as \"sensitive\""
-msgstr ""
+msgstr "tilbagekaldsnøgler for eksport markeret som »sensitive«"
 
 #: g10/export.c:67
 msgid "remove the passphrase from exported subkeys"
-msgstr ""
+msgstr "fjern adgangsfrasen fra eksporterede undernøgler"
 
 #: g10/export.c:69
-#, fuzzy
 msgid "remove unusable parts from key during export"
-msgstr "dårlig hemmelig nøgle"
+msgstr "fjern nøgledele der ikke kan bruges under eksport"
 
 #: g10/export.c:71
 msgid "remove as much as possible from key during export"
-msgstr ""
+msgstr "fjern så meget som muligt fra nøglen under eksport"
 
 #: g10/export.c:73
 msgid "export keys in an S-expression based format"
-msgstr ""
+msgstr "eksporter nøgler i et S-udtryksbaseret format"
 
 #: g10/export.c:338
-#, fuzzy
 msgid "exporting secret keys not allowed\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "eksport af hemmelige nøgler er ikke tilladt\n"
 
 #: g10/export.c:367
-#, fuzzy, c-format
+#, c-format
 msgid "key %s: not protected - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: ikke beskyttet - udeladt\n"
 
 #: g10/export.c:375
-#, fuzzy, c-format
+#, c-format
 msgid "key %s: PGP 2.x style key - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: nøgle i PGP 2.x-stil - udeladt\n"
 
 #: g10/export.c:386
-#, fuzzy, c-format
+#, c-format
 msgid "key %s: key material on-card - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: nøglemateriale på kort - udeladt\n"
 
 #: g10/export.c:537
 msgid "about to export an unprotected subkey\n"
-msgstr ""
+msgstr "eksporterer en ubeskyttet undernøgle\n"
 
-# er det klogt at oversætte TrustDB?
 #: g10/export.c:560
-#, fuzzy, c-format
+#, c-format
 msgid "failed to unprotect the subkey: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke fjerne beskyttelse på undernøgle: %s\n"
 
 #: g10/export.c:584
 #, c-format
 msgid "WARNING: secret key %s does not have a simple SK checksum\n"
-msgstr ""
+msgstr "ADVARSEL: hemmelig nøgle %s har ikke en simpel SK-kontrolsum\n"
 
 #: g10/export.c:633
 msgid "WARNING: nothing exported\n"
@@ -1942,232 +1920,219 @@ msgstr "ADVARSEL: intet blev eksporteret\n"
 
 #: g10/getkey.c:152
 msgid "too many entries in pk cache - disabled\n"
-msgstr ""
+msgstr "for mange punkter i pk-mellemlager - deaktiveret\n"
 
 #: g10/getkey.c:175
-#, fuzzy
 msgid "[User ID not found]"
-msgstr "[bruger ikke fundet]"
+msgstr "[Bruger-id blev ikke fundet]"
 
 #: g10/getkey.c:1113
 #, c-format
 msgid "automatically retrieved `%s' via %s\n"
-msgstr ""
+msgstr "hentede automatisk »%s« via %s\n"
 
 #: g10/getkey.c:1118
-#, fuzzy, c-format
+#, c-format
 msgid "error retrieving `%s' via %s: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved indhentelse af »%s« via %s: %s\n"
 
 #: g10/getkey.c:1120
-#, fuzzy
 msgid "No fingerprint"
-msgstr "Fingeraftryk:"
+msgstr "Ingen fingeraftryk"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
-msgstr ""
+msgstr "Ugyldig nøgle %s gjort gyldig med --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
-msgstr ""
+msgstr "ingen hemmelig undernøgle for offentlig undernøgle %s - ignorerer\n"
 
-#: g10/getkey.c:2759
-#, fuzzy, c-format
+#: g10/getkey.c:2765
+#, c-format
 msgid "using subkey %s instead of primary key %s\n"
-msgstr "bruger sekundær nøgle %08lX istedetfor primær nøgle %08lX\n"
+msgstr "bruger undernøgle %s i stedet for primær nøgle %s\n"
 
-#: g10/getkey.c:2806
-#, fuzzy, c-format
+#: g10/getkey.c:2812
+#, c-format
 msgid "key %s: secret key without public key - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: hemmelig nøgle uden offentlig nøgle - udeladt\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
-#, fuzzy
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
-msgstr "opret en separat signatur"
+msgstr "opret en underskrift"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
-#, fuzzy
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
-msgstr "|[filer]|opret rentekst signatur"
+msgstr "opret en underskrift i klartekst"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
-msgstr "opret en separat signatur"
+msgstr "opret en separat underskrift"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
-msgstr "kryptér data"
+msgstr "krypter data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
-msgstr "kryptér kun med symmetriske cifre"
+msgstr "krypter kun med symmetrisk chiffer"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
-msgstr "afkryptér data (standard)"
+msgstr "afkrypter data (standard)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
-msgstr "godkend en signatur"
+msgstr "godkend en underskrift"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
-msgstr "vis nøgler"
+msgstr "vis nøgler"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
-msgstr "vis nøgler og signaturer"
+msgstr "vis nøgler og underskrifter"
 
-#: g10/gpg.c:389
-#, fuzzy
+#: g10/gpg.c:394
 msgid "list and check key signatures"
-msgstr "tjek nøglesignaturer"
+msgstr "vis og kontroller nøgleunderskrifter"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
-msgstr "vis nøgle og fingeraftryk"
+msgstr "vis nøgler og fingeraftryk"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
-msgstr "vis hemmelige nøgler"
+msgstr "vis hemmelige nøgler"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
-msgstr "generér et nyt nøglepar"
+msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
-msgstr "Generér en annullérbar certifikat"
+msgstr "opret et tilbagekaldscertifikat"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
-#, fuzzy
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
-msgstr "fjern nøgle fra den offentlige nøglering"
+msgstr "fjern nøgler fra den offentlige nøglering"
 
-#: g10/gpg.c:397
-#, fuzzy
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
-msgstr "fjern nøgle fra den hemmelige nøglering"
+msgstr "fjern nøgler fra den hemmelige nøglering"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
-msgstr "signér en nøgle"
+msgstr "underskriv en nøgle"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
-msgstr "signér en nøgle lokalt"
+msgstr "underskriv en nøgle lokalt"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
-msgstr "signér eller redigér en nøgle"
+msgstr "underskriv eller rediger en nøgle"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
-#, fuzzy
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
-msgstr "ændr kodesætningen"
+msgstr "ændr en adgangsfrase"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
-msgstr "eksportér nøgler"
+msgstr "eksporter nøgler"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
-msgstr "eksportér nøgler til en nøgletjener"
+msgstr "eksporter nøgler til en nøgletjener"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
-msgstr "importér nøgler fra en nøgleserver"
+msgstr "importer nøgler fra en nøgleserver"
 
-#: g10/gpg.c:408
-#, fuzzy
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
-msgstr "eksportér nøgler til en nøgletjener"
+msgstr "søg efter nøgler på en nøgleserver"
 
-#: g10/gpg.c:410
-#, fuzzy
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
-msgstr "importér nøgler fra en nøgleserver"
+msgstr "opdater alle nøgler fra en nøgleserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
-msgstr "importér/fusionér nøgler"
+msgstr "importer/sammenføj nøgler"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
-msgstr ""
+msgstr "udskriv kortstatus"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
-msgstr ""
+msgstr "ændr data på et kort"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
-msgstr ""
+msgstr "ændr et korts PIN"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
-msgstr "opdatér tillidsdatabasen"
+msgstr "opdater troværdighedsdatabasen"
 
-#: g10/gpg.c:436
-#, fuzzy
+#: g10/gpg.c:441
 msgid "print message digests"
-msgstr "|algo [filer]|print meddelelsesresumé"
+msgstr "vis beskedsammendrag"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
-msgstr ""
+msgstr "kør i servertilstand"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
-msgstr "opret ascii beskyttet uddata"
+msgstr "opret ascii-pansrede uddata"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
-#, fuzzy
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
-msgstr "|NAME|kryptér for NAME"
+msgstr "|USER-ID|krypter for BRUGER-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
-#, fuzzy
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
-msgstr "brug denne bruger-id til at signere eller dekryptere"
+msgstr "|USER-ID|brug BRUGER-ID til at underskrive eller afkryptere"
 
-#: g10/gpg.c:462
-#, fuzzy
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
-msgstr "|N|sæt kompresningsniveau N (0 = slået fra)"
+msgstr "|N|sæt komprimeringsniveauet til N (0 deaktiverer)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
-msgstr "brug kanonisk tekstmodus"
+msgstr "brug kanonisk teksttilstand"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
-#, fuzzy
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
-msgstr "|FILE|indlæs udvidelsesmodul FILE"
+msgstr "|FILE|skriv resultat til FIL"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
-msgstr "lav ingen ændringer"
+msgstr "lav ingen ændringer"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
-msgstr ""
+msgstr "spørg før overskrivning"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
-msgstr ""
+msgstr "brug streng OpenPGP-opførsel"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
+"@\n"
+"(Se manualsiden for en fuldstændig liste over alle kommandoer og tilvalg)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2181,1150 +2146,1146 @@ msgstr ""
 "@\n"
 "Eksempler:\n"
 "\n"
-" -se -r Mikael [fil]        signér og kryptér for bruger Mikael\n"
-" --clearsign [fil]          lav en ren tekstsignatur\n"
-" --detach-sign [fil]        lav en separat signatur\n"
-" --list-keys [navne]        vis nøgler\n"
+" -se -r Mikael [fil]        underskriv og krypter for bruger Mikael\n"
+" --clearsign [fil]          lav en ren tekstunderskrift\n"
+" --detach-sign [fil]        lav en separat underskrift\n"
+" --list-keys [navne]        vis nøgler\n"
 " --fingerprint [navne]      vis fingeraftryk\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
 
-# Skal alt dette oversættes eller er det flagene?
-#: g10/gpg.c:839
+# Skal alt dette oversættes eller er det tilvalgene?
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"Syntaks: gpg [flag] [filer]\n"
-"sign, check, encrypt eller decrypt\n"
-"standard operation afhænger af inddata\n"
+"Syntaks: gpg [tilvalg] [filer]\n"
+"Sign, check, encrypt eller decrypt\n"
+"standardhandling afhænger af inddata\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
 msgstr ""
 "\n"
-"Understøttede algoritmer:\n"
+"Understøttede algoritmer:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
-msgstr ""
+msgstr "Pubkey: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
-msgstr ""
+msgstr "Chiffer: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
-msgstr ""
+msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
-#, fuzzy
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
-msgstr "Kommentar: "
+msgstr "Komprimering: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
-msgstr "brug: gpg [flag] "
+msgstr "brug: gpg [tilvalg] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
-msgstr "konfliktende kommandoer\n"
+msgstr "kommandoer er i konflikt\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
-msgstr ""
+msgstr "ingen = tegn fundet i gruppedefinition »%s«\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikker ejerskab af hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikker ejerskab på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikker ejerskab på udvidelse »%s«\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikre rettigheder på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikre rettigheder på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikre rettigheder på udvidelse »%s«\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikkert indelukket mappeejerskab på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
+"ADVARSEL: Usikkert indelukket mappeejerskab på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikkert indelukket mappeejerskab på udvidelse »%s«\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikre indelukkede mapperettigheder på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
+"ADVARSEL: Usikre indelukkede mapperettigheder på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
-msgstr ""
+msgstr "ADVARSEL: Usikkert indelukket mapperettigheder på udvidelse »%s«\n"
 
-#: g10/gpg.c:1595
-#, fuzzy, c-format
+#: g10/gpg.c:1600
+#, c-format
 msgid "unknown configuration item `%s'\n"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "ukendt konfigurationspunkt »%s«\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
-msgstr ""
+msgstr "vis billed-id'er under nøglevisninger"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
-msgstr ""
+msgstr "vil politikadresser under underskriftvisninger"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
-msgstr ""
+msgstr "vis alle notationer under underskriftvisninger"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
-msgstr ""
+msgstr "vis IETF-standardnotationer under underskriftvisninger"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
-msgstr ""
+msgstr "vis brugerangivne notationer under underskriftvisninger"
 
-#: g10/gpg.c:1711
-#, fuzzy
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "vis foretrukne nøgleserveradresser under underskriftvisninger"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
-msgstr ""
+msgstr "vis bruger-id-validitet under nøglevisninger"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
-msgstr ""
+msgstr "vis tilbagekaldte og udløbne bruger-id'er i nøglevisninger"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
-msgstr ""
+msgstr "vis tilbagekaldte og udløbne undernøgler i nøglevisninger"
 
-#: g10/gpg.c:1719
-#, fuzzy
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
-msgstr "skift imellem hemmelig og offentlig nøgle visning"
+msgstr "vis nøgleringsnavnet i nøglevisninger"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
-msgstr ""
+msgstr "vis udløbsdatoer under underskriftvisninger"
 
-#: g10/gpg.c:1855
-#, fuzzy, c-format
+#: g10/gpg.c:1860
+#, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
-msgstr "NOTITS: ingen standard alternativfil '%s'\n"
+msgstr "BEMÆRK: Gammel standardfil for tilvalg »%s« blev ignoreret\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "libgcrypt er for gammel (kræver %s, har %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
-msgstr "NOTITS: %s er ikke til normal brug!\n"
+msgstr "BEMÆRK: %s er ikke til normal brug!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
-#, fuzzy, c-format
+#: g10/gpg.c:2539 g10/gpg.c:2551
+#, c-format
 msgid "`%s' is not a valid signature expiration\n"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "»%s« er ikke et gyldigt underskriftudløb\n"
 
-#: g10/gpg.c:2624
-#, fuzzy, c-format
+#: g10/gpg.c:2633
+#, c-format
 msgid "`%s' is not a valid character set\n"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "»%s« er ikke et gyldigt tegnsæt\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
-#, fuzzy
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "kunne ikke fortolke nøgleserveradresse\n"
 
-#: g10/gpg.c:2659
-#, fuzzy, c-format
+#: g10/gpg.c:2668
+#, c-format
 msgid "%s:%d: invalid keyserver options\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldige indstillinger for nøgleserver\n"
 
-#: g10/gpg.c:2662
-#, fuzzy
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
-msgstr "ugyldig nøglering"
+msgstr "ugyldige indstillinger for nøgleserver\n"
 
-#: g10/gpg.c:2669
-#, fuzzy, c-format
+#: g10/gpg.c:2678
+#, c-format
 msgid "%s:%d: invalid import options\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldige importindstillinger\n"
 
-#: g10/gpg.c:2672
-#, fuzzy
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
-msgstr "ugyldig rustning"
+msgstr "ugyldige importindstillinger\n"
 
-#: g10/gpg.c:2679
-#, fuzzy, c-format
+#: g10/gpg.c:2688
+#, c-format
 msgid "%s:%d: invalid export options\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldige eksportindstillinger\n"
 
-#: g10/gpg.c:2682
-#, fuzzy
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
-msgstr "ugyldig nøglering"
+msgstr "ugyldige eksportindstillinger\n"
 
-#: g10/gpg.c:2689
-#, fuzzy, c-format
+#: g10/gpg.c:2698
+#, c-format
 msgid "%s:%d: invalid list options\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldige listeindstillinger\n"
 
-#: g10/gpg.c:2692
-#, fuzzy
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
-msgstr "ugyldig rustning"
+msgstr "ugyldige listeindstillinger\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
-msgstr ""
+msgstr "vis billed-id'er under underskriftverificering"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
-msgstr ""
+msgstr "vis politikadresser under underskriftverificering"
 
-#: g10/gpg.c:2704
-#, fuzzy
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "vis alle notationer under underskriftverificering"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
-msgstr ""
+msgstr "vis IETF-standardnotationer under underskriftverificering"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
-msgstr ""
+msgstr "vis brugerangivne notationer under underskriftverificering"
 
-#: g10/gpg.c:2712
-#, fuzzy
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "vis foretrukne nøgleserveradresser under underskriftverificering"
 
-#: g10/gpg.c:2714
-#, fuzzy
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "vis bruger-id-validitet under underskriftverificering"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
-msgstr ""
+msgstr "vis tilbagekaldte og udløbne bruger-id'er i underskriftverificering"
 
-#: g10/gpg.c:2718
-#, fuzzy
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "vis kun den primære bruger-id i underskriftverificering"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
-msgstr ""
+msgstr "valider underskrifter med PKA-data"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
-msgstr ""
+msgstr "hæv troværdigheden for underskrifter med gyldige PKA-data"
 
-#: g10/gpg.c:2729
-#, fuzzy, c-format
+#: g10/gpg.c:2738
+#, c-format
 msgid "%s:%d: invalid verify options\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldige verificeringsindstillinger\n"
 
-#: g10/gpg.c:2732
-#, fuzzy
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
-msgstr "ugyldig nøglering"
+msgstr "ugyldige verificeringsindstillinger\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
-msgstr ""
+msgstr "kunne ikke angive kørselssti til %s\n"
 
-#: g10/gpg.c:2925
-#, fuzzy, c-format
+#: g10/gpg.c:2934
+#, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: ugyldig liste for auto-key-locate\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
-msgstr ""
+msgstr "ugyldig liste for auto-key-locate\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
-msgstr ""
+msgstr "ADVARSEL: program kan oprette en kernefil!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
-msgstr ""
+msgstr "ADVARSEL: %s overskriver %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ikke tilladt med %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
-msgstr "%s er meningsløs sammen med %s!\n"
+msgstr "%s er meningsløs sammen med %s!\n"
 
-#: g10/gpg.c:3057
-#, fuzzy, c-format
+#: g10/gpg.c:3070
+#, c-format
 msgid "will not run with insecure memory due to %s\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "vil ikke køre med usikker hukommelse på grund af %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
+"du kan kun lave frakoblede eller rydde underskrifter i tilstanden --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
-msgstr ""
+msgstr "du kan ikke underskrive og kryptere på samme tid i tilstanden --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
+"du skal bruge filer (og ikke en datakanal) når du arbejder med --pgp2 "
+"aktiveret\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
-msgstr ""
+msgstr "kryptering af en besked i tilstanden --pgp2 kræver IDEA-chifret\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
-msgstr "valgte cifferalgoritme er ugyldig\n"
+msgstr "valgt chifferalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
-msgstr "valgte resuméalgoritme er ugyldig\n"
+msgstr "valgt sammendragsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3175
-#, fuzzy
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
-msgstr "valgte cifferalgoritme er ugyldig\n"
+msgstr "valgt komprimeringsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3181
-#, fuzzy
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
-msgstr "valgte resuméalgoritme er ugyldig\n"
+msgstr "valgt algoritme for certifikationssammendrag er ugyldig\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
-msgstr ""
+msgstr "completes-needed skal være større end 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
-msgstr ""
+msgstr "marginals-needed skal være større end 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
-msgstr ""
+msgstr "max-cert-depth skal være i intervallet fra 1 til 255\n"
 
-#: g10/gpg.c:3202
-#, fuzzy
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
-msgstr "ugyldig S2K modus; skal være 0, 1 el. 3\n"
+msgstr "ugyldigt default-cert-level; skal være 0, 1, 2 eller 3\n"
 
-#: g10/gpg.c:3204
-#, fuzzy
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
-msgstr "ugyldig S2K modus; skal være 0, 1 el. 3\n"
+msgstr "ugyldigt min-cert-level; skal være 1, 2 eller 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
-msgstr "NOTE: simpel S2K modus (0) frarådes på det skarpeste\n"
+msgstr "BEMÆRK: simpel S2K-tilstand (0) frarådes på det skarpeste\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
-msgstr "ugyldig S2K modus; skal være 0, 1 el. 3\n"
+msgstr "ugyldig S2K-tilstand; skal være 0, 1 eller 3\n"
 
-#: g10/gpg.c:3218
-#, fuzzy
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
-msgstr "vis præferencer"
+msgstr "ugyldige standardpræferencer\n"
 
-#: g10/gpg.c:3222
-#, fuzzy
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
-msgstr "vis præferencer"
+msgstr "ugyldige præferencer for personlig chiffer\n"
 
-#: g10/gpg.c:3226
-#, fuzzy
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
-msgstr "vis præferencer"
+msgstr "ugyldige præferencer for personlig sammendrag\n"
 
-#: g10/gpg.c:3230
-#, fuzzy
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
-msgstr "vis præferencer"
+msgstr "ugyldige præferencer for personlig komprimering\n"
 
-#: g10/gpg.c:3263
-#, fuzzy, c-format
+#: g10/gpg.c:3277
+#, c-format
 msgid "%s does not yet work with %s\n"
-msgstr "%s er meningsløs sammen med %s!\n"
+msgstr "%s virker endnu ikke med %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
-msgstr ""
+msgstr "du må ikke bruge chifferalgoritmen »%s« i tilstanden %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
-msgstr ""
+msgstr "du må ikke bruge sammendragsalgoritmen »%s« i tilstanden %s\n"
 
-#: g10/gpg.c:3320
-#, fuzzy, c-format
+#: g10/gpg.c:3334
+#, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
-msgstr "valgte cifferalgoritme er ugyldig\n"
+msgstr "du må ikke bruge komprimeringsalgoritmen »%s« i tilstanden %s\n"
 
-# er det klogt at oversætte TrustDB?
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke initialisere TrustDB: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
+"ADVARSEL: modtagere (-r) angivet uden brug af offentlig nøglekryptering\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
-msgstr "--store [filnavn (som gemmes)]"
+msgstr "--store [filnavn]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [filnavn]"
 
-#: g10/gpg.c:3447
-#, fuzzy, c-format
+#: g10/gpg.c:3470
+#, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "symmetrisk kryptering af »%s« mislykkedes: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
-msgstr "--encrypt [filnavn (som krypteres)]"
+msgstr "--encrypt [filnavn]"
 
-#: g10/gpg.c:3470
-#, fuzzy
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
-msgstr "--sign --encrypt [filnavn]"
+msgstr "--symmetric --encrypt [filnavn]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
-msgstr ""
+msgstr "du kan ikke bruge --symmetric --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
-msgstr ""
+msgstr "du kan ikke bruge --symmetric --encrypt i tilstanden %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
-msgstr "--sign [filnavn (som signeres)]"
+msgstr "--sign [filnavn]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [filnavn]"
 
-#: g10/gpg.c:3521
-#, fuzzy
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
-msgstr "--sign --encrypt [filnavn]"
+msgstr "--symmetric --sign --encrypt [filnavn]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
-msgstr ""
+msgstr "du kan ikke bruge --symmetric --sign --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
-msgstr ""
+msgstr "du kan ikke bruge --symmetric --sign --encrypt i tilstanden %s\n"
 
-#: g10/gpg.c:3546
-#, fuzzy
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
-msgstr "--symmetric [filnavn]"
+msgstr "--sign --symmetric [filnavn]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [filnavn]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
-msgstr "--decrypt [filnavn (som dekrypteres)]"
+msgstr "--decrypt [filnavn]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key bruger-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key bruger-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key bruger-id [kommandoer]"
 
-#: g10/gpg.c:3629
-#, fuzzy
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
-msgstr "--sign-key bruger-id"
+msgstr "--passwd <bruger-id>"
 
-#: g10/gpg.c:3716
-#, fuzzy, c-format
+#: g10/gpg.c:3739
+#, c-format
 msgid "keyserver send failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "nøgleserver send mislykkedes: %s\n"
 
-#: g10/gpg.c:3718
-#, fuzzy, c-format
+#: g10/gpg.c:3741
+#, c-format
 msgid "keyserver receive failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "nøgleserver modtag mislykkedes: %s\n"
 
-#: g10/gpg.c:3720
-#, fuzzy, c-format
+#: g10/gpg.c:3743
+#, c-format
 msgid "key export failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "nøgleeksport mislykkedes: %s\n"
 
-#: g10/gpg.c:3731
-#, fuzzy, c-format
+#: g10/gpg.c:3754
+#, c-format
 msgid "keyserver search failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "nøgleserver søg mislykkedes: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
-msgstr ""
+msgstr "nøgleserver opdater mislykkedes: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "fjernelse af panser mislykkedes: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "påklædning af panser mislykkedes: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "ugyldig hash-algoritme »%s«\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[filnavn]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
-msgstr "Gå til sagen og skriv meddelelsen ...\n"
+msgstr "Gå til sagen og skriv meddelelsen ...\n"
 
-#: g10/gpg.c:4323
-#, fuzzy
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "den angivne adresse for certifikatpolitik er ugyldig\n"
 
-#: g10/gpg.c:4325
-#, fuzzy
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "den angivne adresse for underskriftpolitik er ugyldig\n"
 
-#: g10/gpg.c:4358
-#, fuzzy
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "den angivne adresse for foretrukken nøgleserver er ugyldig\n"
 
 #: g10/gpgv.c:74
-#, fuzzy
 msgid "|FILE|take the keys from the keyring FILE"
-msgstr "Slet denne nøgle fra nøgleringen? "
+msgstr "|FILE|tag nøglerne fra nøgleringsFILEN"
 
 #: g10/gpgv.c:76
-#, fuzzy
 msgid "make timestamp conflicts only a warning"
-msgstr "tidsstempelkonflikt"
+msgstr "giv kun tidsstempelkonflikter en advarsel"
 
 #: g10/gpgv.c:78 sm/gpgsm.c:326
 msgid "|FD|write status info to this FD"
-msgstr "|FD|skriv statusinfo til denne FD"
+msgstr "|FD|skriv statusinformation til denne FD"
 
 #: g10/gpgv.c:117
-#, fuzzy
 msgid "Usage: gpgv [options] [files] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpgv [tilvalg] [filer] (-h for hjælp)"
 
 #: g10/gpgv.c:119
 msgid ""
 "Syntax: gpgv [options] [files]\n"
 "Check signatures against known trusted keys\n"
 msgstr ""
+"Syntaks: gpgv [tilvalg] [filer]\n"
+"Kontroller underskrifter mod kendte troværdige nøgler\n"
 
 #: g10/helptext.c:72
 msgid "No help available"
-msgstr "Ingen hjælp tilgængelig"
+msgstr "Ingen hjælp tilgængelig"
 
 #: g10/helptext.c:82
 #, c-format
 msgid "No help available for `%s'"
-msgstr "Ingen hjælp tilgængelig for `%s'"
+msgstr "Ingen hjælp tilgængelig for »%s«"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
-msgstr ""
+msgstr "importer underskrifter som er markeret som local-only"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
-msgstr ""
+msgstr "reparer skade fra pks-nøgleserveren under import"
 
-#: g10/import.c:98
-#, fuzzy
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
-msgstr "opdatér tillidsdatabasen"
+msgstr "opdater ikke trustdb efter import"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
-msgstr ""
+msgstr "opret en offentlig nøgle under import af en hemmelig nøgle"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
-msgstr ""
+msgstr "accepter kun opdateringer til eksisterende nøgler"
 
-#: g10/import.c:104
-#, fuzzy
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
-msgstr "dårlig hemmelig nøgle"
+msgstr "fjern ubrugelige dele fra nøgle efter import"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
-msgstr ""
+msgstr "fjern så meget som muligt fra nøgle efter import"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
-msgstr "sprang over blok af typen %d\n"
+msgstr "     udelader bloktype %d\n"
 
-#: g10/import.c:275
-#, fuzzy, c-format
+#: g10/import.c:286
+#, c-format
 msgid "%lu keys processed so far\n"
-msgstr "%lu nøgler behandlet indtil nu\n"
+msgstr "     %lu-nøgler behandlet\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
-msgstr "Totalt antal behandlede: %lu\n"
+msgstr " Totalt antal behandl.: %lu\n"
 
-#: g10/import.c:294
-#, fuzzy, c-format
+#: g10/import.c:305
+#, c-format
 msgid "      skipped new keys: %lu\n"
-msgstr "       nye undernøgler: %lu\n"
+msgstr "   udeladte nye nøgler: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
-msgstr ""
+msgstr "      w/o bruger-id'er: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "           importerede: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
-msgstr "              uændrede: %lu\n"
+msgstr "              uændrede: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
-msgstr "      nye bruger-id'er: %lu\n"
+msgstr "       nye bruger-id'er: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
-msgstr "       nye undernøgler: %lu\n"
+msgstr "       nye undernøgler: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
-msgstr "        nye signaturer: %lu\n"
+msgstr "     nye underskrifter: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
-msgstr "  nye nøgletilbagekald: %lu\n"
+msgstr "  nye nøgletilbagekald: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
-msgstr " hemmelige nøgler læst: %lu\n"
+msgstr " hemmelige nøgler læst: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
-msgstr "hemmelige nøgler import: %lu\n"
+msgstr " hemmel. nøgler import: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
-msgstr "hemmelige nøgler uændre: %lu\n"
+msgstr "hemmel. nøgler uændret: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
-#, fuzzy, c-format
+#: g10/import.c:332 sm/import.c:126
+#, c-format
 msgid "          not imported: %lu\n"
-msgstr "           importerede: %lu"
+msgstr "      ikke importerede: %lu\n"
 
-#: g10/import.c:323
-#, fuzzy, c-format
+#: g10/import.c:334
+#, c-format
 msgid "    signatures cleaned: %lu\n"
-msgstr "        nye signaturer: %lu\n"
+msgstr "  underskrifter ryddet: %lu\n"
 
-#: g10/import.c:325
-#, fuzzy, c-format
+#: g10/import.c:336
+#, c-format
 msgid "      user IDs cleaned: %lu\n"
-msgstr " hemmelige nøgler læst: %lu\n"
+msgstr "   bruger-id'er ryddet: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
+"ADVARSEL: nøgle %s indeholder præferencer for utilgængelige\n"
+"algoritmer på disse bruger-id'er:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
-msgstr ""
+msgstr "        »%s«: præference for chifferalgoritme %s\n"
 
-#: g10/import.c:662
-#, fuzzy, c-format
+#: g10/import.c:694
+#, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
-msgstr "%s signatur fra: %s\n"
+msgstr "        »%s«: præference for sammendragsalgortime %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
-msgstr ""
+msgstr "        »%s«: præference for komprimeringsalgortime %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
-msgstr ""
+msgstr "det anbefales på det stærkeste, at du opdaterer dine præferencer og\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
+"gendistribuerer denne nøgle for at undgå potentielle problemer med rod i\n"
+"algoritmen\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
-msgstr ""
+msgstr "du kan opdatere dine præferencer med: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
-#, fuzzy, c-format
+#: g10/import.c:798 g10/import.c:1231
+#, c-format
 msgid "key %s: no user ID\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: ingen bruger-id\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
 #, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "udelod »%s«: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
+#, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr "nøgle %s: korruption af PKS-undernøgle er repareret!\n"
 
-#: g10/import.c:810
-#, fuzzy, c-format
+#: g10/import.c:849
+#, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: accepteret ikke egenunderskrevet bruger-id »%s«\n"
 
-#: g10/import.c:816
-#, fuzzy, c-format
+#: g10/import.c:855
+#, c-format
 msgid "key %s: no valid user IDs\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: ingen gyldige bruger-id'er\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
-msgstr ""
+msgstr "dette kan skyldes en manglende egenunderskrift\n"
 
-#: g10/import.c:828 g10/import.c:1303
-#, fuzzy, c-format
+#: g10/import.c:867 g10/import.c:1356
+#, c-format
 msgid "key %s: public key not found: %s\n"
-msgstr "nøgle %08lX: offentlig nøgle ikke fundet: %s\n"
+msgstr "nøgle %s: offentlig nøgle blev ikke fundet: %s\n"
 
-#: g10/import.c:834
-#, fuzzy, c-format
+#: g10/import.c:873
+#, c-format
 msgid "key %s: new key - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: ny nøgle - udeladt\n"
 
-#: g10/import.c:843
-#, fuzzy, c-format
+#: g10/import.c:882
+#, c-format
 msgid "no writable keyring found: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "ingen skrivbar nøglering fundet: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
-msgstr "skriver til `%s'\n"
+msgstr "skriver til »%s«\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af nøglering »%s«: %s\n"
 
-#: g10/import.c:871
-#, fuzzy, c-format
+#: g10/import.c:910
+#, c-format
 msgid "key %s: public key \"%s\" imported\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: offentlig nøgle »%s« importeret\n"
 
-#: g10/import.c:895
-#, fuzzy, c-format
+#: g10/import.c:934
+#, c-format
 msgid "key %s: doesn't match our copy\n"
-msgstr "nøgle %08lX: stemmer ikke med vores kopi\n"
+msgstr "nøgle %s: stemmer ikke med vores kopi\n"
 
-#: g10/import.c:912 g10/import.c:1321
-#, fuzzy, c-format
+#: g10/import.c:951 g10/import.c:1374
+#, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
-msgstr "nøgle %08lX: kan ikke lokalisere original nøgleblok: %s\n"
+msgstr "nøgle %s: kan ikke lokalisere original nøgleblok: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
-#, fuzzy, c-format
+#: g10/import.c:959 g10/import.c:1381
+#, c-format
 msgid "key %s: can't read original keyblock: %s\n"
-msgstr "nøgle %08lX: kan ikke læse original nøgleblok: %s\n"
+msgstr "nøgle %s: kan ikke læse original nøgleblok: %s\n"
 
-#: g10/import.c:962
-#, fuzzy, c-format
+#: g10/import.c:1001
+#, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: »%s« 1 ny bruger-id\n"
 
-#: g10/import.c:965
-#, fuzzy, c-format
+#: g10/import.c:1004
+#, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: »%s« %d nye bruger-id'er\n"
 
-#: g10/import.c:968
-#, fuzzy, c-format
+#: g10/import.c:1007
+#, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: »%s« 1 ny underskrift\n"
 
-#: g10/import.c:971
-#, fuzzy, c-format
+#: g10/import.c:1010
+#, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: »%s« %d nye underskrifter\n"
 
-#: g10/import.c:974
-#, fuzzy, c-format
+#: g10/import.c:1013
+#, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: »%s« 1 ny undernøgle\n"
 
-#: g10/import.c:977
-#, fuzzy, c-format
+#: g10/import.c:1016
+#, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: »%s« %d nye undernøgler\n"
 
-#: g10/import.c:980
-#, fuzzy, c-format
+#: g10/import.c:1019
+#, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: »%s« %d underskrift renset\n"
 
-#: g10/import.c:983
-#, fuzzy, c-format
+#: g10/import.c:1022
+#, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: »%s« %d underskrifter renset\n"
 
-#: g10/import.c:986
-#, fuzzy, c-format
+#: g10/import.c:1025
+#, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: »%s« %d bruger-id renset\n"
 
-#: g10/import.c:989
-#, fuzzy, c-format
+#: g10/import.c:1028
+#, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: »%s« %d bruger-id'er renset\n"
 
-#: g10/import.c:1013
-#, fuzzy, c-format
+#: g10/import.c:1052
+#, c-format
 msgid "key %s: \"%s\" not changed\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: »%s« ikke ændret\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "hemmelig nøgle »%s« blev ikke fundet: %s\n"
 
-#: g10/import.c:1196
-#, fuzzy
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "import af hemmelige nøgler er ikke tilladt\n"
 
-#: g10/import.c:1213 g10/import.c:2509
-#, fuzzy, c-format
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "nøgle %s: hemmelig nøgle med ugyldig chiffer %d - udeladt\n"
+
+#: g10/import.c:1265 g10/import.c:2562
+#, c-format
 msgid "no default secret keyring: %s\n"
-msgstr "ingen standard offentlig nøglering\n"
+msgstr "ingen hemmelig standardnøglering: %s\n"
 
-#: g10/import.c:1224
-#, fuzzy, c-format
+#: g10/import.c:1276
+#, c-format
 msgid "key %s: secret key imported\n"
-msgstr "hemmelige nøgler import: %lu\n"
+msgstr "nøgle %s: hemmelig nøgle importeret\n"
 
-#: g10/import.c:1254
-#, fuzzy, c-format
+#: g10/import.c:1307
+#, c-format
 msgid "key %s: already in secret keyring\n"
-msgstr "fjern nøgle fra den hemmelige nøglering"
+msgstr "nøgle %s: allerede i hemmelig nøglering\n"
 
-#: g10/import.c:1264
-#, fuzzy, c-format
+#: g10/import.c:1317
+#, c-format
 msgid "key %s: secret key not found: %s\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "nøgle %s: hemmelig nøgle blev ikke fundet: %s\n"
 
-#: g10/import.c:1296
-#, fuzzy, c-format
+#: g10/import.c:1349
+#, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
-msgstr "Generér en annullérbar certifikat"
+msgstr ""
+"nøgle %s: ingen offentlig nøgle - kan ikke anvende tilbagekaldscertifikat\n"
 
-#: g10/import.c:1339
-#, fuzzy, c-format
+#: g10/import.c:1392
+#, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
-msgstr "Generér en annullérbar certifikat"
+msgstr "nøgle %s: ugyldigt tilbagekaldscertifikat: %s - afvist\n"
 
-#: g10/import.c:1371
-#, fuzzy, c-format
+#: g10/import.c:1424
+#, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
-msgstr "Generér en annullérbar certifikat"
+msgstr "nøgle %s: »%s« tilbagekaldscertifikat importeret\n"
 
-#: g10/import.c:1447
-#, fuzzy, c-format
+#: g10/import.c:1500
+#, c-format
 msgid "key %s: no user ID for signature\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s: ingen bruger-id for underskrift\n"
 
-#: g10/import.c:1464
-#, fuzzy, c-format
+#: g10/import.c:1517
+#, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
-msgstr "nøgle %08lX: offentlig nøgle ikke fundet: %s\n"
+msgstr ""
+"nøgle %s: ikke understøttet offentlig nøglealgoritme på bruger-id »%s«\n"
 
-#: g10/import.c:1466
-#, fuzzy, c-format
+#: g10/import.c:1519
+#, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: ugyldig egenunderskrift på bruger-id »%s«\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
-#, fuzzy, c-format
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
+#, c-format
 msgid "key %s: unsupported public key algorithm\n"
-msgstr "nøgle %08lX: offentlig nøgle ikke fundet: %s\n"
+msgstr "nøgle %s: ikke understøttet offentlig nøglealgoritme\n"
 
-#: g10/import.c:1484
-#, fuzzy, c-format
+#: g10/import.c:1537
+#, c-format
 msgid "key %s: invalid direct key signature\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: ugyldig direkte nøgleunderskrift\n"
 
-#: g10/import.c:1498
-#, fuzzy, c-format
+#: g10/import.c:1551
+#, c-format
 msgid "key %s: no subkey for key binding\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr "nøgle %s: ingen undernøgle for nøglebinding\n"
 
-#: g10/import.c:1511
-#, fuzzy, c-format
+#: g10/import.c:1564
+#, c-format
 msgid "key %s: invalid subkey binding\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: ugyldig undernøglebinding\n"
 
-#: g10/import.c:1527
-#, fuzzy, c-format
+#: g10/import.c:1580
+#, c-format
 msgid "key %s: removed multiple subkey binding\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr "nøgle %s: fjernet flerundernøglebinding\n"
 
-#: g10/import.c:1549
-#, fuzzy, c-format
+#: g10/import.c:1602
+#, c-format
 msgid "key %s: no subkey for key revocation\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr "nøgle %s: ingen undernøgle for nøgletilbagekald\n"
 
-#: g10/import.c:1562
-#, fuzzy, c-format
+#: g10/import.c:1615
+#, c-format
 msgid "key %s: invalid subkey revocation\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: ugyldig undernøgletilbagekald\n"
 
-#: g10/import.c:1577
-#, fuzzy, c-format
+#: g10/import.c:1630
+#, c-format
 msgid "key %s: removed multiple subkey revocation\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "nøgle %s: fjernet flerundernøgletilbagekald\n"
 
-#: g10/import.c:1618
-#, fuzzy, c-format
+#: g10/import.c:1671
+#, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
-msgstr "%s: udelod: %s\n"
+msgstr "nøgle %s: udeladt bruger-id »%s«\n"
 
-#: g10/import.c:1639
-#, fuzzy, c-format
+#: g10/import.c:1692
+#, c-format
 msgid "key %s: skipped subkey\n"
-msgstr "%s: udelod: %s\n"
+msgstr "nøgle %s: udeladt undernøgle\n"
 
-#: g10/import.c:1666
-#, fuzzy, c-format
+#: g10/import.c:1719
+#, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr ""
+"nøgle %s: underskrift der ikke kan eksporteres (klasse 0x%02X) - udeladt\n"
 
-#: g10/import.c:1676
-#, fuzzy, c-format
+#: g10/import.c:1729
+#, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: tilbagekaldscertifikat på forkert sted - udeladt\n"
 
-#: g10/import.c:1693
-#, fuzzy, c-format
+#: g10/import.c:1746
+#, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
-msgstr "Generér en annullérbar certifikat"
+msgstr "nøgle %s: ugyldigt tilbagekaldscertifikat: %s - udeladt\n"
 
-#: g10/import.c:1707
-#, fuzzy, c-format
+#: g10/import.c:1760
+#, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: undernøgleunderskrift på forkert sted - udeladt\n"
 
-#: g10/import.c:1715
-#, fuzzy, c-format
+#: g10/import.c:1768
+#, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: uventet underskriftklasse (0x%02X) - udeladt\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
-msgstr ""
+msgstr "nøgle %s: duplikeret bruger-id detekteret - sammenføjet\n"
 
-#: g10/import.c:1906
-#, fuzzy, c-format
+#: g10/import.c:1959
+#, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "ADVARSEL: nøgle %s kan tilbagekaldes: henter tilbagekaldsnøgle %s\n"
 
-#: g10/import.c:1920
-#, fuzzy, c-format
+#: g10/import.c:1973
+#, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr ""
+"ADVARSEL: nøgle %s kan tilbagekaldes: tilbagekaldsnøgle %s er ikke til "
+"stede.\n"
 
-#: g10/import.c:1979
-#, fuzzy, c-format
+#: g10/import.c:2032
+#, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: »%s« tilbagekaldscertifikat tilføjet\n"
 
-#: g10/import.c:2013
-#, fuzzy, c-format
+#: g10/import.c:2066
+#, c-format
 msgid "key %s: direct key signature added\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "nøgle %s: direkte nøgleunderskrift tilføjet\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
-msgstr ""
+msgstr "BEMÆRK: en nøgles S/N matcher ikke kortets\n"
 
-#: g10/import.c:2422
-#, fuzzy
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
-msgstr "udelod: hemmelig nøgle er allerede tilstede\n"
+msgstr "BEMÆRK: primær nøgle er på nettet og lagret på kort\n"
 
-#: g10/import.c:2424
-#, fuzzy
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
-msgstr "udelod: hemmelig nøgle er allerede tilstede\n"
+msgstr "BEMÆRK: sekundær nøgle er på nettet og lagret på kort\n"
 
-#: g10/keydb.c:181
-#, fuzzy, c-format
+#: g10/keydb.c:182
+#, c-format
 msgid "error creating keyring `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved oprettelse af nøglering »%s«: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
-msgstr ""
+msgstr "nøglering »%s« oprettet\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
-#, fuzzy, c-format
+#: g10/keydb.c:348 g10/keydb.c:351
+#, c-format
 msgid "keyblock resource `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "nøgleblokressource »%s«: %s\n"
 
-#: g10/keydb.c:719
-#, fuzzy, c-format
+#: g10/keydb.c:749
+#, c-format
 msgid "failed to rebuild keyring cache: %s\n"
-msgstr "ingen standard offentlig nøglering\n"
+msgstr "kunne ikke genbygge nøgleringsmellemlager: %s\n"
 
 #: g10/keyedit.c:265
 msgid "[revocation]"
-msgstr ""
+msgstr "[tilbagekald]"
 
 #: g10/keyedit.c:266
 msgid "[self-signature]"
-msgstr "[selv-signatur]"
+msgstr "[egenunderskrift]"
 
 #: g10/keyedit.c:344 g10/keylist.c:398
 msgid "1 bad signature\n"
-msgstr "1 dårlig signature\n"
+msgstr "1 ugyldig underskrift\n"
 
 #: g10/keyedit.c:346 g10/keylist.c:400
 #, c-format
 msgid "%d bad signatures\n"
-msgstr "%d dårlige signaturer\n"
+msgstr "%d ugyldige underskrifter\n"
 
 #: g10/keyedit.c:348 g10/keylist.c:402
 msgid "1 signature not checked due to a missing key\n"
-msgstr ""
+msgstr "1 underskrift er ikke kontrolleret på grund af en manglende nøgle\n"
 
 #: g10/keyedit.c:350 g10/keylist.c:404
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
-msgstr ""
+msgstr "%d underskrifter er ikke kontrolleret på grund af manglende nøgler\n"
 
 #: g10/keyedit.c:352 g10/keylist.c:406
 msgid "1 signature not checked due to an error\n"
-msgstr ""
+msgstr "1 underskrift er ikke kontrolleret på grund af en fejl\n"
 
 #: g10/keyedit.c:354 g10/keylist.c:408
 #, c-format
 msgid "%d signatures not checked due to errors\n"
-msgstr ""
+msgstr "%d underskrifter er ikke kontrolleret på grund af fejl\n"
 
 #: g10/keyedit.c:356
 msgid "1 user ID without valid self-signature detected\n"
-msgstr ""
+msgstr "1 bruger-id uden gyldig egenunderskrift detekteret\n"
 
 #: g10/keyedit.c:358
 #, c-format
 msgid "%d user IDs without valid self-signatures detected\n"
-msgstr ""
+msgstr "%d bruger-id'er uden gyldige egenunderskrifter detekteret\n"
 
 #: g10/keyedit.c:414 g10/pkclist.c:262
 msgid ""
@@ -3333,16 +3294,19 @@ msgid ""
 "(by looking at passports, checking fingerprints from different sources, "
 "etc.)\n"
 msgstr ""
+"Beslut dig for hvor meget du stoler på at denne bruger korrekt verificerer "
+"andre brugers nøgler\n"
+"(ved at kigge på pas, kontrollere fingeraftryk fra andre kilder etc.)\n"
 
 #: g10/keyedit.c:418 g10/pkclist.c:274
-#, fuzzy, c-format
+#, c-format
 msgid "  %d = I trust marginally\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "  %d = Marginal troværdighed\n"
 
 #: g10/keyedit.c:419 g10/pkclist.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "  %d = I trust fully\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "  %d = Fuld troværdighed\n"
 
 #: g10/keyedit.c:438
 msgid ""
@@ -3350,46 +3314,49 @@ msgid ""
 "A depth greater than 1 allows the key you are signing to make\n"
 "trust signatures on your behalf.\n"
 msgstr ""
+"Indtast venligst dybden på denne troværdighedsunderskrift.\n"
+"En dybde større end 1 giver nøglen du underskriver mulighed for\n"
+"at lavet troværdighedsunderskrifter på dine vegne.\n"
 
 #: g10/keyedit.c:454
 msgid "Please enter a domain to restrict this signature, or enter for none.\n"
 msgstr ""
+"Indtast venligst et domæne for at begrænse denne underskrift, eller retur "
+"for ingen.\n"
 
 #: g10/keyedit.c:598
-#, fuzzy, c-format
+#, c-format
 msgid "User ID \"%s\" is revoked."
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s« er tilbagekaldt."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
-#, fuzzy
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du stadig vil underskrive (j/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
-msgstr ""
+msgstr "  Kunne ikke underskrive.\n"
 
 #: g10/keyedit.c:626
-#, fuzzy, c-format
+#, c-format
 msgid "User ID \"%s\" is expired."
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s« er udløbet."
 
 #: g10/keyedit.c:654
-#, fuzzy, c-format
+#, c-format
 msgid "User ID \"%s\" is not self-signed."
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "Bruger-id »%s« er ikke egenunderskrevet."
 
 #: g10/keyedit.c:682
-#, fuzzy, c-format
+#, c-format
 msgid "User ID \"%s\" is signable.  "
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "Bruger-id »%s« kan underskrives.  "
 
 #: g10/keyedit.c:684
-#, fuzzy
 msgid "Sign it? (y/N) "
-msgstr "Vil du gerne signere? "
+msgstr "Underskriv? (j/N) "
 
 #: g10/keyedit.c:706
 #, c-format
@@ -3397,10 +3364,12 @@ msgid ""
 "The self-signature on \"%s\"\n"
 "is a PGP 2.x-style signature.\n"
 msgstr ""
+"Egenunderskriften på »%s«\n"
+"er en underskrift i PGP 2.x-stil.\n"
 
 #: g10/keyedit.c:715
 msgid "Do you want to promote it to an OpenPGP self-signature? (y/N) "
-msgstr ""
+msgstr "Ønsker du at forfremme den til en OpenPGP-egenunderskrift? (j/N) "
 
 #: g10/keyedit.c:729
 #, c-format
@@ -3408,10 +3377,13 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "has expired.\n"
 msgstr ""
+"Din aktuelle underskrift på »%s«\n"
+"er udløbet.\n"
 
 #: g10/keyedit.c:733
 msgid "Do you want to issue a new signature to replace the expired one? (y/N) "
 msgstr ""
+"Ønsker du at udstede en ny underskrift for at erstatte den udløbne? (j/N) "
 
 #: g10/keyedit.c:754
 #, c-format
@@ -3419,54 +3391,58 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "is a local signature.\n"
 msgstr ""
+"Din aktuelle underskrift på »%s«\n"
+"er en lokal underskrift.\n"
 
 #: g10/keyedit.c:758
 msgid "Do you want to promote it to a full exportable signature? (y/N) "
 msgstr ""
+"Ønsker du at forfremme den til en fuld underskrift, der kan eksporteres (j/"
+"N) "
 
 #: g10/keyedit.c:779
 #, c-format
 msgid "\"%s\" was already locally signed by key %s\n"
-msgstr ""
+msgstr "»%s« var allerede underskrevet lokalt af nøgle %s\n"
 
 #: g10/keyedit.c:782
 #, c-format
 msgid "\"%s\" was already signed by key %s\n"
-msgstr ""
+msgstr "»%s« var allerede underskrevet af nøgle %s\n"
 
 #: g10/keyedit.c:787
-#, fuzzy
 msgid "Do you want to sign it again anyway? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Ønsker du at underskrive den igen alligevel? (j/N) "
 
 #: g10/keyedit.c:809
 #, c-format
 msgid "Nothing to sign with key %s\n"
-msgstr ""
+msgstr "Intet at underskrive med nøgle %s\n"
 
 #: g10/keyedit.c:824
-#, fuzzy
 msgid "This key has expired!"
-msgstr "Bemærk: Denne nøgle er forældet!\n"
+msgstr "Denne nøgle er udløbet!"
 
 #: g10/keyedit.c:842
-#, fuzzy, c-format
+#, c-format
 msgid "This key is due to expire on %s.\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Denne nøgle er ved at udløbe på %s.\n"
 
 #: g10/keyedit.c:848
 msgid "Do you want your signature to expire at the same time? (Y/n) "
-msgstr ""
+msgstr "Ønsker du at dine underskrifter skal udløbe på samme tidspunkt? (J/n) "
 
 #: g10/keyedit.c:888
 msgid ""
 "You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 "
 "mode.\n"
 msgstr ""
+"Du kan ikke lave en OpenPGP-underskrift på en PGP 2.x-nøgle i tilstanden --"
+"pgp2.\n"
 
 #: g10/keyedit.c:890
 msgid "This would make the key unusable in PGP 2.x.\n"
-msgstr ""
+msgstr "Dette vil gøre nøglen ubrugelig i PGP 2.x.\n"
 
 #: g10/keyedit.c:915
 msgid ""
@@ -3474,951 +3450,924 @@ msgid ""
 "belongs\n"
 "to the person named above?  If you don't know what to answer, enter \"0\".\n"
 msgstr ""
+"Hvor omhyggeligt har du verificeret, at nøglen du er ved at underskrive "
+"rent\n"
+"faktisk tilhører personen navngivet ovenfor? Hvis du ikke kender svaret, så "
+"indtast »0«.\n"
 
 #: g10/keyedit.c:920
 #, c-format
 msgid "   (0) I will not answer.%s\n"
-msgstr ""
+msgstr "   (0) Jeg vil ikke svare.%s\n"
 
 #: g10/keyedit.c:922
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
-msgstr ""
+msgstr "   (1) Jeg har ingen kontrol udført.%s\n"
 
 #: g10/keyedit.c:924
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
-msgstr ""
+msgstr "   (2) Jeg har udført en overfladisk kontrol.%s\n"
 
 #: g10/keyedit.c:926
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
-msgstr ""
+msgstr "   (3) Jeg har foretaget en meget omhyggelig kontrol.%s\n"
 
 #: g10/keyedit.c:932
 msgid "Your selection? (enter `?' for more information): "
-msgstr ""
+msgstr "Dit valg? (indtast »?« for yderligere information): "
 
 #: g10/keyedit.c:956
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
 "key \"%s\" (%s)\n"
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr ""
+"Er du sikker på, at du ønsker at underskrive denne nøgle\n"
+"med din nøgle »%s« (%s)\n"
 
 #: g10/keyedit.c:963
-#, fuzzy
 msgid "This will be a self-signature.\n"
-msgstr "skriver selvsignatur\n"
+msgstr "Dette vil være en egenunderskrift.\n"
 
 #: g10/keyedit.c:969
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
+"ADVARSEL: Underskriften vil ikke blive markeret som ikke at kunne "
+"eksporteres.\n"
 
 #: g10/keyedit.c:977
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
+"ADVARSEL: Underskriften vil ikke blive markereret som ikke at kunne "
+"tilbagekaldes.\n"
 
 #: g10/keyedit.c:987
 msgid "The signature will be marked as non-exportable.\n"
-msgstr ""
+msgstr "Underskriften vil blive markeret som ikke at kunne eksporteres.\n"
 
 #: g10/keyedit.c:994
-#, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
-msgstr "signér nøglen lokalt"
+msgstr "Underskriften vil blive markeret som ikke at kunne tilbagekaldes.\n"
 
 #: g10/keyedit.c:1001
 msgid "I have not checked this key at all.\n"
-msgstr ""
+msgstr "Jeg har overhovedet ikke kontrolleret denne nøgle.\n"
 
 #: g10/keyedit.c:1006
 msgid "I have checked this key casually.\n"
-msgstr ""
+msgstr "Jeg har overfladisk kontrolleret denne nøgle.\n"
 
 #: g10/keyedit.c:1011
 msgid "I have checked this key very carefully.\n"
-msgstr ""
+msgstr "Jeg har omhyggeligt kontrolleret denne nøgle.\n"
 
 #: g10/keyedit.c:1021
-#, fuzzy
 msgid "Really sign? (y/N) "
-msgstr "Vil du gerne signere? "
+msgstr "Underskriv? (j/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "underskrift mislykkedes: %s\n"
 
 #: g10/keyedit.c:1131
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
+"Nøgle har kun stump eller ikkekort nøgleposter - ingen adgangsfrase at "
+"ændre.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Denne nøgle er ikke beskyttet.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
-#, fuzzy
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "Hemmelige dele for primær nøgle er ikke tilgængelige.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
-#, fuzzy
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "Hemmelige dele for primær nøgle gemmes på kortet.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Nøglen er beskyttet.\n"
 
 #: g10/keyedit.c:1186
 #, c-format
 msgid "Can't edit this key: %s\n"
-msgstr "Kan ikke redigere denne nøgle: %s\n"
+msgstr "Kan ikke redigere denne nøgle: %s\n"
 
 #: g10/keyedit.c:1192
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
-msgstr ""
+msgstr "Indtast den nye adgangsfrase for denne hemmelige nøgle.\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
-#, fuzzy
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
-msgstr "kodesætningen blev ikke ordentlig gentaget; prøv igen.\n"
+msgstr "adgangsfrasen er ikke korrekt gentaget; prøv igen"
 
 #: g10/keyedit.c:1212
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
 msgstr ""
+"Du ønsker ikke en adgangsfrase - dette er en *dårlig* ide!\n"
+"\n"
 
 #: g10/keyedit.c:1215
-#, fuzzy
 msgid "Do you really want to do this? (y/N) "
-msgstr "Vil du virkelig gerne gøre dette?"
+msgstr "Vil du virkelig gerne gøre dette? (j/N) "
 
 #: g10/keyedit.c:1298
 msgid "moving a key signature to the correct place\n"
-msgstr ""
+msgstr "flytter en nøgleunderskrift til det korrekte sted\n"
 
 #: g10/keyedit.c:1384
 msgid "save and quit"
 msgstr "gem og afslut"
 
 #: g10/keyedit.c:1387
-#, fuzzy
 msgid "show key fingerprint"
-msgstr "vis fingeraftryk"
+msgstr "vis nøglefingeraftryk"
 
 #: g10/keyedit.c:1388
 msgid "list key and user IDs"
-msgstr "vis nøgler og bruger-id'er"
+msgstr "vis nøgle og bruger-id'er"
 
 #: g10/keyedit.c:1390
 msgid "select user ID N"
-msgstr ""
+msgstr "vælg bruger-id N"
 
 #: g10/keyedit.c:1391
-#, fuzzy
 msgid "select subkey N"
-msgstr "vælg sekundær nøgle N"
+msgstr "vælg undernøgle N"
 
 #: g10/keyedit.c:1392
-#, fuzzy
 msgid "check signatures"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "kontroller underskrifter"
 
 #: g10/keyedit.c:1397
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
+"underskriv valgte bruger-id'er [* se nedenfor for relaterede kommandoer]"
 
 #: g10/keyedit.c:1402
-#, fuzzy
 msgid "sign selected user IDs locally"
-msgstr "signér nøglen lokalt"
+msgstr "underskriv valgte bruger-id'er lokalt"
 
 #: g10/keyedit.c:1404
 msgid "sign selected user IDs with a trust signature"
-msgstr ""
+msgstr "underskriv valgte bruger-id'er med en troværdighedsunderskrift"
 
 #: g10/keyedit.c:1406
 msgid "sign selected user IDs with a non-revocable signature"
-msgstr ""
+msgstr "underskriv bruger-id'er md en underskrift der ikke kan kaldes tilbage"
 
 #: g10/keyedit.c:1410
 msgid "add a user ID"
-msgstr "tilføj bruger-id"
+msgstr "tilføj bruger-id"
 
 #: g10/keyedit.c:1412
-#, fuzzy
 msgid "add a photo ID"
-msgstr "tilføj bruger-id"
+msgstr "tilføj billed-id"
 
 #: g10/keyedit.c:1414
-#, fuzzy
 msgid "delete selected user IDs"
-msgstr "slet bruger id"
+msgstr "slet valgte bruger-id'er"
 
 #: g10/keyedit.c:1419
-#, fuzzy
 msgid "add a subkey"
-msgstr "tilføj nøgle"
+msgstr "tilføj en undernøgle"
 
 #: g10/keyedit.c:1423
 msgid "add a key to a smartcard"
-msgstr ""
+msgstr "tilføj en nøgle til et smartkort"
 
 #: g10/keyedit.c:1425
 msgid "move a key to a smartcard"
-msgstr ""
+msgstr "flyt en nøgle til et smartkort"
 
 #: g10/keyedit.c:1427
 msgid "move a backup key to a smartcard"
-msgstr ""
+msgstr "flyt en sikkerhedskopinøgle til et smartkort"
 
 #: g10/keyedit.c:1431
-#, fuzzy
 msgid "delete selected subkeys"
-msgstr "slet sekundær nøgle"
+msgstr "slet valgte undernøgler"
 
 #: g10/keyedit.c:1433
-#, fuzzy
 msgid "add a revocation key"
-msgstr "tilføj sekundær nøgle"
+msgstr "tilføj en tilbagekaldsnøgle"
 
 #: g10/keyedit.c:1435
-#, fuzzy
 msgid "delete signatures from the selected user IDs"
-msgstr "Generér en annullérbar certifikat"
+msgstr "slet underskrifter fra de valgte bruger-id'er"
 
 #: g10/keyedit.c:1437
 msgid "change the expiration date for the key or selected subkeys"
-msgstr ""
+msgstr "ændr udløbsdatoen for nøglen eller valgte undernøgler"
 
 #: g10/keyedit.c:1439
 msgid "flag the selected user ID as primary"
-msgstr ""
+msgstr "marker den valgte bruger-id som primær"
 
 #: g10/keyedit.c:1441
-#, fuzzy
 msgid "toggle between the secret and public key listings"
-msgstr "skift imellem hemmelig og offentlig nøgle visning"
+msgstr "skift mellem hemmelig og offentlig nøglevisning"
 
 #: g10/keyedit.c:1444
-#, fuzzy
 msgid "list preferences (expert)"
-msgstr "vis præferencer"
+msgstr "vis præferencer (ekspert)"
 
 #: g10/keyedit.c:1446
-#, fuzzy
 msgid "list preferences (verbose)"
-msgstr "vis præferencer"
+msgstr "vis præferencer (uddybende)"
 
 #: g10/keyedit.c:1448
-#, fuzzy
 msgid "set preference list for the selected user IDs"
-msgstr "Generér en annullérbar certifikat"
+msgstr "angiv præferenceliste for de valgte bruger-id'er"
 
 #: g10/keyedit.c:1453
-#, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
-msgstr "Generér en annullérbar certifikat"
+msgstr "angiv den foretrukne nøgleserveradresse for de valgte bruger-id'er"
 
 #: g10/keyedit.c:1455
-#, fuzzy
 msgid "set a notation for the selected user IDs"
-msgstr "Generér en annullérbar certifikat"
+msgstr "angiv en notation for de valgte bruger-id'er"
 
 #: g10/keyedit.c:1457
 msgid "change the passphrase"
-msgstr "ændr kodesætningen"
+msgstr "ændr adgangsfrasen"
 
 #: g10/keyedit.c:1461
 msgid "change the ownertrust"
-msgstr ""
+msgstr "ændr ejertroværdigheden"
 
 #: g10/keyedit.c:1463
-#, fuzzy
 msgid "revoke signatures on the selected user IDs"
-msgstr "Vil du virkelig oprette?"
+msgstr "tilbagekald underskrifter på de valgte bruger-id'er"
 
 #: g10/keyedit.c:1465
-#, fuzzy
 msgid "revoke selected user IDs"
-msgstr "tilføj bruger-id"
+msgstr "tilbagekald valgte bruger-id'er"
 
 #: g10/keyedit.c:1470
 msgid "revoke key or selected subkeys"
-msgstr ""
+msgstr "tilbagekald nøgle eller valgte undernøgler"
 
 #: g10/keyedit.c:1471
-#, fuzzy
 msgid "enable key"
-msgstr "slå nøgle til"
+msgstr "aktiver nøgle"
 
 #: g10/keyedit.c:1472
-#, fuzzy
 msgid "disable key"
-msgstr "slå nøgle fra"
+msgstr "deaktiver nøgle"
 
 #: g10/keyedit.c:1473
 msgid "show selected photo IDs"
-msgstr ""
+msgstr "vis valgte billed-id'er"
 
 #: g10/keyedit.c:1475
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
+"komprimer ubrugelige bruger-id'er og fjern ubrugelige underskrifter fra nøgle"
 
 #: g10/keyedit.c:1477
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
+"komprimer ubrugelige bruger-id'er og fjern alle underskrifter fra nøgle"
 
-#: g10/keyedit.c:1601
-#, fuzzy, c-format
+#: g10/keyedit.c:1605
+#, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af hemmelig nøgleblok »%s«: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
-msgstr ""
+msgstr "Hemmelig nøgle er tilgængelig.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
-msgstr ""
+msgstr "Har brug for den hemmelige nøgle for dette.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
-msgstr ""
+msgstr "Brug venligst kommandoen »toggle« først.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
 "  a `t' for trust signatures (tsign), an `nr' for non-revocable signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
+"* Kommandoen »sign« kan have præfikset »l« for lokale underskrifter "
+"(lsign),\n"
+"  et »t« for troværdighedsunderskrifter (tsign), et »nr« for underskrifter\n"
+"  der ikke kan tilbagekaldes (nrsign), eller en kombination (ltsign, "
+"tnrsign\n"
+"  etc.).\n"
 
-#: g10/keyedit.c:1779
-#, fuzzy
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Nøglen er tilbagekaldt."
 
-#: g10/keyedit.c:1798
-#, fuzzy
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
-msgstr "Vil du gerne signere? "
+msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
 
-#: g10/keyedit.c:1805
-#, fuzzy
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
-msgstr "signér nøglen lokalt"
+msgstr "Fif: Vælg bruger-id'erne at underskrive\n"
 
-#: g10/keyedit.c:1814
-#, fuzzy, c-format
+#: g10/keyedit.c:1818
+#, c-format
 msgid "Unknown signature type `%s'\n"
-msgstr "ukendt signaturklasse"
+msgstr "Ukendt underskrifttype »%s«\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
-msgstr ""
+msgstr "Denne kommando er ikke tilladt i tilstanden %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
-msgstr ""
+msgstr "Du skal vælge mindst en bruger-id.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
-msgstr ""
+msgstr "Du kan ikke slette den sidste bruger-id!\n"
 
-#: g10/keyedit.c:1863
-#, fuzzy
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
-msgstr "Vil du virkelig oprette?"
+msgstr "Vil du virkelig fjerne alle valgte bruger-id'er? (j/N) "
 
-#: g10/keyedit.c:1864
-#, fuzzy
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
-msgstr "Vil du virkelig oprette?"
+msgstr "Vil du virkelig fjerne denne bruger-id? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
-msgstr ""
+msgstr "Vil du virkelig flytte den primære nøgle? (j/N) "
 
-#: g10/keyedit.c:1929
-#, fuzzy
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+msgstr "Du skal vælge præcis en nøgle.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
-msgstr ""
+msgstr "Kommando forventer en filnavnsparameter\n"
 
-#: g10/keyedit.c:1971
-#, fuzzy, c-format
+#: g10/keyedit.c:1975
+#, c-format
 msgid "Can't open `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "Kan ikke åbne »%s«: %s\n"
 
-#: g10/keyedit.c:1988
-#, fuzzy, c-format
+#: g10/keyedit.c:1992
+#, c-format
 msgid "Error reading backup key from `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "Fejl ved læsning af sikkerhedskopinøgle fra »%s«: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
-msgstr ""
+msgstr "Du skal vælge mindst en nøgle.\n"
 
-#: g10/keyedit.c:2015
-#, fuzzy
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
-msgstr "Vil du gerne oprette en underskrivnings- og krypteringsnøgle? "
+msgstr "Vil du virkelig slette de valgte nøgler? (j/N) "
 
-#: g10/keyedit.c:2016
-#, fuzzy
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
-msgstr "Vil du virkelig gerne gøre dette?"
+msgstr "Vil du virkelig slette denne nøgle? (j/N) "
 
-#: g10/keyedit.c:2051
-#, fuzzy
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
-msgstr "Vil du virkelig oprette?"
+msgstr "Vil du virkelig tilbagekalde alle valgte bruger-id'er? (j/N) "
 
-#: g10/keyedit.c:2052
-#, fuzzy
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
-msgstr "Vil du virkelig oprette?"
+msgstr "Vil du virkelig tilbagekalde dette bruger-id? (j/N) "
 
-#: g10/keyedit.c:2070
-#, fuzzy
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
-msgstr "Vil du virkelig gerne gøre dette?"
+msgstr "Vil du virkelig tilbagekalde hele nøglen? (j/N) "
 
-#: g10/keyedit.c:2081
-#, fuzzy
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
-msgstr "Vil du gerne oprette en underskrivnings- og krypteringsnøgle? "
+msgstr "Vil du virkelig tilbagekalde de valgte undernøgler? (j/N) "
 
-#: g10/keyedit.c:2083
-#, fuzzy
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
-msgstr "Vil du virkelig gerne gøre dette?"
+msgstr "Vil du virkelig tilbagekalde denne undernøgle? (j/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
+"Ejertroværdighed kan ikke indstilles, når der bruges en brugerleveret "
+"troværdighedsdatabase\n"
 
-#: g10/keyedit.c:2175
-#, fuzzy
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
-msgstr "vis præferencer"
+msgstr "Angiv præferenceliste til:\n"
 
-#: g10/keyedit.c:2181
-#, fuzzy
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opdater præferencerne for de valgte bruger-id'er (j/N) "
 
-#: g10/keyedit.c:2183
-#, fuzzy
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opdater præferencerne? (j/N) "
 
-#: g10/keyedit.c:2253
-#, fuzzy
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
-msgstr "Gem ændringer? "
+msgstr "Gem ændringer? (j/N) "
 
-#: g10/keyedit.c:2256
-#, fuzzy
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
-msgstr "Afslut uden at gemme? "
+msgstr "Afslut uden at gemme? (j/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
-msgstr ""
+msgstr "opdatering mislykkedes: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
-msgstr ""
+msgstr "opdatering af hemmelighed mislykkedes: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
-msgstr ""
+msgstr "Nøgle ikke ændret så ingen opdatering krævet.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
-msgstr ""
+msgstr "Sammendrag: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
-msgstr ""
+msgstr "Funktioner: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
-msgstr ""
+msgstr "Nøgleserver no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
-msgstr ""
+msgstr "Fortrukken nøgleserver: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
-#, fuzzy
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
-msgstr ""
-"@\n"
-"Indstillinger:\n"
-" "
+msgstr "Notationer: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
-msgstr ""
+msgstr "Der er ingen præferencer på en bruger-id i PGP 2.x-stil.\n"
 
-#: g10/keyedit.c:2810
-#, fuzzy, c-format
+#: g10/keyedit.c:2814
+#, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "Den følgende nøgle blev tilbagekaldt den %s af %s nøgle %s\n"
 
-#: g10/keyedit.c:2832
-#, fuzzy, c-format
+#: g10/keyedit.c:2836
+#, c-format
 msgid "This key may be revoked by %s key %s"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "Denne nøgle er tilbagekaldt af %s nøgle %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
-msgstr ""
+msgstr "(sensitiv)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
-#, fuzzy, c-format
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
+#, c-format
 msgid "created: %s"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "oprettet: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
-#, fuzzy, c-format
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
+#, c-format
 msgid "revoked: %s"
-msgstr "tilføj nøgle"
+msgstr "tilbagekaldt: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
-#, fuzzy, c-format
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#, c-format
 msgid "expired: %s"
-msgstr "Nøgle udløber d. %s\n"
+msgstr "udløbet: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
-#, fuzzy, c-format
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
+#, c-format
 msgid "expires: %s"
-msgstr "Nøgle udløber d. %s\n"
+msgstr "udløber: %s"
 
-#: g10/keyedit.c:2863
-#, fuzzy, c-format
+#: g10/keyedit.c:2867
+#, c-format
 msgid "usage: %s"
-msgstr "betro"
+msgstr "brug: %s"
 
-#: g10/keyedit.c:2878
-#, fuzzy, c-format
+#: g10/keyedit.c:2882
+#, c-format
 msgid "trust: %s"
-msgstr "betro"
+msgstr "troværdighed: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
-msgstr ""
+msgstr "validitet: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
-msgstr ""
+msgstr "Denne nøgle er blevet deaktiveret"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
-msgstr ""
+msgstr "kortnr.: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
+"Bemærk venligst at den viste nøglevaliditet ikke nødvendigvis er\n"
+"korrekt med mindre du genstarter programmet.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
-#, fuzzy
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
-msgstr "tilføj nøgle"
+msgstr "tilbagekaldt"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
-#, fuzzy
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
-msgstr "udløb"
+msgstr "udløbet"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
+"ADVARSEL: Intet bruger-id er blevet markeret som primær. Denne kommando\n"
+"        kan medføre at et anden bruger-id bliver den formodede primære.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
+"ADVARSEL: Dette er en nøgle i PGP2-stil. Tilføjelse af et billed-id kan "
+"medføre at\n"
+"          nogle version af PGP afviser denne nøgle.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
-#, fuzzy
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du stadig ønsker at tilføje den? (j/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
-msgstr ""
+msgstr "Du må ikke tilføje et billed-id til en nøgle i PGP2-stil.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
-msgstr ""
+msgstr "Slet denne gode underskrift? (j/N/a)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
-msgstr ""
+msgstr "Slet denne ugyldige underskrift? (j/N/a)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
-msgstr ""
+msgstr "Slet denne ukendte underskrift? (j/n/a)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
-msgstr ""
+msgstr "Virkelig slette denne egenunderskrift? (j/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
-msgstr "Slettede %d signatur.\n"
+msgstr "Slettede %d underskrift.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
-msgstr ""
+msgstr "Slettede %d underskrifter.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
-msgstr ""
+msgstr "Intet slettet.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
-#, fuzzy
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
-msgstr "ugyldig rustning"
+msgstr "ugyldig"
 
-#: g10/keyedit.c:3357
-#, fuzzy, c-format
+#: g10/keyedit.c:3361
+#, c-format
 msgid "User ID \"%s\" compacted: %s\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s« komprimeret: %s\n"
 
-#: g10/keyedit.c:3364
-#, fuzzy, c-format
+#: g10/keyedit.c:3368
+#, c-format
 msgid "User ID \"%s\": %d signature removed\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s«: %d underskrift fjernet\n"
 
-#: g10/keyedit.c:3365
-#, fuzzy, c-format
+#: g10/keyedit.c:3369
+#, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s«: %d underskrifter fjernet\n"
 
-#: g10/keyedit.c:3373
-#, fuzzy, c-format
+#: g10/keyedit.c:3377
+#, c-format
 msgid "User ID \"%s\": already minimized\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s«: allerede minimeret\n"
 
-#: g10/keyedit.c:3374
-#, fuzzy, c-format
+#: g10/keyedit.c:3378
+#, c-format
 msgid "User ID \"%s\": already clean\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Bruger-id »%s«: allerede ryddet\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
+"ADVARSEL: Dette er en nøgle i PGP 2.x-stil. Tilføjelse af en dedikeret "
+"tilbagekalder\n"
+"          kan medføre at nogle versioner af PGP afviser denne nøgle.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
+"Du må ikke tilføje en dedikeret tilbagekalder til en nøgle i PGP 2.x-stil.\n"
 
-#: g10/keyedit.c:3499
-#, fuzzy
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
-msgstr "Indtast nøglens størrelse"
+msgstr "Indtast bruger'id for den dedikerede tilbagekalder: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
-msgstr ""
+msgstr "kan ikke udpege en nøgle i PGP 2.x-stil som dedikeret tilbagekalder\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
-msgstr ""
+msgstr "du kan ikke udpege en nøgle som dets egen dedikerede tilbagekalder\n"
 
-#: g10/keyedit.c:3561
-#, fuzzy
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "denne nøgle er allerede blevet dedikeret som en tilbagekalder\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
+"ADVARSEL: Udpegning af en nøgle som en dedikeret tilbagekalder kan ikke "
+"fortrydes!\n"
 
-#: g10/keyedit.c:3586
-#, fuzzy
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr ""
+"Er du sikker på, at du ønsker at udpege denne nøgle som en dedikeret "
+"tilbagekalder? (j/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
-msgstr ""
+msgstr "Fjern venligst markeringer fra de hemmelige nøgler.\n"
 
-#: g10/keyedit.c:3653
-#, fuzzy
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+msgstr "Vælg venligst højst en undernøgle.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
-msgstr ""
+msgstr "Ændrer udløbstidspunkt for en undernøgle.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
-msgstr ""
+msgstr "Ændrer udløbstidspunkt for den primære nøgle.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
-msgstr ""
+msgstr "Du kan ikke ændre udløbsdatoen for en v3-nøgle\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
-msgstr ""
+msgstr "Ingen tilsvarende underskrift i hemmelig ring\n"
 
-#: g10/keyedit.c:3800
-#, fuzzy, c-format
+#: g10/keyedit.c:3804
+#, c-format
 msgid "signing subkey %s is already cross-certified\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "underskriftsundernøgle %s er allerede krydscertificeret\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
+"undernøgle %s underskriver ikke og skal derfor ikke være krydscertificeret\n"
 
-#: g10/keyedit.c:3969
-#, fuzzy
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+msgstr "Vælg venligst præcis en bruger-id.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
-#, fuzzy, c-format
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
+#, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
-msgstr "nøgle %08lX: ingen gyldige bruger-id'er\n"
+msgstr "udelader v3 egenunderskrift på bruger-id »%s«\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
-msgstr ""
+msgstr "Indtast din foretrukne nøglerserveradresse: "
 
-#: g10/keyedit.c:4259
-#, fuzzy
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du ønsker at erstatte den? (j/N) "
 
-#: g10/keyedit.c:4260
-#, fuzzy
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du ønsker at slette den? (j/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
-msgstr ""
+msgstr "Indtast notationen: "
 
-#: g10/keyedit.c:4471
-#, fuzzy
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
-msgstr "Overskriv (j/N)? "
+msgstr "Fortsæt? (j/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ingen bruger-id med indeks %d\n"
 
-#: g10/keyedit.c:4604
-#, fuzzy, c-format
+#: g10/keyedit.c:4608
+#, c-format
 msgid "No user ID with hash %s\n"
-msgstr "Ingen bruger-id med indeks %d\n"
+msgstr "Ingen bruger-id med hash %s\n"
 
-#: g10/keyedit.c:4639
-#, fuzzy, c-format
+#: g10/keyedit.c:4643
+#, c-format
 msgid "No subkey with index %d\n"
-msgstr "Ingen bruger-id med indeks %d\n"
+msgstr "Ingen undernøgle med indeks %d\n"
 
-#: g10/keyedit.c:4774
-#, fuzzy, c-format
+#: g10/keyedit.c:4778
+#, c-format
 msgid "user ID: \"%s\"\n"
-msgstr "bruger-id: \""
+msgstr "bruger-id: »%s«\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
-msgstr ""
+msgstr "underskrevet af din nøgle %s den %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
-msgstr ""
+msgstr " (kan ikke eksporteres)"
 
-#: g10/keyedit.c:4783
-#, fuzzy, c-format
+#: g10/keyedit.c:4787
+#, c-format
 msgid "This signature expired on %s.\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Denne underskrift udløb den %s.\n"
 
-#: g10/keyedit.c:4787
-#, fuzzy
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du ønsker at tilbagekalde den? (j/N) "
 
-#: g10/keyedit.c:4791
-#, fuzzy
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opret et tilbagekaldscertifikat for denne underskrift? (j/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
-msgstr ""
+msgstr "Ikke underskrevet af dig.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
-msgstr ""
+msgstr "Du har underskrevet disse bruger-id'er på nøgle %s:\n"
 
-#: g10/keyedit.c:4874
-#, fuzzy
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
-msgstr "signér en nøgle lokalt"
+msgstr " (kan ikke tilbagekaldes)"
 
-#: g10/keyedit.c:4881
-#, fuzzy, c-format
+#: g10/keyedit.c:4885
+#, c-format
 msgid "revoked by your key %s on %s\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "tilbagekaldt af din nøgle %s på %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
-msgstr ""
+msgstr "Du er i gang med at tilbagekalde disse underskrifter:\n"
 
-#: g10/keyedit.c:4923
-#, fuzzy
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opret tilbagekaldscertifikaterne? (j/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
-msgstr ""
+msgstr "ingen hemmelig nøgle\n"
 
-#: g10/keyedit.c:5023
-#, fuzzy, c-format
+#: g10/keyedit.c:5027
+#, c-format
 msgid "user ID \"%s\" is already revoked\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "bruger-id »%s« er allerede tilbagekaldt\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
+"ADVARSEL: En bruger-id-underskrift er dateret %d sekunder inde i fremtiden\n"
 
-#: g10/keyedit.c:5104
-#, fuzzy, c-format
+#: g10/keyedit.c:5108
+#, c-format
 msgid "Key %s is already revoked.\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Nøgle %s er allerede tilbagekaldt.\n"
 
-#: g10/keyedit.c:5166
-#, fuzzy, c-format
+#: g10/keyedit.c:5170
+#, c-format
 msgid "Subkey %s is already revoked.\n"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Undernøgle %s er allerede tilbagekaldt.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
-msgstr ""
+msgstr "Viser %s billed'id med størrelse %ld for nøgle %s (uid %d)\n"
 
-#: g10/keygen.c:275
-#, fuzzy, c-format
+#: g10/keygen.c:272
+#, c-format
 msgid "preference `%s' duplicated\n"
-msgstr "vis præferencer"
+msgstr "præference »%s« duplikeret\n"
 
-#: g10/keygen.c:282
-#, fuzzy
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
-msgstr "vis præferencer"
+msgstr "for mange chifferpræferencer\n"
 
-#: g10/keygen.c:284
-#, fuzzy
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
-msgstr "vis præferencer"
+msgstr "for mange sammendragpræferencer\n"
 
-#: g10/keygen.c:286
-#, fuzzy
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
-msgstr "vis præferencer"
+msgstr "for mange komprimeringspræferencer\n"
 
-#: g10/keygen.c:426
-#, fuzzy, c-format
+#: g10/keygen.c:423
+#, c-format
 msgid "invalid item `%s' in preference string\n"
-msgstr "Ugyldige bogstaver i navn\n"
+msgstr "ugyldigt punkt »%s« i præferencestreng\n"
 
-#: g10/keygen.c:910
-#, fuzzy
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
-msgstr "skriver selvsignatur\n"
+msgstr "skriver direkte underskrift\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
-msgstr "skriver selvsignatur\n"
+msgstr "skriver egenunderskrift\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
-msgstr ""
+msgstr "skriver underskrift for nøglebinding\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
-#, fuzzy, c-format
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
+#, c-format
 msgid "keysize invalid; using %u bits\n"
-msgstr "Ønsket nøglestørrelse er %u bit\n"
+msgstr "nøglestørrelse er ugyldig; bruger %u bit\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
-#, fuzzy, c-format
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
+#, c-format
 msgid "keysize rounded up to %u bits\n"
-msgstr "rundet op til %u bit\n"
+msgstr "nøglestørrelse afrundet op til %u bit\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
+"ADVARSEL: Nogle OpenPGP-programmer kan ikke håndtere en DS-nøgle med denne\n"
+"sammendragsstørrelse\n"
 
-#: g10/keygen.c:1558
-#, fuzzy
+#: g10/keygen.c:1565
 msgid "Sign"
-msgstr "signér"
+msgstr "Underskriv"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
-msgstr ""
+msgstr "Certificer"
 
-#: g10/keygen.c:1564
-#, fuzzy
+#: g10/keygen.c:1571
 msgid "Encrypt"
-msgstr "kryptér data"
+msgstr "Krypter"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
-msgstr ""
+msgstr "Godkend"
 
 #. TRANSLATORS: Please use only plain ASCII characters for the
 #. translation.  If this is not possible use single digits.  The
@@ -4430,104 +4379,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
-msgstr ""
+msgstr "UuKkGfAa"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
-msgstr ""
+msgstr "Mulige handligner for en %s-nøgle: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
-msgstr ""
+msgstr "Aktuelt tilladte handlinger: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
-msgstr ""
+msgstr "   (%c) Skift evnen til at underskrive\n"
 
-#: g10/keygen.c:1620
-#, fuzzy, c-format
+#: g10/keygen.c:1627
+#, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%c) Skift evnen til at kryptere\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
-msgstr ""
+msgstr "   (%c) Skift evnen til at godkende\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
-msgstr ""
+msgstr "   (%c) Afsluttet\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
 
-#: g10/keygen.c:1689
-#, fuzzy, c-format
+#: g10/keygen.c:1696
+#, c-format
 msgid "   (%d) RSA and RSA (default)\n"
-msgstr "   (%d) DSA og ElGamal (standard)\n"
+msgstr "   (%d) RSA og RSA (standard)\n"
 
-#: g10/keygen.c:1691
-#, fuzzy, c-format
+#: g10/keygen.c:1698
+#, c-format
 msgid "   (%d) DSA and Elgamal\n"
-msgstr "   (%d) DSA og ElGamal (standard)\n"
+msgstr "   (%d) DSA og Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
-msgstr "   (%d) DSA (signér kun)\n"
+msgstr "   (%d) DSA (kun underskriv)\n"
 
-#: g10/keygen.c:1694
-#, fuzzy, c-format
+#: g10/keygen.c:1701
+#, c-format
 msgid "   (%d) RSA (sign only)\n"
-msgstr "   (%d) DSA (signér kun)\n"
+msgstr "   (%d) RSA (kun underskriv)\n"
 
-#: g10/keygen.c:1698
-#, fuzzy, c-format
+#: g10/keygen.c:1705
+#, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) Elgamal (kun krypter)\n"
 
-#: g10/keygen.c:1699
-#, fuzzy, c-format
+#: g10/keygen.c:1706
+#, c-format
 msgid "   (%d) RSA (encrypt only)\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) RSA (kun krypter)\n"
 
-#: g10/keygen.c:1703
-#, fuzzy, c-format
+#: g10/keygen.c:1710
+#, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) DSA (angiv dine egne evner)\n"
 
-#: g10/keygen.c:1704
-#, fuzzy, c-format
+#: g10/keygen.c:1711
+#, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) RSA (angiv dine egne evner)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
-msgstr ""
+msgstr "%s nøgler kan være mellem %u og %u bit lange.\n"
 
-#: g10/keygen.c:1820
-#, fuzzy, c-format
+#: g10/keygen.c:1827
+#, c-format
 msgid "What keysize do you want for the subkey? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (1024) "
+msgstr "Hvilken nøglestørrelse ønsker du for undernøglen? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
-#, fuzzy, c-format
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
+#, c-format
 msgid "What keysize do you want? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (1024) "
+msgstr "Hvilken nøglestørrelse ønsker du? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
-msgstr "Ønsket nøglestørrelse er %u bit\n"
+msgstr "Ønsket nøglestørrelse er %u bit\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4536,8 +4485,14 @@ msgid ""
 "      <n>m = key expires in n months\n"
 "      <n>y = key expires in n years\n"
 msgstr ""
+"Angiv i hvor lang tid nøglen skal være gyldig.\n"
+"         0 = nøgle udløber ikke\n"
+"      <n>  = nøgle udløber om n dage\n"
+"      <n>w = nøgle udløber om n uger\n"
+"      <n>m = nøgle udløber om n måneder\n"
+"      <n>y = nøgle udløber om n år\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4546,64 +4501,71 @@ msgid ""
 "      <n>m = signature expires in n months\n"
 "      <n>y = signature expires in n years\n"
 msgstr ""
+"Angiv i hvor lang tid underskriften skal være gyldig.\n"
+"         0 = underskriften udløber ikke\n"
+"      <n>  = underskriften udløber om n dage\n"
+"      <n>w = underskriften udløber om n uger\n"
+"      <n>m = underskriften udløber om n måneder\n"
+"      <n>y = underskriften udløber om n år\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
-msgstr "Nøgle er gyldig for? (0) "
+msgstr "Nøgle er gyldig for? (0) "
 
-#: g10/keygen.c:1964
-#, fuzzy, c-format
+#: g10/keygen.c:1971
+#, c-format
 msgid "Signature is valid for? (%s) "
-msgstr "Nøgle er gyldig for? (0) "
+msgstr "Underskrift er gyldig for? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
-msgstr "ugyldig værdi\n"
+msgstr "ugyldig værdi\n"
 
-#: g10/keygen.c:1989
-#, fuzzy
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
-msgstr "Nøglen udløber aldrig\n"
+msgstr "Nøglen udløber aldrig\n"
 
-#: g10/keygen.c:1990
-#, fuzzy
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
-msgstr "Nøglen udløber aldrig\n"
+msgstr "Underskriften udløber aldrig\n"
 
-#: g10/keygen.c:1995
-#, fuzzy, c-format
+#: g10/keygen.c:2003
+#, c-format
 msgid "Key expires at %s\n"
-msgstr "Nøgle udløber d. %s\n"
+msgstr "Nøglen udløber den %s\n"
 
-#: g10/keygen.c:1996
-#, fuzzy, c-format
+#: g10/keygen.c:2004
+#, c-format
 msgid "Signature expires at %s\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskriften udløber den %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
+"Dit system kan ikke vise datoer efter 2038.\n"
+"Det vil dog blive korrekt håndteret op til 2106.\n"
 
-# virker j automatisk istedetfor y?
-#: g10/keygen.c:2013
-#, fuzzy
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
-msgstr "Er dette korrekt (j/n)? "
+msgstr "Er dette korrekt? (j/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
 "\n"
 msgstr ""
+"\n"
+"GnuPG skal konstruere et bruger-id for at identificere din nøgle.\n"
+"\n"
 
 #. TRANSLATORS: This string is in general not anymore used
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4612,45 +4574,51 @@ msgid ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 msgstr ""
+"\n"
+"Du skal bruge en bruger-id for at identificere din nøgle; programmet "
+"konstruerer bruger-id'et\n"
+"fra fødselsnavn, kommentar og e-post-adresse i dette format:\n"
+"    »Heinrich Heine (digteren) <heinrichh@duesseldorf.de>«\n"
+"\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
-msgstr "Rigtige navn: "
+msgstr "Fødselsnavn: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ugyldige bogstaver i navn\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
-msgstr "Navn må ikke starte med et tal\n"
+msgstr "Navn må ikke starte med et tal\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
-msgstr "Navn skal være mindst 5 bogstaver langt\n"
+msgstr "Navn skal være mindst 5 bogstaver langt\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
-msgstr "Epostadresse: "
+msgstr "E-post-adresse: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
-msgstr "Ikke en gyldig epostadresse\n"
+msgstr "Ikke en gyldig e-post-adresse\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Kommentar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Ugyldigt tegn i kommentar\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
-msgstr "Du bruger '%s' tegnsættet.\n"
+msgstr "Du bruger tegnsættet »%s«.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4661,13 +4629,13 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
-msgstr ""
+msgstr "Placer ikke e-post-adressen i fødselsnavnet eller kommentaren\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
-msgstr ""
+msgstr "Sådant et bruger-id findes allerede på denne nøgle!\n"
 
 #. TRANSLATORS: These are the allowed answers in
 #. lower and uppercase.  Below you will find the matching
@@ -4680,762 +4648,753 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
-#, fuzzy
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
-msgstr "Ændr (N)avn, (K)ommentar, (E)post eller (O)kay/(Q)vit? "
+msgstr "Ændr (N)avn, (K)ommentar, (E)-post eller afslut(Q)? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
-msgstr "Ændr (N)avn, (K)ommentar, (E)post eller (O)kay/(Q)vit? "
+msgstr "Ændr (N)avn, (K)ommentar, (E)post eller (O)kay/afslut(Q)? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
-msgstr ""
+msgstr "Ret venligst fejlen først\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
+"Du skal bruge en adgangsfrase til at beskytte din hemmelige nøgle.\n"
 "\n"
 
-#: g10/keygen.c:2276
-#, fuzzy
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+"Indtast venligst en adgangsfrase til at beskytte sikkerhedskopien fortaget "
+"uden for kortet af den nye krypteringsnøgle."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
-msgstr ""
+msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
 "using this program with the option \"--edit-key\".\n"
 "\n"
 msgstr ""
+"Du ønsker ikke en adgangsfrase - dette er en *dårlig* ide!\n"
+"Jeg giver dig en alligevel. Du kan ændre din adgangsfrase på\n"
+"ethvert tidspunkt ved at bruge dette program med tilvalget\n"
+"»--edit-key«.\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
+"Vi skal oprette en masse tilfældige byte. Det er en god ide at udføre\n"
+"nogle andre handlinger (tryk på tastaturet, flyt musen, brug diskene)\n"
+"under oprettelse af primtallet; dette giver det vilkårlig\n"
+"taloprettelsesprogram en bedre mulighed for at opnå nok entropi.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
-msgstr "Nøgleoprettelse annulleret.\n"
+msgstr "Nøgleoprettelse annulleret.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
-#, fuzzy, c-format
+#: g10/keygen.c:3449 g10/keygen.c:3619
+#, c-format
 msgid "writing public key to `%s'\n"
-msgstr "skriver offentligt certifikat til '%s'\n"
+msgstr "skriver offentlig nøgle til »%s«\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
-#, fuzzy, c-format
+#: g10/keygen.c:3451 g10/keygen.c:3622
+#, c-format
 msgid "writing secret key stub to `%s'\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "skriver hemmelig nøglestump til »%s«\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
-#, fuzzy, c-format
+#: g10/keygen.c:3454 g10/keygen.c:3625
+#, c-format
 msgid "writing secret key to `%s'\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "skriver hemmelig nøgle til »%s«\n"
 
-#: g10/keygen.c:3598
-#, fuzzy, c-format
+#: g10/keygen.c:3606
+#, c-format
 msgid "no writable public keyring found: %s\n"
-msgstr "nøgle %08lX: offentlig nøgle ikke fundet: %s\n"
+msgstr "ingen skrivbar offentlig nøglering fundet: %s\n"
 
-#: g10/keygen.c:3605
-#, fuzzy, c-format
+#: g10/keygen.c:3613
+#, c-format
 msgid "no writable secret keyring found: %s\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "ingen skrivbar hemmelig nøglering fundet: %s\n"
 
-#: g10/keygen.c:3625
-#, fuzzy, c-format
+#: g10/keygen.c:3633
+#, c-format
 msgid "error writing public keyring `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af offentlig nøglering »%s«: %s\n"
 
-#: g10/keygen.c:3633
-#, fuzzy, c-format
+#: g10/keygen.c:3641
+#, c-format
 msgid "error writing secret keyring `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning af hemmelig nøglering »%s«: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
-msgstr "offentlig og hemmelig nøgle oprettet og signeret.\n"
+msgstr "offentlig og hemmelig nøgle oprettet og underskrevet.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
 msgstr ""
+"Bemærk at denne nøgle ikke kan bruges til kryptering. Du kan bruge\n"
+"kommandoen »--edit-key« til at oprette en undernøgle til dette formål.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
-msgstr ""
+msgstr "Nøgleoprettelse mislykkedes: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
+"nøgle er blevet oprettet %lu sekund i fremtiden (tidsforskydning eller "
+"urproblem)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
+"nøgle er blevet oprettet %lu sekunder i fremtiden (tidsforskydning eller "
+"urproblem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
+"BEMÆRK: Oprettelse af undernøgler for v3-nøgler overholder ikke OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
-#, fuzzy
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
-msgstr "Vil du virkelig oprette?"
+msgstr "Vil du virkelig oprette? (j/N) "
 
-#: g10/keygen.c:4116
-#, fuzzy, c-format
+#: g10/keygen.c:4124
+#, c-format
 msgid "storing key onto card failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "lagring af nøgle på kort mislykkedes: %s\n"
 
-#: g10/keygen.c:4165
-#, fuzzy, c-format
+#: g10/keygen.c:4173
+#, c-format
 msgid "can't create backup file `%s': %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke oprette sikkerhedskopifil »%s«: %s\n"
 
-#: g10/keygen.c:4191
-#, fuzzy, c-format
+#: g10/keygen.c:4199
+#, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
-msgstr "hemmelige nøgler import: %lu\n"
+msgstr "BEMÆRK: sikkerhedskopi af kortnøgle gemt på »%s«\n"
 
 #: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
 msgid "never     "
-msgstr ""
+msgstr "aldrig    "
 
 #: g10/keylist.c:273
-#, fuzzy
 msgid "Critical signature policy: "
-msgstr "%s signatur fra: %s\n"
+msgstr "Kritisk underskriftspolitik: "
 
 #: g10/keylist.c:275
-#, fuzzy
 msgid "Signature policy: "
-msgstr "%s signatur fra: %s\n"
+msgstr "Underskriftspolitik: "
 
 #: g10/keylist.c:314
 msgid "Critical preferred keyserver: "
-msgstr ""
+msgstr "Kritisk foretrukken nøgleserver: "
 
 #: g10/keylist.c:367
 msgid "Critical signature notation: "
-msgstr ""
+msgstr "Kritisk underskriftnotation: "
 
 #: g10/keylist.c:369
 msgid "Signature notation: "
-msgstr ""
+msgstr "Underskriftsnotation: "
 
 #: g10/keylist.c:479
 msgid "Keyring"
-msgstr ""
+msgstr "Nøglering"
 
-#: g10/keylist.c:1526
-#, fuzzy
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
-msgstr "vis nøgle og fingeraftryk"
+msgstr "Primær nøglefingeraftryk:"
 
-#: g10/keylist.c:1528
-#, fuzzy
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
-msgstr "             Fingeraftryk:"
+msgstr "     Undernøglefingeraftryk:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
-#, fuzzy
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
-msgstr "             Fingeraftryk:"
+msgstr "Primær nøglefingeraftryk:"
 
-#: g10/keylist.c:1537
-#, fuzzy
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
-msgstr "             Fingeraftryk:"
+msgstr "  Undernøglefingeraftryk:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
-#, fuzzy
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
-msgstr "             Fingeraftryk:"
+msgstr "    Nøglefingeraftryk ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
-msgstr ""
+msgstr "   Serielnr. for kort ="
 
 #: g10/keyring.c:1297
-#, fuzzy, c-format
+#, c-format
 msgid "renaming `%s' to `%s' failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
 
 #: g10/keyring.c:1326
 msgid "WARNING: 2 files with confidential information exists.\n"
-msgstr ""
+msgstr "ADVARSEL: 2 filer med fortrolig information findes.\n"
 
 #: g10/keyring.c:1327
 #, c-format
 msgid "%s is the unchanged one\n"
-msgstr ""
+msgstr "%s er den uændrede\n"
 
 #: g10/keyring.c:1328
 #, c-format
 msgid "%s is the new one\n"
-msgstr ""
+msgstr "%s er den nye\n"
 
 #: g10/keyring.c:1329
 msgid "Please fix this possible security flaw\n"
-msgstr ""
+msgstr "Ret venligst denne mulige sikkerhedsrisiko\n"
 
 #: g10/keyring.c:1430
-#, fuzzy, c-format
+#, c-format
 msgid "caching keyring `%s'\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "mellemlagrer nøglering »%s«\n"
 
 #: g10/keyring.c:1489
-#, fuzzy, c-format
+#, c-format
 msgid "%lu keys cached so far (%lu signatures)\n"
-msgstr "vis nøgler og signaturer"
+msgstr "%lu nøgler mellemlagret indtil nu (%lu underskrifter)\n"
 
 #: g10/keyring.c:1501
-#, fuzzy, c-format
+#, c-format
 msgid "%lu keys cached (%lu signatures)\n"
-msgstr "vis nøgler og signaturer"
+msgstr "%lu nøgler mellemlagret (%lu underskrifter)\n"
 
 #: g10/keyring.c:1573
 #, c-format
 msgid "%s: keyring created\n"
-msgstr ""
+msgstr "%s: nøglering oprettet\n"
 
 #: g10/keyserver.c:74
 msgid "include revoked keys in search results"
-msgstr ""
+msgstr "inkluder tilbagekaldte nøgler i søgeresultater"
 
 #: g10/keyserver.c:75
 msgid "include subkeys when searching by key ID"
-msgstr ""
+msgstr "inkluder undernøgler når der søges efter nøgle-id"
 
 #: g10/keyserver.c:77
 msgid "use temporary files to pass data to keyserver helpers"
-msgstr ""
+msgstr "brug midlertidige filer til at sende data til nøgleserverhjælpere"
 
 #: g10/keyserver.c:79
 msgid "do not delete temporary files after using them"
-msgstr ""
+msgstr "slet ikke midlertidige filer efter at de er blevet brugt"
 
 #: g10/keyserver.c:83
 msgid "automatically retrieve keys when verifying signatures"
-msgstr ""
+msgstr "hent automatisk nøgler når der verificeres underskrifter"
 
 #: g10/keyserver.c:85
-#, fuzzy
 msgid "honor the preferred keyserver URL set on the key"
-msgstr "den givne politik-URL er ugyldig\n"
+msgstr "overhold den foretrukne nøglerserveradresse angivet på nøglen"
 
 #: g10/keyserver.c:87
 msgid "honor the PKA record set on a key when retrieving keys"
-msgstr ""
+msgstr "overhold PKA-posten angivet på en nøgle når der hentes nøgler"
 
 #: g10/keyserver.c:153
 #, c-format
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
-msgstr ""
+msgstr "ADVARSEL: nøgleserverindstilling »%s« bruges ikke på denne platform\n"
 
-#: g10/keyserver.c:544
-#, fuzzy
+#: g10/keyserver.c:551
 msgid "disabled"
-msgstr "slåfra"
+msgstr "deaktiveret"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
-msgstr ""
+msgstr "Indtal tal, N)æste eller Q) for Afslut > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
-#, fuzzy, c-format
+#: g10/keyserver.c:838 g10/keyserver.c:1546
+#, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
-msgstr "ugyldig nøglering"
+msgstr "ugyldig nøgleserverprotokol (os %d!=håndtag %d)\n"
 
-#: g10/keyserver.c:932
-#, fuzzy, c-format
+#: g10/keyserver.c:939
+#, c-format
 msgid "key \"%s\" not found on keyserver\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "nøgle »%s« blev ikke fundet på nøgleserver\n"
 
-#: g10/keyserver.c:934
-#, fuzzy
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "nøgle blev ikke fundet på nøgleserver\n"
 
-#: g10/keyserver.c:1177
-#, fuzzy, c-format
+#: g10/keyserver.c:1265
+#, c-format
 msgid "requesting key %s from %s server %s\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "anmoder om nøgle %s fra %s server %s\n"
 
-#: g10/keyserver.c:1181
-#, fuzzy, c-format
+#: g10/keyserver.c:1269
+#, c-format
 msgid "requesting key %s from %s\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "anmoder om nøgle %s fra %s\n"
 
-#: g10/keyserver.c:1205
-#, fuzzy, c-format
+#: g10/keyserver.c:1293
+#, c-format
 msgid "searching for names from %s server %s\n"
-msgstr "eksportér nøgler til en nøgletjener"
+msgstr "søger efter navne fra %s server %s\n"
 
-#: g10/keyserver.c:1208
-#, fuzzy, c-format
+#: g10/keyserver.c:1296
+#, c-format
 msgid "searching for names from %s\n"
-msgstr "læser indstillinger fra `%s'\n"
+msgstr "søger efter navne fra %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
-msgstr ""
+msgstr "sender nøgle %s til %s server %s\n"
 
-#: g10/keyserver.c:1365
-#, fuzzy, c-format
+#: g10/keyserver.c:1453
+#, c-format
 msgid "sending key %s to %s\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "sender nøgle %s til %s\n"
 
-#: g10/keyserver.c:1408
-#, fuzzy, c-format
+#: g10/keyserver.c:1496
+#, c-format
 msgid "searching for \"%s\" from %s server %s\n"
-msgstr "eksportér nøgler til en nøgletjener"
+msgstr "søger efter »%s« fra %s server %s\n"
 
-#: g10/keyserver.c:1411
-#, fuzzy, c-format
+#: g10/keyserver.c:1499
+#, c-format
 msgid "searching for \"%s\" from %s\n"
-msgstr "læser indstillinger fra `%s'\n"
+msgstr "søger efter »%s« fra %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
-#, fuzzy
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
-msgstr "ugyldig nøglering"
+msgstr "ingen nøgleserverhandling!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
-msgstr ""
+msgstr "ADVARSEL: nøgleserverhåndtering fra en anden version af GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
-msgstr ""
+msgstr "nøgleserver sendte ikke VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
+msgstr "ingen kendt nøgleserver (brug tilvalget --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
-msgstr ""
+msgstr "eksterne nøgleserverkald er ikke understøttet i denne bygning\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
-msgstr ""
+msgstr "ingen håndtering for nøgleserverskema »%s«\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
-msgstr ""
+msgstr "handling »%s« er ikke understøttet med nøgleserverskema »%s«\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
-msgstr ""
+msgstr "%s understøtter ikke håndteringsversion %d\n"
 
-#: g10/keyserver.c:1575
-#, fuzzy
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
-msgstr "generel fejl"
+msgstr "nøgleserver fik tidsudløb\n"
 
-#: g10/keyserver.c:1580
-#, fuzzy
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
-msgstr "generel fejl"
+msgstr "nøgleserver fik intern fejl\n"
 
-#: g10/keyserver.c:1589
-#, fuzzy, c-format
+#: g10/keyserver.c:1686
+#, c-format
 msgid "keyserver communications error: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "kommunikationsfejl for nøgleserver: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
-#, fuzzy, c-format
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
+#, c-format
 msgid "\"%s\" not a key ID: skipping\n"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "»%s« er ikke et nøgle-id: udelader\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
-msgstr ""
+msgstr "ADVARSEL: Kan ikke opdatere nøgle %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
-#, fuzzy, c-format
+#: g10/keyserver.c:2031
+#, c-format
 msgid "refreshing 1 key from %s\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "opdaterer 1 nøgle fra %s\n"
 
-#: g10/keyserver.c:1931
-#, fuzzy, c-format
+#: g10/keyserver.c:2033
+#, c-format
 msgid "refreshing %d keys from %s\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "opdaterer %d nøgler fra %s\n"
 
-#: g10/keyserver.c:1987
-#, fuzzy, c-format
+#: g10/keyserver.c:2089
+#, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "ADVARSEL: kan ikke hente URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
-msgstr ""
+msgstr "ADVARSEL: kan ikke fortolke URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
-msgstr ""
+msgstr "underlig størrelse for en krypteret sessionsnøgle (%d)\n"
 
-#: g10/mainproc.c:284
-#, fuzzy, c-format
+#: g10/mainproc.c:295
+#, c-format
 msgid "%s encrypted session key\n"
-msgstr "%s/%s krypteret for: %s\n"
+msgstr "%s krypteret sessionsnøgle\n"
 
-#: g10/mainproc.c:294
-#, fuzzy, c-format
+#: g10/mainproc.c:305
+#, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
-msgstr "ukendt cifferalgoritme "
+msgstr "adgangsfrase oprettet med ukendt sammendragsalgoritme %d\n"
 
-#: g10/mainproc.c:360
-#, fuzzy, c-format
+#: g10/mainproc.c:371
+#, c-format
 msgid "public key is %s\n"
-msgstr "Offentlig nøgle er slået fra.\n"
+msgstr "offentlig nøgle er %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
-msgstr ""
+msgstr "krypterede data for offentlig nøgle: god DEK\n"
 
-#: g10/mainproc.c:456
-#, fuzzy, c-format
+#: g10/mainproc.c:467
+#, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
-msgstr "Gentag kodesætning: "
+msgstr "krypteret med %u-bit %s nøgle, id %s, oprettet %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
-#, fuzzy, c-format
+#: g10/mainproc.c:471 g10/pkclist.c:217
+#, c-format
 msgid "      \"%s\"\n"
-msgstr "              alias \""
+msgstr "      »%s«\n"
 
-#: g10/mainproc.c:464
-#, fuzzy, c-format
+#: g10/mainproc.c:475
+#, c-format
 msgid "encrypted with %s key, ID %s\n"
-msgstr "Gentag kodesætning: "
+msgstr "krypteret med %s nøgle, id %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
-msgstr ""
+msgstr "afkryptering af offentlig nøgle mislykkedes: %s\n"
 
-#: g10/mainproc.c:495
-#, fuzzy, c-format
+#: g10/mainproc.c:506
+#, c-format
 msgid "encrypted with %lu passphrases\n"
-msgstr "Gentag kodesætning: "
+msgstr "krypteret med %lu adgangsfraser\n"
 
-#: g10/mainproc.c:497
-#, fuzzy
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
-msgstr "Gentag kodesætning: "
+msgstr "krypteret med 1 adgangsfrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
-#, fuzzy, c-format
+#: g10/mainproc.c:540 g10/mainproc.c:562
+#, c-format
 msgid "assuming %s encrypted data\n"
-msgstr "kryptér data"
+msgstr "antager %s krypterede data\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
+"IDEA-chiffer utilgængelig, forsøger optimistisk at bruge %s i stedet for\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
-msgstr ""
+msgstr "afkryptering okay\n"
 
-#: g10/mainproc.c:574
-#, fuzzy
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
-msgstr "ADVARSEL: intet blev eksporteret\n"
+msgstr "ADVARSEL: besked var ikke integritetsbeskyttet\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
-msgstr ""
+msgstr "ADVARSEL: krypteret besked er blevet manipuleret!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
-msgstr ""
+msgstr "ryddet adgangsfrase mellemlagret med id: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
-msgstr ""
+msgstr "afkryptering mislykkedes: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
-msgstr ""
+msgstr "BEMÆRK: afsender anmodte om »for-your-eyes-only«\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
-msgstr ""
+msgstr "oprindeligt filnavn=»%.*s«\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
-msgstr ""
+msgstr "ADVARSEL: flere klartekster set\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
-msgstr ""
+msgstr "uafhængig tilbagekald - brug »gpg --import« for at anvende\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
-#, fuzzy
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
-msgstr "God signatur fra \""
+msgstr "ingen underskrift fundet\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
-msgstr ""
+msgstr "underskriftverificering undertrykt\n"
 
-#: g10/mainproc.c:1587
-#, fuzzy
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
-msgstr "opret en separat signatur"
+msgstr "kan ikke håndtere disse tvetydige underskriftdata\n"
 
-#: g10/mainproc.c:1598
-#, fuzzy, c-format
+#: g10/mainproc.c:1606
+#, c-format
 msgid "Signature made %s\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift lavet %s\n"
 
-#: g10/mainproc.c:1599
-#, fuzzy, c-format
+#: g10/mainproc.c:1607
+#, c-format
 msgid "               using %s key %s\n"
-msgstr "              alias \""
+msgstr "               bruger %s nøgle %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
-msgstr ""
+msgstr "Underskrift lavet %s med %s nøgle-id %s\n"
 
-#: g10/mainproc.c:1623
-#, fuzzy
+#: g10/mainproc.c:1631
 msgid "Key available at: "
-msgstr "Ingen hjælp tilgængelig"
+msgstr "Nøgle tilgængelig på: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
-#, fuzzy, c-format
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
+#, c-format
 msgid "BAD signature from \"%s\""
-msgstr "DÅRLIG signatur fra \""
+msgstr "UGYLDIG underskrift fra »%s«"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
-#, fuzzy, c-format
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
+#, c-format
 msgid "Expired signature from \"%s\""
-msgstr "God signatur fra \""
+msgstr "Udløbet underskrift fra »%s«"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
-#, fuzzy, c-format
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
+#, c-format
 msgid "Good signature from \"%s\""
-msgstr "God signatur fra \""
+msgstr "God underskrift fra »%s«"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
-msgstr ""
+msgstr "[usikker]"
 
-#: g10/mainproc.c:1843
-#, fuzzy, c-format
+#: g10/mainproc.c:1851
+#, c-format
 msgid "                aka \"%s\""
-msgstr "              alias \""
+msgstr "       også kendt som »%s«"
 
-#: g10/mainproc.c:1941
-#, fuzzy, c-format
+#: g10/mainproc.c:1949
+#, c-format
 msgid "Signature expired %s\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift udløbet %s\n"
 
-#: g10/mainproc.c:1946
-#, fuzzy, c-format
+#: g10/mainproc.c:1954
+#, c-format
 msgid "Signature expires %s\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift udløber %s\n"
 
-#: g10/mainproc.c:1949
-#, fuzzy, c-format
+#: g10/mainproc.c:1957
+#, c-format
 msgid "%s signature, digest algorithm %s\n"
-msgstr "%s signatur fra: %s\n"
+msgstr "%s underskrift, sammendragsalgoritme %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
-msgstr ""
+msgstr "binær"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
-msgstr ""
+msgstr "tekstilstand"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
-#, fuzzy
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
-msgstr "ukendt version"
+msgstr "ukendt"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "Kan ikke kontrollere underskrift: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
-#, fuzzy
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
-msgstr "opret en separat signatur"
+msgstr "ikke en frakoblet underskrift\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
+"ADVARSEL: flere underskrifter detekteret. Kun den første vil blive "
+"kontrolleret.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
-msgstr ""
+msgstr "uafhængig underskrift for klasse 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
-msgstr "gammeldags (PGP 2.x) signatur\n"
+msgstr "gammeldags (PGP 2.x) underskrift\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
-msgstr ""
+msgstr "ugyldig rodpakke detekteret i proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
-#, fuzzy, c-format
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
+#, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "fstat for »%s« mislykkedes i %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
-msgstr ""
+msgstr "fstat(%d) mislykkedes i %s: %s\n"
 
-#: g10/misc.c:296
-#, fuzzy, c-format
+#: g10/misc.c:299
+#, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
-msgstr "nøgle %08lX: offentlig nøgle ikke fundet: %s\n"
+msgstr "ADVARSEL: bruger eksperimentel offentlig nøglealgoritme %s\n"
 
-#: g10/misc.c:302
-#, fuzzy
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: Elgamalnøgler for underskriv+krypter er forældede\n"
 
-#: g10/misc.c:315
-#, fuzzy, c-format
+#: g10/misc.c:318
+#, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
-msgstr "uimplementeret cifferalgoritme"
+msgstr "ADVARSEL: bruger eksperimentel chifferalgoritme %s\n"
 
-#: g10/misc.c:330
-#, fuzzy, c-format
+#: g10/misc.c:333
+#, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
-msgstr "%s signatur fra: %s\n"
+msgstr "ADVARSEL: bruger eksperimentel sammendragsalgoritme %s\n"
 
-#: g10/misc.c:335
-#, fuzzy, c-format
+#: g10/misc.c:338
+#, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: sammendragsalgoritme %s er forældet\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
-msgstr ""
+msgstr "udvidelsesmodulet for IDEA-chifret er ikke til stede\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
-#, fuzzy, c-format
+#: g10/misc.c:549 g10/sig-check.c:107
+#, c-format
 msgid "please see %s for more information\n"
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "se venligst %s for yderligere information\n"
 
-#: g10/misc.c:761
-#, fuzzy, c-format
+#: g10/misc.c:823
+#, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "%s:%d: forældet indstilling »%s«\n"
 
-#: g10/misc.c:765
-#, fuzzy, c-format
+#: g10/misc.c:827
+#, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: »%s« er en forældet indstilling\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
-msgstr ""
+msgstr "brug venligst »%s%s« i stedet for\n"
 
-#: g10/misc.c:774
-#, fuzzy, c-format
+#: g10/misc.c:836
+#, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: »%s« er en forældet kommando - brug den ikke\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
-msgstr ""
+msgstr "%s:%u: forældet indstilling »%s« - den har ingen effekt\n"
 
-#: g10/misc.c:787
-#, fuzzy, c-format
+#: g10/misc.c:849
+#, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
-msgstr "ADVARSEL: '%s' er en tom fil\n"
+msgstr "ADVARSEL: »%s« er en forældet indstilling - den har ingen effekt\n"
 
-#: g10/misc.c:848
-#, fuzzy
+#: g10/misc.c:910
 msgid "Uncompressed"
-msgstr "ikke bearbejdet"
+msgstr "Ukomprimeret"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
-#, fuzzy
+#: g10/misc.c:935
 msgid "uncompressed|none"
-msgstr "ikke bearbejdet"
+msgstr "ukomprimeret|ingen"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
-msgstr ""
+msgstr "denne besked kan nok ikke bruges af %s\n"
 
-#: g10/misc.c:1175
-#, fuzzy, c-format
+#: g10/misc.c:1237
+#, c-format
 msgid "ambiguous option `%s'\n"
-msgstr "læser indstillinger fra `%s'\n"
+msgstr "tvetydigt tilvalg »%s«\n"
 
-#: g10/misc.c:1200
-#, fuzzy, c-format
+#: g10/misc.c:1262
+#, c-format
 msgid "unknown option `%s'\n"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "ukendt tilvalg »%s«\n"
 
 #: g10/openfile.c:89
 #, c-format
 msgid "File `%s' exists. "
-msgstr "Fil `%s' eksisterer. "
+msgstr "Filen »%s« findes. "
 
 #: g10/openfile.c:93
-#, fuzzy
 msgid "Overwrite? (y/N) "
-msgstr "Overskriv (j/N)? "
+msgstr "Overskriv? (j/N) "
 
 #: g10/openfile.c:126
 #, c-format
@@ -5453,44 +5412,45 @@ msgstr "skriver til stdout\n"
 #: g10/openfile.c:316
 #, c-format
 msgid "assuming signed data in `%s'\n"
-msgstr ""
+msgstr "antager underskrevne data i »%s«\n"
 
 #: g10/openfile.c:395
 #, c-format
 msgid "new configuration file `%s' created\n"
-msgstr ""
+msgstr "ny konfigurationsfil »%s« oprettet\n"
 
 #: g10/openfile.c:397
 #, c-format
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
+"ADVARSEL: indstillinger i »%s« er endnu ikke aktive under denne kørsel\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
-msgstr ""
+msgstr "kan ikke håndtere offentlig nøglealgoritme %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
-msgstr ""
+msgstr "ADVARSEL: potentiel usikker symmetrisk krypteret sessionsnøgle\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
-msgstr ""
+msgstr "underpakke af typen %d har kritiske bitsæt\n"
 
 #: g10/passphrase.c:75 g10/passphrase.c:418 g10/passphrase.c:481
 #, c-format
 msgid "problem with the agent: %s\n"
-msgstr ""
+msgstr "problem med agenten: %s\n"
 
 #: g10/passphrase.c:344 g10/passphrase.c:613
-#, fuzzy, c-format
+#, c-format
 msgid " (main key ID %s)"
-msgstr " (hovednøgle-ID %08lX)"
+msgstr " (hovednøgle-id %s)"
 
 #: g10/passphrase.c:358
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the OpenPGP "
 "certificate:\n"
@@ -5498,38 +5458,40 @@ msgid ""
 "%u-bit %s key, ID %s,\n"
 "created %s%s.\n"
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+"Indtast venligst adgangsfrasen til at åbne den hemmelige nøgle for OpenPGP-"
+"certifikatet:\n"
+"\"%.*s\"\n"
+"%u-bit %s nøgle, id %s,\n"
+"oprettet %s%s.\n"
 
 #: g10/passphrase.c:384
-#, fuzzy
 msgid "Enter passphrase\n"
-msgstr "Indtast kodesætning: "
+msgstr "Indtast adgangsfrase\n"
 
 #: g10/passphrase.c:412
 msgid "cancelled by user\n"
-msgstr ""
+msgstr "afbrudt af bruger\n"
 
 #: g10/passphrase.c:592
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "You need a passphrase to unlock the secret key for\n"
 "user: \"%s\"\n"
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+"Du skal bruge en adgangsfrase til at åbne den hemmelige\n"
+"nøgle for bruger: »%s«\n"
 
 #: g10/passphrase.c:600
 #, c-format
 msgid "%u-bit %s key, ID %s, created %s"
-msgstr ""
+msgstr "%u-bit %s nøgle, id %s, oprettet %s"
 
 #: g10/passphrase.c:609
 #, c-format
 msgid "         (subkey on main key ID %s)"
-msgstr ""
+msgstr "         (undernøgle på hovednøgle-id %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5537,123 +5499,128 @@ msgid ""
 "very large picture, your key will become very large as well!\n"
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
+"\n"
+"Vælg et billede til brug for dit billed-id. Billedet skal være en JPEG-fil.\n"
+"Husk at billedet gemmes i din offentlige nøgle. Hvis du bruger et meget\n"
+"stort billede, vil din nøgle også blive meget stor!\n"
+"En billede på 240x288 er en god størrelse.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
-msgstr ""
+msgstr "Indtast JPEG-filnavn for billed-id: "
 
-#: g10/photoid.c:117
-#, fuzzy, c-format
+#: g10/photoid.c:120
+#, c-format
 msgid "unable to open JPEG file `%s': %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke åbne JPEG-fil »%s«: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
-msgstr ""
+msgstr "Denne JPEG er virkelig stor (%d byte) !\n"
 
-#: g10/photoid.c:130
-#, fuzzy
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
-msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
+msgstr "Er du sikker på, at du vil benytte billedet (j/N) "
 
-#: g10/photoid.c:146
-#, fuzzy, c-format
+#: g10/photoid.c:149
+#, c-format
 msgid "`%s' is not a JPEG file\n"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "»%s« er ikke en JPEG-fil\n"
 
-# virker j automatisk istedetfor y?
-#: g10/photoid.c:165
-#, fuzzy
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
-msgstr "Er dette korrekt (j/n)? "
+msgstr "Er dette billede korrekt (j/N/a)? "
 
-#: g10/photoid.c:373
-#, fuzzy
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke vise billed-id!\n"
 
 #: g10/pkclist.c:60 g10/revoke.c:621
 msgid "No reason specified"
-msgstr ""
+msgstr "Ingen årsag angivet"
 
 #: g10/pkclist.c:62 g10/revoke.c:623
-#, fuzzy
 msgid "Key is superseded"
-msgstr "Nøglen er beskyttet.\n"
+msgstr "Nøglen er blevet afløst"
 
 #: g10/pkclist.c:64 g10/revoke.c:622
 msgid "Key has been compromised"
-msgstr ""
+msgstr "Nøglen er blevet komprimeret"
 
 #: g10/pkclist.c:66 g10/revoke.c:624
 msgid "Key is no longer used"
-msgstr ""
+msgstr "Nøglen bruges ikke længere"
 
 #: g10/pkclist.c:68 g10/revoke.c:625
 msgid "User ID is no longer valid"
-msgstr ""
+msgstr "Bruger-id er ikke længere gyldigt"
 
 #: g10/pkclist.c:72
-#, fuzzy
 msgid "reason for revocation: "
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "årsag for tilbagekald: "
 
 #: g10/pkclist.c:89
 msgid "revocation comment: "
-msgstr ""
+msgstr "tilbagekaldskommentar: "
 
+# ikke helt klart hvad de her forkortelser står for
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
-msgstr ""
+msgstr "iImMqQsS"
 
 #: g10/pkclist.c:212
-#, fuzzy
 msgid "No trust value assigned to:\n"
-msgstr ""
-"Ingen tillidsværdi tildelt til %lu:\n"
-"%4u%c/%08lX %s \""
+msgstr "Ingen tillidsværdi tildelt til:\n"
 
 #: g10/pkclist.c:245
-#, fuzzy, c-format
+#, c-format
 msgid "  aka \"%s\"\n"
-msgstr "              alias \""
+msgstr "  også kendt som »%s«\n"
 
 #: g10/pkclist.c:255
-#, fuzzy
 msgid ""
 "How much do you trust that this key actually belongs to the named user?\n"
-msgstr "Denne nøgle tilhører sikkert ejeren\n"
+msgstr ""
+"Hvor stor er din tillid til at denne nøgle rent faktisk tilhører den "
+"navngivne ejer?\n"
 
 #: g10/pkclist.c:270
 #, c-format
 msgid "  %d = I don't know or won't say\n"
-msgstr ""
+msgstr "  %d = Jeg ved det ikke eller vil ikke sige det\n"
 
 #: g10/pkclist.c:272
-#, fuzzy, c-format
+#, c-format
 msgid "  %d = I do NOT trust\n"
-msgstr "%08lX: Vi stoler IKKE på denne nøgle\n"
+msgstr "  %d = Jeg stoler IKKE på denne nøgle\n"
 
 #: g10/pkclist.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "  %d = I trust ultimately\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "  %d = Jeg stoler fuldstændig på denne nøgle\n"
 
 #: g10/pkclist.c:284
-#, fuzzy
 msgid "  m = back to the main menu\n"
-msgstr " m = tilbage til hovedmenu\n"
+msgstr "  h = tilbage til hovedmenuen\n"
 
 #: g10/pkclist.c:287
-#, fuzzy
 msgid "  s = skip this key\n"
-msgstr "%s: udelod: %s\n"
+msgstr "  s = udelad denne nøgle\n"
 
 #: g10/pkclist.c:288
-#, fuzzy
 msgid "  q = quit\n"
-msgstr " q = afslut\n"
+msgstr "  a = afslut\n"
 
 #: g10/pkclist.c:292
 #, c-format
@@ -5661,38 +5628,41 @@ msgid ""
 "The minimum trust level for this key is: %s\n"
 "\n"
 msgstr ""
+"Minimumstroværdighedsniveau for denne nøgle er: %s\n"
+"\n"
 
 #: g10/pkclist.c:298 g10/revoke.c:650
 msgid "Your decision? "
 msgstr "Dit valg? "
 
 #: g10/pkclist.c:319
-#, fuzzy
 msgid "Do you really want to set this key to ultimate trust? (y/N) "
-msgstr "Vil du virkelig gerne gøre dette?"
+msgstr "Vil du virkelig gerne give denne nøgle ultimativ troværdighed? (j/N) "
 
 #: g10/pkclist.c:333
 msgid "Certificates leading to an ultimately trusted key:\n"
-msgstr ""
+msgstr "Certifikater der fører til en ultimativ troværdig nøgle:\n"
 
 #: g10/pkclist.c:418
-#, fuzzy, c-format
+#, c-format
 msgid "%s: There is no assurance this key belongs to the named user\n"
-msgstr "         Intet tyder på at denne signatur tilhører ejeren.\n"
+msgstr ""
+"%s: Der er ingen garanti for, at denne nøgle tilhører den navngivne bruger\n"
 
 #: g10/pkclist.c:423
-#, fuzzy, c-format
+#, c-format
 msgid "%s: There is limited assurance this key belongs to the named user\n"
-msgstr "         Intet tyder på at denne signatur tilhører ejeren.\n"
+msgstr ""
+"%s: Der er begrænset garanti for, at denne nøgle tilhører den navngivne "
+"bruger\n"
 
 #: g10/pkclist.c:429
-#, fuzzy
 msgid "This key probably belongs to the named user\n"
-msgstr "Denne nøgle tilhører sikkert ejeren\n"
+msgstr "Denne nøgle tilhører sikkert den navngivne bruger\n"
 
 #: g10/pkclist.c:434
 msgid "This key belongs to us\n"
-msgstr "Denne nøgle tilhører os\n"
+msgstr "Denne nøgle tilhører os\n"
 
 #: g10/pkclist.c:460
 msgid ""
@@ -5700,78 +5670,83 @@ msgid ""
 "in the user ID.  If you *really* know what you are doing,\n"
 "you may answer the next question with yes.\n"
 msgstr ""
+"Det er IKKE sikkert, at nøglen tilhører personen navngivet\n"
+"i bruger-id'et. Hvis du *virkelig* ved hvad du gør,\n"
+"så kan du besvare det næste spørgsmål med ja.\n"
 
 #: g10/pkclist.c:479
-#, fuzzy
 msgid "Use this key anyway? (y/N) "
-msgstr "Brug denne nøgle alligevel? "
+msgstr "Brug denne nøgle alligevel? (j/N) "
 
 #: g10/pkclist.c:513
 msgid "WARNING: Using untrusted key!\n"
-msgstr "ADVARSEL: Bruger nøgle uden tillid!\n"
+msgstr "ADVARSEL: Bruger nøgle uden troværdighed!\n"
 
 #: g10/pkclist.c:520
-#, fuzzy
 msgid "WARNING: this key might be revoked (revocation key not present)\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr ""
+"ADVARSEL: Denne nøgle kan tilbagekaldes (tilbagekaldsnøgle er ikke til "
+"stede)\n"
 
 #: g10/pkclist.c:529
-#, fuzzy
 msgid "WARNING: This key has been revoked by its designated revoker!\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr ""
+"ADVARSEL: Denne nøgle er blevet tilbagekaldt af dens designmæssige "
+"tilbagekalder!\n"
 
 #: g10/pkclist.c:532
 msgid "WARNING: This key has been revoked by its owner!\n"
-msgstr "ADVARSEL: Denne nøgle er blevet annulleret af dets ejer!\n"
+msgstr "ADVARSEL: Denne nøgle er blevet tilbagekaldt af dets ejer!\n"
 
 #: g10/pkclist.c:533
-#, fuzzy
 msgid "         This could mean that the signature is forged.\n"
-msgstr "         Dette kan betyde at signaturen er forfalsket.\n"
+msgstr "         Dette kan betyde at underskriften er forfalsket.\n"
 
 #: g10/pkclist.c:539
 msgid "WARNING: This subkey has been revoked by its owner!\n"
-msgstr "ADVARSEL: Denne undernøgle er blevet tilbagekaldt af dens ejer!\n"
+msgstr "ADVARSEL: Denne undernøgle er blevet tilbagekaldt af dens ejer!\n"
 
 #: g10/pkclist.c:544
-#, fuzzy
 msgid "Note: This key has been disabled.\n"
-msgstr "Bemærk: Denne nøgle er forældet!\n"
+msgstr "Bemærk: Denne nøgle er blevet deaktiveret.\n"
 
 #: g10/pkclist.c:564
 #, c-format
 msgid "Note: Verified signer's address is `%s'\n"
-msgstr ""
+msgstr "Bemærk: Verificeret underskriftsejers adresse er »%s«\n"
 
 #: g10/pkclist.c:571
 #, c-format
 msgid "Note: Signer's address `%s' does not match DNS entry\n"
-msgstr ""
+msgstr "Bemærk: Underskriftejers adresse »%s« matcher ikke DNS-post\n"
 
 #: g10/pkclist.c:583
 msgid "trustlevel adjusted to FULL due to valid PKA info\n"
 msgstr ""
+"troværdighedsniveau justeret til FULL på grund af gyldig PKA-information\n"
 
 #: g10/pkclist.c:591
 msgid "trustlevel adjusted to NEVER due to bad PKA info\n"
 msgstr ""
+"troværdighedsniveau justeret til NEVER på grund af ugyldig PKA-information\n"
 
 #: g10/pkclist.c:602
 msgid "Note: This key has expired!\n"
-msgstr "Bemærk: Denne nøgle er forældet!\n"
+msgstr "Bemærk: Denne nøgle er forældet!\n"
 
 #: g10/pkclist.c:613
 msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgstr ""
+"ADVARSEL: Denne nøgle er ikke certificeret med en troværdig underskrift!\n"
 
 #: g10/pkclist.c:615
 msgid ""
 "         There is no indication that the signature belongs to the owner.\n"
-msgstr "         Intet tyder på at denne signatur tilhører ejeren.\n"
+msgstr "         Intet tyder på at denne signatur tilhører ejeren.\n"
 
 #: g10/pkclist.c:623
 msgid "WARNING: We do NOT trust this key!\n"
-msgstr "ADVARSEL: Vi tror IKKE på denne nøgle!\n"
+msgstr "ADVARSEL: Vi tror IKKE på denne nøgle!\n"
 
 #: g10/pkclist.c:624
 msgid "         The signature is probably a FORGERY.\n"
@@ -5781,213 +5756,207 @@ msgstr "         Signaturen er formentlig FORFALSKET.\n"
 msgid ""
 "WARNING: This key is not certified with sufficiently trusted signatures!\n"
 msgstr ""
+"ADVARSEL: Denne nøgle er ikke certificeret med tilstrækkelig troværdige "
+"underskrifter!\n"
 
 #: g10/pkclist.c:634
 msgid "         It is not certain that the signature belongs to the owner.\n"
-msgstr "         Det er ikke sikkert at signaturen tilhører ejeren.\n"
+msgstr "         Det er ikke sikkert at signaturen tilhører ejeren.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: udelod: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
-msgstr "%s: udelod: offentlig nøgle er allerede tilstede\n"
+msgstr "%s: udelod: offentlig nøgle er allerede til stede\n"
 
-#: g10/pkclist.c:896
-#, fuzzy
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
-msgstr ""
-"Du angav ikke en bruger-id. (du kan bruge \"-r\")\n"
-"\n"
+msgstr "Du angav ikke et bruger-id. (du kan bruge »-r«)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
-msgstr ""
+msgstr "Aktuelle modtagere:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
+"\n"
+"Indtast bruger-id'et. Slut med en tom linje: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
-msgstr "Ingen sådan bruger-id.\n"
+msgstr "Ingen sådan bruger-id.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
-msgstr "udeladt: offentlig nøgle er allerede valgt som standard modtager\n"
+msgstr "udeladt: offentlig nøgle er allerede valgt som standardmodtager\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
-msgstr "Offentlig nøgle er slået fra.\n"
+msgstr "Offentlig nøgle er slået fra.\n"
 
-#: g10/pkclist.c:1010
-#, fuzzy
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
-msgstr "%s: udelod: offentlig nøgle er allerede tilstede\n"
+msgstr "udelod: offentlig nøgle er allerede angivet\n"
 
-#: g10/pkclist.c:1045
-#, fuzzy, c-format
+#: g10/pkclist.c:1050
+#, c-format
 msgid "unknown default recipient \"%s\"\n"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "ukendt standardmodtager »%s«\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
-msgstr "%s: udelod: offentlignøgle er slået fra\n"
+msgstr "%s: udelod: offentlig nøgle er slået fra\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "ingen gyldige adresser\n"
 
-#: g10/pkclist.c:1503
-#, fuzzy, c-format
+#: g10/pkclist.c:1513
+#, c-format
 msgid "Note: key %s has no %s feature\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "Bemærk: nøgle %s har ingen %s-funktion\n"
 
-#: g10/pkclist.c:1528
-#, fuzzy, c-format
+#: g10/pkclist.c:1538
+#, c-format
 msgid "Note: key %s has no preference for %s\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "Bemærk: nøgle %s har ingen præference for %s\n"
 
 #: g10/plaintext.c:95
 msgid "data not saved; use option \"--output\" to save it\n"
-msgstr ""
+msgstr "data ej gemt; brug tilvalg »--output« for at gemme\n"
 
 #: g10/plaintext.c:480
 msgid "Detached signature.\n"
-msgstr ""
+msgstr "Frakoblet underskrift.\n"
 
 #: g10/plaintext.c:487
 msgid "Please enter name of data file: "
-msgstr ""
+msgstr "Indtast navn for datafil: "
 
 #: g10/plaintext.c:519
 msgid "reading stdin ...\n"
-msgstr "læser stdin ...\n"
+msgstr "læser stdin ...\n"
 
 #: g10/plaintext.c:557
 msgid "no signed data\n"
-msgstr ""
+msgstr "ingen underskrevne data\n"
 
 #: g10/plaintext.c:573
 #, c-format
 msgid "can't open signed data `%s'\n"
-msgstr ""
+msgstr "kan ikke åbne underskrevne data »%s«\n"
 
 #: g10/plaintext.c:607
-#, fuzzy, c-format
+#, c-format
 msgid "can't open signed data fd=%d: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kan ikke åbne underskrevne data fd=%d: %s\n"
 
 #: g10/pubkey-enc.c:105
 #, c-format
 msgid "anonymous recipient; trying secret key %s ...\n"
-msgstr ""
+msgstr "anonym modtager; prøver hemmelig nøgle %s ...\n"
 
 #: g10/pubkey-enc.c:136
 msgid "okay, we are the anonymous recipient.\n"
-msgstr ""
+msgstr "okay, vi er den anonyme modtager.\n"
 
 #: g10/pubkey-enc.c:225
 msgid "old encoding of the DEK is not supported\n"
-msgstr ""
+msgstr "gammel kodning for DEK'en er ikke understøttet\n"
 
 #: g10/pubkey-enc.c:246
-#, fuzzy, c-format
+#, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "chifferalgoritme %d%s er ukendt eller deaktiveret\n"
 
 #: g10/pubkey-enc.c:284
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
-msgstr ""
+msgstr "ADVARSEL: chifferalgoritme %s ikke fundet i modtagerpræferencer\n"
 
 #: g10/pubkey-enc.c:304
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: secret key %s expired at %s\n"
-msgstr "hemmelige nøgler import: %lu\n"
+msgstr "BEMÆRK: hemmelig nøgle %s udløb den %s\n"
 
 #: g10/pubkey-enc.c:310
-#, fuzzy
 msgid "NOTE: key has been revoked"
-msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
+msgstr "BEMÆRK: nøgle er blevet tilbagekaldt"
 
 #: g10/revoke.c:102 g10/revoke.c:116 g10/revoke.c:128 g10/revoke.c:174
 #: g10/revoke.c:186 g10/revoke.c:585
-#, fuzzy, c-format
+#, c-format
 msgid "build_packet failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "build_packet mislykkedes: %s\n"
 
 #: g10/revoke.c:145
-#, fuzzy, c-format
+#, c-format
 msgid "key %s has no user IDs\n"
-msgstr "nøgle %08lX: ingen bruger-id\n"
+msgstr "nøgle %s har ingen bruger-id'er\n"
 
 #: g10/revoke.c:306
 msgid "To be revoked by:\n"
-msgstr ""
+msgstr "Tilbagekaldes af:\n"
 
 #: g10/revoke.c:310
 msgid "(This is a sensitive revocation key)\n"
-msgstr ""
+msgstr "(Dette er en sensitiv tilbagekaldsnøgle)\n"
 
 #: g10/revoke.c:314
-#, fuzzy
 msgid "Create a designated revocation certificate for this key? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opret et designet tilbagekaldscertifikat for denne nøgle? (j/N) "
 
 #: g10/revoke.c:327 g10/revoke.c:551
 msgid "ASCII armored output forced.\n"
-msgstr ""
+msgstr "ASCII-pansret resultat er tvunget.\n"
 
 #: g10/revoke.c:342 g10/revoke.c:565
-#, fuzzy, c-format
+#, c-format
 msgid "make_keysig_packet failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "make_keysig_packet mislykkedes: %s\n"
 
 #: g10/revoke.c:405
-#, fuzzy
 msgid "Revocation certificate created.\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "Tilbagekaldscertifikat oprettet.\n"
 
 #: g10/revoke.c:411
 #, c-format
 msgid "no revocation keys found for \"%s\"\n"
-msgstr ""
+msgstr "ingen tilbagekaldsnøgler fundet for »%s«\n"
 
 #: g10/revoke.c:470
-#, fuzzy, c-format
+#, c-format
 msgid "secret key \"%s\" not found: %s\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "hemmelig nøgle »%s« blev ikke fundet: %s\n"
 
 #: g10/revoke.c:497
-#, fuzzy, c-format
+#, c-format
 msgid "no corresponding public key: %s\n"
-msgstr "skriver offentligt certifikat til '%s'\n"
+msgstr "ingen tilsvarende offentlig nøgle: %s\n"
 
 #: g10/revoke.c:508
 msgid "public key does not match secret key!\n"
-msgstr ""
+msgstr "offentlig nøgle matcher ikke hemmelig nøgle!\n"
 
 #: g10/revoke.c:515
-#, fuzzy
 msgid "Create a revocation certificate for this key? (y/N) "
-msgstr "Generér en annullérbar certifikat"
+msgstr "Opret et tilbagekaldscertifikat for denne nøgle? (j/N) "
 
 #: g10/revoke.c:532
-#, fuzzy
 msgid "unknown protection algorithm\n"
-msgstr "ukendt kompressionsalgoritme"
+msgstr "ukendt beskyttelsesalgoritme\n"
 
 #: g10/revoke.c:540
-#, fuzzy
 msgid "NOTE: This key is not protected!\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "BEMÆRK: Denne nøgle er ikke beskyttet.\n"
 
 #: g10/revoke.c:591
 msgid ""
@@ -5999,166 +5968,187 @@ msgid ""
 "your media become unreadable.  But have some caution:  The print system of\n"
 "your machine might store the data and make it available to others!\n"
 msgstr ""
+"Tilbagekaldscertifikat oprettet.\n"
+"\n"
+"Flyt den venligst til et medie som du kan gemme væk; hvis Mallory får\n"
+"adgang til dette certifikat, kan han bruge den til at gøre din nøgle\n"
+"ubrugelig. Det er en god ide at udskrive dette certifikat og gemme det\n"
+"væk, i tilfælde af at dit medie pludselig ikke kan læses. Men vær\n"
+"forsigtig: Dit udskrivningssystem kan gemme dataene og gøre dem\n"
+"tilgængelige for andre!\n"
 
 #: g10/revoke.c:633
-#, fuzzy
 msgid "Please select the reason for the revocation:\n"
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "Vælg venligst årsagen for tilbagekaldet:\n"
 
 #: g10/revoke.c:643
 msgid "Cancel"
-msgstr ""
+msgstr "Afbryd"
 
 #: g10/revoke.c:645
 #, c-format
 msgid "(Probably you want to select %d here)\n"
-msgstr ""
+msgstr "(Du vil sikkert vælge %d her)\n"
 
 #: g10/revoke.c:686
 msgid "Enter an optional description; end it with an empty line:\n"
-msgstr ""
+msgstr "Indtast en valgfri beskrivelse; afslut den med en tom linje:\n"
 
 #: g10/revoke.c:714
-#, fuzzy, c-format
+#, c-format
 msgid "Reason for revocation: %s\n"
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "Årsag for tilbagekald: %s\n"
 
 #: g10/revoke.c:716
 msgid "(No description given)\n"
-msgstr ""
+msgstr "(Ingen beskrivelse angivet)\n"
 
 #: g10/revoke.c:721
-#, fuzzy
 msgid "Is this okay? (y/N) "
-msgstr "Brug denne nøgle alligevel? "
+msgstr "Er dette okay? (j/N) "
 
 #: g10/seckey-cert.c:55
-#, fuzzy
 msgid "secret key parts are not available\n"
-msgstr "hemmelig nøgle ikke tilgængelig"
+msgstr "hemmelige nøgledele er ikke tilgængelige\n"
 
 #: g10/seckey-cert.c:61
-#, fuzzy, c-format
+#, c-format
 msgid "protection algorithm %d%s is not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "beskyttelsesalgoritme %d%s er ikke understøttet\n"
 
 #: g10/seckey-cert.c:72
-#, fuzzy, c-format
+#, c-format
 msgid "protection digest %d is not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "beskyttelsessammendrag %d er ikke understøttet\n"
 
 #: g10/seckey-cert.c:291
-#, fuzzy
 msgid "Invalid passphrase; please try again"
-msgstr "ugyldig kodesætning"
+msgstr "Ugyldig adgangsfrase; prøv igen"
 
 #: g10/seckey-cert.c:292
 #, c-format
 msgid "%s ...\n"
-msgstr ""
+msgstr "%s ...\n"
 
 #: g10/seckey-cert.c:361
 msgid "WARNING: Weak key detected - please change passphrase again.\n"
-msgstr ""
+msgstr "ADVARSEL: svag nøgle detekteret - vælg venligst adgangsfrase igen.\n"
 
 #: g10/seckey-cert.c:404
 msgid "generating the deprecated 16-bit checksum for secret key protection\n"
 msgstr ""
+"opretter den forældede 16-bit-kontrolsum for beskyttelse af hemmelig nøgle\n"
 
 #: g10/seskey.c:61 sm/encrypt.c:119
 msgid "weak key created - retrying\n"
-msgstr ""
+msgstr "svag nøgle oprettet - prøver igen\n"
 
 #: g10/seskey.c:65
 #, c-format
 msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
-msgstr ""
+msgstr "kan ikke undgå svag nøgle for symmetrisk chiffer: prøvede %d gange!\n"
 
 #: g10/seskey.c:227 sm/certcheck.c:85
 msgid "DSA requires the hash length to be a multiple of 8 bits\n"
-msgstr ""
+msgstr "DSA kræver at hashlængden skal gå op i 8 bit\n"
 
 #: g10/seskey.c:240
 #, c-format
 msgid "DSA key %s uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "DSA-nøgle %s bruger en usikker (%u bit) hash\n"
 
 #: g10/seskey.c:252
 #, c-format
 msgid "DSA key %s requires a %u bit or larger hash\n"
-msgstr ""
+msgstr "DSA-nøgle %s kræver en %u bit eller større hash\n"
 
 #: g10/sig-check.c:80
 msgid "WARNING: signature digest conflict in message\n"
-msgstr ""
+msgstr "ADVARSEL: konflikt for underskriftssammendrag i besked\n"
 
 #: g10/sig-check.c:105
 #, c-format
 msgid "WARNING: signing subkey %s is not cross-certified\n"
-msgstr ""
+msgstr "ADVARSEL: underskriftsundernøgle %s er ikke krydscertificeret\n"
 
 #: g10/sig-check.c:117
 #, c-format
 msgid "WARNING: signing subkey %s has an invalid cross-certification\n"
 msgstr ""
+"ADVARSEL: underskriftsundernøgle %s har en ugyldig krydscertificering\n"
 
 #: g10/sig-check.c:211
-#, fuzzy, c-format
+#, c-format
 msgid "public key %s is %lu second newer than the signature\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "offentlig nøgle %s er %lu sekund nyere end underskrift\n"
 
 #: g10/sig-check.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "public key %s is %lu seconds newer than the signature\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "offentlig nøgle %s er %lu sekunder nyere end underskrift\n"
 
 #: g10/sig-check.c:223
 #, c-format
 msgid ""
 "key %s was created %lu second in the future (time warp or clock problem)\n"
 msgstr ""
+"nøgle %s blev oprettet %lu sekund inde i fremtiden (tidsforskydning eller et "
+"problem med uret)\n"
 
 #: g10/sig-check.c:225
 #, c-format
 msgid ""
 "key %s was created %lu seconds in the future (time warp or clock problem)\n"
 msgstr ""
+"nøgle %s blev oprettet %lu sekunder inde i fremtiden (tidsforskydning eller "
+"et problem med uret)\n"
 
 #: g10/sig-check.c:239
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: signature key %s expired %s\n"
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "BEMÆRK: underskriftnøgle %s udløb %s\n"
 
 #: g10/sig-check.c:252
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: signature key %s has been revoked\n"
-msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
+msgstr "BEMÆRK: underskriftnøgle %s er blevet tilbagekaldt\n"
+
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s underskrift, sammendragsalgoritme %s\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
+"antager ugyldig underskrift fra nøgle %s på grund af en ukendt kritisk del\n"
 
-#: g10/sig-check.c:591
-#, fuzzy, c-format
+#: g10/sig-check.c:607
+#, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr ""
+"nøgle %s: ingen undernøgle til tilbagekaldsunderskrift for undernøgle\n"
 
-#: g10/sig-check.c:618
-#, fuzzy, c-format
+#: g10/sig-check.c:634
+#, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
-msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
+msgstr "nøgle %s: ingen undernøgle til bindingsunderskrift for undernøgle\n"
 
 #: g10/sign.c:89
 #, c-format
 msgid "WARNING: unable to %%-expand notation (too large).  Using unexpanded.\n"
 msgstr ""
+"ADVARSEL: kan ikke %%-udvide notation (for stor). Bruger uden udvidelse.\n"
 
 #: g10/sign.c:115
 #, c-format
 msgid ""
 "WARNING: unable to %%-expand policy URL (too large).  Using unexpanded.\n"
 msgstr ""
+"ADVARSEL: kan ikke %%-udvide politikadresse (for stor). Bruger uden "
+"udvidelse.\n"
 
 #: g10/sign.c:138
 #, c-format
@@ -6166,67 +6156,76 @@ msgid ""
 "WARNING: unable to %%-expand preferred keyserver URL (too large).  Using "
 "unexpanded.\n"
 msgstr ""
+"ADVARSEL: kan ikke %%-udvide foretrukken nøgleserveradresse (for stor). "
+"Bruger uden udvidelse.\n"
 
 #: g10/sign.c:311
-#, fuzzy, c-format
+#, c-format
 msgid "checking created signature failed: %s\n"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "kontrol af oprettet underskrift mislykkedes: %s\n"
 
 #: g10/sign.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "%s/%s signature from: \"%s\"\n"
-msgstr "%s signatur fra: %s\n"
+msgstr "%s/%s-underskrift fra: »%s«\n"
 
 #: g10/sign.c:761
 msgid "you can only detach-sign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
+"du kan kun vedhæfteunderskrive med nøgler i PGTP 2.x-stil når i tilstanden --"
+"pgp2\n"
 
 #: g10/sign.c:837
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
+"ADVARSEL: tvang af sammendragsalgoritme %s (%d) overtræder "
+"modtagerpræferencer\n"
 
 #: g10/sign.c:964
 msgid "signing:"
-msgstr "signerer:"
+msgstr "underskriver:"
 
 #: g10/sign.c:1079
 msgid "you can only clearsign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
+"du kan kun clearsign med nøgler i PGP 2.x-stil mens du er i tilstanden --"
+"pgp2\n"
 
 #: g10/sign.c:1263
 #, c-format
 msgid "%s encryption will be used\n"
-msgstr ""
+msgstr "%s-kryptering vil blive brugt\n"
 
 #: g10/skclist.c:140 g10/skclist.c:217
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
+"nøgle er ikke markeret som usikker - kan ikke bruge den med falsk RNG!\n"
 
 #: g10/skclist.c:174
-#, fuzzy, c-format
+#, c-format
 msgid "skipped \"%s\": duplicated\n"
-msgstr "vis præferencer"
+msgstr "udelod »%s«: duplikeret\n"
 
 #: g10/skclist.c:182 g10/skclist.c:195 g10/skclist.c:207
-#, fuzzy, c-format
+#, c-format
 msgid "skipped \"%s\": %s\n"
-msgstr "%s: udelod: %s\n"
+msgstr "udelod »%s«: %s\n"
 
 #: g10/skclist.c:190
-#, fuzzy
 msgid "skipped: secret key already present\n"
-msgstr "udelod: hemmelig nøgle er allerede tilstede\n"
+msgstr "udelod: hemmelig nøgle er allerede til stede\n"
 
 #: g10/skclist.c:208
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
+"dette er en PGP-oprettet Elgamalnøgle som ikke er sikker for underskrifter!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
-msgstr ""
+msgstr "stol på post %lu, type %d: skrivning mislykkedes: %s\n"
 
 #: g10/tdbdump.c:106
 #, c-format
@@ -6234,353 +6233,362 @@ msgid ""
 "# List of assigned trustvalues, created %s\n"
 "# (Use \"gpg --import-ownertrust\" to restore them)\n"
 msgstr ""
+"# Liste over tildelte troværdige værdier, oprettede %s\n"
+"# (Brug »gpg --import-ownertrust« for at gendanne dem)\n"
 
 #: g10/tdbdump.c:161 g10/tdbdump.c:169 g10/tdbdump.c:174 g10/tdbdump.c:179
-#, fuzzy, c-format
+#, c-format
 msgid "error in `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl i »%s«: %s\n"
 
 #: g10/tdbdump.c:161
 msgid "line too long"
-msgstr ""
+msgstr "linje for lang"
 
 #: g10/tdbdump.c:169
 msgid "colon missing"
-msgstr ""
+msgstr "kolon mangler"
 
 #: g10/tdbdump.c:175
-#, fuzzy
 msgid "invalid fingerprint"
-msgstr "fejl i trailerlinie\n"
+msgstr "ugyldig fingeraftryk"
 
 #: g10/tdbdump.c:180
-#, fuzzy
 msgid "ownertrust value missing"
-msgstr "importér ejertillidsværdierne"
+msgstr "værdi for ejertroværdighed mangler"
 
 #: g10/tdbdump.c:216
-#, fuzzy, c-format
+#, c-format
 msgid "error finding trust record in `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl under forsøg på at finde troværdighedspost i »%s«: %s\n"
 
 #: g10/tdbdump.c:220
-#, fuzzy, c-format
+#, c-format
 msgid "read error in `%s': %s\n"
-msgstr "panser: %s\n"
+msgstr "læsefejl i »%s«: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
-msgstr ""
+msgstr "trustdb: synkronisering mislykkedes: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
-msgstr ""
+msgstr "trustdb rec %lu: lseek mislykkedes: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
-msgstr ""
+msgstr "trustdb rec %lu: skrivning mislykkedes (n=%d): %s\n"
 
 #: g10/tdbio.c:245
 msgid "trustdb transaction too large\n"
-msgstr ""
+msgstr "transaktion for trustdb er for stor\n"
 
-#: g10/tdbio.c:500
-#, fuzzy, c-format
+#: g10/tdbio.c:502
+#, c-format
 msgid "can't access `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke tilgå »%s«: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
-msgstr ""
+msgstr "%s: mappe findes ikke!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
-#, fuzzy, c-format
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
+#, c-format
 msgid "can't create lock for `%s'\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke oprette lås for »%s«\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
-#, fuzzy, c-format
+#: g10/tdbio.c:543 g10/tdbio.c:608
+#, c-format
 msgid "can't lock `%s'\n"
-msgstr "kan ikke åbne `%s'\n"
+msgstr "kan ikke låse »%s«\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
-msgstr ""
+msgstr "%s: kunne ikke oprette versionspost: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
-msgstr ""
+msgstr "%s: ugyldig trustdb oprettet\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
-msgstr ""
+msgstr "%s: trustdb oprettet\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
-msgstr ""
+msgstr "BEMÆRK: trustdb ikke skrivbar\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
-msgstr ""
+msgstr "%s: ugyldig trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
-msgstr ""
+msgstr "%s: kunne ikke oprette hashtabel: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
-msgstr ""
+msgstr "%s: fejl ved opdatering af versionspost: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
-msgstr ""
+msgstr "%s: fejl ved læsning af versionspost: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
-msgstr ""
+msgstr "%s: fejl ved skrivning af versionspost: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
-msgstr ""
+msgstr "trustdb: lseek mislykkedes: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
-msgstr ""
+msgstr "trustdb: læsning mislykkedes (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
-msgstr ""
+msgstr "%s: ikke en trustdb-fil\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
-msgstr ""
+msgstr "%s: versionspost med recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
-msgstr ""
+msgstr "%s: ugyldig filversion %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
-msgstr ""
+msgstr "%s: fejl ved læsning af fri post: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
-msgstr ""
+msgstr "%s: fejl ved skrivning af mappepost: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
-msgstr ""
+msgstr "%s: mislykkedes med at nulle en post: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
-msgstr ""
+msgstr "%s: mislykkedes med at vedhæfte en post: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
-msgstr ""
+msgstr "Fejl: trustdb er ødelagt.\n"
 
 #: g10/textfilter.c:147
 #, c-format
 msgid "can't handle text lines longer than %d characters\n"
-msgstr ""
+msgstr "kan ikke håndtere tekstlinjer længere end %d tegn\n"
 
 #: g10/textfilter.c:247
 #, c-format
 msgid "input line longer than %d characters\n"
-msgstr ""
+msgstr "inddatalinje er længere end %d tegn\n"
 
-#: g10/trustdb.c:221
-#, fuzzy, c-format
+#: g10/trustdb.c:222
+#, c-format
 msgid "`%s' is not a valid long keyID\n"
-msgstr "%s er ikke et gyldigt tegnsæt\n"
+msgstr "»%s« er ikke et gyldigt nøgle-id\n"
 
-#: g10/trustdb.c:252
-#, fuzzy, c-format
+#: g10/trustdb.c:253
+#, c-format
 msgid "key %s: accepted as trusted key\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: accepteret som troværdig nøgle\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
-msgstr ""
+msgstr "nøgle %s fremgår mere end en gang i trustdb\n"
 
-#: g10/trustdb.c:305
-#, fuzzy, c-format
+#: g10/trustdb.c:306
+#, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s: ingen offentlig nøgle for troværdig nøgle - udeladt\n"
 
-#: g10/trustdb.c:315
-#, fuzzy, c-format
+#: g10/trustdb.c:316
+#, c-format
 msgid "key %s marked as ultimately trusted\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "nøgle %s markeret som ultimativ troværdig\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
-msgstr ""
+msgstr "troværdighedspost %lu, req-type %d: læsning mislykkedes: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
-msgstr ""
+msgstr "troværdighedspost %lu er ikke af den anmodne type %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
-msgstr ""
+msgstr "Du kan forsøge at genskabe trustdb med kommandoerne:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
-msgstr ""
+msgstr "Hvis det ikke virker, så se venligst manualen\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
+"kan ikke bruge ukendt troværdighedsmodel (%d) - antager %s "
+"troværdighedsmodel\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
-msgstr ""
-
-#: g10/trustdb.c:520
+msgstr "bruger %s troværdighedsmodel\n"
+
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
-msgstr ""
+msgstr "10 oversætter se trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
-#, fuzzy
+#: g10/trustdb.c:523
 msgid "[ revoked]"
-msgstr "tilføj nøgle"
+msgstr "[   tilb.]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
-#, fuzzy
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
-msgstr "udløb"
+msgstr "[ udløbet]"
 
-#: g10/trustdb.c:528
-#, fuzzy
+#: g10/trustdb.c:529
 msgid "[ unknown]"
-msgstr "ukendt version"
+msgstr "[  ukendt]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
-msgstr ""
+msgstr "[  ej def]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
-msgstr ""
+msgstr "[marginal]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
-msgstr ""
+msgstr "[  fuld  ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
-msgstr ""
+msgstr "[ ultim. ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
-msgstr ""
+msgstr "ej defineret"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
-msgstr ""
+msgstr "aldrig"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
-msgstr ""
+msgstr "marginal"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
-msgstr ""
+msgstr "fuld"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
-msgstr ""
+msgstr "ultimativ"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
-msgstr ""
+msgstr "intet behov for kontrol af trustdb\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
-msgstr ""
+msgstr "næste kontrol af trustdb sker den %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
-msgstr ""
+msgstr "intet behov for kontrol af trustdb med troværdighedsmodellen »%s«\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
+"intet behov for en opdatering af trustdb med troværdighedsmodellen »%s«\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
-#, fuzzy, c-format
+#: g10/trustdb.c:875 g10/trustdb.c:1344
+#, c-format
 msgid "public key %s not found: %s\n"
-msgstr "offentlig nøgle ikke fundet"
+msgstr "offentlig nøgle %s blev ikke fundet: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
-msgstr ""
+msgstr "udfør venligst en --check-trustdb\n"
 
-#: g10/trustdb.c:1057
-#, fuzzy
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
-msgstr "|[NAMES]|tjek tillidsdatabasen"
+msgstr "kontrollerer trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
-msgstr ""
+msgstr "%d nøgler behandlet (%d validiteter ryddet)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
-msgstr ""
+msgstr "ingen ultimativ troværdige nøgler fundet\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
-msgstr ""
+msgstr "offentlig nøgle for ultimativ troværdig nøgle %s blev ikke fundet\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
-msgstr ""
+msgstr "%d marginaler krævet, %d færdiggjorte krævet, %s troværdighedsmodel\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
+"dybde: %d  gyldig: %3d  underskrevet: %3d  troværdighed: %d-, %dq, %dn, %dm, "
+"%df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
-msgstr ""
+msgstr "kan ikke opdatere trustdb-versionspost: skrivning mislykkedes: %s\n"
 
 #: g10/verify.c:118
 msgid ""
@@ -6588,833 +6596,815 @@ msgid ""
 "Please remember that the signature file (.sig or .asc)\n"
 "should be the first file given on the command line.\n"
 msgstr ""
+"underskriften kunne ikke verificeres.\n"
+"Husk at underskriftfilen (.sig eller .asc)\n"
+"skal være den første fil på kommandolinjen.\n"
 
 #: g10/verify.c:205
 #, c-format
 msgid "input line %u too long or missing LF\n"
-msgstr ""
+msgstr "inddatalinje %u er for lang eller mangler LF\n"
 
 #: g10/verify.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "can't open fd %d: %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke åbne fd %d: %s\n"
 
-#: jnlib/argparse.c:180
-#, fuzzy
+#: jnlib/argparse.c:194
 msgid "argument not expected"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "parameter var ikke forventet"
 
-#: jnlib/argparse.c:182
-#, fuzzy
+#: jnlib/argparse.c:196
 msgid "read error"
-msgstr "fillæsningsfejl"
+msgstr "læsefejl"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
-msgstr ""
+msgstr "nøgleord er for langt"
 
-#: jnlib/argparse.c:186
-#, fuzzy
+#: jnlib/argparse.c:200
 msgid "missing argument"
-msgstr "ugyldigt argument"
+msgstr "manglende parameter"
 
-#: jnlib/argparse.c:188
-#, fuzzy
+#: jnlib/argparse.c:202
 msgid "invalid command"
-msgstr "konfliktende kommandoer\n"
+msgstr "ugyldig kommando"
 
-#: jnlib/argparse.c:190
-#, fuzzy
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
-msgstr "ugyldig rustning"
+msgstr "ugyldig aliasdefinition"
 
-#: jnlib/argparse.c:192
-#, fuzzy
+#: jnlib/argparse.c:206
 msgid "out of core"
-msgstr "ikke bearbejdet"
+msgstr "ikke nok kerne"
 
-#: jnlib/argparse.c:194
-#, fuzzy
+#: jnlib/argparse.c:208
 msgid "invalid option"
-msgstr "ugyldig rustning"
+msgstr "ugyldig indstilling"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
-msgstr ""
+msgstr "manglende parameter for indstilling »%.50s«\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
-msgstr ""
+msgstr "tilvalg »%.50s« forventer ikke et argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
-msgstr ""
+msgstr "ugyldig kommando »%.50s«\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "tilvalg »%.50s« er tvetydigt\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "kommando »%.50s« er tvetydig\n"
 
-#: jnlib/argparse.c:213
-#, fuzzy
+#: jnlib/argparse.c:227
 msgid "out of core\n"
-msgstr "ikke bearbejdet"
+msgstr "uden for kerne\n"
 
-#: jnlib/argparse.c:215
-#, fuzzy, c-format
+#: jnlib/argparse.c:229
+#, c-format
 msgid "invalid option \"%.50s\"\n"
-msgstr "ugyldig rustning"
+msgstr "ugyldigt tilvalg »%.50s«\n"
 
 #: jnlib/logging.c:647
 #, c-format
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "du fandt en fejl ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
-msgstr ""
+msgstr "konvertering fra »%s« til »%s« er ikke tilgængelig\n"
 
-#: jnlib/utf8conv.c:131
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:76
+#, c-format
 msgid "iconv_open failed: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "iconv_open mislykkedes: %s:\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
+#, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "konvertering fra »%s« til »%s« mislykkedes: %s\n"
 
 #: jnlib/dotlock.c:234
-#, fuzzy, c-format
+#, c-format
 msgid "failed to create temporary file `%s': %s\n"
-msgstr "%s: kan ikke oprette mappe: %s\n"
+msgstr "kunne ikke oprette midlertidig fil »%s«: %s\n"
 
 #: jnlib/dotlock.c:269
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning til »%s«: %s\n"
 
 #: jnlib/dotlock.c:453
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
-msgstr ""
+msgstr "fjerner stale-låsfil (oprettet af %d)\n"
 
 #: jnlib/dotlock.c:459
 msgid " - probably dead - removing lock"
-msgstr ""
+msgstr " - sikkert død - fjerner lås"
 
 #: jnlib/dotlock.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "venter på lås (holdt af %d%s) %s ...\n"
 
 #: jnlib/dotlock.c:470
 msgid "(deadlock?) "
-msgstr ""
+msgstr "(baglås?) "
 
 #: jnlib/dotlock.c:493
-#, fuzzy, c-format
+#, c-format
 msgid "lock `%s' not made: %s\n"
-msgstr "offentlig nøgle ikke fundet"
+msgstr "lås »%s« er ikke udført: %s\n"
 
 #: jnlib/dotlock.c:501
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock %s...\n"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "venter på lås %s ...\n"
 
 #: kbx/kbxutil.c:92
 msgid "set debugging flags"
-msgstr "sæt aflusningsflag"
+msgstr "sæt aflusningstilvalg"
 
 #: kbx/kbxutil.c:93
 msgid "enable full debugging"
-msgstr "slå fuld fejltjekning til"
+msgstr "aktiver fuld fejlsøgning"
 
 #: kbx/kbxutil.c:117
-#, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: kbxutil [tilvalg] [filer] (-h for hjælp)"
 
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
+"Syntaks: kbxutil [tilvalg] [filer]\n"
+"Vis, eksporter, importer Keybox-data\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
-msgstr ""
+msgstr "RSA-modulus mangler eller har ikke størrelsen %d bit\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
-msgstr ""
+msgstr "RSA offentlig eksponent mangler eller større end %d bit\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
-msgstr ""
+msgstr "PIN-tilbagekald returnerede fejl: %s\n"
 
 #: scd/app-nks.c:834
 msgid "the NullPIN has not yet been changed\n"
-msgstr ""
+msgstr "NullPIN'en er endnu ikke ændret\n"
 
 #: scd/app-nks.c:1092
-#, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
-msgstr "ændr kodesætningen"
+msgstr "|N|Indtast venligst en ny PIN for standardnøglerne."
 
 #: scd/app-nks.c:1093
-#, fuzzy
 msgid "||Please enter the PIN for the standard keys."
-msgstr "ændr kodesætningen"
+msgstr "||Indtast venligst PIn'en for standardnøglerne."
 
 #: scd/app-nks.c:1099
-#, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr ""
+"|NP|Indtast venligst en ny PIN Unblocking Code (PUK) for standardnøglerne."
 
 #: scd/app-nks.c:1101
-#, fuzzy
 msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "|P|Indtast venligst PIN Unblocking Code (PUK) for standardnøglerne."
 
 #: scd/app-nks.c:1109
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
+"|N|Indtast venligst en ny PIN for nøglen til at oprette kvalificerede "
+"underskrifter."
 
 #: scd/app-nks.c:1111
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
+"||Indtast venligst PIN'en for nøglen til at oprette kvalificerede "
+"underskrifter."
 
 #: scd/app-nks.c:1119
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|NP|Indtast venligst en ny PIN Unblocking Code (PUK) for nøglen til at "
+"oprette kvalificerede underskrifter."
 
 #: scd/app-nks.c:1121
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|P|Indtast venligst PIN Unblocking Code (PUK) for nøglen til at oprette "
+"kvalificerede underskrifter."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
-#, fuzzy, c-format
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
+#, c-format
 msgid "error getting new PIN: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved indhentelse af ny PIN: %s\n"
 
-# er det klogt at oversætte TrustDB?
-#: scd/app-openpgp.c:695
-#, fuzzy, c-format
+#: scd/app-openpgp.c:758
+#, c-format
 msgid "failed to store the fingerprint: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke gemme fingeraftrykket: %s\n"
 
-#: scd/app-openpgp.c:708
-#, fuzzy, c-format
+#: scd/app-openpgp.c:771
+#, c-format
 msgid "failed to store the creation date: %s\n"
-msgstr "ingen standard offentlig nøglering\n"
+msgstr "kunne ikke gemme oprettelsesdatoen: %s\n"
 
-#: scd/app-openpgp.c:1156
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1219
+#, c-format
 msgid "reading public key failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "læsning af offentlig nøgle mislykkedes: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
-msgstr ""
+msgstr "svar indeholder ikke data for offentlig nøgle\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
-msgstr ""
+msgstr "svar indeholder ikke RSA modulus'erne\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
-msgstr ""
+msgstr "svar indeholder ikke den RSA-offentlige eksponent\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
-msgstr ""
+msgstr "bruger standard-PIN som %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
+"kunne ikke bruge standard-PIN som %s: %s - deaktiverer yderligere "
+"standardbrug\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
-msgstr ""
+msgstr "||Indtast venligst PIN%%0A[sigs færdig: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
-#, fuzzy
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
-msgstr "ændr kodesætningen"
+msgstr "||Indtast venligst PIN'en"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
-msgstr ""
+msgstr "PIN for CHV%d er for kort; minimumlængde er %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
+#, c-format
 msgid "verify CHV%d failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "verificering af CHV%d mislykkedes: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
-msgstr ""
+msgstr "fejl ved indhentelse af CHV-status fra kort\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
-msgstr ""
+msgstr "kort er permanent låst!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
-msgstr ""
+msgstr "%d PIN-forsøg for administrator før kort permanent låses\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1775
+#, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
-msgstr "ændr kodesætningen"
+msgstr "|A|Ændr venligst administrator-PIN%%0A[tilbageværende forsøg: %d]"
 
-#: scd/app-openpgp.c:1680
-#, fuzzy
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
-msgstr "ændr kodesætningen"
+msgstr "|A|Indtast venligst administrator-PIN'en"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
-msgstr ""
+msgstr "adgang til administratorkommandoer er ikke konfigureret\n"
 
-#: scd/app-openpgp.c:2035
-#, fuzzy
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
-msgstr "rev- forkert nøgletilbagekald\n"
+msgstr "||Indtast venligst nulstillingskoden for kortet"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
-msgstr ""
+msgstr "Nulstillingskode er for kort; minimumlængde er %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
-msgstr ""
+msgstr "|RN|Ny nulstillingskode"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
-msgstr ""
+msgstr "|AN|Ny administrator-PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
-msgstr ""
+msgstr "|N|Ny PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
-#, fuzzy
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Indtast venligst administrator-PIN'en og ny administrator-PIN"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Indtast venligst PIN'en og ny PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af programdata\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
-#, fuzzy
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
-msgstr "fejl i trailerlinie\n"
+msgstr "fejl ved læsning af fingeraftryk DO\n"
 
-#: scd/app-openpgp.c:2194
-#, fuzzy
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
-msgstr "fjern nøgle fra den hemmelige nøglering"
+msgstr "nøgle findes allerede\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
-msgstr ""
+msgstr "eksisterende nøgle vil blive erstattet\n"
 
-#: scd/app-openpgp.c:2200
-#, fuzzy
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
-msgstr "generér et nyt nøglepar"
+msgstr "opretter ny nøgle\n"
 
-#: scd/app-openpgp.c:2202
-#, fuzzy
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
-msgstr "generér et nyt nøglepar"
+msgstr "skriver ny nøgle\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
-msgstr ""
+msgstr "oprettelsestidsstempel mangler\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
-msgstr ""
+msgstr "RSA-primtal %s mangler eller har ikke størrelsen %d bit\n"
 
-# er det klogt at oversætte TrustDB?
-#: scd/app-openpgp.c:2773
-#, fuzzy, c-format
+#: scd/app-openpgp.c:2971
+#, c-format
 msgid "failed to store the key: %s\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke gemme nøglen: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
-msgstr ""
+msgstr "vent venligst mens nøglen bliver oprettet ...\n"
 
-#: scd/app-openpgp.c:2872
-#, fuzzy
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "oprettelse af nøgle mislykkedes\n"
 
-#: scd/app-openpgp.c:2875
-#, fuzzy, c-format
+#: scd/app-openpgp.c:3073
+#, c-format
 msgid "key generation completed (%d seconds)\n"
-msgstr "Nøgleoprettelse annulleret.\n"
+msgstr "nøgleoprettelse færdig (%d sekunder)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
-msgstr ""
+msgstr "ugyldig struktur for OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
-msgstr ""
+msgstr "fingeraftryk på kort matcher ikke den anmodte\n"
 
-#: scd/app-openpgp.c:3099
-#, fuzzy, c-format
+#: scd/app-openpgp.c:3297
+#, c-format
 msgid "card does not support digest algorithm %s\n"
-msgstr "%s signatur fra: %s\n"
+msgstr "kort understøtter ikke sammendragsalgoritme %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
-msgstr ""
+msgstr "underskrifter oprettet indtil videre: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
+"verifikation af administrator-PIN er i øjeblikket forbudt via denne "
+"kommando\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
-#, fuzzy, c-format
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
+#, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
-msgstr "ingen gyldig OpenPGP data fundet.\n"
+msgstr "kan ikke tilgå %s - ugyldig OpenPGP-kort?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Indtast venligst din PIN på læserens numeriske tastatur"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
 #: scd/app-dinsig.c:529
-#, fuzzy
 msgid "|N|Initial New PIN"
-msgstr "Indtast bruger-id: "
+msgstr "|N|Oprindelig ny PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
-msgstr ""
+msgstr "kør i flerservertilstand (forgrund)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
-msgstr ""
+msgstr "|LEVEL|angiv fejlsøgningsniveau til NIVEAU"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
-#, fuzzy
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
-msgstr "|FILE|indlæs udvidelsesmodul FILE"
+msgstr "|FILE|skriv en log til FIL"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
-msgstr ""
+msgstr "|N|forbind til læser på port N"
 
-#: scd/scdaemon.c:128
-#, fuzzy
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
-msgstr "|NAME|brug NAME som standard modtager"
+msgstr "|NAME|brug NAVN som ct-API-driver"
 
-#: scd/scdaemon.c:130
-#, fuzzy
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
-msgstr "|NAME|brug NAME som standard modtager"
+msgstr "|NAME|brug NAVN som PC/SC-driver"
 
-#: scd/scdaemon.c:133
-#, fuzzy
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
-msgstr "brug overhovedet ikke terminalen"
-
-#: scd/scdaemon.c:139
-msgid "|N|disconnect the card after N seconds of inactivity"
-msgstr ""
+msgstr "brug ikke den interne CCID-driver"
 
 #: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr ""
+msgid "|N|disconnect the card after N seconds of inactivity"
+msgstr "|N|frakobl kortet efter N sekunder inaktivitet"
 
 #: scd/scdaemon.c:144
-#, fuzzy
+msgid "do not use a reader's pinpad"
+msgstr "brug ikke en læsers numeriske tastatur"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
-msgstr "konfliktende kommandoer\n"
+msgstr "nægt brugen af kommandoer for administratorkort"
 
-#: scd/scdaemon.c:259
-#, fuzzy
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: scdaemon [tilvalg] (-h for hjælp)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
+"Syntaks: scdaemon [tilvalg] kommando [parametre]]\n"
+"Smartcard-dæmon for GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
+"brug venligst tilvalget »--daemon« til at køre programmet i baggrunden\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
-msgstr ""
+msgstr "håndtering for fd %d startet\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
-msgstr ""
+msgstr "håndtering for fd %d termineret\n"
 
 #: sm/base64.c:325
-#, fuzzy, c-format
+#, c-format
 msgid "invalid radix64 character %02x skipped\n"
-msgstr "ugyldigt radix64 tegn %02x udeladt\n"
+msgstr "ugyldigt radix64-tegn %02x udeladt\n"
 
 #: sm/call-agent.c:137
 #, c-format
 msgid "failed to proxy %s inquiry to client\n"
-msgstr ""
+msgstr "kunne ikke proxy %s-forespørgsel til klient\n"
 
 #: sm/call-dirmngr.c:252
 #, c-format
 msgid "no running dirmngr - starting `%s'\n"
-msgstr ""
+msgstr "ingen kørende dirmngr - starter »%s«\n"
 
 #: sm/call-dirmngr.c:285
 msgid "malformed DIRMNGR_INFO environment variable\n"
-msgstr ""
+msgstr "forkert udformet DIRMNGR_INFO-miljøvariabel\n"
 
 #: sm/call-dirmngr.c:297
-#, fuzzy, c-format
+#, c-format
 msgid "dirmngr protocol version %d is not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "dirmngr-protokolversion %d er ikke understøttet\n"
 
 #: sm/call-dirmngr.c:317
 msgid "can't connect to the dirmngr - trying fall back\n"
-msgstr ""
+msgstr "kan ikke forbinde til dirmngr - forsøger reserve\n"
 
 #: sm/certchain.c:196
 #, c-format
 msgid "validation model requested by certificate: %s"
-msgstr ""
+msgstr "anmodt om valideringsmodel af certifikat: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
-msgstr ""
+msgstr "kæde"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
-#, fuzzy
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
-msgstr "hjælp"
+msgstr "skal"
 
 #: sm/certchain.c:258
-#, fuzzy, c-format
+#, c-format
 msgid "critical certificate extension %s is not supported"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "kritisk certifikatudvidelse %s er ikke understøttet"
 
 #: sm/certchain.c:297
 msgid "issuer certificate is not marked as a CA"
-msgstr ""
+msgstr "udstedercertifikat er ikke markeret som en CA"
 
 #: sm/certchain.c:335
 msgid "critical marked policy without configured policies"
-msgstr ""
+msgstr "kritisk markeret politik uden konfigurerede politikker"
 
 #: sm/certchain.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "failed to open `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke åbne »%s«: %s\n"
 
 #: sm/certchain.c:353 sm/certchain.c:382
 msgid "note: non-critical certificate policy not allowed"
-msgstr ""
+msgstr "bemærk: ikkekritisk certifikatpolitik er ikke tilladt"
 
 #: sm/certchain.c:357 sm/certchain.c:386
-#, fuzzy
 msgid "certificate policy not allowed"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "certifikatpolitik er ikke tilladt"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
-msgstr ""
+msgstr "slår udsteder op på ekstern placering\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
-msgstr ""
+msgstr "antallet af udstedere der matcher: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
-msgstr ""
+msgstr "slår udsteder op fra Dirmngr-mellemlageret\n"
 
-#: sm/certchain.c:585
-#, fuzzy, c-format
+#: sm/certchain.c:614
+#, c-format
 msgid "number of matching certificates: %d\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "antallet af matchende certifikater: %d\n"
 
-#: sm/certchain.c:587
-#, fuzzy, c-format
+#: sm/certchain.c:616
+#, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "dirmngr cache-only-nøgleopslag mislykkedes: %s\n"
 
-# er det klogt at oversætte TrustDB?
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-#, fuzzy
-msgid "failed to allocated keyDB handle\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "kunne ikke allokere keyDB-håndtag\n"
 
-#: sm/certchain.c:925
-#, fuzzy
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
-msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
+msgstr "certifikat er blevet tilbagekaldt"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
-msgstr ""
+msgstr "status for certifikatet er ukendt"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
-msgstr ""
+msgstr "sikr dig at »dirmngr« er korrekt installeret\n"
 
-#: sm/certchain.c:953
-#, fuzzy, c-format
+#: sm/certchain.c:1009
+#, c-format
 msgid "checking the CRL failed: %s"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "kontrol af CRL'en mislykkedes: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
-#, fuzzy, c-format
+#: sm/certchain.c:1038 sm/certchain.c:1106
+#, c-format
 msgid "certificate with invalid validity: %s"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "certifikat med ugyldig validitet: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
-msgstr ""
+msgstr "certifikat er endnu ikke gyldigt"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
-#, fuzzy
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "rodcertifikat er endnu ikke gyldigt"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
-msgstr ""
+msgstr "mellemliggende certifikat er endnu ikke gyldigt"
 
-#: sm/certchain.c:1012
-#, fuzzy
+#: sm/certchain.c:1068
 msgid "certificate has expired"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "certifikat er udløbet"
 
-#: sm/certchain.c:1013
-#, fuzzy
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "rodcertifikat er udløbet"
 
-#: sm/certchain.c:1014
-#, fuzzy
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "mellemliggende certifikat er udløbet"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
-msgstr ""
+msgstr "krævede certifikatattributter mangler: %s%s%s"
 
-#: sm/certchain.c:1065
-#, fuzzy
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "certifikat med ugyldig validitet"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
-msgstr ""
+msgstr "underskrift blev ikke oprettet under certifikatets livsforløb"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
-msgstr ""
+msgstr "certifikat blev ikke oprettet under udsteders livsforløb"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
+"mellemliggende certifikat blev ikke oprettet under udsteders livsforløb"
 
-#: sm/certchain.c:1109
-#, fuzzy
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
-msgstr "        nye signaturer: %lu\n"
+msgstr "  (underskr. oprettet den "
 
-#: sm/certchain.c:1110
-#, fuzzy
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "  (certifkat oprettet den "
 
-#: sm/certchain.c:1113
-#, fuzzy
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "  (certifikat gyldigt fra "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
-msgstr ""
+msgstr "  (   udsteder gyldig fra "
 
-#: sm/certchain.c:1144
-#, fuzzy, c-format
+#: sm/certchain.c:1200
+#, c-format
 msgid "fingerprint=%s\n"
-msgstr "Fingeraftryk:"
+msgstr "fingeraftryk=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
-msgstr ""
+msgstr "rodcertifikat er nu blevet markeret som troværdig\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
-msgstr ""
+msgstr "interaktiv markering som troværdig er ikke aktiveret i gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
-msgstr ""
+msgstr "interaktiv markering som troværdig deaktiveret for denne session\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
+"ADVARSEL: oprettelsestidspunkt for underskrift er ukendt - antager aktuelt "
+"tidspunkt"
 
-#: sm/certchain.c:1293
-#, fuzzy
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
-msgstr "Godt certifikat"
+msgstr "ingen udsteder fundet i certifikat"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
-msgstr ""
+msgstr "egenunderskrevet certifikat har en UGYLDIG underskrift"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
-msgstr ""
+msgstr "rodcertifikat er ikke markeret som troværdig"
 
-#: sm/certchain.c:1448
-#, fuzzy, c-format
+#: sm/certchain.c:1504
+#, c-format
 msgid "checking the trust list failed: %s\n"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "kontrol af troværdighedslisten mislykkedes: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
-#, fuzzy
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "certifikatkæde er for lang\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
-msgstr ""
+msgstr "udstedercertifikat blev ikke fundet"
 
-#: sm/certchain.c:1522
-#, fuzzy
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
-msgstr "godkend en signatur"
+msgstr "certifikat har en UGYLDIG underskrift"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
-msgstr ""
+msgstr "fandt et andet mulig matchende CA-certifikat - prøver igen"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
-msgstr ""
+msgstr "certifikatkæde er længere end tilladt af CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
-#, fuzzy
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
-msgstr "certifikatlæseproblem: %s\n"
+msgstr "certifikat er gyldigt\n"
 
-#: sm/certchain.c:1645
-#, fuzzy
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "mellemliggende certifikat er gyldigt\n"
 
-#: sm/certchain.c:1646
-#, fuzzy
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
-msgstr "Godt certifikat"
+msgstr "rodcertifikat er gyldigt\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
-msgstr ""
+msgstr "skifter til kædemodel"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
-msgstr ""
+msgstr "valideringsmodel brugt: %s"
 
 #: sm/certcheck.c:97
 #, c-format
 msgid "%s key uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "%s-nøglen bruger en usikker (%u bit) hash\n"
 
 #: sm/certcheck.c:107
 #, c-format
 msgid "a %u bit hash is not valid for a %u bit %s key\n"
-msgstr ""
+msgstr "en %u-bit-hash er ikke gyldig for en %u-bit %s-nøgle\n"
 
 #: sm/certcheck.c:244 sm/verify.c:201
 msgid "(this is the MD2 algorithm)\n"
-msgstr ""
+msgstr "(dette er MD2-algoritmen)\n"
 
 #: sm/certdump.c:60 sm/certdump.c:143
-#, fuzzy
 msgid "none"
-msgstr "n"
+msgstr "ingen"
 
 #: sm/certdump.c:564 sm/certdump.c:609 sm/certdump.c:674 sm/certdump.c:732
-#, fuzzy
 msgid "[Error - invalid encoding]"
-msgstr "fejl i trailerlinie\n"
+msgstr "[Fejl - ugyldig kodning]"
 
 #: sm/certdump.c:572 sm/certdump.c:617
 msgid "[Error - out of core]"
-msgstr ""
+msgstr "[Fejl - ikke nok kerne]"
 
 #: sm/certdump.c:654 sm/certdump.c:710
 msgid "[Error - No name]"
-msgstr ""
+msgstr "[Fejl - intet navn]"
 
 #: sm/certdump.c:679 sm/certdump.c:738
-#, fuzzy
 msgid "[Error - invalid DN]"
-msgstr "fejl i trailerlinie\n"
+msgstr "[Fejl - ugyldig DN]"
 
 #: sm/certdump.c:948
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the X.509 "
 "certificate:\n"
@@ -7422,169 +7412,174 @@ msgid ""
 "S/N %s, ID 0x%08lX,\n"
 "created %s, expires %s.\n"
 msgstr ""
-"Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
-"\n"
+"Indtast venligst adgangsfrasen for at låse den hemmelige nøgle for X.509-"
+"certifikatet op:\n"
+"»%s«\n"
+"S/N %s, id 0x%08lX,\n"
+"oprettet %s, udløber %s.\n"
 
 #: sm/certlist.c:122
 msgid "no key usage specified - assuming all usages\n"
-msgstr ""
+msgstr "ingen nøglebrug angivet - antager alle mulige brug\n"
 
 #: sm/certlist.c:132 sm/keylist.c:272
-#, fuzzy, c-format
+#, c-format
 msgid "error getting key usage information: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved indhentelse af nøglebrugsinformation: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
-msgstr ""
+msgid "certificate should not have been used for certification\n"
+msgstr "certifikat burde ikke være brugt for certificering\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
-msgstr ""
+msgid "certificate should not have been used for OCSP response signing\n"
+msgstr "certifikat burde ikke være brugt for OCSP-svarunderskrivning\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
-msgstr ""
+msgid "certificate should not have been used for encryption\n"
+msgstr "certifikat burde ikke være brugt for kryptering\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr ""
+msgid "certificate should not have been used for signing\n"
+msgstr "certifikat burde ikke være brugt for underskrift\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
-msgstr ""
+msgstr "certifikat kan ikke bruges til kryptering\n"
 
 #: sm/certlist.c:168
 msgid "certificate is not usable for signing\n"
-msgstr ""
+msgstr "certifikat kan ikke bruges til underskrivning\n"
 
 #: sm/certreqgen.c:474
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: invalid algorithm\n"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "linje %d: ugyldig algoritme\n"
 
 #: sm/certreqgen.c:487
 #, c-format
 msgid "line %d: invalid key length %u (valid are %d to %d)\n"
-msgstr ""
+msgstr "linje %d: ugyldig nøglelængde %u (gyldige er %d til %d)\n"
 
 #: sm/certreqgen.c:505
 #, c-format
 msgid "line %d: no subject name given\n"
-msgstr ""
+msgstr "linje %d: intet emnenavn angivet\n"
 
 #: sm/certreqgen.c:514
 #, c-format
 msgid "line %d: invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "linje %d: ugyldig etiket for emnenavn »%.*s«\n"
 
 #: sm/certreqgen.c:517
 #, c-format
 msgid "line %d: invalid subject name `%s' at pos %d\n"
-msgstr ""
+msgstr "linje %d: ugyldigt emnenavn »%s« på position %d\n"
 
 #: sm/certreqgen.c:534
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: not a valid email address\n"
-msgstr "Ikke en gyldig epostadresse\n"
+msgstr "linje %d: ikke en gyldig e-post-adresse\n"
 
 #: sm/certreqgen.c:546
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error reading key `%s' from card: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "linje %d: fejl ved læsning af nøgle »%s« fra kort: %s\n"
 
 #: sm/certreqgen.c:558
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error getting key by keygrip `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "linje %d: fejl ved indhentelse af nøgle med nøglegreb »%s«: %s\n"
 
 #: sm/certreqgen.c:574
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: key generation failed: %s <%s>\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "linje %d: nøgleoprettelse mislykkedes: %s <%s>\n"
 
 #: sm/certreqgen.c:806
 msgid ""
 "To complete this certificate request please enter the passphrase for the key "
 "you just created once more.\n"
 msgstr ""
+"For at færdiggøre denne certifikatanmodning så indtast venligst "
+"adgangsfrasen for nøglen du netop oprettede endnu en gang.\n"
 
 #: sm/certreqgen-ui.c:158
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) RSA\n"
-msgstr "   (%d) DSA (signér kun)\n"
+msgstr "   (%d) RSA\n"
 
 #: sm/certreqgen-ui.c:159
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) Existing key\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) Eksisterende nøgle\n"
 
 #: sm/certreqgen-ui.c:160
 #, c-format
 msgid "   (%d) Existing key from card\n"
-msgstr ""
+msgstr "   (%d) Eksisterende nøgle fra kort\n"
 
+# key grip
+# chiefly  ( US ) See also grip the person in charge of moving and setting up camera
+# tracks and scenery in a film or television studio
 #: sm/certreqgen-ui.c:202
-#, fuzzy
 msgid "Enter the keygrip: "
-msgstr "kan ikke åbne nøgleringen"
+msgstr "Indtst nøglegrebet: "
 
 #: sm/certreqgen-ui.c:210
 msgid "Not a valid keygrip (expecting 40 hex digits)\n"
-msgstr ""
+msgstr "Ikke et gyldigt nøglegreb (forventer 40 hex cifre)\n"
 
 #: sm/certreqgen-ui.c:212
-#, fuzzy
 msgid "No key with this keygrip\n"
-msgstr "Ingen bruger-id med indeks %d\n"
+msgstr "Ingen nøgle med dette nøglegreb\n"
 
 #: sm/certreqgen-ui.c:230 sm/certreqgen-ui.c:239
-#, fuzzy, c-format
+#, c-format
 msgid "error reading the card: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af kort: %s\n"
 
 #: sm/certreqgen-ui.c:233
-#, fuzzy, c-format
+#, c-format
 msgid "Serial number of the card: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "Serielnummer for kortet: %s\n"
 
 #: sm/certreqgen-ui.c:245
-#, fuzzy
 msgid "Available keys:\n"
-msgstr "slå nøgle fra"
+msgstr "Tilgængelige nøgler:\n"
 
 #: sm/certreqgen-ui.c:276
 #, c-format
 msgid "Possible actions for a %s key:\n"
-msgstr ""
+msgstr "Mulige handlinger for en %s-nøgle:\n"
 
 #: sm/certreqgen-ui.c:277
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign, encrypt\n"
-msgstr "   (%d) ElGamal (signér og kryptér)\n"
+msgstr "   (%d) underskriv, krypter\n"
 
 #: sm/certreqgen-ui.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign\n"
-msgstr "   (%d) DSA (signér kun)\n"
+msgstr "   (%d) underskriv\n"
 
 #: sm/certreqgen-ui.c:279
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) encrypt\n"
-msgstr "   (%d) ElGamal (kryptér kun)\n"
+msgstr "   (%d) krypter\n"
 
 #: sm/certreqgen-ui.c:303
 msgid "Enter the X.509 subject name: "
-msgstr ""
+msgstr "Indtast X.509-emnenavnet: "
 
 #: sm/certreqgen-ui.c:307
 msgid "No subject name given\n"
-msgstr ""
+msgstr "Intet emnenavn angivet\n"
 
 #: sm/certreqgen-ui.c:311
 #, c-format
 msgid "Invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "Ugyldig etiket for emnenavn »%.*s«\n"
 
 #. TRANSLATORS: The 22 in the second string is the
 #. length of the first string up to the "%s".  Please
@@ -7592,167 +7587,158 @@ msgstr ""
 #. second string is merely passed to atoi so you can
 #. drop everything after the number.
 #: sm/certreqgen-ui.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid subject name `%s'\n"
-msgstr "ugyldig hash-algoritme `%s'\n"
+msgstr "Ugyldigt emnenavn »%s«\n"
 
 #: sm/certreqgen-ui.c:322
 msgid "22 translator: see certreg-ui.c:gpgsm_gencertreq_tty"
-msgstr ""
+msgstr "19"
 
 #: sm/certreqgen-ui.c:334
-#, fuzzy
 msgid "Enter email addresses"
-msgstr "Epostadresse: "
+msgstr "Indtast e-post-adresse"
 
 #: sm/certreqgen-ui.c:335
 msgid " (end with an empty line):\n"
-msgstr ""
+msgstr " (slut med en tom linje):\n"
 
 #: sm/certreqgen-ui.c:339
-#, fuzzy
 msgid "Enter DNS names"
-msgstr "Indtast nyt filnavn"
+msgstr "Indtast DNS-navne"
 
 #: sm/certreqgen-ui.c:340 sm/certreqgen-ui.c:345
 msgid " (optional; end with an empty line):\n"
-msgstr ""
+msgstr " (valgfrit; slut med en tom linje):\n"
 
 #: sm/certreqgen-ui.c:344
-#, fuzzy
 msgid "Enter URIs"
-msgstr "Indtast bruger-id: "
+msgstr "Indtast URI'er"
 
 #: sm/certreqgen-ui.c:371
 msgid "Parameters to be used for the certificate request:\n"
-msgstr ""
+msgstr "Parametre for certifikatforespørgslen:\n"
 
 #: sm/certreqgen-ui.c:389
 msgid "Now creating certificate request.  This may take a while ...\n"
-msgstr ""
+msgstr "Opretter certifikatforespørgsel. Dette kan tage et stykke tid ...\n"
 
 #: sm/certreqgen-ui.c:398
 msgid "Ready.  You should now send this request to your CA.\n"
-msgstr ""
+msgstr "Klar. Du skal nu sende denne forespørgsel til din CA.\n"
 
 #: sm/certreqgen-ui.c:403
 msgid "resource problem: out of core\n"
-msgstr ""
+msgstr "ressourceproblem: ikke nok kerne\n"
 
 #: sm/decrypt.c:330
 msgid "(this is the RC2 algorithm)\n"
-msgstr ""
+msgstr "(dette er RC2-algoritmen)\n"
 
 #: sm/decrypt.c:332
 msgid "(this does not seem to be an encrypted message)\n"
-msgstr ""
+msgstr "(dette ser ikke ud til at være en krypteret besked)\n"
 
 #: sm/delete.c:51 sm/delete.c:112
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' not found: %s\n"
-msgstr "%s: bruger ikke fundet: %s\n"
+msgstr "certifikat »%s« blev ikke fundet: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
-#, fuzzy, c-format
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
+#, c-format
 msgid "error locking keybox: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved låsning af nøgleboks: %s\n"
 
 #: sm/delete.c:143
-#, fuzzy, c-format
+#, c-format
 msgid "duplicated certificate `%s' deleted\n"
-msgstr "nøgle %08lX: offentlig nøgle importeret\n"
+msgstr "duplikeret certifikat »%s« slettet\n"
 
 #: sm/delete.c:145
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' deleted\n"
-msgstr "vis præferencer"
+msgstr "certifikat »%s« slettet\n"
 
 #: sm/delete.c:175
-#, fuzzy, c-format
+#, c-format
 msgid "deleting certificate \"%s\" failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "sletning af certifikat »%s« mislykkedes: %s\n"
 
 #: sm/encrypt.c:321
-#, fuzzy
 msgid "no valid recipients given\n"
-msgstr "ingen gyldige adresser\n"
+msgstr "ingen gyldige modtagere angivet\n"
 
 #: sm/gpgsm.c:197
-#, fuzzy
 msgid "list external keys"
-msgstr "vis hemmelige nøgler"
+msgstr "vis eksterne nøgler"
 
 #: sm/gpgsm.c:199
-#, fuzzy
 msgid "list certificate chain"
-msgstr "ugyldigt certifikat"
+msgstr "vis certifikatkæde"
 
 #: sm/gpgsm.c:206
-#, fuzzy
 msgid "import certificates"
-msgstr "Godt certifikat"
+msgstr "importer certifikater"
 
 #: sm/gpgsm.c:207
-#, fuzzy
 msgid "export certificates"
-msgstr "Godt certifikat"
+msgstr "eksporter certifikater"
 
 #: sm/gpgsm.c:209
 msgid "register a smartcard"
-msgstr ""
+msgstr "registrer et smartkort"
 
 #: sm/gpgsm.c:212
 msgid "pass a command to the dirmngr"
-msgstr ""
+msgstr "send en kommando til dirmngr'en"
 
 #: sm/gpgsm.c:214
 msgid "invoke gpg-protect-tool"
-msgstr ""
+msgstr "opstart gpg-protect-tool"
 
 #: sm/gpgsm.c:230
-#, fuzzy
 msgid "create base-64 encoded output"
-msgstr "opret ascii beskyttet uddata"
+msgstr "opret base-64-kodet resultat"
 
 #: sm/gpgsm.c:235
 msgid "assume input is in PEM format"
-msgstr ""
+msgstr "antag inddata er i PEM-format"
 
 #: sm/gpgsm.c:237
 msgid "assume input is in base-64 format"
-msgstr ""
+msgstr "antag inddata er i base-64-format"
 
 #: sm/gpgsm.c:239
 msgid "assume input is in binary format"
-msgstr ""
+msgstr "antag inddata er i binært format"
 
 #: sm/gpgsm.c:244
 msgid "use system's dirmngr if available"
-msgstr ""
+msgstr "brug systemets dirmngr hvis tilgængelig"
 
 #: sm/gpgsm.c:247
 msgid "never consult a CRL"
-msgstr ""
+msgstr "konsulter aldrig en CRL"
 
 #: sm/gpgsm.c:257
 msgid "check validity using OCSP"
-msgstr ""
+msgstr "kontroller validitet med OCSP"
 
 #: sm/gpgsm.c:262
 msgid "|N|number of certificates to include"
-msgstr ""
+msgstr "|N|antal certifikater der skal inkluderes"
 
 #: sm/gpgsm.c:265
 msgid "|FILE|take policy information from FILE"
-msgstr ""
+msgstr "|FILE|tag politikinformation fra FIL"
 
 #: sm/gpgsm.c:268
 msgid "do not check certificate policies"
-msgstr ""
+msgstr "kontroller ikke certifikatpolitikker"
 
 #: sm/gpgsm.c:272
 msgid "fetch missing issuer certificates"
-msgstr ""
+msgstr "hent manglende udstedercertifikater"
 
 #: sm/gpgsm.c:283
 msgid "don't use the terminal at all"
@@ -7760,215 +7746,193 @@ msgstr "brug overhovedet ikke terminalen"
 
 #: sm/gpgsm.c:285
 msgid "|FILE|write a server mode log to FILE"
-msgstr ""
+msgstr "|FILE|skriv en servertilstandslog til FIL"
 
 #: sm/gpgsm.c:290
-#, fuzzy
 msgid "|FILE|write an audit log to FILE"
-msgstr "|FILE|indlæs udvidelsesmodul FILE"
+msgstr "|FILE|skriv en revisionslog til FIL"
 
 #: sm/gpgsm.c:293
 msgid "batch mode: never ask"
-msgstr "kørselsmodus: spørg aldrig"
+msgstr "kørselstilstand: spørg aldrig"
 
 #: sm/gpgsm.c:294
 msgid "assume yes on most questions"
-msgstr "forvent ja til de fleste sprøgsmål"
+msgstr "forvent ja til de fleste spørgsmål"
 
 #: sm/gpgsm.c:295
 msgid "assume no on most questions"
-msgstr "forvent nej til de fleste sprøgsmål"
+msgstr "forvent nej til de fleste spørgsmål"
 
 #: sm/gpgsm.c:298
-#, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
-msgstr "tilføj denne nøglering til nøgleringslisten"
+msgstr "|FILE|tilføj nøglering til nøgleringslisten"
 
 #: sm/gpgsm.c:301
-#, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
-msgstr "|NAME|brug NAME som standard hemmelignøgle"
+msgstr "|USER-ID|brug BRUGER-ID som hemmelig standardnøgle"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
-#, fuzzy
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
-msgstr "|HOST|brug denne nøgletjener til at slå nøgler op"
+msgstr "|SPEC|brug denne nøgleserver til at slå nøgler op"
 
 #: sm/gpgsm.c:329
 msgid "|NAME|use cipher algorithm NAME"
-msgstr "|NAME|brug cifferalgoritme NAME"
+msgstr "|NAME|brug chifferalgoritme NAVN"
 
 #: sm/gpgsm.c:331
 msgid "|NAME|use message digest algorithm NAME"
-msgstr "|NAME|brug meddelelsesresumé algoritme NAME"
+msgstr "|NAME|brug beskedsammendragsalgoritme NAVN"
 
 #: sm/gpgsm.c:522
-#, fuzzy
 msgid "Usage: gpgsm [options] [files] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpgsm [tilvalg] [filer] (-h for hjælp)"
 
-# Skal alt dette oversættes eller er det flagene?
 #: sm/gpgsm.c:525
-#, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"Syntaks: gpg [flag] [filer]\n"
-"sign, check, encrypt eller decrypt\n"
-"standard operation afhænger af inddata\n"
+"Syntaks: gpgsm [tilvalg] [filer]\n"
+"Sign, check, encrypt eller decrypt med S/MIME-protokollen\n"
+"standardhandling afhænger af inddata\n"
 
 #: sm/gpgsm.c:617
-#, fuzzy
 msgid "usage: gpgsm [options] "
-msgstr "brug: gpg [flag] "
+msgstr "brug: gpgsm [tilvalg] "
 
 #: sm/gpgsm.c:739
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: won't be able to encrypt to `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "BEMÆRK: kan ikke kryptere til »%s«: %s\n"
 
 #: sm/gpgsm.c:750
-#, fuzzy, c-format
+#, c-format
 msgid "unknown validation model `%s'\n"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "ukendt valideringsmodel »%s«\n"
 
 #: sm/gpgsm.c:801
 #, c-format
 msgid "%s:%u: no hostname given\n"
-msgstr ""
+msgstr "%s:%u: intet værtsnavn angivet\n"
 
 #: sm/gpgsm.c:820
 #, c-format
 msgid "%s:%u: password given without user\n"
-msgstr ""
+msgstr "%s:%u: adgangskode angivet uden bruger\n"
 
 #: sm/gpgsm.c:841
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: skipping this line\n"
-msgstr "%s: udelod: %s\n"
+msgstr "%s:%u: udelader denne linje\n"
 
-#: sm/gpgsm.c:1376
-#, fuzzy
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "kunne ikke fortolke nøgleserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
-msgstr ""
+msgstr "ADVARSEL: kører med forfalsket systemtid: "
 
-#: sm/gpgsm.c:1556
-#, fuzzy, c-format
+#: sm/gpgsm.c:1559
+#, c-format
 msgid "importing common certificates `%s'\n"
-msgstr "skriver til `%s'\n"
+msgstr "importerer gængse certifikater »%s«\n"
 
-#: sm/gpgsm.c:1597
-#, fuzzy, c-format
+#: sm/gpgsm.c:1600
+#, c-format
 msgid "can't sign using `%s': %s\n"
-msgstr "kan ikke åbne '%s': %s\n"
+msgstr "kan ikke underskrive med »%s«: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
-msgstr ""
+msgstr "ugyldig kommando (der er ingen implict kommando)\n"
 
 #: sm/import.c:111
-#, fuzzy, c-format
+#, c-format
 msgid "total number processed: %lu\n"
-msgstr "Totalt antal behandlede: %lu\n"
+msgstr "samlet antal behandlede: %lu\n"
 
 #: sm/import.c:230
-#, fuzzy
 msgid "error storing certificate\n"
-msgstr "Godt certifikat"
+msgstr "fejl ved lagring af certifikat\n"
 
 #: sm/import.c:238
 msgid "basic certificate checks failed - not imported\n"
-msgstr ""
+msgstr "grundlæggende certifikatkontroller mislykkedes - ikke importeret\n"
 
-# er det klogt at oversætte TrustDB?
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
-#, fuzzy, c-format
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
+#, c-format
 msgid "error getting stored flags: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved indhentelse af gemte flag: %s\n"
 
 #: sm/import.c:551 sm/import.c:583
-#, fuzzy, c-format
+#, c-format
 msgid "error importing certificate: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl under import af certifikat: %s\n"
 
 #: sm/import.c:684 tools/gpg-connect-agent.c:1346
-#, fuzzy, c-format
+#, c-format
 msgid "error reading input: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning af inddata: %s\n"
 
-#: sm/keydb.c:187
-#, fuzzy, c-format
+#: sm/keydb.c:216
+#, c-format
 msgid "error creating keybox `%s': %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
-
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
+msgstr "fejl ved oprettelse af nøgleboks »%s«: %s\n"
 
-#: sm/keydb.c:195
-#, fuzzy, c-format
+#: sm/keydb.c:223
+#, c-format
 msgid "keybox `%s' created\n"
-msgstr "%s: mappe oprettet\n"
+msgstr "nøgleboks »%s« oprettet\n"
 
-# er det klogt at oversætte TrustDB?
-#: sm/keydb.c:1312 sm/keydb.c:1380
-#, fuzzy
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
-msgstr "kunne ikke initialisere TillidsDB: %s\n"
+msgstr "kunne ikke indhente fingeraftrykket\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
-msgstr ""
+msgstr "problem under udkig efter eksisterende certifikat: %s\n"
 
-#: sm/keydb.c:1348
-#, fuzzy, c-format
+#: sm/keydb.c:1525
+#, c-format
 msgid "error finding writable keyDB: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl under søgning efter skrivbar keyDB (nøgledatabase): %s\n"
 
-#: sm/keydb.c:1356
-#, fuzzy, c-format
+#: sm/keydb.c:1533
+#, c-format
 msgid "error storing certificate: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "fejl ved lagring af certifikat: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
-msgstr ""
+msgstr "problem under gensøgning af certifikat: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
-#, fuzzy, c-format
+#: sm/keydb.c:1606 sm/keydb.c:1699
+#, c-format
 msgid "error storing flags: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved lagring af flag: %s\n"
 
 #: sm/keylist.c:642
 msgid "Error - "
-msgstr ""
+msgstr "Fejl - "
 
 #: sm/misc.c:55
 msgid "GPG_TTY has not been set - using maybe bogus default\n"
-msgstr ""
+msgstr "GPG_TTY er ikke blevet angivet - bruger måske fejlbehæftet standard\n"
 
 #: sm/qualified.c:105
-#, fuzzy, c-format
+#, c-format
 msgid "invalid formatted fingerprint in `%s', line %d\n"
-msgstr "fejl i trailerlinie\n"
+msgstr "ugyldigt formateret fingeraftryk i »%s«, linje %d\n"
 
 #: sm/qualified.c:123
 #, c-format
 msgid "invalid country code in `%s', line %d\n"
-msgstr ""
+msgstr "ugyldig landekode i »%s«, linje %d\n"
 
 #: sm/qualified.c:202
 #, c-format
@@ -7980,12 +7944,20 @@ msgid ""
 "\n"
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
+"Du er ved at opretet en underskrift med dit certifikat:\n"
+"»%s«\n"
+"Dette vil oprette en kvalificeret underskrift efter lovgivningen, der svarer "
+"til en håndskrevet underskrift.\n"
+"\n"
+"%s%sEr du sikker på, at det er hvad du ønsker?"
 
 #: sm/qualified.c:211 sm/verify.c:616
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
 "signatures.\n"
 msgstr ""
+"Bemærk, at dette program ikke officielt er godkendt til at oprette eller "
+"verificere sådanne underskrifter.\n"
 
 #: sm/qualified.c:278
 #, c-format
@@ -7994,329 +7966,321 @@ msgid ""
 "\"%s\"\n"
 "Note, that this certificate will NOT create a qualified signature!"
 msgstr ""
+"Du er i gang med at oprette en underskrift med dit certifikat:\n"
+"»%s«\n"
+"Bemærk, at dette certifikat IKKE vil oprette en kvalificeret underskrift!"
 
 #: sm/sign.c:449
-#, fuzzy, c-format
+#, c-format
 msgid "hash algorithm %d (%s) for signer %d not supported; using %s\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr ""
+"hashalgoritme %d (%s) for underskriver %d er ikke understøttet; bruger %s\n"
 
 #: sm/sign.c:463
 #, c-format
 msgid "hash algorithm used for signer %d: %s (%s)\n"
-msgstr ""
+msgstr "hashalgoritme brugt for underskriver %d: %s (%s)\n"
 
 #: sm/sign.c:513
-#, fuzzy, c-format
+#, c-format
 msgid "checking for qualified certificate failed: %s\n"
-msgstr "Kan ikke tjekke signatur: %s\n"
+msgstr "kontrollerer for kvalificeret certifikat mislykkedes: %s\n"
 
 #: sm/verify.c:449
-#, fuzzy
 msgid "Signature made "
-msgstr "Denne nøgle er ikke beskyttet.\n"
+msgstr "Underskrift lavet "
 
 #: sm/verify.c:453
 msgid "[date not given]"
-msgstr ""
+msgstr "[dato ikke angivet]"
 
 #: sm/verify.c:454
-#, fuzzy, c-format
+#, c-format
 msgid " using certificate ID 0x%08lX\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr " bruger certifikat-id 0x%08lX\n"
 
 #: sm/verify.c:473
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
+"ugyldig underskrift: attribut for beskedsammendag matcher ikke den "
+"beregnede\n"
 
 #: sm/verify.c:594
-#, fuzzy
 msgid "Good signature from"
-msgstr "God signatur fra \""
+msgstr "God underskrift fra"
 
 #: sm/verify.c:595
-#, fuzzy
 msgid "                aka"
-msgstr "              alias \""
+msgstr "     også kendt som"
 
 #: sm/verify.c:613
-#, fuzzy
 msgid "This is a qualified signature\n"
-msgstr "skriver selvsignatur\n"
+msgstr "Dette er en kvalificeret underskrift\n"
 
 #: tools/gpg-connect-agent.c:70 tools/gpgconf.c:81 tools/symcryptrun.c:167
-#, fuzzy
 msgid "quiet"
-msgstr "afslut"
+msgstr "stille"
 
 #: tools/gpg-connect-agent.c:71
 msgid "print data out hex encoded"
-msgstr ""
+msgstr "vis data ud hex-kodet"
 
 #: tools/gpg-connect-agent.c:72
 msgid "decode received data lines"
-msgstr ""
+msgstr "afkod modtagne datalinjer"
 
 #: tools/gpg-connect-agent.c:74
 msgid "|NAME|connect to Assuan socket NAME"
-msgstr ""
+msgstr "|NAME|forbind til Assuansokkel NAVN"
 
 #: tools/gpg-connect-agent.c:76
 msgid "run the Assuan server given on the command line"
-msgstr ""
+msgstr "kør Assuanserveren angivet på kommandolinjen"
 
 #: tools/gpg-connect-agent.c:78
 msgid "do not use extended connect mode"
-msgstr ""
+msgstr "brug ikke udvidet forbindelsestilstand"
 
 #: tools/gpg-connect-agent.c:80
-#, fuzzy
 msgid "|FILE|run commands from FILE on startup"
-msgstr "|FILE|indlæs udvidelsesmodul FILE"
+msgstr "|FILE|kør kommandoer fra FIL ved opstart"
 
 #: tools/gpg-connect-agent.c:81
 msgid "run /subst on startup"
-msgstr ""
+msgstr "kør /subst ved opstart"
 
 #: tools/gpg-connect-agent.c:184
-#, fuzzy
 msgid "Usage: gpg-connect-agent [options] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg-connect-agent [tilvalg] (-h for hjælp)"
 
 #: tools/gpg-connect-agent.c:187
 msgid ""
 "Syntax: gpg-connect-agent [options]\n"
 "Connect to a running agent and send commands\n"
 msgstr ""
+"Syntaks: gpg-connect-agent [tilvalg]\n"
+"Forbind til en kørende agent og send kommandoer\n"
 
 #: tools/gpg-connect-agent.c:1201
 #, c-format
 msgid "option \"%s\" requires a program and optional arguments\n"
-msgstr ""
+msgstr "tilvalg »%s« kræver et program og valgfrie parametre\n"
 
 #: tools/gpg-connect-agent.c:1210
 #, c-format
 msgid "option \"%s\" ignored due to \"%s\"\n"
-msgstr ""
+msgstr "tilvalg »%s« ignoreret på grund af »%s«\n"
 
 #: tools/gpg-connect-agent.c:1281 tools/gpg-connect-agent.c:1771
-#, fuzzy, c-format
+#, c-format
 msgid "receiving line failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "modtagelse af linje mislykkedes: %s\n"
 
 #: tools/gpg-connect-agent.c:1371
-#, fuzzy
 msgid "line too long - skipped\n"
-msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
+msgstr "linje er for lang - udeladt\n"
 
 #: tools/gpg-connect-agent.c:1375
 msgid "line shortened due to embedded Nul character\n"
-msgstr ""
+msgstr "linje forkortet på grund af indlejret Nul-tegn\n"
 
 #: tools/gpg-connect-agent.c:1743
-#, fuzzy, c-format
+#, c-format
 msgid "unknown command `%s'\n"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "ukendt kommando »%s«\n"
 
 #: tools/gpg-connect-agent.c:1761
-#, fuzzy, c-format
+#, c-format
 msgid "sending line failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "afsendelse af linje mislykkedes: %s\n"
 
 #: tools/gpg-connect-agent.c:2208
-#, fuzzy, c-format
+#, c-format
 msgid "error sending %s command: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl under afsendelse af %s-kommando: %s\n"
 
 #: tools/gpg-connect-agent.c:2223
-#, fuzzy, c-format
+#, c-format
 msgid "error sending standard options: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl under afsendelse af standardtilvalg: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
-msgstr ""
+msgstr "Tilvalg der kontrollerer det diagnostiske resultat"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
-msgstr ""
+msgstr "Tilvalg der kontrollerer konfigurationen"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
-#, fuzzy
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
-msgstr "slå fuld fejltjekning til"
+msgstr "Tilvalg nyttige for fejlsøgning"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
-msgstr ""
+msgstr "|FILE|skriv servertilstandslogge til FIL"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
-msgstr ""
+msgstr "Tilvalg der kontrollerer sikkerheden"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
-msgstr ""
+msgstr "|N|udløb SSH-nøgler efter N sekunder"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
-msgstr ""
+msgstr "|N|angive maksimal livsforløb for PIN-mellemlager til N sekunder"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
-msgstr ""
+msgstr "|N|angive maksimal livsforløb for SSH-nøgle til N sekunder"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
-msgstr ""
+msgstr "Tilvalg der fremtvinger en adgangsfrasepolitik"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
-msgstr ""
+msgstr "tillad ikke omgåelse af adgangsfrasepolitikken"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
-msgstr ""
+msgstr "|N|angiv minimal krævet længde for nye adgangsfraser til N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
-msgstr ""
+msgstr "|N|kræv mindst N ikkealfanumeriske tegn for en ny adgangsfrase"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
-msgstr ""
+msgstr "|FILE|kontroller nye adgangsfraser mod mønstre i FIL"
 
-#: tools/gpgconf-comp.c:557
-#, fuzzy
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
-msgstr "|N|brug pasfrasemodus N"
+msgstr "|N|giv adgangsfrasen udløb efter N dage"
 
-#: tools/gpgconf-comp.c:561
-#, fuzzy
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
+msgstr "tillad ikke genbrug af gamle adgangsfraser"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
-msgstr "|NAME|brug NAME som standard hemmelignøgle"
+msgstr "|NAME|brug NAVN som hemmelig standardnøgle"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
-#, fuzzy
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
-msgstr "|NAME|kryptér for NAME"
+msgstr "|NAME|krypter også til bruger-id-NAVN"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
-msgstr ""
+msgstr "|SPEC|opsæt e-post-aliasser"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
-msgstr ""
+msgstr "Konfiguration for nøgleservere"
 
-#: tools/gpgconf-comp.c:688
-#, fuzzy
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
-msgstr "importér nøgler fra en nøgleserver: %s\n"
+msgstr "|URL|brug nøgleserver på adressen"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
-msgstr ""
+msgstr "tillad PKA-opslag (DNS-forespørgsler)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
-msgstr ""
+msgstr "|MECHANISMS|brug MEKANISMER til at finde nøgler efter postadresser"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
-msgstr ""
+msgstr "deaktiver al adgang til dirmngr"
 
-#: tools/gpgconf-comp.c:742
-#, fuzzy
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
-msgstr "|NAME|brug cifrealgoritme NAME for pasfrase"
+msgstr "|NAME|brug kodnings-NAVN for PKCS#12-adgangsfraser"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
-msgstr ""
+msgstr "kontroller ikke CRL'er for rodcertifikater"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
-msgstr ""
+msgstr "Tilvalg der kontrollerer formatet for resultatet"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
-msgstr ""
+msgstr "Tilvalg der kontrollerer interaktiviteten og tvang"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
-msgstr ""
+msgstr "Konfiguration for HTTP-servere"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
-msgstr ""
+msgstr "brug systemets HTTP-proxyopsætning"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
-msgstr ""
+msgstr "Konfiguraiton af LDAP-servere der skal bruges"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
-msgstr ""
+msgstr "LDAP-serverliste"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
-msgstr ""
+msgstr "Konfiguration for OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
-msgstr ""
+msgstr "Ekstern verifikation af komponent %s mislykkedes"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
-msgstr ""
+msgstr "Bemærk at gruppespecifikationer ignoreres\n"
 
 #: tools/gpgconf.c:62
 msgid "list all components"
-msgstr ""
+msgstr "vis alle komponenter"
 
 #: tools/gpgconf.c:63
 msgid "check all programs"
-msgstr ""
+msgstr "kontroller alle programmer"
 
 #: tools/gpgconf.c:64
 msgid "|COMPONENT|list options"
-msgstr ""
+msgstr "|COMPONENT|vis indstillinger"
 
 #: tools/gpgconf.c:65
 msgid "|COMPONENT|change options"
-msgstr ""
+msgstr "|COMPONENT|ændr indstillinger"
 
 #: tools/gpgconf.c:66
 msgid "|COMPONENT|check options"
-msgstr ""
+msgstr "|COMPONENT|kontroller indstillinger"
 
 #: tools/gpgconf.c:68
 msgid "apply global default values"
-msgstr ""
+msgstr "anvend globale standardværdier"
 
 #: tools/gpgconf.c:70
 msgid "get the configuration directories for gpgconf"
-msgstr ""
+msgstr "hent konfigurationsmapperne for gpgconf"
 
 #: tools/gpgconf.c:72
-#, fuzzy
 msgid "list global configuration file"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "vis global konfigurationsfil"
 
 #: tools/gpgconf.c:74
-#, fuzzy
 msgid "check global configuration file"
-msgstr "ukendt standard modtager '%s'\n"
+msgstr "kontroller global konfigurationsfil"
 
 #: tools/gpgconf.c:79
 msgid "use as output file"
@@ -8324,78 +8288,73 @@ msgstr "brug som uddatafil"
 
 #: tools/gpgconf.c:83
 msgid "activate changes at runtime, if possible"
-msgstr ""
+msgstr "aktiver ændringer ved kørselstid, hvis muligt"
 
 #: tools/gpgconf.c:105
-#, fuzzy
 msgid "Usage: gpgconf [options] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpgconf [tilvalg] (-h for hjælp)"
 
 #: tools/gpgconf.c:108
 msgid ""
 "Syntax: gpgconf [options]\n"
 "Manage configuration options for tools of the GnuPG system\n"
 msgstr ""
+"Syntaks: gpgconf [tilvalg]\n"
+"Håndter konfigurationsindstillinger for værktøjer i GnuPG-systemet\n"
 
 #: tools/gpgconf.c:214 tools/gpgconf.c:282
-#, fuzzy
 msgid "usage: gpgconf [options] "
-msgstr "brug: gpg [flag] "
+msgstr "brug: gpgconf [tilvalg] "
 
 #: tools/gpgconf.c:216
 msgid "Need one component argument"
-msgstr ""
+msgstr "Kræver en kompomentparameter"
 
 #: tools/gpgconf.c:225 tools/gpgconf.c:258
-#, fuzzy
 msgid "Component not found"
-msgstr "offentlig nøgle ikke fundet"
+msgstr "Komponent blev ikke fundet"
 
 #: tools/gpgconf.c:284
-#, fuzzy
 msgid "No argument allowed"
-msgstr "skriver hemmeligt certifikat til '%s'\n"
+msgstr "Ingen parameter tilladt"
 
 #: tools/symcryptrun.c:154
-#, fuzzy
 msgid ""
 "@\n"
 "Commands:\n"
 " "
 msgstr ""
-"@Kommandoer:\n"
+"@\n"
+"Kommandoer:\n"
 " "
 
 #: tools/symcryptrun.c:156
 msgid "decryption modus"
-msgstr ""
+msgstr "afkrypteringstilstand"
 
 #: tools/symcryptrun.c:157
-#, fuzzy
 msgid "encryption modus"
-msgstr "kryptér data"
+msgstr "krypteringstilstand"
 
 #: tools/symcryptrun.c:161
 msgid "tool class (confucius)"
-msgstr ""
+msgstr "værktøjsklasse (confucius)"
 
 #: tools/symcryptrun.c:162
-#, fuzzy
 msgid "program filename"
-msgstr "--store [filnavn (som gemmes)]"
+msgstr "filnavn for program"
 
 #: tools/symcryptrun.c:164
 msgid "secret key file (required)"
-msgstr ""
+msgstr "hemmelig nøglefil (krævet)"
 
 #: tools/symcryptrun.c:165
 msgid "input file name (default stdin)"
-msgstr ""
+msgstr "filnavn for inddata (standard stdin)"
 
 #: tools/symcryptrun.c:209
-#, fuzzy
 msgid "Usage: symcryptrun [options] (-h for help)"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: symcryptrun [tilvalg] (-h for hjælp)"
 
 #: tools/symcryptrun.c:212
 msgid ""
@@ -8403,896 +8362,150 @@ msgid ""
 "[options...] COMMAND [inputfile]\n"
 "Call a simple symmetric encryption tool\n"
 msgstr ""
+"Syntaks: symcryptrun --class CLASS --program PROGRAM --keyfile NØGLEFIL "
+"[tilvalg ...] KOMMANDO [inddatafil]\n"
+"Kald et simpelt symmetrisk krypteringsværktøj\n"
 
 #: tools/symcryptrun.c:281
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s aborted with status %i\n"
-msgstr "%s ikke tilladt med %s!\n"
+msgstr "%s på %s afbrudt med status %i\n"
 
 #: tools/symcryptrun.c:288
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s failed with status %i\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "%s på %s mislykkedes med status %i\n"
 
 #: tools/symcryptrun.c:314
-#, fuzzy, c-format
+#, c-format
 msgid "can't create temporary directory `%s': %s\n"
-msgstr "%s: kan ikke oprette mappe: %s\n"
+msgstr "kan ikke oprette midlertidig mappe »%s«: %s\n"
 
 #: tools/symcryptrun.c:354 tools/symcryptrun.c:371
-#, fuzzy, c-format
+#, c-format
 msgid "could not open %s for writing: %s\n"
-msgstr "kan ikke åbne %s: %s\n"
+msgstr "kunne ikke åbne %s for skrivning: %s\n"
 
 #: tools/symcryptrun.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to %s: %s\n"
-msgstr "fejl ved skrivning af nøglering `%s': %s\n"
+msgstr "fejl ved skrivning til »%s«: %s\n"
 
 #: tools/symcryptrun.c:389
-#, fuzzy, c-format
+#, c-format
 msgid "error reading from %s: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved læsning fra %s: %s\n"
 
 #: tools/symcryptrun.c:396 tools/symcryptrun.c:403
-#, fuzzy, c-format
+#, c-format
 msgid "error closing %s: %s\n"
-msgstr "fejl ved læsning af '%s': %s\n"
+msgstr "fejl ved lukning af %s: %s\n"
 
 #: tools/symcryptrun.c:488
 msgid "no --program option provided\n"
-msgstr ""
+msgstr "tilvalget --program blev ikke leveret\n"
 
 #: tools/symcryptrun.c:494
 msgid "only --decrypt and --encrypt are supported\n"
-msgstr ""
+msgstr "kun --decrypt og --encrypt er understøttet\n"
 
 #: tools/symcryptrun.c:500
 msgid "no --keyfile option provided\n"
-msgstr ""
+msgstr "tilvalget --keyfile blev ikke leveret\n"
 
 #: tools/symcryptrun.c:511
 msgid "cannot allocate args vector\n"
-msgstr ""
+msgstr "kan ikke allokere parametervektor\n"
 
 #: tools/symcryptrun.c:529
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pipe: %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kunne ikke oprette datakanal: %s\n"
 
 #: tools/symcryptrun.c:536
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pty: %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kunne ikke oprette pty: %s\n"
 
 #: tools/symcryptrun.c:552
 #, c-format
 msgid "could not fork: %s\n"
-msgstr ""
+msgstr "kunne ikke forgrene: %s\n"
 
 #: tools/symcryptrun.c:580
-#, fuzzy, c-format
+#, c-format
 msgid "execv failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "execv mislykkedes: %s\n"
 
 #: tools/symcryptrun.c:609
-#, fuzzy, c-format
+#, c-format
 msgid "select failed: %s\n"
-msgstr "fjernelse af beskyttelse fejlede: %s\n"
+msgstr "select mislykkedes: %s\n"
 
 #: tools/symcryptrun.c:626
-#, fuzzy, c-format
+#, c-format
 msgid "read failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "læsning mislykkedes: %s\n"
 
 #: tools/symcryptrun.c:678
-#, fuzzy, c-format
+#, c-format
 msgid "pty read failed: %s\n"
-msgstr "påklædning af beskyttelse fejlede: %s\n"
+msgstr "pty-læsning mislykkedes: %s\n"
 
 #: tools/symcryptrun.c:730
-#, fuzzy, c-format
+#, c-format
 msgid "waitpid failed: %s\n"
-msgstr "signering fejlede: %s\n"
+msgstr "waitpid mislykkedes: %s\n"
 
 #: tools/symcryptrun.c:744
 #, c-format
 msgid "child aborted with status %i\n"
-msgstr ""
+msgstr "underproces afbrudt med status %i\n"
 
 #: tools/symcryptrun.c:799
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate infile string: %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke allokere infile-streng: %s\n"
 
 #: tools/symcryptrun.c:812
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate outfile string: %s\n"
-msgstr "kan ikke oprette %s: %s\n"
+msgstr "kan ikke allokere outfile-streng: %s\n"
 
 #: tools/symcryptrun.c:986
 #, c-format
 msgid "either %s or %s must be given\n"
-msgstr ""
+msgstr "enten %s eller %s skal være angivet\n"
 
 #: tools/symcryptrun.c:1013
 msgid "no class provided\n"
-msgstr ""
+msgstr "ingen klasse angivet\n"
 
 #: tools/symcryptrun.c:1022
-#, fuzzy, c-format
+#, c-format
 msgid "class %s is not supported\n"
-msgstr "valgte cifferalgoritme %d er ugyldig\n"
+msgstr "klasse %s er ikke understøttet\n"
 
 #: tools/gpg-check-pattern.c:145
-#, fuzzy
 msgid "Usage: gpg-check-pattern [options] patternfile (-h for help)\n"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+msgstr "Brug: gpg-check-pattern [tilvalg] mønsterfil (-h for hjælp)\n"
 
 #: tools/gpg-check-pattern.c:148
 msgid ""
 "Syntax: gpg-check-pattern [options] patternfile\n"
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
+"Syntaks: gpg-check-pattern [tilvalg] mønsterfil\n"
+"Kontroller en adgangsfrase angivet på stdin mod mønsterfilen\n"
 
-#~ msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
-#~ msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
-
-#, fuzzy
-#~ msgid "Please report bugs to "
-#~ msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
-
-#, fuzzy
-#~ msgid "DSA keypair will have %u bits.\n"
-#~ msgstr "DSA nøglepar vil have 1024 bit.\n"
-
-#, fuzzy
-#~ msgid "Repeat passphrase\n"
-#~ msgstr "Gentag kodesætning: "
-
-#, fuzzy
-#~ msgid "read options from file"
-#~ msgstr "læser indstillinger fra `%s'\n"
-
-#~ msgid "|[file]|make a signature"
-#~ msgstr "|[filer]|opret en signatur"
-
-#, fuzzy
-#~ msgid "|[FILE]|make a signature"
-#~ msgstr "|[filer]|opret en signatur"
-
-#, fuzzy
-#~ msgid "|[FILE]|make a clear text signature"
-#~ msgstr "|[filer]|opret rentekst signatur"
-
-#~ msgid "|NAME|use NAME as default recipient"
-#~ msgstr "|NAME|brug NAME som standard modtager"
-
-#~ msgid "use the default key as default recipient"
-#~ msgstr "brug standard nøglen som standard modtager"
-
-#~ msgid "force v3 signatures"
-#~ msgstr "tving v3 signaturer"
-
-#~ msgid "always use a MDC for encryption"
-#~ msgstr "brug altid en MDC for kryptering"
-
-#~ msgid "add this secret keyring to the list"
-#~ msgstr "tilføj denne hemmeligenøglering til listen"
-
-#~ msgid "|NAME|set terminal charset to NAME"
-#~ msgstr "|NAME|sæt terminal karaktersæt til NAME"
-
-#~ msgid "|FILE|load extension module FILE"
-#~ msgstr "|FILE|indlæs udvidelsesmodul FILE"
-
-#~ msgid "|N|use compress algorithm N"
-#~ msgstr "|N|brug kompresalgoritme N"
-
-#, fuzzy
-#~ msgid "remove key from the public keyring"
-#~ msgstr "fjern nøgle fra den offentlige nøglering"
-
-#~ msgid "Enter the size of the key"
-#~ msgstr "Indtast nøglens størrelse"
-
-#~ msgid "Answer \"yes\" or \"no\""
-#~ msgstr "Svar \"ja\" eller \"nej\""
-
-#~ msgid "Answer \"yes\" if it is okay to overwrite the file"
-#~ msgstr "Svar \"ja\" hvis det er ok at overskrive filen"
-
-#~ msgid ""
-#~ "Please enter a new filename. If you just hit RETURN the default\n"
-#~ "file (which is shown in brackets) will be used."
-#~ msgstr ""
-#~ "Indtast et nyt filnavn. Hvis du bare trykker RETUR vil det\n"
-#~ "forvalgte navn (som er vist i klammer) blive brugt."
-
-#, fuzzy
-#~ msgid "shelll"
-#~ msgstr "hjælp"
-
-#, fuzzy
-#~ msgid ""
-#~ "please see http://www.gnupg.org/download/iconv.html for more information\n"
-#~ msgstr "rev- forkert nøgletilbagekald\n"
-
-#, fuzzy
-#~ msgid "please use the script \"%s\" to generate a new key\n"
-#~ msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
-
-#~ msgid "Enter passphrase: "
-#~ msgstr "Indtast kodesætning: "
-
-#~ msgid "Repeat passphrase: "
-#~ msgstr "Gentag kodesætning: "
-
-#~ msgid "-k[v][v][v][c] [user-id] [keyring]"
-#~ msgstr "-k[v][v][v][c] [bruger-id] [nøglering]"
-
-#, fuzzy
-#~ msgid "can't lock `%s': %s\n"
-#~ msgstr "kan ikke åbne `%s'\n"
-
-#, fuzzy
-#~ msgid "can't stat `%s': %s\n"
-#~ msgstr "kan ikke åbne '%s': %s\n"
-
-#, fuzzy
-#~ msgid "can't read `%s': %s\n"
-#~ msgstr "kan ikke åbne '%s': %s\n"
-
-#, fuzzy
-#~ msgid "can't write `%s': %s\n"
-#~ msgstr "kan ikke åbne '%s': %s\n"
-
-#, fuzzy
-#~ msgid "can't close `%s': %s\n"
-#~ msgstr "kan ikke åbne '%s': %s\n"
-
-#~ msgid "WARNING: using insecure random number generator!!\n"
-#~ msgstr "ADVARSEL: bruger usikker tilfældig-nummer-generator!!!\n"
-
-#~ msgid ""
-#~ "The random number generator is only a kludge to let\n"
-#~ "it run - it is in no way a strong RNG!\n"
-#~ "\n"
-#~ "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Den tilfældige nummer generator er kun en \"kludge\" for at\n"
-#~ "lade den køre - det er ikke en stærk RNG!\n"
-#~ "\n"
-#~ "BENYT IKKE DATA GENERERET AF DETTE PROGRAM!!!\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Not enough random bytes available.  Please do some other work to give\n"
-#~ "the OS a chance to collect more entropy! (Need %d more bytes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Ikke nok tilfældige byte tilgængelig.  Please do some other work to give\n"
-#~ "the OS a chance to collect more entropy! (Kræver %d byte mere)\n"
-
-#, fuzzy
-#~ msgid "card reader not available\n"
-#~ msgstr "hemmelig nøgle ikke tilgængelig"
-
-#, fuzzy
-#~ msgid "NOTE: %s is not available in this version\n"
-#~ msgstr "RSA nøgle kan ikke bruges i denne version\n"
-
-#, fuzzy
-#~ msgid "         algorithms on these user IDs:\n"
-#~ msgstr "      nye bruger-id'er: %lu\n"
-
-#~ msgid "general error"
-#~ msgstr "generel fejl"
-
-#~ msgid "unknown packet type"
-#~ msgstr "ukendt pakketype"
-
-#~ msgid "unknown pubkey algorithm"
-#~ msgstr "ukendt offentlig nøglealgoritme"
-
-#~ msgid "unknown digest algorithm"
-#~ msgstr "ukendt sammenfatningsalgoritme"
-
-#~ msgid "bad public key"
-#~ msgstr "dårlig offentlig nøgle"
-
-#~ msgid "bad secret key"
-#~ msgstr "dårlig hemmelig nøgle"
-
-#~ msgid "bad signature"
-#~ msgstr "dårlig signatur"
-
-#~ msgid "checksum error"
-#~ msgstr "tjeksumsfejl"
-
-#~ msgid "unknown cipher algorithm"
-#~ msgstr "ukendt cifferalgoritme "
-
-#~ msgid "invalid packet"
-#~ msgstr "ugyldig pakke"
-
-#~ msgid "invalid armor"
-#~ msgstr "ugyldig rustning"
-
-#~ msgid "no such user id"
-#~ msgstr "ikke-eksisterende bruger id"
-
-#~ msgid "secret key not available"
-#~ msgstr "hemmelig nøgle ikke tilgængelig"
-
-#~ msgid "wrong secret key used"
-#~ msgstr "forkert hemmelig nøgle brugt"
-
-#~ msgid "not supported"
-#~ msgstr "ikke understøttet"
-
-#~ msgid "bad key"
-#~ msgstr "dårlig nøgle"
-
-#~ msgid "file write error"
-#~ msgstr "filskrivningsfejl"
-
-#~ msgid "unknown compress algorithm"
-#~ msgstr "ukendt kompressionsalgoritme"
-
-#~ msgid "file open error"
-#~ msgstr "filåbningsfejl"
-
-#~ msgid "file create error"
-#~ msgstr "filoprettelsesfejl"
-
-#~ msgid "invalid passphrase"
-#~ msgstr "ugyldig kodesætning"
-
-#~ msgid "unimplemented pubkey algorithm"
-#~ msgstr "uimplementeret offentlig nøglealgoritme"
-
-#~ msgid "unimplemented cipher algorithm"
-#~ msgstr "uimplementeret cifferalgoritme"
-
-#~ msgid "unknown signature class"
-#~ msgstr "ukendt signaturklasse"
-
-#~ msgid "trust database error"
-#~ msgstr "tillidsdatabasefejl"
-
-#~ msgid "resource limit"
-#~ msgstr "resursegrænse"
-
-#~ msgid "invalid keyring"
-#~ msgstr "ugyldig nøglering"
-
-#~ msgid "malformed user id"
-#~ msgstr "dårlig bruger-id"
-
-#~ msgid "file close error"
-#~ msgstr "fillukningsfejl"
-
-#~ msgid "file rename error"
-#~ msgstr "filomdøbningsfejl"
-
-#~ msgid "file delete error"
-#~ msgstr "filsletningsfejl"
-
-#~ msgid "unexpected data"
-#~ msgstr "uforventet data"
-
-#~ msgid "timestamp conflict"
-#~ msgstr "tidsstempelkonflikt"
-
-#~ msgid "unusable pubkey algorithm"
-#~ msgstr "uanvendelig offentlig nøglealgoritme"
-
-#~ msgid "file exists"
-#~ msgstr "fil eksisterer"
-
-#~ msgid "weak key"
-#~ msgstr "svag nøgle"
-
-#~ msgid "bad URI"
-#~ msgstr "ugyldig URI"
-
-#~ msgid "unsupported URI"
-#~ msgstr "ikke-understøttet URI"
-
-#~ msgid "network error"
-#~ msgstr "netværksfejl"
-
-#~ msgid "not processed"
-#~ msgstr "ikke bearbejdet"
-
-#, fuzzy
-#~ msgid "unusable public key"
-#~ msgstr "dårlig offentlig nøgle"
-
-#, fuzzy
-#~ msgid "unusable secret key"
-#~ msgstr "dårlig hemmelig nøgle"
-
-#, fuzzy
-#~ msgid "keyserver error"
-#~ msgstr "generel fejl"
-
-#, fuzzy
-#~ msgid "no card"
-#~ msgstr "ikke krypteret"
-
-#, fuzzy
-#~ msgid "no data"
-#~ msgstr "kryptér data"
-
-#~ msgid "... this is a bug (%s:%d:%s)\n"
-#~ msgstr "... dette er en fejl (%s:%d:%s)\n"
-
-#, fuzzy
-#~ msgid "WARNING: using insecure memory!\n"
-#~ msgstr "Advarsel: benytter ubeskyttet hukommelse!\n"
-
-#~ msgid "operation is not possible without initialized secure memory\n"
-#~ msgstr "operation er ikke mulig uden beskyttet hukommelse indlæst\n"
-
-#~ msgid "(you may have used the wrong program for this task)\n"
-#~ msgstr "(du kan have brugt et forkert program til denne opgave)\n"
-
-#, fuzzy
-#~ msgid "all export-clean-* options from above"
-#~ msgstr "læs indstillinger fra fil"
-
-#, fuzzy
-#~ msgid "all import-clean-* options from above"
-#~ msgstr "læs indstillinger fra fil"
-
-#, fuzzy
-#~ msgid "expired: %s)"
-#~ msgstr "Nøgle udløber d. %s\n"
-
-#, fuzzy
-#~ msgid "key %s: expired signature from key %s - skipped\n"
-#~ msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
-
-#, fuzzy
-#~ msgid "Unable to clean `%s'\n"
-#~ msgstr "kan ikke åbne %s: %s\n"
-
-#, fuzzy
-#~ msgid "No user IDs are removable.\n"
-#~ msgstr "Ingen bruger-ID for nøgle\n"
-
-#, fuzzy
-#~ msgid "bad passphrase or unknown cipher algorithm (%d)\n"
-#~ msgstr "ukendt cifferalgoritme "
-
-#~ msgid "list signatures"
-#~ msgstr "vis signaturer"
-
-#~ msgid "sign the key"
-#~ msgstr "signér nøglen"
-
-#~ msgid "add a secondary key"
-#~ msgstr "tilføj sekundær nøgle"
-
-#~ msgid "delete signatures"
-#~ msgstr "slet signaturer"
-
-#~ msgid "change the expire date"
-#~ msgstr "ændr udløbsdatoen"
-
-#, fuzzy
-#~ msgid "set preference list"
-#~ msgstr "vis præferencer"
-
-#, fuzzy
-#~ msgid "updated preferences"
-#~ msgstr "vis præferencer"
-
-#~ msgid "No secondary key with index %d\n"
-#~ msgstr "Ingen sekundær nøgle med indeks %d\n"
-
-#, fuzzy
-#~ msgid "--nrsign-key user-id"
-#~ msgstr "--sign-key bruger-id"
-
-#, fuzzy
-#~ msgid "--nrlsign-key user-id"
-#~ msgstr "--sign-key bruger-id"
-
-#, fuzzy
-#~ msgid "sign the key non-revocably"
-#~ msgstr "signér nøglen lokalt"
-
-#, fuzzy
-#~ msgid "sign the key locally and non-revocably"
-#~ msgstr "signér nøglen lokalt"
-
-#~ msgid "q"
-#~ msgstr "a"
-
-#~ msgid "list"
-#~ msgstr "vis"
-
-#~ msgid "l"
-#~ msgstr "l"
-
-#~ msgid "debug"
-#~ msgstr "aflus"
-
-#, fuzzy
-#~ msgid "name"
-#~ msgstr "slåtil"
-
-#, fuzzy
-#~ msgid "login"
-#~ msgstr "lsignér"
-
-#, fuzzy
-#~ msgid "cafpr"
-#~ msgstr "fpr"
-
-#, fuzzy
-#~ msgid "generate"
-#~ msgstr "generel fejl"
-
-#~ msgid "passwd"
-#~ msgstr "kodeord"
-
-#~ msgid "save"
-#~ msgstr "gem"
-
-#~ msgid "fpr"
-#~ msgstr "fpr"
-
-#~ msgid "uid"
-#~ msgstr "uid"
-
-#~ msgid "key"
-#~ msgstr "nøgle"
-
-#~ msgid "check"
-#~ msgstr "tjek"
-
-#~ msgid "c"
-#~ msgstr "c"
-
-#~ msgid "sign"
-#~ msgstr "signér"
-
-#~ msgid "s"
-#~ msgstr "s"
-
-#, fuzzy
-#~ msgid "tsign"
-#~ msgstr "signér"
-
-#~ msgid "lsign"
-#~ msgstr "lsignér"
-
-#, fuzzy
-#~ msgid "nrsign"
-#~ msgstr "signér"
-
-#, fuzzy
-#~ msgid "nrlsign"
-#~ msgstr "signér"
-
-#~ msgid "adduid"
-#~ msgstr "tilføj-bid"
-
-#~ msgid "deluid"
-#~ msgstr "sletbid"
-
-#, fuzzy
-#~ msgid "addcardkey"
-#~ msgstr "tilføj nøgle"
-
-#~ msgid "delkey"
-#~ msgstr "sletnøgle"
-
-#, fuzzy
-#~ msgid "addrevoker"
-#~ msgstr "tilføj nøgle"
-
-#~ msgid "delsig"
-#~ msgstr "sletsig"
-
-#~ msgid "expire"
-#~ msgstr "udløb"
-
-#~ msgid "toggle"
-#~ msgstr "skift"
-
-#~ msgid "t"
-#~ msgstr "s"
-
-#~ msgid "pref"
-#~ msgstr "præf"
-
-#, fuzzy
-#~ msgid "showpref"
-#~ msgstr "vispræf"
-
-#, fuzzy
-#~ msgid "setpref"
-#~ msgstr "præf"
-
-#, fuzzy
-#~ msgid "updpref"
-#~ msgstr "præf"
-
-#, fuzzy
-#~ msgid "keyserver"
-#~ msgstr "generel fejl"
-
-#~ msgid "trust"
-#~ msgstr "betro"
-
-#, fuzzy
-#~ msgid "revuid"
-#~ msgstr "sletbid"
-
-#~ msgid "disable"
-#~ msgstr "slåfra"
-
-#~ msgid "enable"
-#~ msgstr "slåtil"
-
-#~ msgid "DSA only allows keysizes from 512 to 1024\n"
-#~ msgstr "DSA tillader kun nøglestørrelser fra 512 til 1024\n"
-
-#, fuzzy
-#~ msgid "Are you sure that you want this keysize? (y/N) "
-#~ msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
-
-#, fuzzy
-#~ msgid "          \""
-#~ msgstr "              alias \""
-
-#~ msgid "key %08lX: key has been revoked!\n"
-#~ msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
-
-#~ msgid "key %08lX: subkey has been revoked!\n"
-#~ msgstr "nøgle %08lX: undernøgle er blevet annulleret!\n"
-
-#~ msgid "%08lX: key has expired\n"
-#~ msgstr "%08lX: nøgle er udløbet\n"
-
-#~ msgid "%08lX: We do NOT trust this key\n"
-#~ msgstr "%08lX: Vi stoler IKKE på denne nøgle\n"
-
-#, fuzzy
-#~ msgid "   (%d) RSA (auth only)\n"
-#~ msgstr "   (%d) DSA (signér kun)\n"
-
-#, fuzzy
-#~ msgid "   (%d) RSA (sign and auth)\n"
-#~ msgstr "   (%d) ElGamal (signér og kryptér)\n"
-
-#, fuzzy
-#~ msgid "   (%d) RSA (encrypt and auth)\n"
-#~ msgstr "   (%d) ElGamal (kryptér kun)\n"
-
-#, fuzzy
-#~ msgid "  (%d) RSA (sign, encrypt and auth)\n"
-#~ msgstr "   (%d) ElGamal (signér og kryptér)\n"
-
-#~ msgid "%s: can't open: %s\n"
-#~ msgstr "%s: kan ikke åbne: %s\n"
-
-#~ msgid "%s: WARNING: empty file\n"
-#~ msgstr "%s: ADVARSEL: tom fil\n"
-
-#~ msgid "Really sign? "
-#~ msgstr "Vil du gerne signere? "
-
-#, fuzzy
-#~ msgid "expires"
-#~ msgstr "udløb"
-
-#, fuzzy
-#~ msgid "%s: can't make lock\n"
-#~ msgstr "%s: kan ikke åbne: %s\n"
-
-#, fuzzy
-#~ msgid "Unable to open photo \"%s\": %s\n"
-#~ msgstr "kan ikke åbne %s: %s\n"
-
-#, fuzzy
-#~ msgid "error: no ownertrust value\n"
-#~ msgstr "eksportér ejertillidsværdierne"
-
-#~ msgid " (main key ID %08lX)"
-#~ msgstr " (hovednøgle-ID %08lX)"
-
-#, fuzzy
-#~ msgid "rev! subkey has been revoked: %s\n"
-#~ msgstr "rev! undernøgle er blevet annulleret! %s\n"
-
-#, fuzzy
-#~ msgid "rev- faked revocation found\n"
-#~ msgstr "rev- forkert nøgletilbagekald\n"
-
-#, fuzzy
-#~ msgid " [expired: %s]"
-#~ msgstr "Nøgle udløber d. %s\n"
-
-#, fuzzy
-#~ msgid " [expires: %s]"
-#~ msgstr "Nøgle udløber d. %s\n"
-
-#, fuzzy
-#~ msgid " [revoked: %s]"
-#~ msgstr "tilføj nøgle"
-
-#~ msgid "store only"
-#~ msgstr "gem kun"
-
-#, fuzzy
-#~ msgid "sign a key locally and non-revocably"
-#~ msgstr "signér en nøgle lokalt"
-
-#~ msgid "list only the sequence of packets"
-#~ msgstr "vis kun pakkesekvensen"
-
-#~ msgid "export the ownertrust values"
-#~ msgstr "eksportér ejertillidsværdierne"
-
-#, fuzzy
-#~ msgid "unattended trust database update"
-#~ msgstr "opdatér tillidsdatabasen"
-
-#~ msgid "fix a corrupted trust database"
-#~ msgstr "reparér en ødelagt tillidsdatabase"
-
-#~ msgid "De-Armor a file or stdin"
-#~ msgstr "De-beskydt en fil el. stdin"
-
-#~ msgid "En-Armor a file or stdin"
-#~ msgstr "Beskydt en fil el. stdin"
-
-#, fuzzy
-#~ msgid "do not force v3 signatures"
-#~ msgstr "tving v3 signaturer"
-
-#, fuzzy
-#~ msgid "force v4 key signatures"
-#~ msgstr "tving v3 signaturer"
-
-#, fuzzy
-#~ msgid "do not force v4 key signatures"
-#~ msgstr "tving v3 signaturer"
-
-#, fuzzy
-#~ msgid "never use a MDC for encryption"
-#~ msgstr "brug altid en MDC for kryptering"
-
-#, fuzzy
-#~ msgid "|[file]|write status info to file"
-#~ msgstr "|FD|skriv statusinfo til denne FD"
-
-#~ msgid "emulate the mode described in RFC1991"
-#~ msgstr "emulér modusen beskrevet i RFC1991"
-
-#~ msgid "set all packet, cipher and digest options to OpenPGP behavior"
-#~ msgstr "sæt alle pakker, cifre og resumé flag til OpenPGP standard"
-
-#, fuzzy
-#~ msgid "set all packet, cipher and digest options to PGP 2.x behavior"
-#~ msgstr "sæt alle pakker, cifre og resumé flag til OpenPGP standard"
-
-#~ msgid "|NAME|use message digest algorithm NAME for passphrases"
-#~ msgstr "|NAME|brug meddelelses resuméalgoritme NAME for pasfrase"
-
-#~ msgid "key %08lX: not a rfc2440 key - skipped\n"
-#~ msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
-
-#, fuzzy
-#~ msgid " (default)"
-#~ msgstr "(standard er 1)"
-
-#~ msgid "Policy: "
-#~ msgstr "Politik: "
-
-#, fuzzy
-#~ msgid "can't get key from keyserver: %s\n"
-#~ msgstr "importér nøgler fra en nøgleserver: %s\n"
-
-#, fuzzy
-#~ msgid "%lu keys so far checked (%lu signatures)\n"
-#~ msgstr "%lu nøgler behandlet indtil nu\n"
-
-#, fuzzy
-#~ msgid "key %08lX incomplete\n"
-#~ msgstr "nøgle %08lX: ingen bruger-id\n"
-
-#, fuzzy
-#~ msgid "quit|quit"
-#~ msgstr "afslut"
-
-#~ msgid "   (%d) ElGamal (sign and encrypt)\n"
-#~ msgstr "   (%d) ElGamal (signér og kryptér)\n"
-
-#, fuzzy
-#~ msgid "Create anyway? "
-#~ msgstr "Brug denne nøgle alligevel? "
-
-#, fuzzy
-#~ msgid "invalid symkey algorithm detected (%d)\n"
-#~ msgstr "ugyldig hash-algoritme `%s'\n"
-
-#~ msgid "             Fingerprint:"
-#~ msgstr "             Fingeraftryk:"
-
-#~ msgid "|NAME=VALUE|use this notation data"
-#~ msgstr "|NAME=VALUE|brug denne notationsdata"
-
-#~ msgid ""
-#~ "the first character of a notation name must be a letter or an underscore\n"
-#~ msgstr ""
-#~ "første bogstav af en notationsnavn skal være et bogstave eller en "
-#~ "understregning\n"
-
-#, fuzzy
-#~ msgid "Are you sure you still want to sign it?\n"
-#~ msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
-
-#, fuzzy
-#~ msgid "  Are you sure you still want to sign it?\n"
-#~ msgstr "Er du sikker på at de vil benytte denne nøglestørrelse? "
-
-#~ msgid "--delete-secret-key user-id"
-#~ msgstr "--delete-secret-key bruger-id"
-
-#~ msgid "--delete-key user-id"
-#~ msgstr "--delete-key bruger-id"
-
-#, fuzzy
-#~ msgid "--delete-secret-and-public-key user-id"
-#~ msgstr "--delete-secret-and-public-key bruger-id"
-
-#~ msgid "skipped: public key already set with --encrypt-to\n"
-#~ msgstr "udeladt: offentlig nøgle er allerede valgt med --encrypt-to\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "WARNING: This is a PGP2-style key\n"
-#~ msgstr "ADVARSEL: '%s' er en tom fil\n"
-
-#~ msgid "sSmMqQ"
-#~ msgstr "sSmMqQ"
-
-#, fuzzy
-#~ msgid "%lu key(s) to refresh\n"
-#~ msgstr "%lu nøgler behandlet indtil nu\n"
-
-#~ msgid ""
-#~ "No trust values changed.\n"
-#~ "\n"
-#~ msgstr "Ingen tillidsværdier er ændret.\n"
-
-#~ msgid "%08lX: no info to calculate a trust probability\n"
-#~ msgstr "%08lX: ignen info til at udregne en tillidssandsynlighed\n"
-
-#~ msgid "%s: error checking key: %s\n"
-#~ msgstr "%s: fejl ved undersøgelse af nøgle: %s\n"
-
-#~ msgid "can't lock keyring `%s': %s\n"
-#~ msgstr "kan ikke låse nøglering `%s': %s\n"
-
-#~ msgid "No key for user ID\n"
-#~ msgstr "Ingen nøgle for bruger-ID\n"
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "du kan eventuelt starte gpg-agenten først\n"
 
-#~ msgid "do not write comment packets"
-#~ msgstr "skriv ikke kommentarpakker"
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "fejl ved læsning af »%s«: %s\n"
 
-#~ msgid "(default is 3)"
-#~ msgstr "(standard er 3)"
+#~ msgid "Command> "
+#~ msgstr "Kommando> "
 
-#~ msgid "   (%d) ElGamal in a v3 packet\n"
-#~ msgstr "   (%d) ElGamal i en v3 pakke\n"
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "kunne ikke allokere keyDB-håndtag\n"
index 02fce90..3f57b3b 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 5914e39..cab9f3f 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -9,16 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-2.0.18\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2012-03-26 14:36+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2014-06-24 11:13+0200\n"
 "Last-Translator: Werner Koch <wk@gnupg.org>\n"
 "Language-Team: German <de@li.org>\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "Die Sperre für das Pinentry kann nicht gesetzt werden: %s\n"
@@ -28,21 +29,21 @@ msgstr "Die Sperre für das Pinentry kann nicht gesetzt werden: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "_Abbrechen"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Qualität:"
 
@@ -52,14 +53,14 @@ msgstr "Qualität:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Die Qualität der Passphrase, die Sie oben eingegeben haben.\n"
 "Bitte fragen sie Ihren Systembeauftragten nach den\n"
 "Kriterien für die Messung der Qualität."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -67,7 +68,7 @@ msgstr ""
 "Bitte geben Sie Ihre PIN ein, so daß der geheime Schlüssel benutzt werden "
 "kann"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -75,95 +76,98 @@ msgstr ""
 "Bitte geben Sie Ihre Passphrase ein, so daß der geheime Schlüssel benutzt "
 "werden kann."
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (Versuch %d von %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "Die PIN ist zu lang"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Das Mantra (Passphrase) ist zu lang!"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Ungültige Zeichen in der PIN!"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "Die PIN ist zu kurz!"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Falsche PIN!"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Falsche Passphrase!"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Passphrase"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "SSH Schlüssel von mehr als %d Bits werden nicht unterstützt\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "'%s' kann nicht erzeugt werden: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "Fehler beim Holen der Karten-Seriennummer: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "Erkannte Karte hat die Seriennummer: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "Fehler beim Holen der Authentisierungsschlüssel-ID der Karte: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "keine passender Kartenschlüssel gefunden: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "\"Shadowing\" des Schlüssels schlug fehl: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "Fehler beim Schreiben des Schlüssels: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -172,49 +176,49 @@ msgstr ""
 "Ein ssh Prozess hat den Schlüssel%%0A  %s%%0A  (%s)%%0Aangefordert.  Möchten "
 "Sie dies erlauben?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr "Erlauben"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr "Verweigern"
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 "Bitte geben Sie die Passphrase für den SSH-Schlüssel%%0A  %F%%0A  (%c) ein."
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Bitte geben Sie die Passphrase noch einmal ein:"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Bitte geben Sie eine Passphrase ein, um den empfangenen geheimen\n"
 "Schlüssel%%0A   %s%%0A   %s%%0Aim Schlüsselspeicher des Gpg-Agenten zu "
 "schützen."
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "Keine Übereinstimmung - bitte nochmal versuchen."
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "Das Erzeugen eines Datenstroms aus dem Socket schlug fehl: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Die legen Sie die Karte mit der folgenden Seriennummer ein:"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 "Bitte entfernen Sie die vorhanden Karte und legen Sie die mit der folgenden "
@@ -236,7 +240,7 @@ msgstr "Rückstellcode"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr "%s%%0A%%0AZur Eingabe die Tastatur des Kartenlesers verwenden."
 
 #: agent/divert-scd.c:287
@@ -352,14 +356,14 @@ msgstr "Ja, ein Schutz ist nicht notwendig"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Bitte geben Sie die Passphrase ein,%0Aum Ihren Schlüssel zu schützen."
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Bitte geben Sie die Passphrase ein:"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -368,103 +372,107 @@ msgstr ""
 "@Optionen:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "Im Server Modus ausführen"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "Im Daemon Modus ausführen"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "Im Server Modus ausführen"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "Reduzierte Informationen"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "Ausgabe für /bin/sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "Ausgabe für /bin/csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|DATEI|Konfigurationsoptionen aus DATEI lesen"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "Im Vordergrund laufen lassen"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "Tastatur und Maus nicht \"grabben\""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "Logausgaben in eine Datei umlenken"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "Benutze einen Standardnamen für den Socket"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|benutze PGM as PIN-Entry"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|benutze PGM als SCdaemon"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "Den Scdaemon-basierten Kartenzugriff nicht nutzen"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "Ignoriere Anfragen, das TTY zu wechseln"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "Ignoriere Anfragen, das X-Display zu wechseln"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|lasse PINs im Cache nach N Sekunden verfallen"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "benutze PINs im Cache nicht beim Signieren"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr "erlaube Aufrufern Schlüssel als \"vertrauenswürdig\" zu markieren"
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "verbite Aufrufern Schlüssel als \"vertrauenswürdig\" zu markieren"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "erlaube ein \"preset\" von Passphrases"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr "Die ssh-agent-Emulation anschalten"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr "Die ssh-agent Komponente anschalten"
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr "Die Pageant Komponente anschalten"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|DATEI|Schreibe die Umgebungsvariablen auf DATEI"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -472,11 +480,11 @@ msgstr ""
 "Berichte über Programmfehler bitte in englisch an <@EMAIL@>.\n"
 "Sinn- oder Schreibfehler in den deutschen Texten bitte an <de@li.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Aufruf: gpg-agent [Optionen] (-h für Hilfe)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -484,154 +492,155 @@ msgstr ""
 "Syntax: gpg-agent [Optionen] [Befehl [Argumente]]\n"
 "Verwaltung von geheimen Schlüsseln für GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "ungültige Debugebene `%s' angegeben\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "Die Bibliothek %s ist nicht aktuell (benötige %s, habe %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "Optionendatei '%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "Fehler beim Erstellen von `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "Der Name des Sockets ist zu lang\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "Socket kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "Der Name des Sockets `%s' ist zu lang\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "Ein gpg-agent läuft bereits - ein weiterer wird nicht gestartet\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "Fehler beim Ermitteln der \"Nonce\" dieses Sockets\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "Der Socket kann nicht an `%s' gebunden werden: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "Es wird auf Socket `%s' gehört\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "Verzeichnis `%s' erzeugt\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "Die Datei `%s' kann nicht als Home-Verzeichnis benutzt werden\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "Fehler beim Lesen der \"Nonce\" von FD %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "Handhabungsroutine 0x%lx für den fd %d beendet\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d beendet\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s angehalten\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "Der gpg-agent läuft nicht für diese Session\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "fehlerhaft aufgebaute GPG_AGENT_INFO - Umgebungsvariable\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "GPG-Agent-Protokoll-Version %d wird nicht unterstützt\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Aufruf: gpg-preset-passphrase [Optionen] KEYGRIP (-h für Hilfe)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -639,7 +648,7 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [Optionen] KEYGRIP\n"
 "Kennwortpuffer-Pflege\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -648,7 +657,7 @@ msgstr ""
 "@Befehle:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -660,11 +669,11 @@ msgstr ""
 "Optionen:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Aufruf: gpg-protect-tool [Optionen] (-h für Hilfe)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -672,16 +681,16 @@ msgstr ""
 "Syntax: gpg-protect-tool [Optionen] [Argumente]\n"
 "Werkzeug zum Bearbeiten von geheimen Schlüsseln\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Bitte geben Sie die Passphrase zum Entsperren des PKCS#12 Objekts ein."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 "Bitte geben Sie die Passphrase zum Schützen des neuen PKCS#12 Objekts ein."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -689,7 +698,7 @@ msgstr ""
 "Bitte geben Sie die Passphrase ein, um das importierte Objekt im GnuPG "
 "System zu schützen."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -697,15 +706,15 @@ msgstr ""
 "Die Eingabe der Passphrase bzw. der PIN\n"
 "wird benötigt, um diese Aktion auszuführen."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Passphrase:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "Vom Benutzer abgebrochen\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "Fehler bei der Abfrage der Passphrase: %s\n"
@@ -766,8 +775,9 @@ msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
-"Wenn Sie vollständiges Vertrauen haben, daß%%0A  \"%s\"%%"
-"0ABenutzerzertifikate verläßlich zertifiziert, so antworten Sie mit \"Ja\"."
+"Wenn Sie vollständiges Vertrauen haben, daß%%0A  \"%s"
+"\"%%0ABenutzerzertifikate verläßlich zertifiziert, so antworten Sie mit \"Ja"
+"\"."
 
 #: agent/trustlist.c:620 common/audit.c:467
 msgid "Yes"
@@ -829,8 +839,8 @@ msgstr "Die Passphrase ändern"
 msgid "I'll change it later"
 msgstr "Ich werde sie später ändern"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "Fehler beim Erzeugen einer \"Pipe\": %s\n"
@@ -870,12 +880,12 @@ msgstr "Fehler bei Ausführung von `%s': wahrscheinlich nicht installiert\n"
 msgid "error running `%s': terminated\n"
 msgstr "Fehler bei Ausführung von `%s': beendet\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "Fehler beim Erstellen des Sockets: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "Host nicht gefunden"
 
@@ -904,17 +914,17 @@ msgstr "Vom Benutzer abgebrochen\n"
 msgid "problem with the agent\n"
 msgstr "Problem mit dem Agenten\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "core-dump-Dateierzeugung kann nicht abgeschaltet werden: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "WARNUNG: Unsichere Besitzrechte für %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte für %s \"%s\"\n"
@@ -1130,11 +1140,11 @@ msgstr "Zertifikatkette gültig"
 msgid "Root certificate trustworthy"
 msgstr "Wurzelzertifikat vertrauenswürdig"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "Keine CRL für das Zertifikat gefunden"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "Die vorhandene CRL ist zu alt"
 
@@ -1208,7 +1218,7 @@ msgstr "Unerwartete ASCII-Hülle: "
 msgid "invalid dash escaped line: "
 msgstr "Ungültige mit Bindestrich \"escapte\" Zeile: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "Ungültiges \"radix64\" Zeichen %02x übersprungen\n"
@@ -1225,7 +1235,7 @@ msgstr "vorzeitiges Dateiende (innerhalb der Prüfsumme)\n"
 msgid "malformed CRC\n"
 msgstr "Falsch aufgebaute Prüfsumme\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Prüfsummenfehler; %06lx - %06lx\n"
@@ -1238,16 +1248,16 @@ msgstr "vorzeitiges Dateiende (im Nachsatz)\n"
 msgid "error in trailer line\n"
 msgstr "Fehler in der Nachsatzzeile\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "Keine gültigen OpenPGP-Daten gefunden.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "ungültige ASCII-Hülle: Zeile ist länger als %d Zeichen\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1282,7 +1292,7 @@ msgstr "WARNUNG: Ungültige \"Notation\"-Daten gefunden\n"
 msgid "not human readable"
 msgstr "nicht als Klartext darstellbar"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP Karte ist nicht vorhanden: %s\n"
@@ -1292,8 +1302,8 @@ msgstr "OpenPGP Karte ist nicht vorhanden: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP Karte Nr. %s erkannt\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 
@@ -1301,156 +1311,156 @@ msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Dieser Befehl ist nur für Karten ab Version 2 möglich.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Der Rückstellcode ist nicht vorhanden\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Ihre Auswahl? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[nicht gesetzt]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "männlich"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "weiblich"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "unbestimmt"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "nicht zwingend"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "zwingend"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Fehler: Nur reines ASCII ist derzeit erlaubt.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Fehler: Das Zeichen \"<\" kann nicht benutzt werden.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Fehler: Doppelte Leerzeichen sind nicht erlaubt.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Familienname des Kartenbesitzers:"
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Vorname des Kartenbesitzers:"
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 "Fehler: Der zusammengesetzte Name ist zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL um den öffentlichen Schlüssel zu holen: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Fehler: URL ist zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "Fehler beim Zuteilen genügenden Speichers: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "Fehler beim Lesen von `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "Fehler beim Schreiben von %s: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Logindaten (Kontenname): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Fehler: Logindaten sind zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Geheime DO-Daten: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Fehler: Geheime DO-Daten sind zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Spracheinstellungen"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Fehler: Ungültige Länge der Einstellungs-Zeichenfolge.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Fehler: Ungültige Zeichen in der Einstellungs-Zeichenfolge\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Geschlecht: (Männlich (M), Weiblich (F) oder Leerzeichen): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Fehler: ungültige Antwort.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA-Fingerabdruck: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Fehler: ungültig geformter Fingerabdruck.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Schlüsseloperation nicht möglich: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "Keine gültige OpenPGP-Karte"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "Fehler beim Holen der aktuellen Schlüsselinfo: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Vorhandenen Schlüssel ersetzen? (j/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1462,59 +1472,59 @@ msgstr ""
 "         fehlschlagen, so ziehen Sie bitte die Dokumentation Ihrer Karte\n"
 "         zu Rate.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Welche Schlüssellänge wünschen Sie für den Signatur-Schlüssel? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr ""
 "Welche Schlüssellänge wünschen Sie für den Verschlüsselungs-Schlüssel? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr ""
 "Welche Schlüssellänge wünschen Sie für den Authentisierungs-Schlüssel? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "aufgerundet auf %u Bit\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s-Schlüssellängen müssen im Bereich %u-%u sein\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Die Karte wird nun rekonfiguriert um einen Schlüssel von %u Bit zu erzeugen\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "Fehler bem Ändern der Länge des Schlüssels %d auf %u Bit: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "Sicherung des Verschlüsselungsschlüssel außerhalb der Karte erstellen? (J/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ACHTUNG: Auf der Karte sind bereits Schlüssel gespeichert!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Vorhandene Schlüssel ersetzen? (j/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1525,129 +1535,129 @@ msgstr ""
 "   PIN = `%s'     Admin-PIN = `%s'\n"
 "Sie sollten sie mittels des Befehls --change-pin ändern\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Bitte wählen Sie die Art des Schlüssel, der erzeugt werden soll:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signatur-Schlüssel\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Verschlüsselungs-Schlüssel\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentisierungs-Schlüssel\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Ungültige Auswahl.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Wählen Sie den Speicherort für den Schlüssel:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "Unbekanntes Schlüssel-Schutzverfahren\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "Geheime Teile des Schlüssels sind nicht vorhanden\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "Geheimer Schlüssel ist bereits auf einer Karte gespeichert\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "Fehler beim Schreiben des Schlüssels auf die Karte: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "Menü verlassen"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "Zeige Admin-Befehle"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "Diese Hilfe zeigen"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "Alle vorhandenen Daten auflisten"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "Kartenbesitzernamen ändern"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "Schlüssel-holen-URL ändern"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "Holen des Schlüssels mittels der URL auf der Karte"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "Ändern der Logindaten"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "Ändern der Spracheinstellungen"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "Ändern des Geschlechts des Kartenbesitzers"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "Ändern des CA-Fingerabdrucks"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "Umschalten des \"Signature-force-PIN\"-Schalters"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "neue Schlüssel erzeugen"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "Menü für Ändern oder Entsperren der PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "überprüfe die PIN und liste alle Daten auf"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "die PIN mit dem Rückstellcode wieder freigeben"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "nur-Admin Befehl\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Admin-Befehle sind erlaubt\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Admin-Befehle sind nicht erlaubt\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 
@@ -1655,18 +1665,18 @@ msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output funktioniert nicht bei diesem Befehl\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "'%s' kann nicht geöffnet werden\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "Schlüssel \"%s\" nicht gefunden: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1758,8 +1768,8 @@ msgstr ""
 msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
-"WARNUNG: Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren %"
-"s (%d) verletzt die Empfängervoreinstellungen\n"
+"WARNUNG: Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren "
+"%s (%d) verletzt die Empfängervoreinstellungen\n"
 
 #: g10/encode.c:655 g10/sign.c:939
 #, c-format
@@ -1777,7 +1787,7 @@ msgstr ""
 "Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren %s (%d) "
 "verletzt die Empfängervoreinstellungen\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "Die Benutzung von %s ist im %s-Modus nicht erlaubt.\n"
@@ -1787,78 +1797,78 @@ msgstr "Die Benutzung von %s ist im %s-Modus nicht erlaubt.\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s verschlüsselt für: %s\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s verschlüsselte Daten\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "Mit unbekanntem Verfahren verschlüsselt %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "Warnung: Botschaft wurde mit einem unsicheren Schlüssel verschlüsselt.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "Problem beim Bearbeiten des verschlüsselten Pakets\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "Ausführen von externen Programmen wird nicht unterstützt\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "Ausführen von externen Programmen ist ausgeschaltet, da die Dateirechte "
 "nicht sicher sind\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "Diese Plattform benötigt temporäre Dateien zur Ausführung von externen\n"
 "Programmen\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "Ausführen des Programms `%s' nicht möglich: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "Ausführen der Shell `%s' nicht möglich: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "Fehler beim Aufruf eines externen Programms: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "ungewöhnliches Ende eines externen Programms\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "Externes Programm konnte nicht aufgerufen werden\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "Die Ausgabe des externen Programms konnte nicht gelesen werden: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 "WARNUNG: die temporäre Datei (%s) `%s' konnte nicht entfernt werden: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "WARNUNG: Temporäres Verzeichnis `%s' kann nicht entfernt werden: %s\n"
@@ -1951,194 +1961,194 @@ msgstr "Fehler beim automatischen holen von `%s' über `%s': %s\n"
 msgid "No fingerprint"
 msgstr "Kein Fingerabdruck vorhanden"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Ungültiger Schlüssel %s, gültig gemacht per --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "Kein privater Unterschlüssel zum öffentlichen Unterschlüssel %s - ignoriert\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "der Unterschlüssel %s wird anstelle des Hauptschlüssels %s verwendet\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 "Schlüssel %s: geheimer Schlüssel ohne öffentlichen Schlüssel - übersprungen\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "Eine Signatur erzeugen"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "Eine Klartextsignatur erzeugen"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "Eine abgetrennte Signatur erzeugen"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "Daten verschlüsseln"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "Daten symmetrisch verschlüsseln"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "Daten entschlüsseln (Voreinstellung)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "Signatur prüfen"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "Liste der Schlüssel"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "Liste der Schlüssel und ihrer Signaturen"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "Signaturen der Schlüssel auflisten und prüfen"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\""
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "Liste der geheimen Schlüssel"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "Ein neues Schlüsselpaar erzeugen"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "Schlüssel aus dem öff. Schlüsselbund entfernen"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "Schlüssel aus dem geh. Schlüsselbund entfernen"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "Schlüssel signieren"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "Schlüssel nur für diesen Rechner signieren"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "Signieren oder bearbeiten eines Schlüssels"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "Die Passphrase ändern"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "Schlüssel exportieren"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "Schlüssel zu einem Schlü.server exportieren"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "Schlüssel von einem Schlü.server importieren"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "Schlüssel auf einem Schlü.server suchen"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "alle Schlüssel per Schlü.server aktualisieren"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "Schlüssel importieren/kombinieren"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "den Karten-Status ausgeben"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "Daten auf einer Karte ändern"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "PIN einer Karte ändern"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "Ändern der \"Trust\"-Datenbank"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "Hashwerte für die Dateien ausgeben"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "Im Server Modus ausführen"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "Ausgabe mit ASCII-Hülle versehen"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|Verschlüsseln für USER-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|Mit USER-ID signieren bzw. entschlüsseln"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|Kompressionsstufe auf N setzen (0=keine)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "Textmodus benutzen"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|DATEI|Ausgabe auf DATEI schreiben"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "vor Überschreiben nachfragen"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "OpenPGP-Verhalten strikt beachten"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2147,7 +2157,7 @@ msgstr ""
 "(Auf der \"man\"-Seite ist eine vollständige Liste aller Befehle und "
 "Optionen)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2167,21 +2177,21 @@ msgstr ""
 " --list-keys [Namen]        Schlüssel anzeigen\n"
 " --fingerprint [Namen]      \"Fingerabdrücke\" anzeigen\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Aufruf: gpg [Optionen] [Dateien]\n"
 "Signieren, prüfen, verschlüsseln, entschlüsseln.\n"
 "Die voreingestellte Operation ist abhängig von den Eingabedaten\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2189,73 +2199,73 @@ msgstr ""
 "\n"
 "Unterstützte Verfahren:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Öff. Schlüssel: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Verschlü.: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Komprimierung: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "Aufruf: gpg [Optionen] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "Widersprüchliche Befehle\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "Kein '='-Zeichen in der Gruppendefinition gefunden `%s'\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses für Home-"
 "Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2263,20 +2273,20 @@ msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses der "
 "Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses `%s'\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses des Home-"
 "Verzeichnisses `%s'\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2284,477 +2294,477 @@ msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses der "
 "Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses auf "
 "Erweiterung `%s'\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "Unbekanntes Konfigurationselement `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "Anzeigen der Foto-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "Zeige Richtlinien-URL während des listens der Signaturen"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "Alle Notationen mit den Signaturen anlisten"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "Zeige IETF-Standard"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "Zeige Benutzer-Notationen während des listens der Signaturen"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "Der bevorzugten Schlüsselserver mit den Signaturen anlisten"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "Zeige Gültigkeit der User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "Zeige widerrufene und verfallene User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "Zeige widerrufene und verfallene Unterschlüssel in den Schlüssellisten"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "Anzeigen des Schlüsselbundes, in dem ein Schlüssel drin ist"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "Das Ablaufdatum mit den Signaturen anlisten"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "Hinweis: Alte voreingestellte Optionendatei '%s' wurde ignoriert\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
-"Die Bibliothek \"libgcrypt\" ist zu alt (benötigt wird %s, vorhanden ist %"
-"s)\n"
+"Die Bibliothek \"libgcrypt\" ist zu alt (benötigt wird %s, vorhanden ist "
+"%s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "Hinweis: %s ist nicht für den üblichen Gebrauch gedacht!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' ist kein gültiges Signaturablaufdatum\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' ist kein gültiger Zeichensatz\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "Ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ungültige Import-Option\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "Ungültige Import-Option\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ungültige Export-Option.\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "Ungültige Export-Option\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ungültige Listen-Option.\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "Ungültige Listen-Option\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "Foto-ID während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "Richtlinien-URLs während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "Alle Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "Standard-Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "Benutzer-Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "Die URL für den bevorzugten Schlüsselserver während der Signaturprüfung "
 "anzeigen"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "Die Gültigkeit der User-ID während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "Zeige widerrufene und verfallene User-IDs während der Signaturprüfung"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "Zeige nur die Haupt-User-ID während der Signaturprüfung"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "Prüfe Signaturgültigkeit mittels PKA-Daten"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "Werte das Vertrauen zu Signaturen durch gültige PKA-Daten auf"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ungültige Überprüfungs-Option.\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "Ungültige Überprüfungs-Option\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "Der Ausführungspfad konnte nicht auf %s gesetzt werden.\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNUNG: Programm könnte eine core-dump-Datei schreiben!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNUNG: %s ersetzt %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s kann nicht zusammen mit %s verwendet werden!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s zusammen mit %s ist nicht sinnvoll!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "Startet nicht mit unsicherem Speicher, wegen Option %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus können Sie nur abgetrennte oder Klartextsignaturen machen\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus können Sie nicht gleichzeitig signieren und verschlüsseln\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "Im --pgp2-Modus müssen Sie Dateien benutzen und können keine Pipes "
 "verwenden.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 "Verschlüsseln einer Botschaft benötigt im --pgp2-Modus die IDEA-"
 "Verschlüsselung\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "Das ausgewählte Verschlüsselungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "Das ausgewählte Komprimierungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed müssen größer als 0 sein\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed müssen größer als 1 sein\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth muß im Bereich 1 bis 255 liegen\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ungültiger \"default-cert-level\"; Wert muß 0, 1, 2 oder 3 sein\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ungültiger \"min-cert-level\"; Wert muß 0, 1, 2 oder 3 sein\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ungültiger \"simple S2K\"-Modus; Wert muß 0, 1 oder 3 sein\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "ungültige Standard-Voreinstellungen\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "ungültige private Verschlüsselungsvoreinstellungen\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "ungültige private Hashvoreinstellungen\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "ungültige private Komprimierungsvoreinstellungen\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s arbeitet noch nicht mit %s zusammen\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 "Die Benutzung des Verschlüsselungsverfahren %s ist im %s-Modus nicht "
 "erlaubt.\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "Die Benutzung der Hashmethode %s ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "Die Benutzung des Komprimierverfahren %s ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "WARNUNG: Empfänger (-r) angegeben ohne Verwendung von Public-Key-Verfahren\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [Dateiname]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [Dateiname]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "Symmetrische Entschlüsselung von `%s' fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [Dateiname]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [Dateiname]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 "--symmetric --encrypt kann nicht zusammen mit --s2k-mode 0 verwendet werden\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "Im %s-Modus kann --symmetric --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [Dateiname]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [Dateiname]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [Dateiname]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "--symmetric --sign --encrypt kann nicht zusammen mit --s2k-mode 0 verwendet "
 "werden\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 "Im %s-Modus kann --symmetric --sign --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [Dateiname]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [Dateiname]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [Dateiname]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key User-ID"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key User-ID"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key User-ID [Befehle]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd User-ID"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Senden an Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Empfangen vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Schlüsselexport fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Suche auf dem Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Refresh vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "Ungültiges Hashverfahren '%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[Dateiname]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Auf geht's - Botschaft eintippen ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "Die angegebene Zertifikat-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "Die angegebene Signatur-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "Die angegebene URL des bevorzugten Schlüsselserver ist ungültig\n"
 
@@ -2791,121 +2801,121 @@ msgstr "Keine Hilfe vorhanden."
 msgid "No help available for `%s'"
 msgstr "Keine Hilfe für '%s' vorhanden."
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "Importiere Signaturen, die als nicht exportfähig markiert sind"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "Beseitige Beschädigung durch den Schlüsselserver während des Imports"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "ändern Sie die \"Trust\"-Datenbank nach dem Import nicht"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 "beim Import eines geheimen Schlüssels einen öffentliche Schlüssel erzeugen"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "Nur Änderungen bereits existierender Schlüssel vornehmen"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "entferne nach dem Import unbrauchbare Teile des Schlüssels"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "nach dem Import soviel wie möglich aus dem Schlüssel entfernen"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "überspringe den Block vom Typ %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu Schlüssel bislang bearbeitet\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Anzahl insgesamt bearbeiteter Schlüssel: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "              ignorierte neue Schlüssel: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                           ohne User-ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                             importiert: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                            unverändert: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "                          neue User-IDs: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "                    neue Unterschlüssel: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                        neue Signaturen: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "                neue Schlüsselwiderrufe: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "             gelesene geheime Schlüssel: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "           geheime Schlüssel importiert: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "                unveränderte geh. Schl.: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                       nicht importiert: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    Signaturen bereinigt: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      User-IDs bereinigt: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2914,362 +2924,376 @@ msgstr ""
 "WARNUNG: Schlüssel %s hat Einstellungen zu nicht verfügbaren\n"
 "Verfahren für folgende User-ID:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": Einstellungen des Verschlüsselungsverfahren %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Hashmethode %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Komprimierungsverfahren %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "es ist extrem empfehlenswert Ihre Einstellungen zu ändern und\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "diesen Schlüssel wieder zu verteilen, um mögliche Probleme durch unpassende "
 "Verfahrenskombinationen zu vermeiden\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "Sie können Ihren Einstellungen mittels \"gpg --edit-key %s updpref save\" "
 "ändern\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "Schlüssel %s: Keine User-ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, c-format
+msgid "key %s: %s\n"
+msgstr "Schlüssel %s: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr "vom Importfilter zurückgewiesen"
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "Schlüssel %s: PKS Unterschlüsseldefekt repariert\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "Schlüssel %s: Nicht eigenbeglaubigte User-ID `%s' übernommen\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "Schlüssel %s: Keine gültigen User-IDs\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "dies könnte durch fehlende Eigenbeglaubigung verursacht worden sein\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "Schlüssel %s: Öffentlicher Schlüssel nicht gefunden: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "Schlüssel %s: neuer Schlüssel - übersprungen\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "kein schreibbarer Schlüsselbund gefunden: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "Schreiben nach '%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "Schlüssel %s: Öffentlicher Schlüssel \"%s\" importiert\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "Schlüssel %s: Stimmt nicht mit unserer Kopie überein\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "Schlüssel %s: der originale Schlüsselblock wurde nicht gefunden: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "Schlüssel %s: Lesefehler im originalen Schlüsselblock: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue User-ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "Schlüssel %s: \"%s\" %d neue User-IDs\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue Signatur\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Signaturen\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "Schlüssel %s: \"%s\" 1 neuer Unterschlüssel\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Unterschlüssel\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-ID bereinigt\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-IDs bereinigt\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "Schlüssel %s: \"%s\" nicht geändert\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
+#, c-format
+msgid "secret key %s: %s\n"
+msgstr "Geheimer Schlüssel %s: %s\n"
+
+#: g10/import.c:1225 g10/import.c:1248
+msgid "importing secret keys not allowed\n"
+msgstr "Importieren geheimer Schlüssel ist nicht erlaubt\n"
+
+#: g10/import.c:1237
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr ""
 "Schlüssel %s: geheimer Schlüssel mit ungültiger Verschlüsselung %d - "
 "übersprungen\n"
 
-#: g10/import.c:1196
-msgid "importing secret keys not allowed\n"
-msgstr "Importieren geheimer Schlüssel ist nicht erlaubt\n"
-
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "Kein voreingestellter geheimer Schlüsselbund: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "Schlüssel %s: geheimer Schlüssel importiert\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "Schlüssel %s: Ist bereits im geheimen Schlüsselbund\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "Schlüssel %s: geheimer Schlüssel nicht gefunden: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "Schlüssel %s: Kein öffentlicher Schlüssel - der Schlüsselwiderruf kann nicht "
 "angebracht werden\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "Schlüssel %s: Ungültiges Widerrufzertifikat: %s - zurückgewiesen\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat importiert\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "Schlüssel %s: Keine User-ID für Signatur\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "Schlüssel %s: Nicht unterstütztes Public-Key-Verfahren für User-ID \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "Schlüssel %s: Ungültige Eigenbeglaubigung für User-ID \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "Schlüssel %s: Nicht unterstütztes Public-Key-Verfahren\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "Schlüssel %s: Ungültige \"direct-key\"-Signatur\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "Schlüssel %s: Kein Unterschlüssel für die Unterschlüsselanbindung\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "Schlüssel %s: Ungültige Unterschlüssel-Anbindung\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "Schlüssel %s: Mehrfache Unterschlüssel-Anbindung entfernt\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "Schlüssel %s: Kein Unterschlüssel für Schlüsselwiderruf\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "Schlüssel %s: Ungültiger Unterschlüsselwiderruf\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "Schlüssel %s: Mehrfacher Unterschlüsselwiderruf entfernt\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "Schlüssel %s: User-ID übersprungen \"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "Schlüssel %s: Unterschlüssel übersprungen\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "Schlüssel %s: Nicht exportfähige Signatur (Klasse %02x) - übersprungen\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "Schlüssel %s: Widerrufzertifikat an falschem Platz - übersprungen\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "Schlüssel %s: Ungültiges Widerrufzertifikat: %s - übersprungen\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "Schlüssel %s: Unterschlüssel-Widerrufzertifikat an falschem Platz - "
 "übersprungen\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "Schlüssel %s: unerwartete Signaturklasse (0x%02x) - übersprungen\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "Schlüssel %s: Doppelte User-ID entdeckt - zusammengeführt\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNUNG: Schlüssel %s ist u.U. widerrufen: hole Widerrufschlüssel %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "WARNUNG: Schlüssel %s ist u.U. widerrufen: Widerrufschlüssel %s ist nicht "
 "vorhanden\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat hinzugefügt\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "Schlüssel %s: \"direct-key\"-Signaturen hinzugefügt\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 "Hinweis: Eine Schlüsselseriennr stimmt nicht mit derjenigen der Karte "
 "überein\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "Hinweis: Hauptschlüssel ist online und auf der Karte gespeichert\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "Hinweis: Zweitschlüssel ist online und auf der Karte gespeichert\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "Fehler beim Erzeugen des Schlüsselbundes `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "Schlüsselbund `%s' erstellt\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "Schlüsselblockhilfsmittel`%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "Schlüsselbund-Cache konnte nicht neu erzeugt werden: %s\n"
@@ -3363,12 +3387,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User-ID \"%s\" ist widerrufen."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Wollen Sie ihn immer noch beglaubigen? (j/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Beglaubigen ist nicht möglich.\n"
 
@@ -3557,8 +3581,8 @@ msgstr "Ich habe diesen Schlüssel sehr sorgfältig überprüft.\n"
 msgid "Really sign? (y/N) "
 msgstr "Wirklich signieren? (j/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Beglaubigung fehlgeschlagen: %s\n"
@@ -3569,19 +3593,19 @@ msgstr ""
 "Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schlüsselelemente- "
 "keine Passphrase ist zu ändern.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Dieser Schlüssel ist nicht geschützt.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Geheime Teile des Hauptschlüssels sind nicht vorhanden.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Geheime Teile des Hauptschlüssels sind auf der Karte gespeichert.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Schlüssel ist geschützt.\n"
 
@@ -3598,7 +3622,7 @@ msgstr ""
 "Geben Sie die neue Passphrase für diesen geheimen Schlüssel ein.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "Passphrase wurde nicht richtig wiederholt; noch einmal versuchen"
 
@@ -3776,24 +3800,24 @@ msgstr ""
 "unbrauchbare User-IDs verkleinern und alle Signaturen aus dem Schlüssel "
 "entfernen"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "Fehler beim Lesen des geheimen Schlüsselblocks \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Geheimer Schlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Hierzu wird der geheime Schlüssel benötigt.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Bitte verwenden sie zunächst den Befehl \"toggle\"\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3806,229 +3830,229 @@ msgstr ""
 "Signaturen\n"
 " (\"nrsign\"), oder jede Kombination davon (\"ltsign\", \"tnrsign\", etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Schlüssel wurde widerrufen."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Wirklich alle User-IDs beglaubigen? (j/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tip: Wählen Sie die User-IDs, die beglaubigt werden sollen\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Unbekannter Signaturtyp `%s'\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Dieser Befehl ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Die letzte User-ID kann nicht gelöscht werden!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Diese User-ID wirklich entfernen? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Den Hauptschlüssel wirklich verschieben? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Sie müssen genau einen Schlüssel auswählen.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Befehl benötigt einen Dateinamen als Argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Fehler beim Lesen der Sicherungskopie des Schlüssels von `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Möchten Sie wirklich alle ausgewählten User-IDs widerrufen? (j/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Diese User-ID wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich vollständig widerrufen? (j/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 "Möchten Sie die ausgewählten Unterschlüssel wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "\"Owner trust\" kann nicht gesetzt werden, wenn eine anwendereigene 'Trust'-"
 "Datenbank benutzt wird\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Setze die Liste der Voreinstellungen auf:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Möchten Sie die Voreinstellungen der ausgewählten User-IDs wirklich ändern? "
 "(j/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Die Voreinstellungen wirklich ändern? (j/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Änderungen speichern? (j/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Beenden ohne zu speichern? (j/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Änderung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Eigenschaften: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Bevorzugter Schlüsselserver:"
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "\"Notationen\": "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x-artige Schlüssel haben keine Voreinstellungen.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Der folgende Schlüssel wurde am %s von %s Schlüssel %s widerrufen\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 "Dieser Schlüssel könnte durch %s mit Schlüssel %s  widerrufen worden sein"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(empfindlich)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "erzeugt: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "widerrufen: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "verfallen: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "verfällt: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "Aufruf: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "Vertrauen: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "Gültigkeit: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Hinweis: Dieser Schlüssel ist abgeschaltet"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "Kartennummer:"
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4036,18 +4060,18 @@ msgstr ""
 "Bitte beachten Sie, daß ohne einen Programmneustart die angezeigte\n"
 "Schlüsselgültigkeit nicht notwendigerweise korrekt ist.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "widerrufen"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "verfallen"
 
 # translated by wk
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4055,7 +4079,7 @@ msgstr ""
 "WARNUNG: Keine User-ID ist als primär markiert.  Dieser Befehl kann\n"
 "dazu führen, daß eine andere User-ID als primär angesehen wird.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4065,74 +4089,74 @@ msgstr ""
 "könnte\n"
 "         bei einigen PGP-Versionen zur Zurückweisung des Schlüssels führen.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Wollen Sie ihn immer noch hinzufügen? (j/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Sie können einem PGP2-artigen Schlüssel keine Foto-ID hinzufügen.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Diese unbekannte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nichts entfernt.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "ungültig"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User-ID \"%s\" bereits verkleinert: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "User-ID \"%s\": %d Signatur entfernt\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "User-ID \"%s\": %d Signaturen entfernt\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User-ID \"%s\": bereits minimiert\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User-ID \"%s\": bereits sauber\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4142,272 +4166,272 @@ msgstr ""
 "         Widerrufers könnte bei einigen PGP-Versionen zur Zurückweisung\n"
 "         des Schlüssels führen.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Sie können einem PGP2-artigen Schlüssel keine vorgesehenen Widerrufer "
 "hinzufügen.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Geben sie die User-ID des designierten Widerrufers ein: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "Ein PGP 2.x-artiger Schlüssel kann nicht als vorgesehener Widerrufer "
 "eingetragen werden\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "Ein Schlüssel kann nicht sein eigener vorgesehener Widerrufer werden\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "Dieser Schlüssel wurde bereits als ein Widerrufer vorgesehen\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "WARNUNG: Einen Schlüssel als vorgesehenen Widerrufer zu deklarieren, kann "
 "nicht rückgangig gemacht werden!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Möchten Sie diesen Schlüssel wirklich als vorgesehenen Widerrufer festlegen? "
 "(j/N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Bitte wählen Sie höchstens einen Unterschlüssel aus.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ändern des Verfallsdatums des Unterschlüssels.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Sie können das Verfallsdatum eines v3-Schlüssels nicht ändern\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Signaturunterschlüssel %s ist bereits rücksigniert\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "Unterschlüssel %s ist des Signieren nicht mächtig und braucht deshalb keine "
 "Rücksignatur\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Bitte genau eine User-ID auswählen.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "Überspringen der v3 Eigenbeglaubigung von User-ID \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Geben Sie die URL Ihres bevorzugten Schlüsselservers ein: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Wollen Sie ihn wirklich ersetzen? (j/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Wollen Sie ihn wirklich löschen? (j/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Geben Sie die \"Notation\" ein: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Fortfahren (j/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Keine User-ID mit Index %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Keine User-ID mit Hash %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Kein Unterschlüssel mit Index %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "User-ID: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   beglaubigt durch Ihren Schlüssel %s am %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (nicht-exportierbar)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Diese Signatur ist seit %s verfallen.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Wollen Sie ihn immer noch widerrufen? (j/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Ein Widerrufszertifikat für diese Signatur erzeugen (j/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Nicht von Ihnen signiert.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Sie haben folgende User-IDs des Schlüssels %s beglaubigt:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (unwiderrufbar)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "widerrufen durch Ihren Schlüssel %s um %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Es werden nun folgende Beglaubigungen entfernt:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Wirklich ein Signatur-Widerrufszertifikat erzeugen? (j/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "Kein geheimer Schlüssel\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User-ID \"%s\" ist bereits widerrufen\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "WARNUNG: Eine User-ID-Signatur datiert mit %d Sekunden aus der Zukunft\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Schlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Unterschlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Anzeigen einer %s Foto-ID (Größe %ld) für Schlüssel %s (User-ID %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "Voreinstellung `%s' ist doppelt\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "zu viele Verschlüsselungeinstellungen\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "zu viele Hashvoreinstellungen\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "zu viele Komprimierungsvoreinstellungen\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "Ungültiges Feld `%s' in der Voreinstellungszeichenkette\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "Die \"Direct Key Signature\" wird geschrieben\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "Die Eigenbeglaubigung wird geschrieben\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "Schreiben der \"key-binding\" Signatur\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "Ungültige Schlüssellänge; %u Bit werden verwendet\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "Schlüssellänge auf %u Bit aufgerundet\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "WARNUNG: Einige OpenPGP-Programme können einen DSA-Schlüssel dieser "
 "Digestlänge nicht verwenden\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Signieren"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Zertif."
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Verschl."
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Authentisierung"
 
@@ -4421,104 +4445,104 @@ msgstr "Authentisierung"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "UuVvAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Mögliche Vorgänge eines %s-Schlüssels: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Derzeit erlaubte Vorgänge: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Umschalten der Signaturfähigkeit\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Umschalten der Verschlüsselungsfähigkeit\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Umschalten der Authentisierungsfähigkeit\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Beenden\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Bitte wählen Sie, welche Art von Schlüssel Sie möchten:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA und RSA (voreingestellt)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA und Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (nur signieren/beglaubigen)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (nur signieren/beglaubigen)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (nur verschlüsseln)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (nur verschlüsseln)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (Leistungsfähigkeit selber einstellbar)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (Leistungsfähigkeit selber einstellbar)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s-Schlüssel können zwischen %u und %u Bit lang sein.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Welche Schlüssellänge wünschen Sie für den Unterschlüssel? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Welche Schlüssellänge wünschen Sie? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Die verlangte Schlüssellänge beträgt %u Bit\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4534,7 +4558,7 @@ msgstr ""
 "      <n>m = Schlüssel verfällt nach n Monaten\n"
 "      <n>y = Schlüssel verfällt nach n Jahren\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4550,38 +4574,38 @@ msgstr ""
 "      <n>m = Schlüssel verfällt nach n Monaten\n"
 "      <n>y = Schlüssel verfällt nach n Jahren\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Wie lange bleibt der Schlüssel gültig? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Wie lange bleibt die Beglaubigung gültig? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "Ungültiger Wert.\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Schlüssel verfällt nie\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Signature verfällt nie\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Key verfällt am %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signatur verfällt am %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4589,11 +4613,11 @@ msgstr ""
 "Ihr Rechner kann Daten jenseits des Jahres 2038 nicht anzeigen.\n"
 "Trotzdem werden Daten bis 2106 korrekt verarbeitet.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Ist dies richtig? (j/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4607,7 +4631,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4623,44 +4647,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Ihr Name (\"Vorname Nachname\"): "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ungültiges Zeichen im Namen\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Der Name darf nicht mit einer Ziffer beginnen.\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Der Name muß min. 5 Zeichen lang sein.\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Email-Adresse: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Diese Email-Adresse ist ungültig\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Kommentar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Ungültiges Zeichen im Kommentar.\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Sie benutzen den Zeichensatz `%s'\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4671,11 +4695,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Bitte keine Emailadressen als Namen oder Kommentar verwenden\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Solch eine User-ID ist bereits für den Schlüssel vorhanden!\n"
 
@@ -4690,23 +4714,23 @@ msgstr "Solch eine User-ID ist bereits für den Schlüssel vorhanden!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKkEeFfAa"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Ändern: (N)ame, (K)ommentar, (E)-Mail oder (A)bbrechen? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Bitte beseitigen Sie zuerst den Fehler\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4714,7 +4738,7 @@ msgstr ""
 "Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4722,12 +4746,12 @@ msgstr ""
 "Bitte geben Sie die Passphrase ein, um die Sicherheitskopie des neuen "
 "Verschlüsselungsschlüssel der Karte zu schützen."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4740,7 +4764,7 @@ msgstr ""
 "aufrufen.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4751,50 +4775,50 @@ msgstr ""
 "unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas\n"
 "tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Schlüsselerzeugung abgebrochen.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "schreiben des öffentlichen Schlüssels nach '%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "schreiben des geheimen Schlüssel-\"stub\"s nach `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "schreiben des geheimen Schlüssels nach '%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "kein schreibbarer öffentlicher Schlüsselbund gefunden: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "kein schreibbarer geheimer Schlüsselbund gefunden: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des öff. Schlüsselbundes `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des geheimen Schlüsselbundes `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "Öffentlichen und geheimen Schlüssel erzeugt und signiert.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4803,12 +4827,12 @@ msgstr ""
 "werden kann.  Sie können aber mit dem Befehl \"--edit-key\" einen\n"
 "Unterschlüssel für diesem Zweck erzeugen.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4816,7 +4840,7 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren "
 "stimmen nicht überein)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4824,25 +4848,25 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunden in der Zukunft erzeugt (Zeitreise oder "
 "Uhren stimmen nicht überein)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "HINWEIS: Unterschlüssel für v3-Schlüssel sind nicht OpenPGP-konform\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Wirklich erzeugen? (j/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "Speicher des Schlüssels auf der Karte schlug fehl: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "Sicherungsdatei '%s' kann nicht erzeugt werden: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "Hinweis: Sicherung des Kartenschlüssels wurde auf `%s' gespeichert\n"
@@ -4875,29 +4899,29 @@ msgstr "Beglaubigungs-\"Notation\": "
 msgid "Keyring"
 msgstr "Schlüsselbund"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Haupt-Fingerabdruck  ="
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "Unter-Fingerabdruck  ="
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Haupt-Fingerabdruck  ="
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr " Unter-Fingerabdruck  ="
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "  Schl.-Fingerabdruck ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Kartenseriennr. ="
 
@@ -4982,464 +5006,464 @@ msgstr ""
 "WARNUNG: Schlüsselserver-Option `%s' wird auf dieser Plattform nicht "
 "verwendet\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "abgeschaltet"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Eingabe von Nummern, Nächste (N) oder Abbrechen (Q) > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "Ungültiges Schlüsselserverprotokoll (wir %d!=Handhabungsroutine %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "Schlüssel \"%s\" wurde auf dem Schlüsselserver nicht gefunden\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "Schlüssel wurde auf dem Schlüsselserver nicht gefunden\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "fordere Schlüssel %s von %s-Server %s an\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "fordere Schlüssel %s von %s an\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "suche Namen auf %s-Server %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "suche Namen auf %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "sende Schlüssel %s auf den %s-Server %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sende Schlüssel %s auf %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "suche nach \"%s\" auf %s-Server %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "suche nach \"%s\" auf %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "Kein Schlüsselserver-Vorgang\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 "WARNUNG: Die Schlüsselserver-Handhabungsroutine stammt von einer anderen "
 "GnuPG-Version (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "Schlüsselserver sendete VERSION nicht\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "Kein Schlüsselserver bekannt (Option --keyserver verwenden)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 "Externe Schlüsselserveraufrufe werden in diesem \"Build\" nicht unterstützt\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "Keine Handhabungsroutine für Schlüsselserverschema `%s'\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "Vorgang `%s' wird vom Schlüsselserverschema `%s' nicht unterstützt\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s unterstützt Hilfsroutinenversion %d nicht\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "Schlüsselserver-Zeitüberschreitung\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "interner Fehler Schlüsselserver\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "Schlüsselserver-Datenübertragunsfehler: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" ist keine Schlüssel-ID: überspringe\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNUNG: Schlüssel %s kann per %s nicht aktualisiert werden: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "ein Schlüssel wird per %s aktualisiert\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "%d Schlüssel werden per %s aktualisiert\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNUNG: die URI %s kann nicht geholt werden: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "WARNUNG: die URI %s kann nicht analysiert werden\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "Seltsame Länge für einen verschlüsselten Sitzungsschlüssel (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s verschlüsselter Sitzungsschlüssel\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "Passphrase wurde mit unbekanntem Hashverfahren %d erstellt\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "Öffentlicher Schlüssel ist %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "Mit öffentlichem Schlüssel verschlüsselte Daten: Korrekte DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "verschlüsselt mit %u-Bit %s Schlüssel, ID %s, erzeugt %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "verschlüsselt mit %s Schlüssel, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Entschlüsselung mit Public-Key-Verfahren fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Verschlüsselt mit %lu Passphrases\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "Verschlüsselt mit einer Passphrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "vermutlich %s-verschlüsselte Daten\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA-Verschlüsselung nicht verfügbar; versucht wird stattdessen %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "Entschlüsselung erfolgreich\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 "WARNUNG: Botschaft wurde nicht integritätsgeschützt (integrity protected)\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "Warnung: Verschlüsselte Botschaft ist manipuliert worden!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "Passphrase aus dem Cache gelöscht.  Cache ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Entschlüsselung fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Ursprünglicher Dateiname='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNUNG: Mehr als ein Klartext erkannt\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "Einzelner Widerruf - verwenden Sie \"gpg --import\", um ihn anzuwenden\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "Keine Signatur gefunden\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "Signaturüberprüfung unterdrückt\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "diese mehrdeutige Signaturdaten können nicht bearbeitet werden\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur vom %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               mittels %s-Schlüssel %s\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur vom %s mittels %s-Schlüssel ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Schlüssel erhältlich bei: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "FALSCHE Signatur von \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Verfallene Signatur von \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrekte Signatur von \"%s\""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[ungewiß]  "
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                    alias \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Diese Signatur ist seit %s verfallen.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Diese Signatur verfällt am %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s Signatur, Hashmethode \"%s\"\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "Binäre"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "Textmodus"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "unbekannt"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Signatur kann nicht geprüft werden: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "keine abgetrennte Signatur\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNUNG: Mehrfache Signaturen erkannt.  Es wird nur die erste geprüft.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "Einzelne Signatur der Klasse 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Signatur nach alter (PGP 2.x) Art\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ungültiges root-Paket in proc_tree() entdeckt\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat von `%s' schlug fehl in %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) schlug fehl in %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "WARNUNG: Verwendung des experimentellen Public-Key-Verfahrens %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "WARNUNG: Die Verwendung von Elgamal sign+encrypt Schlüsseln ist nicht "
 "ratsam\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "WARNING: Verwendung des experimentellen Verschlüsselungsverfahren %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "WARNUNG: Verwendung des experimentellen Hashverfahrens %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "WARNUNG: Die Verwendung des Hashverfahrens %s ist nicht ratsam\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "das IDEA-Verschlüsselungs-Plugin ist nicht vorhanden\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "Siehe %s für weitere Infos\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: mißbilligte Option \"%s\".\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "WARNUNG: \"%s\" ist eine mißbilligte Option.\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "Bitte benutzen Sie stattdessen \"%s%s\".\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 "WARNUNG: \"%s\" ist ein nicht ratsamer Befehl - verwenden Sie ihn nicht.\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: Die Option \"%s\" is veraltet - sie hat keine Wirkung\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "WARNUNG: \"%s\" ist eine veraltete Option - sie hat keine Wirkung.\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "nicht komprimiert"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "unkomprimiert|kein|keine"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "Diese Botschaft könnte für %s unbrauchbar sein\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "Mehrdeutige Option '%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "Unbekannte Option '%s'\n"
@@ -5482,18 +5506,18 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "WARNUNG: Optionen in `%s' sind während dieses Laufes noch nicht wirksam\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "dieses Public-Key Verfahren %d kann nicht benutzt werden\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "WARNUNG: Möglicherweise unsicherer symmetrisch verschlüsselter "
 "Sitzungsschlüssel\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n"
@@ -5550,7 +5574,7 @@ msgid "         (subkey on main key ID %s)"
 msgstr "         (Unterschlüssel aus Hauptschlüssel-ID %s)"
 
 # translated by wk
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5565,34 +5589,34 @@ msgstr ""
 "wir Ihr Schlüssel leider auch sehr groß werden.  Ein Bild der Größe\n"
 "240x288 Pixel ist eine gute Wahl.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Dateiname mit JPEG für die Foto-ID eingeben: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "JPEG-Datei `%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Diese JPEG-Datei ist echt groß (%d Byte)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Wollen Sie es wirklich benutzen? (j/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "`%s' ist keine JPEG-Datei\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Ist dieses Bild richtig? (j/N) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "Die Foto-ID kann nicht angezeigt werden!\n"
 
@@ -5624,6 +5648,16 @@ msgstr "Grund für Widerruf: "
 msgid "revocation comment: "
 msgstr "Widerruf-Bemerkung: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5814,26 +5848,26 @@ msgstr ""
 "         Es ist nicht sicher, daß die Signatur wirklich dem vorgeblichen "
 "Besitzer gehört.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: übersprungen: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: übersprungen: öffentlicher Schlüssel bereits vorhanden\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Sie haben keine User-ID angegeben (Sie können die Option \"-r\" verwenden).\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Derzeitige Empfänger:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5841,43 +5875,43 @@ msgstr ""
 "\n"
 "Geben Sie die User-ID ein. Beenden mit einer leeren Zeile: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Keine solche User-ID vorhanden.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 "übersprungen: öffentlicher Schlüssel bereits als Standardempfänger gesetzt\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Öffentlicher Schlüssel ist abgeschaltet.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "übersprungen: öffentlicher Schlüssel bereits gesetzt\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "Unbekannter voreingestellter Empfänger \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: übersprungen: öffentlicher Schlüssel ist abgeschaltet\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "Keine gültigen Adressaten\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Hinweis: Schlüssel %s besitzt nicht die %s Eigenschaft\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Hinweis: Schlüssel %s hat keine Einstellung für %s\n"
@@ -6177,21 +6211,26 @@ msgstr "Hinweis: Signaturschlüssel %s ist am %s verfallen\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "Hinweis: Signaturschlüssel %s wurde widerrufen\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "Hinweis: Signaturen mit dem %s Hashverfahren werden zurückgewiesen.\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "Vermutlich eine FALSCHE Signatur von Schlüssel %s, wegen unbekanntem "
 "\"critical bit\"\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 "Schlüssel %s: Kein Unterschlüssel für die Unterschlüsselwiderruf-"
 "Beglaubigung\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -6287,7 +6326,7 @@ msgstr ""
 "Dies ist ein durch PGP erzeugter Elgamal-Schlüssel. Das ist für Signaturen "
 "NICHT sicher genug!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "Vertrauenssatz %lu, Typ %d: Schreiben fehlgeschlagen: %s\n"
@@ -6332,17 +6371,17 @@ msgstr "Fehler beim Suchen des \"Trust records\" in `%s': %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "Lesefehler in `%s': %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb Satz %lu: lseek fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb Satz %lu: write fehlgeschlagen (n=%d): %s\n"
@@ -6351,117 +6390,117 @@ msgstr "trustdb Satz %lu: write fehlgeschlagen (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "trustdb Transaktion zu groß\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "kann aus `%s' nicht zugreifen: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: Verzeichnis existiert nicht!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "Datei `%s' konnte nicht gesperrt werden\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "'%s' kann nicht gesperrt werden\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: Fehler beim Erzeugen des Versionsatzes: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: ungültige trust-db erzeugt\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: trust-db erzeugt\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "Notiz: Die \"trustdb\" ist nicht schreibbar\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: ungültige 'Trust'-Datenbank\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: hashtable kann nicht erzeugt werden: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: Fehler beim Ändern des Versionsatzes: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: keine trustdb Datei\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: version record with recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: invalid file version %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: Fehler beim Lesen eines freien Satzes: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: Fehler beim Schreiben eines Verzeichnis-Satzes: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: konnte einen Satz nicht Nullen: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: konnte Satz nicht anhängen: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Fehler: Die Vertrauensdatenbank ist fehlerhaft\n"
 
@@ -6475,179 +6514,187 @@ msgstr "Textzeilen länger als %d Zeichen können nicht benutzt werden\n"
 msgid "input line longer than %d characters\n"
 msgstr "Eingabezeile ist länger als %d Zeichen\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' ist keine gültige lange Schlüssel-ID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "Schlüssel %s: Als vertrauenswürdiger Schlüssel akzeptiert\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "Schlüssel %s tritt mehr als einmal in der \"trustdb\" auf\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "Schlüssel %s: kein öffentlicher Schlüssel für den vertrauenswürdigen "
 "Schlüssel - übersprungen\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "Schlüssel %s ist als uneingeschränkt vertrauenswürdig gekennzeichnet\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "trust record %lu, req type %d: read failed: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "Vertrauenssatz %lu ist nicht von der angeforderten Art %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 "Sie können versuchen die Vertrauensdatenbank durch folgende Befehle\n"
 "wiederherzustellen:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "Falls dies nicht funktioniert, sehen Sie bitte im Handbuch nach\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "kann unbekanntes Vertrauensmodell nicht verwenden (%d) - verwende "
 "Vertrauensmodell %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "verwende Vertrauensmodell %s\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[widerrufen]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[verfall.]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[  unbek.]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[  undef.]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[marginal]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ vollst.]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[ uneing.]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "unbestimmt"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "niemals"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginal"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "vollständig"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "uneingeschränkt"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "\"Trust-DB\"-Überprüfung nicht nötig\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "nächste \"Trust-DB\"-Pflichtüberprüfung am %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "\"Trust-DB\"-Überprüfung ist beim `%s'-Vertrauensmodell nicht nötig\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "\"Trust-DB\"-Änderung ist beim `%s'-Vertrauensmodell nicht nötig\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "Öffentlicher Schlüssel %s nicht gefunden: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "Bitte ein --check-trustdb durchführen\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "\"Trust-DB\" wird überprüft\n"
 
 # translated by wk
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d Schlüssel verarbeitet (%d Validity Zähler gelöscht)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "keine uneingeschränkt vertrauenswürdigen Schlüssel gefunden\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "öff. Schlüssel des uneingeschränkt vertrautem Schlüssel %s nicht gefunden\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d marginal-needed, %d complete-needed, %s Vertrauensmodell\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"Tiefe: %d  gültig: %3d  signiert: %3d  Vertrauen: %d-, %dq, %dn, %dm, %df, %"
-"du\n"
+"Tiefe: %d  gültig: %3d  signiert: %3d  Vertrauen: %d-, %dq, %dn, %dm, %df, "
+"%du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6674,68 +6721,68 @@ msgstr "Eingabezeile %u ist zu lang oder es fehlt ein LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "fd=%d kann nicht geöffnet werden: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "Argument nicht erwartet"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "Lesefehler"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "Schlüsselwort ist zu lang"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "Fehlendes Argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "Ungültiger Befehl"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "Ungültige Alias-Definition"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "Nicht genügend Speicher"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "Ungültige Option"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "Fehlendes Argument für Option \"%.50s\"\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "Option \"%.50s\" erwartet kein Argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Ungültiger Befehl \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "Option \"%.50s\" ist mehrdeutig\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "Befehl \"%.50s\" ist mehrdeutig\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "Nicht genügend Speicher\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "Ungültige Option \"%.50s\"\n"
@@ -6745,22 +6792,17 @@ msgstr "Ungültige Option \"%.50s\"\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Sie haben einen Bug (Programmfehler) gefunden ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "Fehler beim Laden von `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "Umwandlung von `%s' in `%s' ist nicht verfügbar\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open fehlgeschlagen: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "Umwandlung von `%s' in `%s' schlug fehl: %s\n"
@@ -6818,24 +6860,24 @@ msgstr "Aufruf: kbxutil [Optionen] [Dateien] (-h für Hilfe)"
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Syntax: kbxutil [Optionen] [Dateien]\n"
 "Anlisten exportieren und Importieren von KeyBox Dateien\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "Der RSA Modulus fehlt oder ist nicht %d Bits lang\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "Der öffentliche Exponent fehlt oder ist zu groß (mehr als %d Bit)\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-Callback meldete Fehler: %s\n"
@@ -6891,202 +6933,213 @@ msgstr ""
 "|N|Bitte geben Sie den PIN Entsperrcode (PUK) für den Schlüssel zur "
 "Erstellung qualifizierter Signaturen ein."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "Fehler beim Abfragen einer neuen PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "Der Fingerabdruck kann nicht gespeichert werden: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "Das Erzeugungsdatum konnte nicht gespeichert werden: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "Die Antwort enthält keine öffentliche Schlüssel-Daten\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "Die Antwort enthält das RSA-Modulus nicht\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "Antwort enthält den öffentlichen RSA-Exponenten nicht\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "Die Standard PIN wird für %s benutzt\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "Die Standard PIN für %s konnte nicht benutzt werden: %s - Die Standard PIN "
 "wird nicht weiter benutzt\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Bitte die PIN eingeben%%0A[Sigs erzeugt: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Bitte die PIN eingeben"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN für CHV%d ist zu kurz; die Mindestlänge beträgt %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Prüfung des CHV%d fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "Fehler beim Holen des CHV-Status' von der Karte\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "Karte ist dauerhaft gesperrt!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft gesperrt ist\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Bitte die Admin-PIN eingeben.%%0A[Verbliebene Versuche: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Bitte die Admin-PIN eingeben."
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "Zugriff auf Admin-Befehle ist nicht eingerichtet\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "Bitte geben Sie den Rückstellcode für diese Karte ein"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Der Rückstellcode ist zu kurz; die Mindestlänge beträgt %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|Neuer Rückstellcode"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Neue Admin-PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Neue PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "|A|Bitte die Admin-PIN und dann die neue Admin PIN eingeben."
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Bitte die PIN und dann die neue PIN eingeben"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "Fehler beim Lesen der Anwendungsdaten\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "Fehler beim Lesen des Fingerabdrucks DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "Schlüssel existiert bereits\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "Existierender Schlüssel wird ersetzt werden\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "neue Schlüssel werden erzeugt\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "der neue Schlüssel wird geschrieben\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "Erzeugungsdatum fehlt\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "Die RSA Primzahl %s fehlt oder ist nicht %d Bits lang\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "Speichern des Schlüssels fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "Bitte warten, der Schlüssel wird erzeugt ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Schlüsselerzeugung abgeschlossen (%d Sekunden)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "Ungültige Struktur der OpenPGP-Karte (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "Der Fingerabdruck auf der Karte entspricht nicht dem angeforderten.\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "Die Hashmethode %s wird von der Karte nicht unterstützt\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "Anzahl bereits erzeugter Signaturen: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "Die Überprüfung der Admin PIN ist momentan durch einen Befehl verboten "
 "worden\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Kann auf %s nicht zugreifen - ungültige OpenPGP-Karte?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Bitte die PIN auf der Tastatur des Kartenlesers eingeben"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7096,51 +7149,55 @@ msgstr "||Bitte die PIN auf der Tastatur des Kartenlesers eingeben"
 msgid "|N|Initial New PIN"
 msgstr "|N|Erstmalige neue PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "Im Multiserver Modus ausführen"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NAME|Die Debugstufe auf NAME setzen"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|DATEI|Schreibe Logs auf DATEI"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|Verbinde mit dem Leser auf Port N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAME|Benutze NAME als CT-API Treiber"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|Benutze NAME als PC/SC Treiber"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "Den internen CCID Treiber nicht benutzen"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|Schalte die Karte nach N Sekunden Inaktivität ab"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr "Die Tastatur des Kartenlesers nicht benutzen"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "Verweigere die Benutzung von \"Admin\"-Befehlen"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "Tastatur des Kartenlesers hat variierbare Längen"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Aufruf: scdaemon [Optionen] (-h für Hilfe)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7148,18 +7205,18 @@ msgstr ""
 "Syntax: scdaemon [Optionen] [Befehl [Argumente]]\n"
 "Smartcard Daemon für GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "Bitte die Option `--daemon' nutzen, um das Programm im Hintergund "
 "auszuführen\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "Handhabungsroutine für fd %d gestartet\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "Handhabungsroutine für den fd %d beendet\n"
@@ -7199,11 +7256,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr "Durch Zertifikat angefordertes Gültigkeitsmodell: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "Kette"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "Schale"
 
@@ -7233,204 +7290,205 @@ msgstr "Notiz: Die unkritische Zertifikatsrichtlinie ist nicht erlaubt"
 msgid "certificate policy not allowed"
 msgstr "Die Zertifikatsrichtlinie ist nicht erlaubt"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "Der Herausgeber wird von einer externen Stelle gesucht\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "Anzahl der übereinstimmenden Herausgeber: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "Der Herausgeber wird im Cache des Dirmngr gesucht\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "Anzahl der übereinstimmenden Zertifikate: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "Schlüsselsuche im Cache des Dirmngr schlug fehl: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "Ein keyDB Handle konnte nicht bereitgestellt werden\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "Kann keinen KeyDB Handler bereitstellen\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "Das Zertifikat wurde widerrufen"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "Der Status des Zertifikats ist nicht bekannt"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 "Bitte vergewissern Sie sich, daß der \"dirmngr\" richtig installiert ist\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "Die CRL konnte nicht geprüft werden: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "Zertifikat mit unzulässiger Gültigkeit: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "Das Zertifikat ist noch nicht gültig"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "Das Wurzelzertifikat ist noch nicht gültig"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "Das Zwischenzertifikat ist noch nicht gültig"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "Das Zertifikat ist abgelaufen"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "Das Wurzelzertifikat ist abgelaufen"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "Das Zwischenzertifikat ist abgelaufen"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "Notwendige Zertifikatattribute fehlen: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "Zertifikat mit unzulässiger Gültigkeit"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "Die Signatur wurde nicht in der Gültigkeitszeit des Zertifikat erzeugt"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 "Das Zertifikat wurde nicht während der Gültigkeitszeit des Herausgebers "
 "erzeugt"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 "Das Zwischenzertifikat wurde nicht während der Gültigkeitszeit des "
 "Herausgebers erzeugt"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (    Signatur erzeugt am "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (  Zertifikat erzeugt am "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (  Zertifikat gültig von "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  ( Herausgeber gültig von "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "Fingerprint=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "Das Wurzelzertifikat wurde nun als vertrauenswürdig markiert\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 "Interaktives vertrauenswürdig-Markieren ist in gpg-agent ausgeschaltet\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 "Interaktives vertrauenswürdig-Markieren ist in dieser Sitzung ausgeschaltet\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 "WARNUNG: Der Erzeugungszeitpunkt der Signatur ist nicht bekannt - Nehme die "
 "aktuelle Zeit an"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "Im Zertifikat ist kein Herausgeber enthalten"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "Das eigenbeglaubigte Zertifikat hat eine FALSCHE Signatur"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "Das Wurzelzertifikat ist nicht als vertrauenswürdig markiert"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "Fehler beim Prüfen der vertrauenswürdigen Zertifikate: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "Der Zertifikatkette ist zu lang\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "Herausgeberzertifikat nicht gefunden"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "Das Zertifikat hat eine FALSCHE Signatur"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 "Eine anderes möglicherweise passendes CA-Zertifikat gefunden - versuche "
 "nochmal"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "Die Zertifikatkette ist länger als von der CA erlaubt (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "Das Zertifikat ist korrekt\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "Das Zwischenzertifikat ist korrekt\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "Das Wurzelzertifikat ist korrekt\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "Umgeschaltet auf das Kettenmodell"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "Benutztes Gültigkeitsmodell: %s"
@@ -7497,21 +7555,21 @@ msgid "error getting key usage information: %s\n"
 msgstr "Fehler beim Holen der Schlüsselbenutzungsinformationen: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "Das Zertifikat hätte nicht zum Zertifizieren benutzt werden sollen\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 "Das Zertifikat hätte nicht zum Signieren von OCSP Antworten benutzt werden "
 "sollen\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "Das Zertifikat hätte nicht zum Verschlüsseln benutzt werden sollen\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "Das Zertifikat hätte nicht zum Signieren benutzt werden sollen\n"
 
 #: sm/certlist.c:167
@@ -7713,7 +7771,7 @@ msgstr "(dies ist wahrscheinlich keine verschlüsselte Nachricht)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "Zertifikat `%s' nicht gefunden: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "Fehler beim Sperren der Keybox: %s\n"
@@ -7841,7 +7899,7 @@ msgstr "|DATEI|DATEI als öffentlichen Schlüsselbund mitbenutzen"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|USER-ID als voreingestellten Schlüssel benutzen"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|Schlüssel bei diesem Server nachschlagen"
 
@@ -7860,8 +7918,8 @@ msgstr "Aufruf: gpgsm [Optionen] [Dateien] (-h für Hilfe)"
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpgsm [Optionen] [Dateien]\n"
 "Signieren, prüfen, ver- und entschlüsseln mittels S/MIME Protokoll\n"
@@ -7895,25 +7953,25 @@ msgstr "%s:%u: Passwort ohne Benutzer\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: Zeile wird übersprungen\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "WARNUNG: Ausführung mit gefälschter Systemzeit: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "Importiere allgemeine Zertifikate: %s\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "Signieren mit `%s' nicht möglich: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "Ungültiger Befehl (Es gibt keinen implizierten Befehl)\n"
 
@@ -7930,11 +7988,7 @@ msgstr "Fehler beim Speichern des Zertifikats\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "Grundlegende Zertifikatprüfungen fehlgeschlagen - nicht importiert\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "Kann keinen KeyDB Handler bereitstellen\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "Fehler beim Holen der gespeicherten Flags: %s\n"
@@ -7949,45 +8003,41 @@ msgstr "Fehler beim Importieren des Zertifikats: %s\n"
 msgid "error reading input: %s\n"
 msgstr "Fehler beim Lesen der Eingabe: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "Die \"Keybox\" `%s' konnte nicht erstellt werden: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "Sie sollten zuerst den gpg-agent starten\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "Die \"Keybox\" `%s' wurde erstellt\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "Kann den Fingerprint nicht ermitteln\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "Problem bei der Suche nach vorhandenem Zertifikat: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "Fehler bei der Suche nach einer schreibbaren KeyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "Fehler beim Speichern des Zertifikats: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "Problem bei Wiederfinden des Zertifikats: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "Fehler beim Speichern der Flags: %s\n"
@@ -8185,146 +8235,146 @@ msgstr "Fehler beim Senden des %s-Befehls: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "Fehler beim Senden der Standardoptionen: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Optionen zur Einstellung der Diagnoseausgaben"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Optionen zur Einstellung der Konfiguration"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Nützliche Optionen zur Fehlersuche"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|DATEI|Schreibe im Servermodus Logs auf DATEI"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Optionen zur Einstellung der Sicherheit"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|lasse SSH Schlüssel im Cache nach N Sekunden verfallen"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|setze die maximale Lebensdauer von PINs im Cache auf N Sekunden"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|setze die maximale Lebenszeit von SSH Schlüsseln auf N Sekunden"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Optionen für eine Passphrase-Policy"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "Einhaltung der Passphrase-Policy erzwingen"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|setze die kleinste erlaubte Länge von Passphrasen auf N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|Verlange mindestens N Nicht-Buchstaben für eine neue Passphrase"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|DATEI|Prüfe neue Passphrases gegen die Regelen in DATEI"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|Lasse die Passphrase nach N Tagen verfallen"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "Verbiete die Wiedernutzung alter Passphrases."
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|Auch an NAME verschlüsseln"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|Email Alias festlegen"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration der Schlüsselserver"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "Benutze Schlüsselserver unter der URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "Erlaube PKA Zugriffe (DNS Anfragen)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMEN|Benutze MECHANISMEN um Schlüssel über die Mailadresse "
 "aufzufinden."
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "Jeglichen Zugriff auf den Dirmngr verhindern"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|Benutze die Kodierung NAME für PKCS#12 Passphrasen"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "CRL bei Wurzelzertifikaten nicht überprüfen"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Optionen zum Einstellen der Ausgabeformate"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Optionen zur Einstellung der Interaktivität und Geltendmachung"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration für HTTP Server"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "Benutze die HTTP Proxy Einstellung des Systems"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguration der zu nutzenden LDAP-Server"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "Liste der LDAP Server"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Konfiguration zu OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Die externe Überprüfung der Komponente %s war nicht erfolgreich"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Beachten Sie, daß Gruppenspezifiaktionen ignoriert werden\n"
 
@@ -8580,6 +8630,15 @@ msgstr ""
 "Syntax: gpg-check-pattern [optionen] Musterdatei\n"
 "Die von stdin gelesene Passphrase gegen die Musterdatei prüfen\n"
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "Sie sollten zuerst den gpg-agent starten\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "Fehler beim Laden von `%s': %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "Ein keyDB Handle konnte nicht bereitgestellt werden\n"
+
 #~ msgid "Command> "
 #~ msgstr "Befehl> "
 
index 465fe64..5077057 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 321c157..6ffd890 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -8,15 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-1.1.92\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2003-06-27 12:00+0200\n"
 "Last-Translator: Dokianakis Theofanis <madf@hellug.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
+"Language: el\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-7\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
@@ -26,21 +27,21 @@ msgstr "
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -50,164 +51,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "ç ãñáììÞ åßíáé ðïëý ìåãÜëç\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "ç öñÜóç êëåéäß åßíáé ðïëý ìåãÜëç\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò óôï üíïìá\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "êáêü MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "êáêÞ öñÜóç êëåéäß"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "êáêÞ öñÜóç êëåéäß"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "äåí õðïóôçñßæåôáé ï áëãüñéèìïò ðñïóôáóßáò %d%s\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò óôï `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ìõóôéêÞò êëåéäïèÞêçò `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "äå âñÝèçêå åããñÜøéìç ìõóôéêÞ êëåéäïèÞêç: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "äéáãñáöÞ block êëåéäéþí áðÝôõ÷å: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: áäõíáìßá äçìéïõñãßáò hashtable: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -227,7 +231,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -334,7 +338,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "×ñåéÜæåóôå ìéá ÖñÜóç êëåéäß ãéá íá ðñïóôáôåýóåôå ôï ìõóôéêü êëåéäß.\n"
 "\n"
@@ -344,7 +348,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -355,284 +359,293 @@ msgstr ""
 "ÅðéëïãÝò:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "áíáëõôéêÜ"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "Þóõ÷ç Ýîïäïò"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|ÁÑ×ÅÉÏ|öüñôùìá ôïõ áñèñþìáôïò åðÝêôáóçò ÁÑ×ÅÉÏ"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "áíáæÞôçóç êëåéäéþí óå Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "Óßãïõñá èÝëåôå íá áíáíåùèïýí ïé ðñïåðéëïãÝò ãéá ôï åðéëåãìÝíï user ID; "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "áíáíÝùóç ôçò âÜóçò äåäïìÝíùí åìðéóôïóýíçò"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "äåí õðïóôçñßæåôáé"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "äåí õðïóôçñßæåôáé"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "ÁíáöÝñåôå ôá ðñïâëÞìáôá óôï <gnupg-bugs@gnu.org>\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ìç ðñïêáèïñéóìÝíï áñ÷åßï åðéëïãþí `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "áñ÷åßï åðéëïãþí `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "áíÜãíùóç åðéëïãþí áðü `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "óöÜëìá êáôÜ ôç äçìéïõñãßá ôïõ `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò êáôáëüãïõ `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "ï gpg-agent äåí åßíáé äéáèÝóéìïò óå áõôÞ ôç óõíåäñßá\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "óöÜëìá óôç áðïóôïëÞ ðñïò ôï `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "ç åíçìÝñùóç áðÝôõ÷å: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: êáôÜëïãïò äçìéïõñãÞèçêå\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: read áðÝôõ÷å (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: áäõíáìßá äçìéïõñãßáò êáôáëüãïõ: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "ç åíçìÝñùóç ìõóôéêïý áðÝôõ÷å: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ðáñáëåßöèçêå: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "ï gpg-agent äåí åßíáé äéáèÝóéìïò óå áõôÞ ôç óõíåäñßá\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "êáêïäéáôõðïìÝíç ìåôáâëçôÞ ðåñéâÜëëïíôïò GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "äåí õðïóôçñßæåôáé ç Ýêäïóç ðñùôïêüëëïõ %d ôïõ gpg-agent\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -641,7 +654,7 @@ msgstr ""
 "@ÅíôïëÝò:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -653,51 +666,51 @@ msgstr ""
 "ÅðéëïãÝò:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "êáêÞ öñÜóç êëåéäß"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Áêýñùóç"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
@@ -812,8 +825,8 @@ msgstr "
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
@@ -853,12 +866,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "óöÜëìá êáôÜ ôç äçìéïõñãßá ôïõ `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[User id äåí âñÝèçêå]"
@@ -891,17 +904,17 @@ msgstr "
 msgid "problem with the agent\n"
 msgstr "ðñüâëçìá ìå ôïí agent: agent åðéóôñÝöåé 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "áäõíáìßá áðåíåñãïðïßçóçò ôùí core dump: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßá óôï %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò óôï %s \"%s\"\n"
@@ -1136,12 +1149,12 @@ msgstr "
 msgid "Root certificate trustworthy"
 msgstr "êáêü ðéóôïðïéçôéêü"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "êáêü ðéóôïðïéçôéêü"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Êëåéäß äéáèÝóéìï óôï: "
@@ -1223,7 +1236,7 @@ msgstr "
 msgid "invalid dash escaped line: "
 msgstr "ìç Ýãêõñç dash escaped ãñáììÞ: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "ìç Ýãêõñïò radix64 ÷áñáêôÞñáò %02x ðáñÜâëåøç\n"
@@ -1240,7 +1253,7 @@ msgstr "
 msgid "malformed CRC\n"
 msgstr "ëÜèïò ìïñöÞ CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "óöÜëìá CRC: %06lx - %06lx\n"
@@ -1254,16 +1267,16 @@ msgstr "
 msgid "error in trailer line\n"
 msgstr "óöÜëìá óôç ãñáììÞ trailer\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "äå âñÝèçêáí Ýãêõñá OpenPGP äåäïìÝíá.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "ìç Ýãêõñç èùñÜêéóç: ç ãñáììÞ åßíáé ðÜíù áðü %d ÷áñáêôÞñåò\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1299,7 +1312,7 @@ msgstr "
 msgid "not human readable"
 msgstr "ìç áíáãíþóéìï"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "ôï ìõóôéêü êëåéäß äåí åßíáé äéáèÝóéìï"
@@ -1309,8 +1322,8 @@ msgstr "
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "äåí ìðïñåß íá ãßíåé áõôü óå êáôÜóôáóç äÝóìçò (batchmode)\n"
@@ -1320,224 +1333,224 @@ msgstr "
 msgid "This command is only available for version 2 cards\n"
 msgstr "ÁõôÞ ç åíôïëÞ áðáãïñåýåôå óå áõôÞ ôçí êáôÜóôáóç %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "ôìÞìáôá ôïõ ìõóôéêïý êëåéäéïý äåí åßíáé äéáèÝóéìá\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Ç åðéëïãÞ óáò; "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Äåí Ý÷åé ïñéóôåß áéôßá"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "ìç åðåîåñãáóìÝíï"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "êáíÝíá áíôßóôé÷ï äçìüóéï êëåéäß: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "áäõíáìßá åããñáöÞò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "áíáùåùìÝíåò åðéëïãÝò"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò óôï \"êïñäüíé\" ôçò åðéëïãÞò\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò óôï \"êïñäüíé\" ôçò åðéëïãÞò\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "óöÜëìá: ìç Ýãêõñï áðïôýðùìá\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "áðåéêüíéóç ôïõ fingerprint"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "óöÜëìá: ìç Ýãêõñï áðïôýðùìá\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Ç äçìéïõñãßá êëåéäéïý áðÝôõ÷å: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "äå âñÝèçêáí Ýãêõñá OpenPGP äåäïìÝíá.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ìõóôéêÞò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Ôé ìÝãåèïò êëåéäéïý èá èÝëáôå; (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Ôé ìÝãåèïò êëåéäéïý èá èÝëáôå; (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Ôé ìÝãåèïò êëåéäéïý èá èÝëáôå; (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "óôñïããõëïðïéÞèçêå Ýùò ôá %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "óöÜëìá óôç áðïóôïëÞ ðñïò ôï `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ðáñáëåßöèçêå: ìõóôéêü êëåéäß Þäç ðáñþí\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1545,145 +1558,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Ðáñáêáëþ åðéëÝîôå ôïí ôýðï ôïõ êëåéäéïý ðïõ èÝëåôå:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "ÕðïãñáöÞ Ýëçîå óôéò %s.\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Ìç Ýãêõñç åðéëïãÞ.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Ðáñáêáëþ åðéëÝîôå ôçí áéôßá ãéá ôçí áíÜêëçóç:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "Üãíùóôïò áëãüñéèìïò ðñïóôáóßáò\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "ÌõóôéêÜ ôìÞìáôá ôïõ êýñéïõ êëåéäéïý äåí åßíáé äéáèÝóéìá.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "ðáñáëåßöèçêå: ìõóôéêü êëåéäß Þäç ðáñþí\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ôåñìáôéóìüò áõôïý ôïõ ìåíïý"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "áðåéêüíéóç áõôÞò ôçò âïÞèåéáò"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Êëåéäß äéáèÝóéìï óôï: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "áëëáãÞ ôçò çìåñïìçíßáò ëÞîçò"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "áëëáãÞ ôçò åìðéóôïóýíçò éäéïêôÞôç"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "áðåéêüíéóç ôïõ fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "äçìéïõñãßá åíüò íÝïõ æåýãïõò êëåéäéþí"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ìç Ýãêõñç åíôïëÞ  (äïêéìÜóôå \"help\")\n"
 
@@ -1691,18 +1704,18 @@ msgstr "
 msgid "--output doesn't work for this command\n"
 msgstr "--output äåí ëåéôïõñãåß ãéá áõôÞ ôçí åíôïëÞ\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ôï êëåéäß '%s' äå âñÝèçêå: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1812,7 +1825,7 @@ msgstr ""
 "ï åîáíáãêáóìüò óõììåôñéêïý áëãüñéèìïõ %s (%d) ðáñáâéÜæåé ôéò\n"
 "åðéëïãÝò ôïõ ðáñáëÞðôç\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "áðáãïñåýåôå ç ÷ñÞóç ôïõ %s óôçí êáôÜóôáóç %s.\n"
@@ -1822,78 +1835,78 @@ msgstr "
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s êñõðôïãñáöÞèçêå ãéá: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s êñõðôïãñáöçìÝíá äåäïìÝíá\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "êñõðôïãñáöçìÝíï ìå Üãíùóôï áëãüñéèìï %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ôï ìÞíõìá êñõðôïãñáöÞèçêå ìå áäýíáìï êëåéäß óôï\n"
 "óõììåôñéêü êñõðôáëãüñéèìï.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "ðñüâëçìá óôï ÷åéñéóìü êñõðôïãñáöçìÝíïõ ðáêÝôïõ\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "äåí õðïóôçñßæåôå ç áðïìáêñõóìÝíç åêôÝëåóç ðñïãñÜììáôïò\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "ïé êëÞóåéò åîùôåñéêþí ðñïãñáììÜôùí áðåíåñãïðïéÞèçêáí ëüãù áíáóöáëþí áäåéþí\n"
 "áñ÷åßïõ\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "áõôÞ ç ðëáôöüñìá áðáéôåß ðñïóùñ. áñ÷åßá óôçí êëÞóç åîùôåñéêþí ðñïãñáììÜôùí\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "áäõíáìßá åêôÝëåóçò ôïõ %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "áäõíáìßá åêôÝëåóçò ôïõ %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "óöÜëìá óõóôÞìáôïò êáôÜ ôçí êëÞóç åîùôåñéêïý ðñïãñÜììáôïò: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "áöýóéêç Ýîïäïò ôïõ åîùôåñéêïý ðñïãñÜììáôïò\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "áäõíáìßá åêôÝëåóçò ôïõ åîùôåñéêïý ðñïãñÜììáôïò\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "áäõíáìßá áíÜãíùóçò ôçò áðÜíôçóçò ôïõ åîùôåñéêïý ðñïãñÜììáôïò: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: áäõíáìßá äéáãñáöÞò tempfile (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: áäõíáìßá äéáãñáöÞò ðñïóùñéíïý öáêÝëïõ `%s': %s\n"
@@ -1996,201 +2009,201 @@ msgstr "
 msgid "No fingerprint"
 msgstr "áðåéêüíéóç ôïõ fingerprint"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Ìç Ýãêõñï êëåéäß %08lX Ýãéíå Ýãêõñï áðü ôï --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "êáíÝíá ìõóôéêü õðïêëåéäß ãéá ôï äçìüóéï õðïêëåéäß %08lX - áãíüçóç\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "÷ñÞóç ôïõ äåõôåñåýïíôïò êëåéäéïý %08lX áíôß ôïõ ðñùôåýïíôïò %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß ÷ùñßò äçìüóéï - ðáñáëåßöèçêå\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "äçìéïõñãßá ìéáò ìç ðñïóáñôçìÝíçò õðïãñáöÞò"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[áñ÷åßï]|äçìéïõñãßá ìéáò ìç êñõðôïãñáöçìÝíçò õðïãñáöÞò"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "äçìéïõñãßá ìéáò ìç ðñïóáñôçìÝíçò õðïãñáöÞò"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "êñõðôïãñÜöçóç äåäïìÝíùí"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "êñõðôïãñÜöçóç ìå ÷ñÞóç ìüíï óõììåôñéêþí áëãïñßèìùí"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "áðïêñõðôïãñÜöçóç äåäïìÝíùí (ðñïêáèïñéóìÝíï)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "åðáëÞèåõóç ìéáò õðïãñáöÞò"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "áðåéêüíéóç ôçò ëßóôáò êëåéäéþí"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "áðåéêüíéóç ôçò ëßóôáò êëåéäéþí êáé õðïãñáöþí"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "Ýëåã÷ïò õðïãñáöÞò êëåéäéïý"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "áðåéêüíéóç ôçò ëßóôáò êëåéäéþí êáé áðïôõðùìÜôùí (fingerprints)"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "áðåéêüíéóç ôçò ëßóôáò ìõóôéêþí êëåéäéþí"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "äçìéïõñãßá åíüò íÝïõ æåýãïõò êëåéäéþí"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "äçìéïõñãßá åíüò ðéóôïðïéçôéêïý áíÜêëçóçò"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "áöáßñåóç ôùí êëåéäéþí áðü ôç äçìüóéá êëåéäïèÞêç"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "áöáßñåóç ôùí êëåéäéþí áðü ôç ìõóôéêÞ êëåéäïèÞêç"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "õðïãñáöÞ åíüò êëåéäéïý"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "õðïãñáöÞ åíüò êëåéäéïý ôïðéêÜ"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "õðïãñáöÞ Þ åðåîåñãáóßá åíüò êëåéäéïý"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "åîáãùãÞ êëåéäéþí"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "åîáãùãÞ êëåéäéþí óå Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "åéóáãùãÞ êëåéäéþí áðü Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "áíáæÞôçóç êëåéäéþí óå Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "áíáíÝùóç üëùí ôùí êëåéäéþí áðü Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "åéóáãùãÞ/óõã÷þíåõóç êëåéäéþí"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "áíáíÝùóç ôçò âÜóçò äåäïìÝíùí åìðéóôïóýíçò"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|áëãüñ [áñ÷åßá]| áðåéêüíéóç ðåñéëÞøåùí ôùí ìçíõìÜôùí"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "äçìéïõñãßá ascii èùñáêéóìÝíçò åîüäïõ"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ÏÍÏÌÁ|êñõðôïãñÜöçóç ãéá ÏÍÏÌÁ"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "÷ñÞóç áõôÞò ôçò ôáõôüôçôáò (user id) ãéá õðïãñáöÞ Þ áðïêñõðôïãñÜöçóç"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|êáèïñéóìüò åðéðÝäïõ óõìðßåóçò N (0 áðåíåñãïðïéåß)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "÷ñÞóç êáíïíéêÞò êáôÜóôáóçò êåéìÝíïõ"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|ÁÑ×ÅÉÏ|öüñôùìá ôïõ áñèñþìáôïò åðÝêôáóçò ÁÑ×ÅÉÏ"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "íá ìç ãßíåé êáììßá áëëáãÞ"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "åñþôçóç ðñéí ôçí åðéêÜëõøç"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2198,7 +2211,7 @@ msgstr ""
 "@\n"
 "(äåßôå ôç óåëßäá man ãéá ìéá ðëÞñç ëßóôá åíôïëþí êáé åðéëïãþí)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2218,21 +2231,26 @@ msgstr ""
 " --list-keys [ïíüìáôá]        áðåéêüíéóç êëåéäéþí\n"
 " --fingerprint [ïíüìáôá]      áðåéêüíéóç áðïôõðùìÜôùí (fingerprints)\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Óýíôáîç: gpg [åðéëïãÝò] [áñ÷åßá]\n"
 "õðïãñáöÞ, Ýëåã÷ïò, êñõðôïãñÜöçóç Þ áðïêñõðôïãñÜöçóç\n"
 "ç ðñïêáèïñéóìÝíç ëåéôïõñãßá åîáñôÜôáé áðü ôá äåäïìÝíá åéóüäïõ\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2240,573 +2258,573 @@ msgstr ""
 "\n"
 "Õðïóôçñéæüìåíïé áëãüñéèìïé:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "ÄçìïóÊëåéäß:"
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Êñõðôáëãüñéèìïò: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Óõìðßåóç: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "÷ñÞóç: gpg [åðéëïãÝò] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "äåí âñÝèçêå ôï óýìâïëï = óôïí ïñéóìü ôçò ïìÜäáò \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßá óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßá óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßá óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßáåóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßáåóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßáåóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò åóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò åóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò åóþêëåéóôïõ öáêÝëïõ óôï %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "Üãíùóôï áíôéêåßìåíï ñõèìßóåùò \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Äåí âñÝèçêå áíôßóôïé÷ç õðïãñáöÞ óôç ìõóôéêÞ êëåéäïèÞêç\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "ôï URL ðïëéôéêÞò õðïãñáöÞò ðïõ äüèçêå äåí åßíáé Ýãêõñï\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "áðåéêüíéóç ôçò êëåéäïèÞêçò óôçí ïðïßá áíáöÝñåôå ôï êëåéäß"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Äåí âñÝèçêå áíôßóôïé÷ç õðïãñáöÞ óôç ìõóôéêÞ êëåéäïèÞêç\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "ÓÇÌÅÉÙÓÇ: áãíïÞèçêå ôï ðáëéü áñ÷åßï ðñïêáèïñéóìÝíùí åðéëïãþí `%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ôï %s äåí åßíáé ãéá êáíïíéêÞ ÷ñÞóç!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "ôï %s äåí åßíáé Ýãêõñï óåô ÷áñáêôÞñùí\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "ôï %s äåí åßíáé Ýãêõñï óåô ÷áñáêôÞñùí\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "áäõíáìßá åðåîåñãáóßáò ôïõ URI ôïõ äéáêïìéóç êëåéäéþí\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "ôï %s äåí åßíáé Ýãêõñï óåô ÷áñáêôÞñùí\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "ôï URL ðïëéôéêÞò õðïãñáöÞò ðïõ äüèçêå äåí åßíáé Ýãêõñï\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "ôï %s äåí åßíáé Ýãêõñï óåô ÷áñáêôÞñùí\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "ôï %s äåí åßíáé Ýãêõñï óåô ÷áñáêôÞñùí\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "áäõíáìßá ïñéóìïý ôïõ exec-path óå %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ôï ðñüãñáììá ßóùò äçìéïõñãÞóåé áñ÷åßï core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ôï %s ðáñáêÜìðôåé ôï %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "ôï %s äåí åðéôñÝðåôáé ìå ôï %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "ôï %s äåí Ý÷åé êáììßá Ýííïéá ìáæß ìå ôï %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "ìðïñåßôå íá êÜíåôå áðïêïììÝíåò Þ êáèáñÝò õðïãñáöÝò ìüíï óå --pgp2 êáôÜóôáóç\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 "äåí ìðïñåßôå íá õðïãñÜöåôå êáé íá êñõðôïãñáöåßôå ôáõôü÷ñïíá óå --pgp2 "
 "êáôÜóôáóç\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "ìüíï áñ÷åßá åðéôñÝðïíôáé (êáé ü÷é pipes) êáôá ôçí êáôáóôáóç --pgp2.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 "ç êñõðôïãñÜöçóç åíüò ìçíýìáôïò óå --pgp2 êáôÜóôáóç áðáéôåß ôïí áëãïñ. IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "ï åðéëåãìÝíïò áëãüñéèìïò êñõðôïãñÜöçóçò äåí åßíáé Ýãêõñïò\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "ï åðéëåãìÝíïò áëãüñéèìïò ðåñßëçøçò äåí åßíáé Ýãêõñïò\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "ï åðéëåãìÝíïò áëãüñéèìïò êñõðôïãñÜöçóçò äåí åßíáé Ýãêõñïò\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 "ï åðéëåãìÝíïò áëãüñéèìïò ðåñßëçøçò ãéá ðéóôïðïßçóç\n"
 "äåí åßíáé Ýãêõñïò\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed ðñÝðåé íá åßíáé ìåãáëýôåñá áðü 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed ðñÝðåé íá åßíáé ìåãáëýôåñá áðü 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth ðñÝðåé íá åßíáé ìåôáîý 1 êáé 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ìç Ýãêõñï default-cert-level· ðñÝðåé íá åßíáé 0, 1, 2, Þ 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ìç Ýãêõñï min-cert-level· ðñÝðåé íá åßíáé 0, 1, 2, Þ 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ç áðëÞ S2K êáôÜóôáóç (0) ðñÝðåé íá áðïöåýãåôáé\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ìç Ýãêõñç êáôÜóôáóç S2K; ðñÝðåé íá åßíáé 0, 1 Þ 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "ìç Ýãêõñåò ðñïåðéëïãÝò\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "ìç Ýãêõñåò ðñïåðéëïãÝò ðñïóùðéêïý êñõðôáëãüñéèìïõ\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "ìç Ýãêõñåò ðñïåðéëïãÝò ðñïóùðéêïý áëãüñéèìïõ ðåñßëçøçò\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "ìç Ýãêõñåò ðñïåðéëïãÝò ðñïóùðéêïý áëãüñéèìïõ óõìðßåóçò\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "ôï %s áêüìá äå ëåéôïõñãåß ìáæß ìå ôï %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "áðáãïñåýåôå ç ÷ñÞóç ôïõ êñõðôáëãüñéèìïõ \"%s\" óôçí êáôÜóôáóç %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 "áðáãïñåýåôå ç ÷ñÞóç ôïõ áëãüñéèìïõ ðåñßëçøçò \"%s\" óôçí êáôÜóôáóç %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "áðáãïñåýåôå ç ÷ñÞóç ôïõ áëãüñéèìïõ óõìðßåóçò \"%s\" óôçí êáôÜóôáóç %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: äþèçêáí ðáñáëÞðôåò (-r) ÷þñéò ÷ñÞóç êñõðôïãñÜöçóçò\n"
 "äçìïóßïõ êëåéäéïý\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "áðïêñõðôïãñÜöçóç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "áðáãïñåýåôå ç ÷ñÞóç ôïõ %s óôçí êáôÜóôáóç %s.\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "áðáãïñåýåôå ç ÷ñÞóç ôïõ %s óôçí êáôÜóôáóç %s.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [åíôïëÝò]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver áðïóôïëÞ áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver ëÞøç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "åîáãùãÞ êëåéäéïý áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver áíáæÞôçóç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver áíáíÝùóç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "áðïèùñÜêéóç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "èùñÜêéóç áðÝôõ÷å: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "ìç Ýãêõñïò áëãüñéèìïò  hash `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[üíïìá áñ÷åßïõ]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Ìðïñåßôå ôþñá íá åéóáãÜãåôå ôï ìÞíõìá óáò ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "ôï URL ðïëéôéêÞò ðéóôïðïéçôéêïý ðïõ äüèçêå äåí åßíáé Ýãêõñï\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "ôï URL ðïëéôéêÞò õðïãñáöÞò ðïõ äüèçêå äåí åßíáé Ýãêõñï\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "ôï URL ðïëéôéêÞò õðïãñáöÞò ðïõ äüèçêå äåí åßíáé Ýãêõñï\n"
@@ -2846,483 +2864,497 @@ msgstr "
 msgid "No help available for `%s'"
 msgstr "Äåí õðÜñ÷åé äéáèÝóéìç âïÞèåéá ãéá `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "áíáíÝùóç ôçò âÜóçò äåäïìÝíùí åìðéóôïóýíçò"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "ôï äçìïóßï êëåéäß äåí ôáéñéÜæåé ìå ôï ìõóôéêü!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "ìç ÷ñçóéìïðïéÞóéìï ìõóôéêü êëåéäß"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ðáñÜëåéøç ôìÞìáôïò ôïõ ôýðïõ %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu êëåéäéÜ Ý÷ïõí ìÝ÷ñé ôþñá åðåîåñãáóôåß\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Óõíïëéêüò áñéèìüò ðïõ åðåîåñãÜóôçêáí: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      íÝá êëåéäéÜ ðïõ ðáñáëåßöèçêáí: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          ÷ùñßò user ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              åéóá÷èÝíôá: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             áìåôÜâëçôá: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          íÝá user ID: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           íÝá õðïêëåéäéÜ: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        íÝåò õðïãñáöÝò: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   íÝåò áíáêëÞóåéò êëåéäéþí: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      áíáãíùóìÝíá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  åéóá÷èÝíôá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " áìåôÜâëçôá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          ìç  åéóá÷èÝíôá: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        íÝåò õðïãñáöÝò: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      áíáãíùóìÝíá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s õðïãñáöÞ, áëãüñéèìïò ðåñßëçøçò %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé áõôü ôï user ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "ðáñáëåßöèçêå `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "êëåéäß %08lX: åðéäéüñèùóç öèáñìÝíïõ õðïêëåéäéïý HKP\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "êëåéäß %08lX: äåêôü ìç éäéï-õðïãåãñáììÝíï user ID '%s'\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "êëåéäß %08lX: äåí Ý÷åé Ýãêõñá user ID\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "áõôü ìðïñåß íá óõíÝâåé áðü ìéá áðïýóá éäéïûðïãñáöÞ\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß ðïõ äå âñÝèçêå: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "êëåéäß %08lX:  íÝï êëåéäß - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "äåí âñåèçêå åããñÜøéìç êëåéäïèÞêç: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "åããñáöÞ óôï  `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "áäõíáìßá åããñáöÞò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "êëåéäß %08lX: ôï äçìüóéï êëåéäß \"%s\" Ý÷åé åéóá÷èåß\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "êëåéäß %08lX: äåí ôáéñéÜæåé ìå ôï áíôßãñáöï ìáò\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "êëåéäß %08lX: áäõíáìßá åíôïðéóìïý ôïõ áñ÷éêïý ôìÞìáôïò êëåéäéïý: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "êëåéäß %08lX: áäõíáìßá áíÜãíùóçò ôïõ áñ÷éêïý ôìÞìáôïò êëåéäéïý: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "êëåéäß %08lX: \"%s\" 1 íÝï user ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝá user ID\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "êëåéäß %08lX: \"%s\" 1 íÝá õðïãñáöÞ\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝåò õðïãñáöÝò\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "êëåéäß %08lX: \"%s\" 1 íÝï õðïêëåéäß\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝá õðïêëåéäéÜ\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝåò õðïãñáöÝò\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝåò õðïãñáöÝò\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝá user ID\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "êëåéäß %08lX: \"%s\" %d íÝá user ID\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "êëåéäß %08lX: \"%s\" áìåôÜâëçôï\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß ìå Üêõñï êñõðôáëã. %d - ðáñáëåßöèçêå\n"
+msgid "secret key %s: %s\n"
+msgstr "ôï ìõóôéêü êëåéäß `%s' äå âñÝèçêå: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß ìå Üêõñï êñõðôáëã. %d - ðáñáëåßöèçêå\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "äåí õðÜñ÷åé ðñïêáèïñéóìÝíç êëåéäïèÞêç: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß åéóÞ÷èçêå\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "êëåéäß %08lX: Þäç óôç ìõóôéêÞ êëåéäïèÞêç\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "êëåéäß %08lX: äå âñÝèçêå ôï ìõóôéêü êëåéäß: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "êëåéäß %08lX: ü÷é äçìüóéï êëåéäß - áäõíáìßá åöáñìïãÞò ðéóôïðïéçôéêïý "
 "áíÜêëçóçò\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "êëåéäß %08lX: ìç Ýãêõñï ðéóôïðïéçôéêü áíÜêëçóçò: %s - áðüññéøç\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "êëåéäß %08lX: \"%s\" ðéóôïðïéçôéêü áíÜêëçóçò åéóÞ÷èçêå\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé user ID ãéá ôçí õðïãñáöÞ\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
-"êëåéäß %08lX: ìç õðïóôçñéæüìåíïò áëãüñéèìïò äçìïóßïõ êëåéäéïý óôï user id \"%"
-"s\"\n"
+"êëåéäß %08lX: ìç õðïóôçñéæüìåíïò áëãüñéèìïò äçìïóßïõ êëåéäéïý óôï user id "
+"\"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "êëåéäß %08lX: ìç Ýãêõñç éäéï-õðïãñáöÞ óôï user id \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "êëåéäß %08lX: ìç õðïóôçñéæüìåíïò áëãüñéèìïò äçìïóßïõ êëåéäéïý\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "êëåéäß %08lX: Üìåóç õðïãñáöÞ êëåéäéïý ðñïóôÝèçêå\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé õðïêëåéäß ãéá ôç äÝóìåõóç êëåéäéïý\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "êëåéäß %08lX: ìç Ýãêõñç äÝóìåõóç õðïêëåéäéïý\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "êëåéäß %08lX: áöáéñÝèçêå ç äÝóìåõóç ðïëëáðëïý õðïêëåéäéïý\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé õðïêëåéäß ãéá ôçí áíÜêëçóç êëåéäéïý\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "êëåéäß %08lX: ìç Ýãêõñç áíÜêëçóç õðïêëåéäéïý\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "êëåéäß %08lX: áöáéñÝèçêå ç áíÜêëçóç ðïëëáðëïý õðïêëåéäéïý\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "êëåéäß %08lX: ðáñáëåßöèçêå user ID '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "êëåéäß %08lX: ðáñáëåßöèçêå õðïêëåéäß\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "êëåéäß %08lX: ìç åîáãüìåíç õðïãñáöÞ (êëÜóç %02x) - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "êëåéäß %08lX: ôï ðéóôïðïéçôéêü áíÜêëçóçò óå ëÜèïò óçìåßï - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "êëåéäß %08lX: ìç Ýãêõñï ðéóôïðïéçôéêü áíÜêëçóçò: %s - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "êëåéäß %08lX: ç õðïãñáöÞ ôïõ õðïêëåéäéïý óå ëÜèïò óçìåßï - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "êëåéäß %08lX: ìç áíáìåíþìåíç êëÜóç õðïãñáöÞò (0x%02x) - ðáñáëåßöèçêå\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "êëåéäß %08lX: åíôïðßóôçêå äéðëü user ID - åíþèçêáí\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"ÐÑÏÅÉÄÏÐÏÉÇÓÇ: êëåéäß %08lX ìðïñåß íá áíáêëçèåß: ëÞøç êëåéäéïý áíÜêëçóçò %"
-"08lX\n"
+"ÐÑÏÅÉÄÏÐÏÉÇÓÇ: êëåéäß %08lX ìðïñåß íá áíáêëçèåß: ëÞøç êëåéäéïý áíÜêëçóçò "
+"%08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: êëåéäß %08lX ìðïñåß íá áíáêëçèåß: ôï êëåéäß áíÜêëçóçò %08lX\n"
 "äåí åßíáé ðáñþí.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "êëåéäß %08lX: \"%s\" ðéóôïðïéçôéêü áíÜêëçóçò ðñïóôÝèçêå\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "êëåéäß %08lX: Üìåóç õðïãñáöÞ êëåéäéïý ðñïóôÝèçêå\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "ôï äçìïóßï êëåéäß äåí ôáéñéÜæåé ìå ôï ìõóôéêü!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ðáñáëåßöèçêå: ìõóôéêü êëåéäß Þäç ðáñþí\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ðáñáëåßöèçêå: ìõóôéêü êëåéäß Þäç ðáñþí\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "êëåéäïèÞêç `%s' äçìéïõñãÞèçêå\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "óöÜëìá êáôÜ ôç äçìéïõñãßá ôïõ `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "áðïôõ÷ßá åðáíáäüìçóçò ôçò cache êëåéäïèÞêçò: %s\n"
@@ -3411,12 +3443,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Ôï user ID \"%s\" áíáêáëåßôå."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Óßãïõñá èÝëåôå áêüìá íá ôï õðïãñÜøåôå; (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Áäõíáìßá õðïãñáöÞò.\n"
 
@@ -3631,8 +3663,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Óßãïõñá íá õðïãñáöåß; "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "ç õðïãñáöÞ áðÝôõ÷å: %s\n"
@@ -3641,20 +3673,20 @@ msgstr "
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Áõôü ôï êëåéäß äåí ðñïóôáôåýåôáé.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "ÌõóôéêÜ ôìÞìáôá ôïõ êýñéïõ êëåéäéïý äåí åßíáé äéáèÝóéìá.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "ÌõóôéêÜ ôìÞìáôá ôïõ êýñéïõ êëåéäéïý äåí åßíáé äéáèÝóéìá.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Ôï êëåéäß ðñïóôáôåýåôáé.\n"
 
@@ -3671,7 +3703,7 @@ msgstr ""
 "ÐëçêôñïëïãÞóôå ôçí íÝá öñÜóç êëåéäß ãéá áõôü ôï ìõóôéêü êëåéäß.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "ç öñÜóç êëåéäß äåí åðáíáëÞöèçêå óùóôÜ. ÄïêéìÜóôå îáíÜ"
 
@@ -3866,24 +3898,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ìõóôéêïý ìðëïê êëåéäéïý `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Ôï ìõóôéêü êëåéäß åßíáé äéáèÝóéìï.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Áðáéôåßôáé ôï ìõóôéêü êëåéäß ãéá íá ãßíåé áõôü.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Ðáñáêáëþ ÷ñçóéìïðïéåßóôå ôçí åíôïëÞ \"toggle\" ðñþôá.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3891,243 +3923,243 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Ôï êëåéäß áíáêëÞèçêå."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Óßãïõñá íá õðïãñáöïýí üëá ôá user ID; "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "ÓõìâïõëÞ: ÅðéëÝîôå ôï user ID ãéá õðïãñáöÞ\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Üãíùóôç êëÜóç õðïãñáöÞò"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "ÁõôÞ ç åíôïëÞ áðáãïñåýåôå óå áõôÞ ôçí êáôÜóôáóç %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "ÐñÝðåé íá åðéëÝîåôå ôï ëéãüôåñï Ýíá user ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Äåí ìðïñåßôå íá äéáãñÜøåôå ôï ôåëåõôáßï user ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá äéáãñáöïýí üëá ôá åðéëåãìÝíá user ID; "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá äéáãñáöåß áõôü ôï user ID; "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá äéáãñáöåß áõôü ôï user ID; "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "ÐñÝðåé íá åðéëÝîåôå ôïõëÜ÷éóôïí Ýíá êëåéäß.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò óôï `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "ÐñÝðåé íá åðéëÝîåôå ôïõëÜ÷éóôïí Ýíá êëåéäß.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá äéáãñáöïýí ôá åðéëåãìÝíá êëåéäéÜ; "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá äéáãñáöåß áõôü ôï êëåéäß; "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèïýí üëá ôá åðéëåãìÝíá user ID; "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèåß áõôü ôï user ID; "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèåß áõôü ôï êëåéäß; "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèïýí ôá åðéëåãìÝíá êëåéäéÜ; "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèåß áõôü ôï êëåéäß; "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "ïñéóìüò áðåéêüíéóçò åðéëïãþí"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Óßãïõñá èÝëåôå íá áíáíåùèïýí ïé ðñïåðéëïãÝò ãéá ôï åðéëåãìÝíï user ID; "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Óßãïõñá íá áíáíåùèïýí ïé ðñïåðéëïãÝò;"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "ÁðïèÞêåõóç ôùí áëëáãþí; "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Ôåñìáôéóìüò ÷ùñßò áðïèÞêåõóç; "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "ç åíçìÝñùóç áðÝôõ÷å: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "ç åíçìÝñùóç ìõóôéêïý áðÝôõ÷å: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Ôï êëåéäß äåí Üëëáîå ïðüôå äåí ÷ñåéÜæåôáé åíçìÝñùóç.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Ðåñßëçøç: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Äõíáôüôçôå: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Óçìåßùóç: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Äåí õðÜñ÷ïõí ðñïåðéëïãÝò óå Ýíá user ID ôýðïõ PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Áõôü ôï êëåéäß ìðïñåß íá áíáêëçèåß áðü %s êëåéäß "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Áõôü ôï êëåéäß ìðïñåß íá áíáêëçèåß áðü %s êëåéäß "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (åõáßóèçôï)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[áíáêëçìÝíï]"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [ëÞãåé: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [ëÞãåé: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " åìðéóôïóýíç: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " åìðéóôïóýíç: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Áõôü ôï êëåéäß Ý÷åé áðåíåñãïðïéçèåß"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4135,19 +4167,19 @@ msgstr ""
 "Ç åããõñüôçôá ôïõ áðåéêïíéæüìåíïõ êëåéäéïý äåí åßíáé áðáñáßôçôá óùóôÞ\n"
 "åêôüò êáé åÜí åðáíáêêéíÞóåôå ôï ðñüãñáììá.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[áíáêëçìÝíï]"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4155,7 +4187,7 @@ msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: äåí Ý÷åé óçìåéùèåß ID ÷ñÞóôç óáí ðñùôåýùí.  ÁõôÞ ç åíôïëÞ\n"
 "              ìðïñåß íá êÜíåé Ýíá Üëëï ID ÷ñÞóôç íá ãßíåé ôï ðñùôåýùí.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4164,75 +4196,75 @@ msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: Áõôü Ýéíáé Ýíá êëåéäß ôýðïõ PGP2. Ç ðñïóèÞêç åíüò photo ID\n"
 "               ìðïñåß íá êÜíåé ìåñéêÝò åêäüóåéò PGP íá ôï áðïññßøïõí.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Óßãïõñá áêüìá èÝëåôå íá ôï ðñïóèÝóåôå; (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Äåí ìðïñåßôå íá ðñïóèÝóåôå ìéá photo ID óå Ýíá êëåéäß ôýðïõ PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "ÄéáãñáöÞ áõôÞò ôçò êáëÞò õðïãñáöÞò; (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "ÄéáãñáöÞ áõôÞò ôçò ìç Ýãêõñçò õðïãñáöÞò; (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "ÄéáãñáöÞ áõôÞò ôçò Üãíùóôçò õðïãñáöÞò; (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Óßãïõñá íá äéáãñáöåß áõôÞ ç éäéï-õðïãñáöÞ; (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "ÄéáãñÜöôçêå %d õðïãñáöÞ.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "ÄéáãñÜöçêáí %d õðïãñáöÝò.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Ôßðïôá äåí äéáãñÜöôçêå.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "ìç Ýãêõñç èùñÜêéóç"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Ôï user ID \"%s\" áíáêáëåßôå."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Ôï user ID \"%s\" áíáêáëåßôå."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Ôï user ID \"%s\" áíáêáëåßôå."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ôï user ID \"%s\" Ý÷åé Þäç áíáêëçèåß\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ôï user ID \"%s\" Ý÷åé Þäç áíáêëçèåß\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4242,38 +4274,38 @@ msgstr ""
 "               êáèïñéóìÝíïõ áíáêëçôÞ ìðïñåß íá êÜíåé ìåñéêÝò åêäüóåéò PGP\n"
 "               íá ôï áðïññßøïõí.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Äåí ìðïñåßôå íá ðñïóèÝóåôå Ýíá êáèïñéóìÝíï áíáêëçôÞ óå êëåéäß ôýðïõ PGP2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "ÐëçêôñïëïãÞóôå ôï user ID ôïõ äéïñéóìÝíïõ áíáêëçôÞ: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "áäõíáìßá ïñéóìïý åíüò êëåéäéïý ôýðïõ PGP 2.x, óáí äéïñéóìÝíïõ áíáêëçôÞ\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "äå ìðïñåßôå íá ïñßóåôå Ýíá êëåéäß óáí ôï äéïñéóìÝíï áíáêëçôÞ ôïõ åáõôïý ôïõ\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: Áõôü ôï êëåéäß Ý÷åé áíáêëçèåß áðü ôïí ïñéóìÝíï áíáêëçôÞ!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: åÜí ïñßóåôå Ýíá êëåéäß óáí äéïñéóìÝíï áíáêëçôÞ äåí ìðïñåß íá "
 "åðáíÝëèåé!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -4281,246 +4313,246 @@ msgstr ""
 "Åßóôå óßãïõñïé üôé èÝëåôå íá ïñßóåôå Ýíá êëåéäß óáí äéïñéóìÝíï áíáêëçôÞ; (y/"
 "N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Ðáñáêáëþ áöáéñÝóôå ôéò åðéëïãÝò áðü ôá ìõóôéêÜ êëåéäéÜ.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Ðáñáêáëþ åðéëÝîôå ôï ðïëý Ýíá äåõôåñåýïí êëåéäß.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "ÁëëáãÞ çìåñïìçíßáò ëÞîçò ãéá Ýíá äåõôåñåýïí êëåéäß.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "ÁëëáãÞ çìåñïìçíßáò ëÞîçò ãéá Ýíá ðñùôåýïí êëåéäß.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Äåí ìðïñåßôå íá áëëÜîåôå ôçí çìåñïìçíßá ëÞîçò óå Ýíá v3 êëåéäß\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Äåí âñÝèçêå áíôßóôïé÷ç õðïãñáöÞ óôç ìõóôéêÞ êëåéäïèÞêç\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ôï õðïãñÜöùí õðïêëåéäß %08lX äåí Ý÷åé êáô' áíôéðáñÜóôáóç "
 "ðéóôïðïéçèåß\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "ÐñÝðåé íá åðéëÝîåôå áêñéâþò Ýíá user ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ðáñáëåßöèçêå ç v3 éäéï-õðïãñáöÞ óôï user id \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Óßãïõñá èÝëåôå áêüìá íá ôï ÷ñçóéìïðïéÞóåôå; (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Óßãïõñá èÝëåôå áêüìá íá ôï ÷ñçóéìïðïéÞóåôå; (y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Óçìåßùóç õðïãñáöÞò: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "ÅðéêÜëõøç (y/N); "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Äåí õðÜñ÷åé user ID ìå äåßêôç %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Äåí õðÜñ÷åé user ID ìå äåßêôç %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Äåí õðÜñ÷åé user ID ìå äåßêôç %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   õðïãñÜöèçêå áðü %08lX óôéò %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (ìç-åîáãþãéìï)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "ÁõôÞ ç õðïãñáöÞ Ýëçîå óôéò %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Óßãïõñá èÝëåôå íá áíáêëçèåß áõôü ôï êëåéäß; "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Äçìéïõñãßá åíüò ðéóôïðïéçôéêïý áíÜêëçóçò ãéá áõôÞ ôçí õðïãñáöÞ; (y/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   õðïãñÜöèçêå áðü %08lX óôéò %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "¸÷åôå õðïãñÜøåé áõôÜ ôá user ID:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (ìç-åîáãþãéìï)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   áíáêëÞèçêå áðü %08lX óôéò %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Óêïðåýåôå íá áíáêáëÝóåôå áõôÝò ôéò õðïãñáöÝò:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Óßãïõñá íá äçìéïõñãçèïýí ôá ðéóôïðïéçôéêÜ áíÜêëçóçò; (y/N)"
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "êáíÝíá ìõóôéêü êëåéäß\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ôï user ID \"%s\" Ý÷åé Þäç áíáêëçèåß\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìéá õðïãñáöÞ user ID Ý÷åé çìåñïìçíßá %d äåýôåñá óôï ìÝëëïí\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "ôï user ID \"%s\" Ý÷åé Þäç áíáêëçèåß\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "ôï user ID \"%s\" Ý÷åé Þäç áíáêëçèåß\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Áðåéêüíéóç %s photo ID ìåãÝèïõò %ld ãéá ôï êëåéäß 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "ç ðñïåðéëïãÞ %c%lu áíôéãñÜöôçêå\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "ðÜñá ðïëëÝò `%c' ðñïåðéëïãÝò\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "ðÜñá ðïëëÝò `%c' ðñïåðéëïãÝò\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "ðÜñá ðïëëÝò `%c' ðñïåðéëïãÝò\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "ìç Ýãêõñïò ÷áñáêôÞñáò óôï \"êïñäüíé\" ôçò åðéëïãÞò\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "åããñáöÞ Üìåóçò õðïãñáöÞò\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "åããñáöÞ éäéï-õðïãñáöÞò\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "åããñáöÞ õðïãñáöÞò \"äÝóéìïõ\" êëåéäéïý\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "ìç Ýãêõñï ìÝãåèïò êëåéäéïý, ÷ñÞóç %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "óôñïããõëïðïßçóç ôïõ ìÝãåèïò êëåéäéïý Ýùò %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "êñõðôïãñÜöçóç äåäïìÝíùí"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4534,104 +4566,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Ðáñáêáëþ åðéëÝîôå ôïí ôýðï ôïõ êëåéäéïý ðïõ èÝëåôå:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA êáé ElGamal (ðñïêáèïñéóìÝíï)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA êáé ElGamal (ðñïêáèïñéóìÝíï)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (ãéá õðïãñáöÞ ìüíï)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (ãéá õðïãñáöÞ ìüíï)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (ãéá êñõðôïãñÜöçóç ìüíï)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Ôé ìÝãåèïò êëåéäéïý èá èÝëáôå; (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Ôé ìÝãåèïò êëåéäéïý èá èÝëáôå; (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Ôï ìÝãåèïò êëåéäéïý ðïõ æçôÞèçêå åßíáé %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4647,7 +4679,7 @@ msgstr ""
 "      <n>m = ôï êëåéäß ëÞãåé óå n ìÞíåò\n"
 "      <n>y = ôï êëåéäß ëÞãåé óå n Ýôç\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4663,40 +4695,40 @@ msgstr ""
 "      <n>m = ôï êëåéäß ëÞãåé óå n ìÞíåò\n"
 "      <n>y = ôï êëåéäß ëÞãåé óå n Ýôç\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Ôï êëåéäß åßíáé Ýãêõñï ãéá; (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Ç õðïãñáöÞ Ýéíáé Ýãêõñç ãéá; (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "ìç Ýãêõñç ôéìÞ\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "ôï %s äåí ëÞãåé ðïôÝ\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "ôï %s äåí ëÞãåé ðïôÝ\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "ôï %s ëÞãåé óôéò %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "ÕðïãñáöÞ ëÞãåé óôéò %s.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4704,12 +4736,12 @@ msgstr ""
 "Ôï óýóôçìá óáò äåí ìðïñåß íá áðåéêïíßóåé çìåñïìçíßåò ðÝñá ôïõ 2038.\n"
 "¼ìùò, èá ÷åéñßæïíôáé óùóôÜ Ýùò ôï 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Åßíáé áõôü óùóôü (y/n); "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4720,7 +4752,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4737,44 +4769,44 @@ msgstr ""
 "    \"Nikolaoy Nikos (toy Ioanni) <nikoln@athens.gr>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Áëçèéíü ¼íïìá: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò óôï üíïìá\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Ôï üíïìá äåí åðéôñÝðåôáé íá îåêéíÜ ìå áñéèìçôéêü øçößï\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Ôï üíïìá ðñÝðåé íá Ý÷åé ôïõëÜ÷éóôïí 5 ÷áñáêôÞñåò\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Äéåýèõíóç Email: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Ìç Ýãêõñç äéåýèõíóç Email\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Ó÷üëéï: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò óôï ó÷üëéï\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "×ñçóéìïðïéåßôå ôï `%s' óåô ÷áñáêôÞñùí.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4785,11 +4817,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Ðáñáêáëþ ìçí ôïðïèåôåßôå ôçí äéåýèõíóç email óôï üíïìá Þ óôï ó÷üëéï\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4804,23 +4836,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "ÁëëáãÞ (N)üíïìá, (C)ó÷üëéï, (E)mail Þ (Q)ôåñìáôéóìüò; "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "ÁëëáãÞ (N)üíïìá, (C)ó÷üëéï, (E)mail Þ (O)åíôÜîåé/(Q)ôåñìáôéóìüò; "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Ðáñáêáëþ, äéïñèþóôå ðñþôá ôï óöÜëìá\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4828,19 +4860,19 @@ msgstr ""
 "×ñåéÜæåóôå ìéá ÖñÜóç êëåéäß ãéá íá ðñïóôáôåýóåôå ôï ìõóôéêü êëåéäß.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4852,7 +4884,7 @@ msgstr ""
 "üðïôå èÝëåôå, ìå ôçí åðéëïãÞ \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4864,50 +4896,50 @@ msgstr ""
 "ôïõò äßóêïõò) êáôá ôç äéÜñêåéá õðïëïãéóìïý ðñþôùí áñéèìþí. Áõôü äßíåé\n"
 "óôç ãåííÞôñéá ôõ÷áßùí áñéèìþí ìéá åõêáéñßá íá ìáæÝøåé áñêåôÞ åíôñïðßá.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Ç äçìéïõñãßá êëåéäéïý áíáâëÞèçêå.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "åããñáöÞ ôïõ äçìïóßïõ êëåéäéïý óôï `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "äå âñÝèçêå åããñÜøéìç äçìüóéá êëåéäïèÞêç: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "äå âñÝèçêå åããñÜøéìç ìõóôéêÞ êëåéäïèÞêç: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "áäõíáìßá åããñáöÞò äçìüóéáò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "áäõíáìßá åããñáöÞò ìõóôéêÞò êëåéäïèÞêçò `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "ôï äçìüóéï êáé ôï ìõóôéêü êëåéäß äçìéïõñãÞèçêáí êáé õðïãñÜöçêáí.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4918,12 +4950,12 @@ msgstr ""
 "Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôçí åíôïëÞ \"--edit-key\" ãéá íá äçìéïõñãçèåß\n"
 "Ýíá äåõôåñåýïí êëåéäß ãéá áõôü ôï ëüãï.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Ç äçìéïõñãßá êëåéäéïý áðÝôõ÷å: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4931,7 +4963,7 @@ msgstr ""
 "ôï êëåéäß äçìéïõñãÞèçêå %lu äåõôåñüëåðôï óôï ìÝëëïí (÷ñïíïäßíç Þ\n"
 "áðëþò ðñüâëçìá óôï ñïëüé)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4939,28 +4971,28 @@ msgstr ""
 "ôï êëåéäß äçìéïõñãÞèçêå %lu äåõôåñüëåðôá óôï ìÝëëïí (÷ñïíïäßíç Þ\n"
 "áðëþò ðñüâëçìá óôï ñïëüé)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 "ÓÇÌÅÉÙÓÇ: ç äçìéïõñãßá õðïêëåéäéþí ãéá êëåéäéÜ v3 äåí åßíáé óýìöùíï\n"
 "ìå ôï OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Óßãïõñá íá äçìéïõñãçèåß; "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "äéáãñáöÞ block êëåéäéþí áðÝôõ÷å: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ôï ìõóôéêü êëåéäß %08lX Ýëçîå óôéò %s\n"
@@ -4993,30 +5025,30 @@ msgstr "
 msgid "Keyring"
 msgstr "ÊëåéäïèÞêç"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Áðïôýðùìá ðñùôåýùí êëåéäéïý:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Áðïôýðùìá õðïêëåéäéïý:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Áðïôýðùìá ðñùôåýùí êëåéäéïý:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Áðïôýðùìá õðïêëåéäéïý:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Áðïôýðùìá êëåéäéïý ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5098,469 +5130,469 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ïé åðéëïãåò óôï `%s' äåí åßíáé åíåñãÝò óå áõôÞ ôçí åêôÝëåóç\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ôï êëåéäß '%s' äå âñÝèçêå: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "ôï êëåéäß '%s' äå âñÝèçêå: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "áßôçóç êëåéäéïý %08lX áðü ôï %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "áßôçóç êëåéäéïý %08lX áðü ôï %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "áíáæÞôçóç ôïõ \"%s\" áðü ôï HKP äéáêïìéóôÞ %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "áíáæÞôçóç ôïõ \"%s\" áðü ôï HKP äéáêïìéóôÞ %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "áíáæÞôçóç ôïõ \"%s\" áðü ôï HKP äéáêïìéóôÞ %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "õðïãñÜöèçêå ìå ôï êëåéäß óáò %08lX óôéò %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "áíáæÞôçóç ôïõ \"%s\" áðü ôï HKP äéáêïìéóôÞ %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "áíáæÞôçóç ôïõ \"%s\" áðü ôï HKP äéáêïìéóôÞ %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åîáãùãÞò\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "óöÜëìá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "óöÜëìá äéáêïìéóôÞ êëåéäéþí"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "keyserver ëÞøç áðÝôõ÷å: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: áäõíáìßá äéáãñáöÞò tempfile (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "áßôçóç êëåéäéïý %08lX áðü ôï %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "áßôçóç êëåéäéïý %08lX áðü ôï %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: áäõíáìßá äéáãñáöÞò tempfile (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: áäõíáìßá äéáãñáöÞò tempfile (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "ðáñÜîåíï ìÝãåèïò ãéá Ýíá êëåéäß êñõðôïãñáöçìÝíçò óõíåäñßáò (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s êëåéäß êñõðôïãñáöçìÝíçò óõíåäñßá\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "êñõðôïãñáöçìÝíï ìå Üãíùóôï áëãüñéèìï %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "äçìüóéï êëåéäß åßíáé %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "êñõðôïãñáöçìÝíá äåäïìÝíá ìå äçìüóéï êëåéäß: êáëü DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "êñõðôïãñáöçìÝíï ìå %u-bit %s êëåéäß, ID %08lX, äçìéïõñãÞèçêå %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                ãíùóôü óáí \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "êñõðôïãñáöçìÝíï ìå %s key, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "êñõðôïãñÜöçóç ìå äçìüóéï êëåéäß áðÝôõ÷å: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "êñõðôïãñáöçìÝíï ìå %lu öñÜóåéò êëåéäéÜ\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "êñõðôïãñáöçìÝíï ìå 1 öñÜóç êëåéäß\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "õðüèåóç %s êñõðôïãñáöçìÝíùí äåäïìÝíùí\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "Êñõðôáëãüñéèìïò IDEA ìç äéáèÝóéìïò, áéóéüäïîç ðñïóðÜèåéá ÷ñÞóçò ôïõ\n"
 "%s áíôßèåôá\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "áðïêñõðôïãñÜöçóç OK\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: äåí ðñïóôáôåýôçêå ç áêåñáéüôçôá ôïõ ìçýìáôïò\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ôï êñõðôïãñáöçìÝíï ìÞíõìá Ý÷åé ðåéñá÷èåß!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "áðïêñõðôïãñÜöçóç áðÝôõ÷å: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ï áðïóôïëÝáò æÞôçóå \"ãéá-ôá-ìÜôéá-óáò-ìüíï\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "áñ÷éêü üíïìá áñ÷åßïõ='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "áíåîÜñôçôç áíÜêëçóç - ÷ñçóéìïðïéåßóôå \"gpg --import\" ãéá åöáñìïãÞ\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "ÊáëÞ õðïãñáöÞ áðü \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "êáôáóôïëÞ áíÜêëçóçò õðïãñáöÞò\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "áäõíáìßá ÷åéñéóìïý áõôþí ôùí ðïëëáðëþí õðïãñáöþí\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "ÕðïãñáöÞ Ýëçîå óôéò %s.\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                ãíùóôü óáí \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "ÕðïãñáöÞ Ýãéíå óôï %.*s ìå ÷ñÞóç ôïõ êëåéäéïý%s ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Êëåéäß äéáèÝóéìï óôï: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ÊÁÊÇ õðïãñáöÞ áðü \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "ËçãìÝíç õðïãñáöÞ áðü \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "ÊáëÞ õðïãñáöÞ áðü \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[áâÝâáéï]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                ãíùóôü óáí \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "ÕðïãñáöÞ Ýëçîå óôéò %s.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "ÕðïãñáöÞ ëÞãåé óôéò %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s õðïãñáöÞ, áëãüñéèìïò ðåñßëçøçò %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "äõáäéêü"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "êáôÜóôáóç-êåéìÝíïõ"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "Üãíùóôï"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Áäõíáìßá åëÝã÷ïõ ôçò õðïãñáöÞò: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "äåí åßíáé áðïêïììÝíç õðïãñáöÞ\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: åíôïðéóìüò ðïëëáðëþí õðïãñáöþí. Ìüíï ç ðñþôç èá åëåã÷èåß.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "áíåîÜñôçôç õðïãñáöÞ êëÜóçò 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "õðïãñáöÞ ðáëéïý óôõë (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ìç Ýãêõñï ñéæéêü(root) ðáêÝôï áíé÷íåýôçêå óôï proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ áñ÷åßïõ: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "trustdb: read áðÝôõ÷å (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "áäõíáìßá ÷åéñéóìïý ôïõ áëãüñéèìïõ äçìïóßïõ êëåéäéïý %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "ï åîáíáãêáóìüò ôïõ áëãüñéèìïõ ðåñßëçøçò %s (%d) ðáñáâéÜæåé ôéò\n"
 "ðñïåðéëïãÝò ôïõ ðáñáëÞðôç\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "ìç õëïðïéçìÝíïò áëãüñéèìïò êñõðôïãñÜöçóçò"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s õðïãñáöÞ, áëãüñéèìïò ðåñßëçøçò %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "ï åîáíáãêáóìüò ôïõ áëãüñéèìïõ ðåñßëçøçò %s (%d) ðáñáâéÜæåé ôéò\n"
 "ðñïåðéëïãÝò ôïõ ðáñáëÞðôç\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "ôï âýóìá ôïõ êñõðôáëãüñéèìïõ IDEA äåí õðÜñ÷åé\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = áðåéêüíéóç ðåñéóóüôåñùí ðëçñïöïñéþí\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: ìç óõíåéóôþìåíç åðéëïãÞ \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "ðáñáêáëþ ÷ñçóéìïðïéÞóôå ôï \"%s%s\" êáëýôåñá\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Áóõìðßåóôï"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Áóõìðßåóôï"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "áõôü ôï ìÞíõìá ßóùò äåí ìðïñåß íá ÷ñçóéìïðïéçèåß áðü %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "áíÜãíùóç åðéëïãþí áðü `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "Üãíùóôïò ðñïêáèïñéóìÝíïò ðáñáëÞðôçò `%s'\n"
@@ -5604,16 +5636,16 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ïé åðéëïãåò óôï `%s' äåí åßíáé åíåñãÝò óå áõôÞ ôçí åêôÝëåóç\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "áäõíáìßá ÷åéñéóìïý ôïõ áëãüñéèìïõ äçìïóßïõ êëåéäéïý %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ðéèáíüí ìç áóöáëÝò êñõðôïãñáöçìÝíï óõììåôñéêÜ êëåéäß\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "õðïðáêÝôï ôýðïõ %d Ý÷åé ïñéóìÝíï ôï êñéôéêü bit\n"
@@ -5670,7 +5702,7 @@ msgstr "%u-bit %s 
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5684,35 +5716,35 @@ msgstr ""
 "÷ñçóéìïðïéåßôå ìéá ìåãÜëç åéêüíá ôï êëåéäß óáò áíôßóôïé÷á èá ãßíåé ìåãÜëï!\n"
 "Éäáíßêü ìÝãåèïò ãéá ìéá åéêüíá åßíáé áõôü êïíôÜ óôï 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "ÐëçêôñïëïãÞóôå Ýíá üíïìá áñ÷åßïõ ãéá ôï photo ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ áñ÷åßïõ: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Óßãïõñá èÝëåôå áêüìá íá ôï ÷ñçóéìïðïéÞóåôå; (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" äåí åßíáé JPEG áñ÷åßï\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Åßíáé áõôÞ ç öùôïãñáößá óùóôÞ (y/N/q); "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "áäõíáìßá áðåéêüíéóçò ôïõ photo ID!\n"
 
@@ -5744,6 +5776,16 @@ msgstr "
 msgid "revocation comment: "
 msgstr "ó÷üëéï áíÜêëçóçò:"
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5939,25 +5981,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Äåí åßíáé âÝâáéï üôé ç õðïãñáöÞ áíÞêåé óôïí éäéïêôÞôç.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ðáñáëåßöèçêå: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: ðáñáëåßöèçêå: äçìüóéï êëåéäß åßíáé Þäç ðáñüí\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Äåí ïñßóôçêå Ýíá user ID. (÷ñçóéìïðïéåßóôå ôï \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5965,43 +6007,43 @@ msgstr ""
 "\n"
 "ÐëçêôñïëïãÞóôå ôï user ID. ÔÝëïò ìå ìéá Üäåéá ãñáììÞ: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Äåí õðÜñ÷åé áõôü ôï user ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 "ðáñáëåßöèçêå: äçìüóéï êëåéäß Ý÷åé Þäç ïñéóôåß óáí åî ïñéóìïý ðáñáëÞðôçò\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Ôï äçìüóéï êëåéäß Ý÷åé áðåíåñãïðïéçèåß.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "ðáñáëåßöèçêå: äçìüóéï êëåéäß Ý÷åé Þäç ïñéóôåß\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "Üãíùóôïò ðñïêáèïñéóìÝíïò ðáñáëÞðôçò `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: ðáñáëåßöèçêå: ôï äçìüóéï êëåéäß Ý÷åé áðåíåñãïðïéçèåß.\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "êáììßá Ýãêõñç äéåýèõíóç\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé áõôü ôï user ID\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé áõôü ôï user ID\n"
@@ -6301,17 +6343,23 @@ msgstr "
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ôï êëåéäß Ý÷åé áíáêëçèåß"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s õðïãñáöÞ, áëãüñéèìïò ðåñßëçøçò %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "õðüèåóç êáêÞò õðïãñáöÞò áðü êëåéäß %08lX ëüãù Üãíùóôïõ êñßóéìïõ bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "êëåéäß %08lX: êáíÝíá õðïêëåéäß ãéá ôï ðáêÝôï áíÜêëçóçò õðïêëåéäéïý\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "êëåéäß %08lX: äåí õðÜñ÷åé õðïêëåéäß ãéá ôç äÝóìåõóç õðïêëåéäéïý\n"
@@ -6405,7 +6453,7 @@ msgstr ""
 "ðáñáëåßöèçêå `%s': áõôü åßíáé äçìéïõñãçìÝíï áðü PGP êëåéäß ElGamal êáé äåí "
 "åßíáé áóöáëÝò ãéá õðïãñáöÝò!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "åããñáöÞ trust %lu, ôýðïò %d: write áðÝôõ÷å: %s\n"
@@ -6453,17 +6501,17 @@ msgstr "
 msgid "read error in `%s': %s\n"
 msgstr "óöÜëìá áíÜãíùóçò: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync áðÝôõ÷å: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: áðïôõ÷ßá lseek: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: áðïôõ÷ßá write (n=%d): %s\n"
@@ -6472,117 +6520,117 @@ msgstr "trustdb rec %lu: 
 msgid "trustdb transaction too large\n"
 msgstr "ðïëý ìåãÜëç óõíáëëáãÞ trustdb\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "áäõíáìßá êëåéóßìáôïò ôïõ `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: ï öÜêåëïò äåí õðÜñ÷åé!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ `%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: áðïôõ÷ßá äçìéïõñãßáò ìéáò åããñáöÞò Ýêäïóçò: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: äçìéïõñãÞèçêå ìç Ýãêõñç trustdb\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: äçìéïõñãÞèçêå ç trustdb\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ç trustdb äåí åßíáé åããñÜøéìç\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: ìç Ýãêõñç trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: áäõíáìßá äçìéïõñãßáò hashtable: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: óöÜëìá óôçí åíçìÝñùóç ôçò åããñáöÞò Ýêäïóçò: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: óöÜëìá óôçí áíÜãíùóç ôçò åããñáöÞò Ýêäïóçò: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: óöÜëìá óôçí åããñáöÞ ôçò åããñáöÞò Ýêäïóçò: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: áðÝôõ÷å lseek: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read áðÝôõ÷å (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: äåí åßíáé trustdb áñ÷åßï\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: åããñáöÞ Ýêäïóçò ìå recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: ìç Ýãêõñç Ýêäïóç áñ÷åßïõ %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: óöÜëìá óôçí áíÜãíùóç ôçò åããñáöÞò free : %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: óöÜëìá óôçí åããñáöÞ ôçò åããñáöÞò dir : %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: áðïôõ÷ßá óôïí ìçäåíéóìü ìéáò åããñáöÞò: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: áðïôõ÷ßá óôçí ðñïóèÞêç ìéáò åããñáöÞò: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: äçìéïõñãÞèçêå ç trustdb\n"
@@ -6597,176 +6645,184 @@ msgstr "
 msgid "input line longer than %d characters\n"
 msgstr "ãñáììÞ åéóüäïõ ìåãáëýôåñç áðü %d ÷áñáêôÞñåò\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' äåí åßíáé Ýãêõñï ìáêñý keyID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "êëåéäß %08lX: áðïäï÷Þ óáí êëåéäß ìå åìðéóôïóýíç\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "ôï êëåéäß %08lX õðÜñ÷åé ðÜíù áðü ìéá öïñÜ óôçí trustdb\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "êëåéäß %08lX: êáíÝíá äçìüóéï êëåéäß ãéá ôï êëåéäß ìå åìðéóôïóýíç - "
 "ðáñÜëåéøç\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "óçìåßùóç êëåéäéïý óáí áðüëõôçò åìðéóôïóýíçò.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "åããñáöÞ trust %lu, req ôýðïò %d: read áðÝôõ÷å: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "ç åããñáöÞ trust %lu äåí åßíáé ôïõ æçôïýìåíïõ ôýðïõ %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[áíáêëçìÝíï]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[ëçãìÝíï]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "Üãíùóôï"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "ðïôÝ     "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "åðüìåíïò Ýëåã÷ïò ôçò trustdb èá ãßíåé óôéò %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "ôï äçìüóéï êëåéäß %08lX äåí âñÝèçêå: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "ðáñáêáëþ êÜíôå Ýíá --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "Ýëåã÷ïò ôçò trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d êëåéäéÜ åðåîåñãÜóôçêáí (%d ìåôñÞóåéò åããõñüôçôáò ðÝñáóáí)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "äå âñÝèçêáí áðüëõôá åìðéóôåýóéìá êëåéäéÜ\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "äå âñÝèçêå ôï äçìüóéï êëåéäß ôïõ áðüëõôá åìðéóôåýóéìïõ êëåéäéïý %08lX\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "åããñáöÞ trust %lu, ôýðïò %d: write áðÝôõ÷å: %s\n"
@@ -6791,77 +6847,77 @@ msgstr "
 msgid "can't open fd %d: %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò óôï `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "óöÜëìá áíÜãíùóçò áñ÷åßïõ"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "ç ãñáììÞ åßíáé ðïëý ìåãÜëç\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "ìç Ýãêõñï üñéóìá"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "ìç åðåîåñãáóìÝíï"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Ìç Ýãêõñç åíôïëÞ  (äïêéìÜóôå \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "ìç åðåîåñãáóìÝíï"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "ìç Ýãêõñåò åðéëïãÝò åéãáãùãÞò\n"
@@ -6871,22 +6927,17 @@ msgstr "
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "âñÞêáôå Ýíá bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ áñ÷åßïõ: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "èùñÜêéóç áðÝôõ÷å: %s\n"
@@ -6943,24 +6994,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -7009,208 +7061,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "áðïôõ÷ßá åðáíáäüìçóçò ôçò cache êëåéäïèÞêçò: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "äéáãñáöÞ block êëåéäéþí áðÝôõ÷å: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "keyserver áðïóôïëÞ áðÝôõ÷å: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Ðáñáêáëþ åðéëÝîôå ôçí áéôßá ãéá ôçí áíÜêëçóç:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ ìðëïê êëåéäéþí: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: óöÜëìá óôçí áíÜãíùóç ôçò åããñáöÞò free : %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' Þäç óõìðéÝóôçêå\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "äçìéïõñãßá åíüò íÝïõ æåýãïõò êëåéäéþí"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "äçìéïõñãßá åíüò íÝïõ æåýãïõò êëåéäéþí"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "äéáãñáöÞ block êëåéäéþí áðÝôõ÷å: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Ç äçìéïõñãßá êëåéäéïý áðÝôõ÷å: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s õðïãñáöÞ, áëãüñéèìïò ðåñßëçøçò %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "äå âñÝèçêáí Ýãêõñá OpenPGP äåäïìÝíá.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7219,72 +7285,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|ÁÑ×ÅÉÏ|öüñôùìá ôïõ áñèñþìáôïò åðÝêôáóçò ÁÑ×ÅÉÏ"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç ôïõ ÏÍÏÌÁôïò ùò ðñïêáèïñéóìÝíïõ ðáñáëÞðôç"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç ôïõ ÏÍÏÌÁôïò ùò ðñïêáèïñéóìÝíïõ ðáñáëÞðôç"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "ìç ÷ñÞóç ôåñìáôéêïý"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "óõãêñïõüìåíåò åíôïëÝò\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7323,11 +7393,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7359,208 +7429,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "äéáãñáöÞ block êëåéäéþí áðÝôõ÷å: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "ÓÇÌÅÉÙÓÇ: ôï êëåéäß Ý÷åé áíáêëçèåß"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "áðÝôõ÷å ï Ýëåã÷ïò ôçò õðïãñáöÞò ðïõ äçìéïõñãÞèçêå: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Áõôü ôï êëåéäß Ý÷åé ëÞîåé!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Áõôü ôï êëåéäß Ý÷åé ëÞîåé!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Áõôü ôï êëåéäß Ý÷åé ëÞîåé!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Áõôü ôï êëåéäß Ý÷åé ëÞîåé!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "        íÝåò õðïãñáöÝò: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Ðéóôïðïéçôéêü áíÜêëçóçò äçìéïõñãÞèçêå.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "êáêü ðéóôïðïéçôéêü"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "áðåéêüíéóç ôïõ fingerprint"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "äçìéïõñãßá åíüò ðéóôïðïéçôéêïý áíÜêëçóçò"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "áðÝôõ÷å ï Ýëåã÷ïò ôçò õðïãñáöÞò ðïõ äçìéïõñãÞèçêå: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "åðáëÞèåõóç ìéáò õðïãñáöÞò"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "ç ðñïåðéëïãÞ %c%lu áíôéãñÜöôçêå\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Ðéóôïðïéçôéêü áíÜêëçóçò äçìéïõñãÞèçêå.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "êáêü ðéóôïðïéçôéêü"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7626,19 +7697,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ìõóôéêÞò êëåéäïèÞêçò `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7847,7 +7918,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "ôï êëåéäß '%s' äå âñÝèçêå: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ ìðëïê êëåéäéþí: %s\n"
@@ -7984,7 +8055,7 @@ msgstr "
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç ÏÍÏÌÁôïò óáí ðñïêáèïñéóìÝíï ìõóôéêü êëåéäß"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ÄÉÁÊÏÌÉÓÔÇÓ|÷ñÞóç áõôïý ôïõ äéáêïìéóôÞ êëåéäéþí ãéá áíáæÞôçóç"
@@ -8006,8 +8077,8 @@ msgstr "
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Óýíôáîç: gpg [åðéëïãÝò] [áñ÷åßá]\n"
 "õðïãñáöÞ, Ýëåã÷ïò, êñõðôïãñÜöçóç Þ áðïêñõðôïãñÜöçóç\n"
@@ -8043,26 +8114,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = ðáñÜëåéøç áõôïý ôïõ êëåéäéïý\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "áäõíáìßá åðåîåñãáóßáò ôïõ URI ôïõ äéáêïìéóç êëåéäéþí\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "åããñáöÞ óôï  `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "áäõíáìßá êëåéóßìáôïò ôïõ `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8080,12 +8151,7 @@ msgstr "
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
@@ -8100,46 +8166,42 @@ msgstr "
 msgid "error reading input: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôçò êëåéäïèÞêçò `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "êëåéäïèÞêç `%s' äçìéïõñãÞèçêå\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? ðñüâëçìá óôïí Ýëåã÷ï áíÜêëçóçò: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
@@ -8327,149 +8389,149 @@ msgstr "
 msgid "error sending standard options: %s\n"
 msgstr "óöÜëìá óôç áðïóôïëÞ ðñïò ôï `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|÷ñÞóç ôçò êáôÜóôáóçò öñÜóçò êëåéäß N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç ÏÍÏÌÁôïò óáí ðñïêáèïñéóìÝíï ìõóôéêü êëåéäß"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|ÏÍÏÌÁ|êñõðôïãñÜöçóç ãéá ÏÍÏÌÁ"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "áäõíáìßá åðåîåñãáóßáò ôïõ URI ôïõ äéáêïìéóç êëåéäéþí\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç áëãüñéèìïõ êñõðôïãñÜöçóçò ÏÍÏÌÁ ãéá öñÜóåéò êëåéäéÜ"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8730,6 +8792,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "ÅíôïëÞ> "
 
@@ -9280,9 +9350,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "÷ñÞóç ëÜèïò ìõóôéêïý êëåéäéïý"
 
-#~ msgid "not supported"
-#~ msgstr "äåí õðïóôçñßæåôáé"
-
 #~ msgid "bad key"
 #~ msgstr "êáêü êëåéäß"
 
index 3b24cb1..3d31e48 100644 (file)
Binary files a/po/en@boldquot.gmo and b/po/en@boldquot.gmo differ
index aa7b821..0a191f9 100644 (file)
@@ -1,7 +1,7 @@
 # English translations for GNU gnupg package.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GNU gnupg package.
-# Automatically generated, 2012.
+# Automatically generated, 2014.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.0.19\n"
+"Project-Id-Version: GNU gnupg 2.0.26\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2014-08-12 20:30+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: en\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "failed to acquire the pinentry lock: %s\n"
@@ -51,21 +52,21 @@ msgstr "failed to acquire the pinentry lock: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "|pinentry-label|_Cancel"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "|pinentry-label|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Quality:"
 
@@ -75,11 +76,11 @@ msgstr "Quality:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr "pinentry.qualitybar.tooltip"
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -87,7 +88,7 @@ msgstr ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -95,95 +96,98 @@ msgstr ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (try %d of %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN too long"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Passphrase too long"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Invalid characters in PIN"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN too short"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Bad PIN"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Bad Passphrase"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Passphrase"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh keys greater than %d bits are not supported\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "can't create ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "can't open ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error getting serial number of card: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "detected card with S/N: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "error getting default authentication keyID of card: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "no suitable card key found: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "shadowing the key failed: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "error writing key: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -192,47 +196,47 @@ msgstr ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr "Allow"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr "Deny"
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Please re-enter this passphrase"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "does not match - try again"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "failed to create stream from socket: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Please insert the card with serial number"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Please remove the current card and insert the one with serial number"
 
@@ -252,8 +256,8 @@ msgstr "Reset Code"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0AUse the reader's pinpad for input."
 
 #: agent/divert-scd.c:287
 msgid "Repeat this Reset Code"
@@ -364,14 +368,14 @@ msgstr "Yes, protection is not needed"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "Please enter the passphrase to%0Aprotect your new key"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Please enter the new passphrase"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -380,113 +384,117 @@ msgstr ""
 "@Options:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "run in server mode (foreground)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "run in daemon mode (background)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "run in server mode (foreground)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "verbose"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "be somewhat more quiet"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "sh-style command output"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "csh-style command output"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|read options from FILE"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "do not detach from the console"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "do not grab keyboard and mouse"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "use a log file for the server"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "use a standard location for the socket"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|use PGM as the PIN-Entry program"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|use PGM as the SCdaemon program"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "do not use the SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignore requests to change the TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignore requests to change the X display"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|expire cached PINs after N seconds"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "do not use the PIN cache when signing"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr "allow clients to mark keys as “\e[1mtrusted\e[0m”"
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "disallow clients to mark keys as “\e[1mtrusted\e[0m”"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "allow presetting passphrase"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr "enable ssh support"
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr "enable putty support"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|FILE|write environment settings also to FILE"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Please report bugs to <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Usage: gpg-agent [options] (-h for help)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -494,154 +502,155 @@ msgstr ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "invalid debug-level ‘\e[1m%s\e[0m’ given\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s is too old (need %s, have %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTE: no default option file ‘\e[1m%s\e[0m’\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "option file ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "reading options from ‘\e[1m%s\e[0m’\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "error creating ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "can't create directory ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "name of socket too long\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "can't create socket: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "socket name ‘\e[1m%s\e[0m’ is too long\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "a gpg-agent is already running - not starting a new one\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "error getting nonce for the socket\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "error binding socket to ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() failed: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "listening on socket ‘\e[1m%s\e[0m’\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "directory ‘\e[1m%s\e[0m’ created\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() failed for ‘\e[1m%s\e[0m’: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "can't use ‘\e[1m%s\e[0m’ as home directory\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error reading nonce on fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "handler 0x%lx for fd %d started\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "ssh handler 0x%lx for fd %d started\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select failed: %s - waiting 1s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stopped\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "no gpg-agent running in this session\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "malformed GPG_AGENT_INFO environment variable\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent protocol version %d is not supported\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -649,7 +658,7 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -658,7 +667,7 @@ msgstr ""
 "@Commands:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -670,11 +679,11 @@ msgstr ""
 "Options:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Usage: gpg-protect-tool [options] (-h for help)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -682,15 +691,15 @@ msgstr ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Please enter the passphrase to unprotect the PKCS#12 object."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Please enter the passphrase to protect the new PKCS#12 object."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -698,7 +707,7 @@ msgstr ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -706,15 +715,15 @@ msgstr ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Passphrase:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "cancelled\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error while asking for the passphrase: %s\n"
@@ -833,8 +842,8 @@ msgstr "Change passphrase"
 msgid "I'll change it later"
 msgstr "I'll change it later"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error creating a pipe: %s\n"
@@ -874,12 +883,12 @@ msgstr "error running ‘\e[1m%s\e[0m’: probably not installed\n"
 msgid "error running `%s': terminated\n"
 msgstr "error running ‘\e[1m%s\e[0m’: terminated\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "error creating socket: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "host not found"
 
@@ -908,17 +917,17 @@ msgstr "canceled by user\n"
 msgid "problem with the agent\n"
 msgstr "problem with the agent\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "can't disable core dumps: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Warning: unsafe ownership on %s “\e[1m%s\e[0m”\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Warning: unsafe permissions on %s “\e[1m%s\e[0m”\n"
@@ -1133,11 +1142,11 @@ msgstr "Certificate chain valid"
 msgid "Root certificate trustworthy"
 msgstr "Root certificate trustworthy"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "no CRL found for certificate"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "the available CRL is too old"
 
@@ -1211,7 +1220,7 @@ msgstr "unexpected armor: "
 msgid "invalid dash escaped line: "
 msgstr "invalid dash escaped line: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "invalid radix64 character %02X skipped\n"
@@ -1228,7 +1237,7 @@ msgstr "premature eof (in CRC)\n"
 msgid "malformed CRC\n"
 msgstr "malformed CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC error; %06lX - %06lX\n"
@@ -1241,16 +1250,16 @@ msgstr "premature eof (in trailer)\n"
 msgid "error in trailer line\n"
 msgstr "error in trailer line\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "no valid OpenPGP data found.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "invalid armor: line longer than %d characters\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1284,7 +1293,7 @@ msgstr "WARNING: invalid notation data found\n"
 msgid "not human readable"
 msgstr "not human readable"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP card not available: %s\n"
@@ -1294,8 +1303,8 @@ msgstr "OpenPGP card not available: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP card no. %s detected\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "can't do this in batch mode\n"
 
@@ -1303,155 +1312,155 @@ msgstr "can't do this in batch mode\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "This command is only available for version 2 cards\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reset Code not or not anymore available\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Your selection? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[not set]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "male"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "female"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "unspecified"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "not forced"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "forced"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: Only plain ASCII is currently allowed.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: The “\e[1m<\e[0m” character may not be used.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: Double spaces are not allowed.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Cardholder's surname: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Cardholder's given name: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: Combined name too long (limit is %d characters).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL to retrieve public key: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Error: URL too long (limit is %d characters).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error allocating enough memory: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "error reading ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "error writing ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Login data (account name): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Error: Login data too long (limit is %d characters).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Private DO data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Error: Private DO too long (limit is %d characters).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Language preferences: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: invalid length of preference string.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: invalid characters in preference string.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Sex ((M)ale, (F)emale or space): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Error: invalid response.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA fingerprint: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: invalid formatted fingerprint.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "key operation not possible: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "not an OpenPGP card"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error getting current key info: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Replace existing key? (y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1461,55 +1470,55 @@ msgstr ""
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "What keysize do you want for the Signature key? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "What keysize do you want for the Encryption key? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "What keysize do you want for the Authentication key? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rounded up to %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s keysizes must be in the range %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "The card will now be re-configured to generate a key of %u bits\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "error changing size of key %d to %u bits: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Make off-card backup of encryption key? (Y/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "NOTE: keys are already stored on the card!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Replace existing keys? (y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1520,129 +1529,129 @@ msgstr ""
 "   PIN = ‘\e[1m%s\e[0m’     Admin PIN = ‘\e[1m%s\e[0m’\n"
 "You should change them using the command --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Please select the type of key to generate:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signature key\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Encryption key\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentication key\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Invalid selection.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Please select where to store the key:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "unknown key protection algorithm\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "secret parts of key are not available\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "secret key already stored on a card\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "error writing key to card: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "quit this menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "show admin commands"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "show this help"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "list all available data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "change card holder's name"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "change URL to retrieve key"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "fetch the key specified in the card URL"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "change the login name"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "change the language preferences"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "change card holder's sex"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "change a CA fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "toggle the signature force PIN flag"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "generate new keys"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "menu to change or unblock the PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "verify the PIN and list all data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "unblock the PIN using a Reset Code"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Admin-only command\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Admin commands are allowed\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Admin commands are not allowed\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Invalid command  (try “\e[1mhelp\e[0m”)\n"
 
@@ -1650,18 +1659,18 @@ msgstr "Invalid command  (try “\e[1mhelp\e[0m”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output doesn't work for this command\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "can't open ‘\e[1m%s\e[0m’\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "key “\e[1m%s\e[0m” not found: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1761,7 +1770,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "you may not use %s while in %s mode\n"
@@ -1771,75 +1780,75 @@ msgstr "you may not use %s while in %s mode\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s encrypted for: “\e[1m%s\e[0m”\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s encrypted data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "encrypted with unknown algorithm %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problem handling encrypted packet\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "no remote program execution supported\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "external program calls are disabled due to unsafe options file permissions\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "this platform requires temporary files when calling external programs\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "unable to execute program ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "unable to execute shell ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "system error while calling external program: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "unnatural exit of external program\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "unable to execute external program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "unable to read external program response: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "WARNING: unable to remove tempfile (%s) ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "WARNING: unable to remove temp directory ‘\e[1m%s\e[0m’: %s\n"
@@ -1931,191 +1940,191 @@ msgstr "error retrieving ‘\e[1m%s\e[0m’ via %s: %s\n"
 msgid "No fingerprint"
 msgstr "No fingerprint"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "no secret subkey for public subkey %s - ignoring\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "using subkey %s instead of primary key %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "key %s: secret key without public key - skipped\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "make a signature"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "make a clear text signature"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "make a detached signature"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "encrypt data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "encryption only with symmetric cipher"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "decrypt data (default)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verify a signature"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "list keys"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "list keys and signatures"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "list and check key signatures"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "list keys and fingerprints"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "list secret keys"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "generate a new key pair"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "generate a revocation certificate"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "remove keys from the public keyring"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "remove keys from the secret keyring"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "sign a key"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "sign a key locally"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "sign or edit a key"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "change a passphrase"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "export keys"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "export keys to a key server"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "import keys from a key server"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "search for keys on a key server"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "update all keys from a keyserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "import/merge keys"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "print the card status"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "change data on a card"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "change a card's PIN"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "update the trust database"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "print message digests"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "run in server mode"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "create ascii armored output"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|encrypt for USER-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|use USER-ID to sign or decrypt"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set compress level to N (0 disables)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "use canonical text mode"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|write output to FILE"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "do not make any changes"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "prompt before overwriting"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "use strict OpenPGP behavior"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2123,7 +2132,7 @@ msgstr ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2143,21 +2152,21 @@ msgstr ""
 " --list-keys [names]        show keys\n"
 " --fingerprint [names]      show fingerprints\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Usage: gpg [options] [files] (-h for help)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2165,71 +2174,71 @@ msgstr ""
 "\n"
 "Supported algorithms:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compression: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "usage: gpg [options] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "conflicting commands\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no = sign found in group definition ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "WARNING: unsafe ownership on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "WARNING: unsafe ownership on configuration file ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "WARNING: unsafe ownership on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "WARNING: unsafe permissions on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "WARNING: unsafe permissions on configuration file ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "WARNING: unsafe permissions on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2237,19 +2246,19 @@ msgstr ""
 "WARNING: unsafe enclosing directory ownership on configuration file ‘\e[1m%s\e"
 "[0m’\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory ownership on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2257,459 +2266,459 @@ msgstr ""
 "WARNING: unsafe enclosing directory permissions on configuration file ‘\e[1m%s\e"
 "[0m’\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "unknown configuration item ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "display photo IDs during key listings"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "show policy URLs during signature listings"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "show all notations during signature listings"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "show IETF standard notations during signature listings"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "show user-supplied notations during signature listings"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "show preferred keyserver URLs during signature listings"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "show user ID validity during key listings"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "show revoked and expired user IDs in key listings"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "show revoked and expired subkeys in key listings"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "show the keyring name in key listings"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "show expiration dates during signature listings"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTE: old default options file ‘\e[1m%s\e[0m’ ignored\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt is too old (need %s, have %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTE: %s is not for normal use!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid signature expiration\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid character set\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "could not parse keyserver URL\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: invalid keyserver options\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "invalid keyserver options\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: invalid import options\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "invalid import options\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: invalid export options\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "invalid export options\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: invalid list options\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "invalid list options\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "display photo IDs during signature verification"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "show policy URLs during signature verification"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "show all notations during signature verification"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "show IETF standard notations during signature verification"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "show user-supplied notations during signature verification"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "show preferred keyserver URLs during signature verification"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "show user ID validity during signature verification"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "show revoked and expired user IDs in signature verification"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "show only the primary user ID in signature verification"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "validate signatures with PKA data"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "elevate the trust of signatures with valid PKA data"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: invalid verify options\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "invalid verify options\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "unable to set exec-path to %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: invalid auto-key-locate list\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNING: program may create a core file!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNING: %s overrides %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s not allowed with %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s makes no sense with %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "will not run with insecure memory due to %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "you can only make detached or clear signatures while in --pgp2 mode\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "selected cipher algorithm is invalid\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "selected digest algorithm is invalid\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "selected compression algorithm is invalid\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "selected certification digest algorithm is invalid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed must be greater than 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed must be greater than 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth must be in the range from 1 to 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "invalid min-cert-level; must be 1, 2, or 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTE: simple S2K mode (0) is strongly discouraged\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "invalid S2K mode; must be 0, 1 or 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "invalid default preferences\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "invalid personal cipher preferences\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "invalid personal digest preferences\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "invalid personal compress preferences\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s does not yet work with %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "you may not use cipher algorithm ‘\e[1m%s\e[0m’ while in %s mode\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "you may not use digest algorithm ‘\e[1m%s\e[0m’ while in %s mode\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "you may not use compression algorithm ‘\e[1m%s\e[0m’ while in %s mode\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "failed to initialize the TrustDB: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "WARNING: recipients (-r) given without using public key encryption\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [filename]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [filename]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "symmetric encryption of ‘\e[1m%s\e[0m’ failed: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [filename]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [filename]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "you cannot use --symmetric --encrypt while in %s mode\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [filename]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [filename]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [filename]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [filename]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [filename]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [filename]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [commands]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <user-id>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver send failed: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver receive failed: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "key export failed: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver search failed: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver refresh failed: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "invalid hash algorithm ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[filename]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Go ahead and type your message ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "the given certification policy URL is invalid\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "the given signature policy URL is invalid\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "the given preferred keyserver URL is invalid\n"
 
@@ -2746,120 +2755,120 @@ msgstr "No help available"
 msgid "No help available for `%s'"
 msgstr "No help available for ‘\e[1m%s\e[0m’"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "import signatures that are marked as local-only"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "repair damage from the pks keyserver during import"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "do not update the trustdb after import"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "create a public key when importing a secret key"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "only accept updates to existing keys"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "remove unusable parts from key after import"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "remove as much as possible from key after import"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "skipping block of type %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu keys processed so far\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Total number processed: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      skipped new keys: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          w/o user IDs: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              imported: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             unchanged: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          new user IDs: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           new subkeys: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        new signatures: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   new key revocations: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      secret keys read: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  secret keys imported: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " secret keys unchanged: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          not imported: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    signatures cleaned: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      user IDs cleaned: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2868,347 +2877,361 @@ msgstr ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for cipher algorithm %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for digest algorithm %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for compression algorithm %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "it is strongly suggested that you update your preferences and\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "re-distribute this key to avoid potential algorithm mismatch problems\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "you can update your preferences with: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "key %s: no user ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, c-format
+msgid "key %s: %s\n"
+msgstr "key %s: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr "rejected by import filter"
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "key %s: PKS subkey corruption repaired\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "key %s: accepted non self-signed user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "key %s: no valid user IDs\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "this may be caused by a missing self-signature\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "key %s: public key not found: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "key %s: new key - skipped\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no writable keyring found: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "writing to ‘\e[1m%s\e[0m’\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "error writing keyring ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "key %s: public key “\e[1m%s\e[0m” imported\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "key %s: doesn't match our copy\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "key %s: can't locate original keyblock: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "key %s: can't read original keyblock: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new user ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new user IDs\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new signature\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new signatures\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new subkey\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new subkeys\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d signature cleaned\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d signatures cleaned\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d user ID cleaned\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d user IDs cleaned\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "key %s: “\e[1m%s\e[0m” not changed\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "key %s: secret key with invalid cipher %d - skipped\n"
+msgid "secret key %s: %s\n"
+msgstr "secret key %s: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "importing secret keys not allowed\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "key %s: secret key with invalid cipher %d - skipped\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "no default secret keyring: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "key %s: secret key imported\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "key %s: already in secret keyring\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "key %s: secret key not found: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "key %s: no public key - can't apply revocation certificate\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "key %s: invalid revocation certificate: %s - rejected\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "key %s: “\e[1m%s\e[0m” revocation certificate imported\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "key %s: no user ID for signature\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "key %s: unsupported public key algorithm on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "key %s: invalid self-signature on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "key %s: unsupported public key algorithm\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "key %s: invalid direct key signature\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "key %s: no subkey for key binding\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "key %s: invalid subkey binding\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "key %s: removed multiple subkey binding\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "key %s: no subkey for key revocation\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "key %s: invalid subkey revocation\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "key %s: removed multiple subkey revocation\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "key %s: skipped user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "key %s: skipped subkey\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "key %s: non exportable signature (class 0x%02X) - skipped\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "key %s: revocation certificate at wrong place - skipped\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "key %s: invalid revocation certificate: %s - skipped\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "key %s: subkey signature in wrong place - skipped\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "key %s: unexpected signature class (0x%02X) - skipped\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: duplicated user ID detected - merged\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNING: key %s may be revoked: fetching revocation key %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "WARNING: key %s may be revoked: revocation key %s not present.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "key %s: “\e[1m%s\e[0m” revocation certificate added\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "key %s: direct key signature added\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "NOTE: a key's S/N does not match the card's one\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "NOTE: primary key is online and stored on card\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "NOTE: secondary key is online and stored on card\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "error creating keyring ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "keyring ‘\e[1m%s\e[0m’ created\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "keyblock resource ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "failed to rebuild keyring cache: %s\n"
@@ -3299,12 +3322,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User ID “\e[1m%s\e[0m” is revoked."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Are you sure you still want to sign it? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Unable to sign.\n"
 
@@ -3491,8 +3514,8 @@ msgstr "I have checked this key very carefully.\n"
 msgid "Really sign? (y/N) "
 msgstr "Really sign? (y/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signing failed: %s\n"
@@ -3501,19 +3524,19 @@ msgstr "signing failed: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "Key has only stub or on-card key items - no passphrase to change.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "This key is not protected.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Secret parts of primary key are not available.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Secret parts of primary key are stored on-card.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Key is protected.\n"
 
@@ -3530,7 +3553,7 @@ msgstr ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "passphrase not correctly repeated; try again"
 
@@ -3702,24 +3725,24 @@ msgstr "compact unusable user IDs and remove unusable signatures from key"
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compact unusable user IDs and remove all signatures from key"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "error reading secret keyblock “\e[1m%s\e[0m”: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Secret key is available.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Need the secret key to do this.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Please use the command “\e[1mtoggle\e[0m” first.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3732,224 +3755,224 @@ msgstr ""
 "signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Key is revoked."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Really sign all user IDs? (y/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Hint: Select the user IDs to sign\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Unknown signature type ‘\e[1m%s\e[0m’\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "This command is not allowed while in %s mode.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "You must select at least one user ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "You can't delete the last user ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Really remove all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Really remove this user ID? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Really move the primary key? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "You must select exactly one key.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Command expects a filename argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Can't open ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Error reading backup key from ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "You must select at least one key.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Do you really want to delete the selected keys? (y/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Do you really want to delete this key? (y/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Really revoke all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Really revoke this user ID? (y/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Do you really want to revoke the entire key? (y/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Do you really want to revoke the selected subkeys? (y/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Do you really want to revoke this subkey? (y/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Owner trust may not be set while using a user provided trust database\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Set preference list to:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Really update the preferences for the selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Really update the preferences? (y/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Save changes? (y/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Quit without saving? (y/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "update failed: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "update secret failed: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Key not changed so no update needed.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Features: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Preferred keyserver: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Notations: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "There are no preferences on a PGP 2.x-style user ID.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "The following key was revoked on %s by %s key %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "This key may be revoked by %s key %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(sensitive)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "created: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "revoked: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "expired: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "expires: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "usage: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "trust: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "validity: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "This key has been disabled"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "card-no: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3957,17 +3980,17 @@ msgstr ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "revoked"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "expired"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -3975,7 +3998,7 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3985,74 +4008,74 @@ msgstr ""
 "versions\n"
 "         of PGP to reject this key.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Are you sure you still want to add it? (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "You may not add a photo ID to a PGP2-style key.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Delete this good signature? (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Delete this invalid signature? (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Delete this unknown signature? (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Really delete this self-signature? (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Deleted %d signature.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Deleted %d signatures.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nothing deleted.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "invalid"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID “\e[1m%s\e[0m” compacted: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "User ID “\e[1m%s\e[0m”: %d signature removed\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "User ID “\e[1m%s\e[0m”: %d signatures removed\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID “\e[1m%s\e[0m”: already minimized\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID “\e[1m%s\e[0m”: already clean\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4062,261 +4085,261 @@ msgstr ""
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "You may not add a designated revoker to a PGP 2.x-style key.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Enter the user ID of the designated revoker: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "cannot appoint a PGP 2.x style key as a designated revoker\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "you cannot appoint a key as its own designated revoker\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "this key has already been designated as a revoker\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Please remove selections from the secret keys.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Please select at most one subkey.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Changing expiration time for a subkey.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Changing expiration time for the primary key.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "You can't change the expiration date of a v3 key\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "No corresponding signature in secret ring\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signing subkey %s is already cross-certified\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "subkey %s does not sign and so does not need to be cross-certified\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Please select exactly one user ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "skipping v3 self-signature on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Enter your preferred keyserver URL: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Are you sure you want to replace it? (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Are you sure you want to delete it? (y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Enter the notation: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Proceed? (y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No user ID with index %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No user ID with hash %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No subkey with index %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: “\e[1m%s\e[0m”\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signed by your key %s on %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (non-exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "This signature expired on %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Are you sure you still want to revoke it? (y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Create a revocation certificate for this signature? (y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Not signed by you.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "You have signed these user IDs on key %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (non-revocable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revoked by your key %s on %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "You are about to revoke these signatures:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Really create the revocation certificates? (y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "no secret key\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "user ID “\e[1m%s\e[0m” is already revoked\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "WARNING: a user ID signature is dated %d seconds in the future\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Key %s is already revoked.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subkey %s is already revoked.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preference ‘\e[1m%s\e[0m’ duplicated\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "too many cipher preferences\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "too many digest preferences\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "too many compression preferences\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "invalid item ‘\e[1m%s\e[0m’ in preference string\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "writing direct signature\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "writing self signature\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "writing key binding signature\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "keysize invalid; using %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "keysize rounded up to %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certify"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Encrypt"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Authenticate"
 
@@ -4330,104 +4353,104 @@ msgstr "Authenticate"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Possible actions for a %s key: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Current allowed actions: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Toggle the sign capability\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Toggle the encrypt capability\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Toggle the authenticate capability\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Finished\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Please select what kind of key you want:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA and RSA (default)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA and Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (sign only)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (sign only)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (encrypt only)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (encrypt only)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (set your own capabilities)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (set your own capabilities)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s keys may be between %u and %u bits long.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "What keysize do you want for the subkey? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "What keysize do you want? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Requested keysize is %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4443,7 +4466,7 @@ msgstr ""
 "      <n>m = key expires in n months\n"
 "      <n>y = key expires in n years\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4459,38 +4482,38 @@ msgstr ""
 "      <n>m = signature expires in n months\n"
 "      <n>y = signature expires in n years\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Key is valid for? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Signature is valid for? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "invalid value\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Key does not expire at all\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Signature does not expire at all\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Key expires at %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signature expires at %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4498,11 +4521,11 @@ msgstr ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Is this correct? (y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4516,7 +4539,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4532,44 +4555,44 @@ msgstr ""
 "    “\e[1mHeinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\e[0m”\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Real name: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Invalid character in name\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Name may not start with a digit\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Name must be at least 5 characters long\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Email address: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Not a valid email address\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comment: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Invalid character in comment\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "You are using the ‘\e[1m%s\e[0m’ character set.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4580,11 +4603,11 @@ msgstr ""
 "    “\e[1m%s\e[0m”\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Please don't put the email address into the real name or the comment\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Such a user ID already exists on this key!\n"
 
@@ -4599,23 +4622,23 @@ msgstr "Such a user ID already exists on this key!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Please correct the error first\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4623,7 +4646,7 @@ msgstr ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4631,12 +4654,12 @@ msgstr ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4648,7 +4671,7 @@ msgstr ""
 "using this program with the option “\e[1m--edit-key\e[0m”.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4660,50 +4683,50 @@ msgstr ""
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Key generation canceled.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "writing public key to ‘\e[1m%s\e[0m’\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "writing secret key stub to ‘\e[1m%s\e[0m’\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "writing secret key to ‘\e[1m%s\e[0m’\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "no writable public keyring found: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "no writable secret keyring found: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "error writing public keyring ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "error writing secret keyring ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "public and secret key created and signed.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4711,44 +4734,44 @@ msgstr ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command “\e[1m--edit-key\e[0m” to generate a subkey for this purpose.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Key generation failed: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Really create? (y/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "storing key onto card failed: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "can't create backup file ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTE: backup of card key saved to ‘\e[1m%s\e[0m’\n"
@@ -4781,29 +4804,29 @@ msgstr "Signature notation: "
 msgid "Keyring"
 msgstr "Keyring"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Primary key fingerprint:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Subkey fingerprint:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Primary key fingerprint:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Subkey fingerprint:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      Key fingerprint ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Card serial no. ="
 
@@ -4883,452 +4906,452 @@ msgstr "honor the PKA record set on a key when retrieving keys"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "WARNING: keyserver option ‘\e[1m%s\e[0m’ is not used on this platform\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "disabled"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Enter number(s), N)ext, or Q)uit > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "invalid keyserver protocol (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "key “\e[1m%s\e[0m” not found on keyserver\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "key not found on keyserver\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "requesting key %s from %s server %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "requesting key %s from %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "searching for names from %s server %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "searching for names from %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "sending key %s to %s server %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sending key %s to %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "searching for “\e[1m%s\e[0m” from %s server %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "searching for “\e[1m%s\e[0m” from %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "no keyserver action!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "keyserver did not send VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "no keyserver known (use option --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "external keyserver calls are not supported in this build\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "no handler for keyserver scheme ‘\e[1m%s\e[0m’\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "action ‘\e[1m%s\e[0m’ not supported with keyserver scheme ‘\e[1m%s\e[0m’\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s does not support handler version %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "keyserver timed out\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "keyserver internal error\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "keyserver communications error: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“\e[1m%s\e[0m” not a key ID: skipping\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNING: unable to refresh key %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "refreshing 1 key from %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "refreshing %d keys from %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNING: unable to fetch URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "WARNING: unable to parse URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "weird size for an encrypted session key (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s encrypted session key\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passphrase generated with unknown digest algorithm %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "public key is %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "public key encrypted data: good DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "encrypted with %u-bit %s key, ID %s, created %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “\e[1m%s\e[0m”\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "encrypted with %s key, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "public key decryption failed: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "encrypted with %lu passphrases\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "encrypted with 1 passphrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "assuming %s encrypted data\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "decryption okay\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "WARNING: message was not integrity protected\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "WARNING: encrypted message has been manipulated!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "cleared passphrase cached with ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decryption failed: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTE: sender requested “\e[1mfor-your-eyes-only\e[0m”\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNING: multiple plaintexts seen\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "standalone revocation - use “\e[1mgpg --import\e[0m” to apply\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "no signature found\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "signature verification suppressed\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "can't handle this ambiguous signature data\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature made %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               using %s key %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature made %s using %s key ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Key available at: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "BAD signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Expired signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Good signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature expired %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature expires %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s signature, digest algorithm %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binary"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "textmode"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "unknown"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Can't check signature: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "not a detached signature\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "standalone signature of class 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "old style (PGP 2.x) signature\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "invalid root packet detected in proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat of ‘\e[1m%s\e[0m’ failed in %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) failed in %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "WARNING: using experimental public key algorithm %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "WARNING: using experimental cipher algorithm %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "WARNING: using experimental digest algorithm %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "WARNING: digest algorithm %s is deprecated\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "the IDEA cipher plugin is not present\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "please see %s for more information\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: deprecated option “\e[1m%s\e[0m”\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "WARNING: “\e[1m%s\e[0m” is a deprecated option\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "please use “\e[1m%s%s\e[0m” instead\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "WARNING: “\e[1m%s\e[0m” is a deprecated command - do not use it\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: obsolete option “\e[1m%s\e[0m” - it has no effect\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "WARNING: “\e[1m%s\e[0m” is an obsolete option - it has no effect\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Uncompressed"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "uncompressed|none"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "this message may not be usable by %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "ambiguous option ‘\e[1m%s\e[0m’\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "unknown option ‘\e[1m%s\e[0m’\n"
@@ -5370,16 +5393,16 @@ msgstr "new configuration file ‘\e[1m%s\e[0m’ created\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "WARNING: options in ‘\e[1m%s\e[0m’ are not yet active during this run\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "can't handle public key algorithm %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "WARNING: potentially insecure symmetrically encrypted session key\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacket of type %d has critical bit set\n"
@@ -5436,7 +5459,7 @@ msgstr "%u-bit %s key, ID %s, created %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (subkey on main key ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5450,34 +5473,34 @@ msgstr ""
 "very large picture, your key will become very large as well!\n"
 "Keeping the image close to 240x288 is a good size to use.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Enter JPEG filename for photo ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "unable to open JPEG file ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "This JPEG is really large (%d bytes) !\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Are you sure you want to use it? (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "‘\e[1m%s\e[0m’ is not a JPEG file\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Is this photo correct (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "unable to display photo ID!\n"
 
@@ -5509,6 +5532,16 @@ msgstr "reason for revocation: "
 msgid "revocation comment: "
 msgstr "revocation comment: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5686,25 +5719,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         It is not certain that the signature belongs to the owner.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: skipped: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: skipped: public key already present\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "You did not specify a user ID. (you may use “\e[1m-r\e[0m”)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Current recipients:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5712,42 +5745,42 @@ msgstr ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "No such user ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "skipped: public key already set as default recipient\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Public key is disabled.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "skipped: public key already set\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "unknown default recipient “\e[1m%s\e[0m”\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: skipped: public key is disabled\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "no valid addressees\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Note: key %s has no %s feature\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Note: key %s has no preference for %s\n"
@@ -6031,17 +6064,22 @@ msgstr "NOTE: signature key %s expired %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTE: signature key %s has been revoked\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "Note: signatures using the %s algorithm are rejected\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "assuming bad signature from key %s due to an unknown critical bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "key %s: no subkey for subkey revocation signature\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "key %s: no subkey for subkey binding signature\n"
@@ -6126,7 +6164,7 @@ msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "this is a PGP generated Elgamal key which is not secure for signatures!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "trust record %lu, type %d: write failed: %s\n"
@@ -6171,17 +6209,17 @@ msgstr "error finding trust record in ‘\e[1m%s\e[0m’: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "read error in ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync failed: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek failed: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
@@ -6190,117 +6228,117 @@ msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "trustdb transaction too large\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "can't access ‘\e[1m%s\e[0m’: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: directory does not exist!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "can't create lock for ‘\e[1m%s\e[0m’\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "can't lock ‘\e[1m%s\e[0m’\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: failed to create version record: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: invalid trustdb created\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: trustdb created\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTE: trustdb not writable\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: invalid trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: failed to create hashtable: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: error updating version record: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: error reading version record: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: error writing version record: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek failed: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: not a trustdb file\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: version record with recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: invalid file version %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: error reading free record: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: error writing dir record: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: failed to zero a record: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: failed to append a record: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Error: The trustdb is corrupted.\n"
 
@@ -6314,170 +6352,178 @@ msgstr "can't handle text lines longer than %d characters\n"
 msgid "input line longer than %d characters\n"
 msgstr "input line longer than %d characters\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid long keyID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "key %s: accepted as trusted key\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "key %s occurs more than once in the trustdb\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "key %s: no public key for trusted key - skipped\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "key %s marked as ultimately trusted\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "trust record %lu, req type %d: read failed: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "trust record %lu is not of requested type %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "You may try to re-create the trustdb using the commands:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "If that does not work, please consult the manual\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr "unable to use unknown trust model (%d) - assuming %s trust model\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "using %s trust model\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 translator see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ revoked]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[ expired]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[ unknown]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[  undef ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[marginal]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[  full  ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[ultimate]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "undefined"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "never"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginal"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "full"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "ultimate"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "no need for a trustdb check\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "next trustdb check due at %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "no need for a trustdb check with ‘\e[1m%s\e[0m’ trust model\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "no need for a trustdb update with ‘\e[1m%s\e[0m’ trust model\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "public key %s not found: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "please do a --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "checking the trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d keys processed (%d validity counts cleared)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "no ultimately trusted keys found\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "public key of ultimately trusted key %s not found\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "unable to update trustdb version record: write failed: %s\n"
@@ -6502,68 +6548,68 @@ msgstr "input line %u too long or missing LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "can't open fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "argument not expected"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "read error"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "keyword too long"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "missing argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "invalid command"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "invalid alias definition"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "out of core"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "invalid option"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "missing argument for option “\e[1m%.50s\e[0m”\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "option “\e[1m%.50s\e[0m” does not expect an argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "invalid command “\e[1m%.50s\e[0m”\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "option “\e[1m%.50s\e[0m” is ambiguous\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "command “\e[1m%.50s\e[0m” is ambiguous\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "out of core\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "invalid option “\e[1m%.50s\e[0m”\n"
@@ -6573,22 +6619,17 @@ msgstr "invalid option “\e[1m%.50s\e[0m”\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "you found a bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "error loading ‘\e[1m%s\e[0m’: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "conversion from ‘\e[1m%s\e[0m’ to ‘\e[1m%s\e[0m’ not available\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open failed: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "conversion from ‘\e[1m%s\e[0m’ to ‘\e[1m%s\e[0m’ failed: %s\n"
@@ -6646,24 +6687,24 @@ msgstr "Usage: kbxutil [options] [files] (-h for help)"
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus missing or not of size %d bits\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA public exponent missing or larger than %d bits\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN callback returned error: %s\n"
@@ -6713,200 +6754,211 @@ msgstr ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error getting new PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "failed to store the fingerprint: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "failed to store the creation date: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "reading public key failed: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "response does not contain the public key data\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "response does not contain the RSA modulus\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "response does not contain the RSA public exponent\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "using default PIN as %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "failed to use default PIN as %s: %s - disabling further default use\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Please enter the PIN%%0A[sigs done: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Please enter the PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verify CHV%d failed: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "error retrieving CHV status from card\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "card is permanently locked!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d Admin PIN attempts remaining before card is permanently locked\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Please enter the Admin PIN"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "access to admin commands is not configured\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Please enter the Reset Code for the card"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Reset Code is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|New Reset Code"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|New Admin PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|New PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Please enter the Admin PIN and New Admin PIN"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Please enter the PIN and New PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "error reading application data\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "error reading fingerprint DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "key already exists\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "existing key will be replaced\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generating new key\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "writing new key\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "creation timestamp missing\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA prime %s missing or not of size %d bits\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "failed to store the key: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "please wait while key is being generated ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "generating key failed\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "key generation completed (%d seconds)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "invalid structure of OpenPGP card (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingerprint on card does not match requested one\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "card does not support digest algorithm %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signatures created so far: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verification of Admin PIN is currently prohibited through this command\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "can't access %s - invalid OpenPGP card?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Please enter your PIN at the reader's pinpad"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6915,51 +6967,55 @@ msgstr "||Please enter your PIN at the reader's keypad"
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial New PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "run in multi server mode (foreground)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|set the debugging level to LEVEL"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|write a log to FILE"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|connect to reader at port N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAME|use NAME as ct-API driver"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|use NAME as PC/SC driver"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "do not use the internal CCID driver"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|disconnect the card after N seconds of inactivity"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr "do not use a reader's keypad"
-
 #: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
+msgstr "do not use a reader's pinpad"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "deny the use of admin card commands"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "use variable length input for pinpad"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Usage: scdaemon [options] (-h for help)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -6967,17 +7023,17 @@ msgstr ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "please use the option ‘\e[1m--daemon\e[0m’ to run the program in the background\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "handler for fd %d started\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "handler for fd %d terminated\n"
@@ -7015,11 +7071,11 @@ msgstr "can't connect to the dirmngr - trying fall back\n"
 msgid "validation model requested by certificate: %s"
 msgstr "validation model requested by certificate: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "chain"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "shell"
 
@@ -7049,193 +7105,194 @@ msgstr "note: non-critical certificate policy not allowed"
 msgid "certificate policy not allowed"
 msgstr "certificate policy not allowed"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "looking up issuer at external location\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "number of issuers matching: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "looking up issuer from the Dirmngr cache\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "number of matching certificates: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr cache-only key lookup failed: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "failed to allocate keyDB handle\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "certificate has been revoked"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "the status of the certificate is unknown"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "please make sure that the “\e[1mdirmngr\e[0m” is properly installed\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "checking the CRL failed: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "certificate with invalid validity: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "certificate not yet valid"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "root certificate not yet valid"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "intermediate certificate not yet valid"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certificate has expired"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "root certificate has expired"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "intermediate certificate has expired"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "required certificate attributes missing: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "certificate with invalid validity"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "signature not created during lifetime of certificate"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "certificate not created during lifetime of issuer"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "intermediate certificate not created during lifetime of issuer"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  signature created at "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (certificate created at "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (certificate valid from "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     issuer valid from "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "fingerprint=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "root certificate has now been marked as trusted\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "interactive marking as trusted not enabled in gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "interactive marking as trusted disabled for this session\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "WARNING: creation time of signature not known - assuming current time"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "no issuer found in certificate"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "self-signed certificate has a BAD signature"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "root certificate is not marked trusted"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "checking the trust list failed: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "certificate chain too long\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "issuer certificate not found"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "certificate has a BAD signature"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "found another possible matching CA certificate - trying again"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "certificate chain longer than allowed by CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certificate is good\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "intermediate certificate is good\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "root certificate is good\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "switching to chain model"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "validation model used: %s"
@@ -7299,20 +7356,20 @@ msgid "error getting key usage information: %s\n"
 msgstr "error getting key usage information: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
-msgstr "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
+msgstr "certificate should not have been used for certification\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
-msgstr "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
+msgstr "certificate should not have been used for OCSP response signing\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
-msgstr "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
+msgstr "certificate should not have been used for encryption\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
+msgstr "certificate should not have been used for signing\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
@@ -7512,7 +7569,7 @@ msgstr "(this does not seem to be an encrypted message)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "certificate ‘\e[1m%s\e[0m’ not found: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error locking keybox: %s\n"
@@ -7640,7 +7697,7 @@ msgstr "|FILE|add keyring to the list of keyrings"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|use USER-ID as default secret key"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|use this keyserver to lookup keys"
 
@@ -7659,12 +7716,12 @@ msgstr "Usage: gpgsm [options] [files] (-h for help)"
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 
 #: sm/gpgsm.c:617
 msgid "usage: gpgsm [options] "
@@ -7695,25 +7752,25 @@ msgstr "%s:%u: password given without user\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: skipping this line\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "could not parse keyserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "WARNING: running with faked system time: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "importing common certificates ‘\e[1m%s\e[0m’\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "can't sign using ‘\e[1m%s\e[0m’: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "invalid command (there is no implicit command)\n"
 
@@ -7730,11 +7787,7 @@ msgstr "error storing certificate\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "basic certificate checks failed - not imported\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "failed to allocate keyDB handle\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error getting stored flags: %s\n"
@@ -7749,45 +7802,41 @@ msgstr "error importing certificate: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error reading input: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "error creating keybox ‘\e[1m%s\e[0m’: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "you may want to start the gpg-agent first\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "keybox ‘\e[1m%s\e[0m’ created\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "failed to get the fingerprint\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem looking for existing certificate: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error finding writable keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error storing certificate: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem re-searching certificate: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error storing flags: %s\n"
@@ -7979,144 +8028,144 @@ msgstr "error sending %s command: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "error sending standard options: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Options controlling the diagnostic output"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Options controlling the configuration"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Options useful for debugging"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|write server mode logs to FILE"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Options controlling the security"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|expire SSH keys after N seconds"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|set maximum PIN cache lifetime to N seconds"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|set maximum SSH key lifetime to N seconds"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Options enforcing a passphrase policy"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "do not allow to bypass the passphrase policy"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|set minimal required length for new passphrases to N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|require at least N non-alpha characters for a new passphrase"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FILE|check new passphrases against pattern in FILE"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|expire the passphrase after N days"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "do not allow the reuse of old passphrases"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|use NAME as default secret key"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|encrypt to user ID NAME as well"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|set up email aliases"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Configuration for Keyservers"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|use keyserver at URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "allow PKA lookups (DNS requests)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "disable all access to the dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|use encoding NAME for PKCS#12 passphrases"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "do not check CRLs for root certificates"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Options controlling the format of the output"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Options controlling the interactivity and enforcement"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Configuration for HTTP servers"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "use system's HTTP proxy setting"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuration of LDAP servers to use"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "LDAP server list"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Configuration for OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "External verification of component %s failed"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Note that group specifications are ignored\n"
 
index cecbe0c..a100086 100644 (file)
Binary files a/po/en@quot.gmo and b/po/en@quot.gmo differ
index 5693c6e..8614b66 100644 (file)
@@ -1,7 +1,7 @@
 # English translations for GNU gnupg package.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GNU gnupg package.
-# Automatically generated, 2012.
+# Automatically generated, 2014.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.0.19\n"
+"Project-Id-Version: GNU gnupg 2.0.26\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2014-08-12 20:30+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: en\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "failed to acquire the pinentry lock: %s\n"
@@ -48,21 +49,21 @@ msgstr "failed to acquire the pinentry lock: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "|pinentry-label|_Cancel"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "|pinentry-label|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Quality:"
 
@@ -72,11 +73,11 @@ msgstr "Quality:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr "pinentry.qualitybar.tooltip"
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -84,7 +85,7 @@ msgstr ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -92,95 +93,98 @@ msgstr ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (try %d of %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN too long"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Passphrase too long"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Invalid characters in PIN"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN too short"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Bad PIN"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Bad Passphrase"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Passphrase"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh keys greater than %d bits are not supported\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "can't create ‘%s’: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "can't open ‘%s’: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error getting serial number of card: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "detected card with S/N: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "error getting default authentication keyID of card: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "no suitable card key found: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "shadowing the key failed: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "error writing key: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -189,47 +193,47 @@ msgstr ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr "Allow"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr "Deny"
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Please re-enter this passphrase"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "does not match - try again"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "failed to create stream from socket: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Please insert the card with serial number"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Please remove the current card and insert the one with serial number"
 
@@ -249,8 +253,8 @@ msgstr "Reset Code"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0AUse the reader's pinpad for input."
 
 #: agent/divert-scd.c:287
 msgid "Repeat this Reset Code"
@@ -361,14 +365,14 @@ msgstr "Yes, protection is not needed"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "Please enter the passphrase to%0Aprotect your new key"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Please enter the new passphrase"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -377,113 +381,117 @@ msgstr ""
 "@Options:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "run in server mode (foreground)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "run in daemon mode (background)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "run in server mode (foreground)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "verbose"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "be somewhat more quiet"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "sh-style command output"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "csh-style command output"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|read options from FILE"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "do not detach from the console"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "do not grab keyboard and mouse"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "use a log file for the server"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "use a standard location for the socket"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|use PGM as the PIN-Entry program"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|use PGM as the SCdaemon program"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "do not use the SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignore requests to change the TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignore requests to change the X display"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|expire cached PINs after N seconds"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "do not use the PIN cache when signing"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr "allow clients to mark keys as “trusted”"
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "disallow clients to mark keys as “trusted”"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "allow presetting passphrase"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr "enable ssh support"
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr "enable putty support"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|FILE|write environment settings also to FILE"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Please report bugs to <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Usage: gpg-agent [options] (-h for help)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -491,154 +499,155 @@ msgstr ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "invalid debug-level ‘%s’ given\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s is too old (need %s, have %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTE: no default option file ‘%s’\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "option file ‘%s’: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "reading options from ‘%s’\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "error creating ‘%s’: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "can't create directory ‘%s’: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "name of socket too long\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "can't create socket: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "socket name ‘%s’ is too long\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "a gpg-agent is already running - not starting a new one\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "error getting nonce for the socket\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "error binding socket to ‘%s’: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() failed: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "listening on socket ‘%s’\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "directory ‘%s’ created\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() failed for ‘%s’: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "can't use ‘%s’ as home directory\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error reading nonce on fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "handler 0x%lx for fd %d started\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "ssh handler 0x%lx for fd %d started\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select failed: %s - waiting 1s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stopped\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "no gpg-agent running in this session\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "malformed GPG_AGENT_INFO environment variable\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent protocol version %d is not supported\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -646,7 +655,7 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -655,7 +664,7 @@ msgstr ""
 "@Commands:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -667,11 +676,11 @@ msgstr ""
 "Options:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Usage: gpg-protect-tool [options] (-h for help)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -679,15 +688,15 @@ msgstr ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Please enter the passphrase to unprotect the PKCS#12 object."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Please enter the passphrase to protect the new PKCS#12 object."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -695,7 +704,7 @@ msgstr ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -703,15 +712,15 @@ msgstr ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Passphrase:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "cancelled\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error while asking for the passphrase: %s\n"
@@ -829,8 +838,8 @@ msgstr "Change passphrase"
 msgid "I'll change it later"
 msgstr "I'll change it later"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error creating a pipe: %s\n"
@@ -870,12 +879,12 @@ msgstr "error running ‘%s’: probably not installed\n"
 msgid "error running `%s': terminated\n"
 msgstr "error running ‘%s’: terminated\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "error creating socket: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "host not found"
 
@@ -904,17 +913,17 @@ msgstr "canceled by user\n"
 msgid "problem with the agent\n"
 msgstr "problem with the agent\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "can't disable core dumps: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Warning: unsafe ownership on %s “%s”\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Warning: unsafe permissions on %s “%s”\n"
@@ -1129,11 +1138,11 @@ msgstr "Certificate chain valid"
 msgid "Root certificate trustworthy"
 msgstr "Root certificate trustworthy"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "no CRL found for certificate"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "the available CRL is too old"
 
@@ -1207,7 +1216,7 @@ msgstr "unexpected armor: "
 msgid "invalid dash escaped line: "
 msgstr "invalid dash escaped line: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "invalid radix64 character %02X skipped\n"
@@ -1224,7 +1233,7 @@ msgstr "premature eof (in CRC)\n"
 msgid "malformed CRC\n"
 msgstr "malformed CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC error; %06lX - %06lX\n"
@@ -1237,16 +1246,16 @@ msgstr "premature eof (in trailer)\n"
 msgid "error in trailer line\n"
 msgstr "error in trailer line\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "no valid OpenPGP data found.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "invalid armor: line longer than %d characters\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1280,7 +1289,7 @@ msgstr "WARNING: invalid notation data found\n"
 msgid "not human readable"
 msgstr "not human readable"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP card not available: %s\n"
@@ -1290,8 +1299,8 @@ msgstr "OpenPGP card not available: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP card no. %s detected\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "can't do this in batch mode\n"
 
@@ -1299,155 +1308,155 @@ msgstr "can't do this in batch mode\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "This command is only available for version 2 cards\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reset Code not or not anymore available\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Your selection? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[not set]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "male"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "female"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "unspecified"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "not forced"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "forced"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: Only plain ASCII is currently allowed.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: The “<” character may not be used.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: Double spaces are not allowed.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Cardholder's surname: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Cardholder's given name: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: Combined name too long (limit is %d characters).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL to retrieve public key: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Error: URL too long (limit is %d characters).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error allocating enough memory: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "error reading ‘%s’: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "error writing ‘%s’: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Login data (account name): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Error: Login data too long (limit is %d characters).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Private DO data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Error: Private DO too long (limit is %d characters).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Language preferences: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: invalid length of preference string.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: invalid characters in preference string.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Sex ((M)ale, (F)emale or space): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Error: invalid response.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA fingerprint: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: invalid formatted fingerprint.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "key operation not possible: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "not an OpenPGP card"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error getting current key info: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Replace existing key? (y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1457,55 +1466,55 @@ msgstr ""
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "What keysize do you want for the Signature key? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "What keysize do you want for the Encryption key? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "What keysize do you want for the Authentication key? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rounded up to %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s keysizes must be in the range %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "The card will now be re-configured to generate a key of %u bits\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "error changing size of key %d to %u bits: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Make off-card backup of encryption key? (Y/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "NOTE: keys are already stored on the card!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Replace existing keys? (y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1516,129 +1525,129 @@ msgstr ""
 "   PIN = ‘%s’     Admin PIN = ‘%s’\n"
 "You should change them using the command --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Please select the type of key to generate:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signature key\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Encryption key\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentication key\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Invalid selection.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Please select where to store the key:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "unknown key protection algorithm\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "secret parts of key are not available\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "secret key already stored on a card\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "error writing key to card: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "quit this menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "show admin commands"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "show this help"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "list all available data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "change card holder's name"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "change URL to retrieve key"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "fetch the key specified in the card URL"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "change the login name"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "change the language preferences"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "change card holder's sex"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "change a CA fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "toggle the signature force PIN flag"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "generate new keys"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "menu to change or unblock the PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "verify the PIN and list all data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "unblock the PIN using a Reset Code"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Admin-only command\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Admin commands are allowed\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Admin commands are not allowed\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Invalid command  (try “help”)\n"
 
@@ -1646,18 +1655,18 @@ msgstr "Invalid command  (try “help”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output doesn't work for this command\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "can't open ‘%s’\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "key “%s” not found: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1757,7 +1766,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "you may not use %s while in %s mode\n"
@@ -1767,75 +1776,75 @@ msgstr "you may not use %s while in %s mode\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s encrypted for: “%s”\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s encrypted data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "encrypted with unknown algorithm %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problem handling encrypted packet\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "no remote program execution supported\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "external program calls are disabled due to unsafe options file permissions\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "this platform requires temporary files when calling external programs\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "unable to execute program ‘%s’: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "unable to execute shell ‘%s’: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "system error while calling external program: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "unnatural exit of external program\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "unable to execute external program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "unable to read external program response: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "WARNING: unable to remove tempfile (%s) ‘%s’: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "WARNING: unable to remove temp directory ‘%s’: %s\n"
@@ -1927,191 +1936,191 @@ msgstr "error retrieving ‘%s’ via %s: %s\n"
 msgid "No fingerprint"
 msgstr "No fingerprint"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "no secret subkey for public subkey %s - ignoring\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "using subkey %s instead of primary key %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "key %s: secret key without public key - skipped\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "make a signature"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "make a clear text signature"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "make a detached signature"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "encrypt data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "encryption only with symmetric cipher"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "decrypt data (default)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verify a signature"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "list keys"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "list keys and signatures"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "list and check key signatures"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "list keys and fingerprints"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "list secret keys"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "generate a new key pair"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "generate a revocation certificate"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "remove keys from the public keyring"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "remove keys from the secret keyring"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "sign a key"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "sign a key locally"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "sign or edit a key"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "change a passphrase"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "export keys"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "export keys to a key server"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "import keys from a key server"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "search for keys on a key server"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "update all keys from a keyserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "import/merge keys"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "print the card status"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "change data on a card"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "change a card's PIN"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "update the trust database"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "print message digests"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "run in server mode"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "create ascii armored output"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|encrypt for USER-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|use USER-ID to sign or decrypt"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set compress level to N (0 disables)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "use canonical text mode"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|write output to FILE"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "do not make any changes"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "prompt before overwriting"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "use strict OpenPGP behavior"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2119,7 +2128,7 @@ msgstr ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2139,21 +2148,21 @@ msgstr ""
 " --list-keys [names]        show keys\n"
 " --fingerprint [names]      show fingerprints\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Usage: gpg [options] [files] (-h for help)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2161,546 +2170,546 @@ msgstr ""
 "\n"
 "Supported algorithms:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compression: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "usage: gpg [options] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "conflicting commands\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no = sign found in group definition ‘%s’\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "WARNING: unsafe ownership on homedir ‘%s’\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "WARNING: unsafe ownership on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "WARNING: unsafe ownership on extension ‘%s’\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "WARNING: unsafe permissions on homedir ‘%s’\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "WARNING: unsafe permissions on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "WARNING: unsafe permissions on extension ‘%s’\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on homedir ‘%s’\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory ownership on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on extension ‘%s’\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "WARNING: unsafe enclosing directory permissions on homedir ‘%s’\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "WARNING: unsafe enclosing directory permissions on extension ‘%s’\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "unknown configuration item ‘%s’\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "display photo IDs during key listings"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "show policy URLs during signature listings"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "show all notations during signature listings"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "show IETF standard notations during signature listings"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "show user-supplied notations during signature listings"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "show preferred keyserver URLs during signature listings"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "show user ID validity during key listings"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "show revoked and expired user IDs in key listings"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "show revoked and expired subkeys in key listings"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "show the keyring name in key listings"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "show expiration dates during signature listings"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTE: old default options file ‘%s’ ignored\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt is too old (need %s, have %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTE: %s is not for normal use!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "‘%s’ is not a valid signature expiration\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "‘%s’ is not a valid character set\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "could not parse keyserver URL\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: invalid keyserver options\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "invalid keyserver options\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: invalid import options\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "invalid import options\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: invalid export options\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "invalid export options\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: invalid list options\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "invalid list options\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "display photo IDs during signature verification"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "show policy URLs during signature verification"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "show all notations during signature verification"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "show IETF standard notations during signature verification"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "show user-supplied notations during signature verification"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "show preferred keyserver URLs during signature verification"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "show user ID validity during signature verification"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "show revoked and expired user IDs in signature verification"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "show only the primary user ID in signature verification"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "validate signatures with PKA data"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "elevate the trust of signatures with valid PKA data"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: invalid verify options\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "invalid verify options\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "unable to set exec-path to %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: invalid auto-key-locate list\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNING: program may create a core file!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNING: %s overrides %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s not allowed with %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s makes no sense with %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "will not run with insecure memory due to %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "you can only make detached or clear signatures while in --pgp2 mode\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "selected cipher algorithm is invalid\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "selected digest algorithm is invalid\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "selected compression algorithm is invalid\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "selected certification digest algorithm is invalid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed must be greater than 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed must be greater than 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth must be in the range from 1 to 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "invalid min-cert-level; must be 1, 2, or 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTE: simple S2K mode (0) is strongly discouraged\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "invalid S2K mode; must be 0, 1 or 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "invalid default preferences\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "invalid personal cipher preferences\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "invalid personal digest preferences\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "invalid personal compress preferences\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s does not yet work with %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "you may not use cipher algorithm ‘%s’ while in %s mode\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "you may not use digest algorithm ‘%s’ while in %s mode\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "you may not use compression algorithm ‘%s’ while in %s mode\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "failed to initialize the TrustDB: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "WARNING: recipients (-r) given without using public key encryption\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [filename]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [filename]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "symmetric encryption of ‘%s’ failed: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [filename]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [filename]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "you cannot use --symmetric --encrypt while in %s mode\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [filename]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [filename]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [filename]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [filename]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [filename]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [filename]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [commands]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <user-id>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver send failed: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver receive failed: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "key export failed: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver search failed: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver refresh failed: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "invalid hash algorithm ‘%s’\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[filename]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Go ahead and type your message ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "the given certification policy URL is invalid\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "the given signature policy URL is invalid\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "the given preferred keyserver URL is invalid\n"
 
@@ -2737,120 +2746,120 @@ msgstr "No help available"
 msgid "No help available for `%s'"
 msgstr "No help available for ‘%s’"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "import signatures that are marked as local-only"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "repair damage from the pks keyserver during import"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "do not update the trustdb after import"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "create a public key when importing a secret key"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "only accept updates to existing keys"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "remove unusable parts from key after import"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "remove as much as possible from key after import"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "skipping block of type %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu keys processed so far\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Total number processed: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      skipped new keys: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          w/o user IDs: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              imported: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             unchanged: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          new user IDs: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           new subkeys: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        new signatures: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   new key revocations: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      secret keys read: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  secret keys imported: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " secret keys unchanged: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          not imported: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    signatures cleaned: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      user IDs cleaned: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2859,347 +2868,361 @@ msgstr ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “%s”: preference for cipher algorithm %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “%s”: preference for digest algorithm %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “%s”: preference for compression algorithm %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "it is strongly suggested that you update your preferences and\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "re-distribute this key to avoid potential algorithm mismatch problems\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "you can update your preferences with: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "key %s: no user ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, c-format
+msgid "key %s: %s\n"
+msgstr "key %s: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr "rejected by import filter"
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "key %s: PKS subkey corruption repaired\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "key %s: accepted non self-signed user ID “%s”\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "key %s: no valid user IDs\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "this may be caused by a missing self-signature\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "key %s: public key not found: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "key %s: new key - skipped\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no writable keyring found: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "writing to ‘%s’\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "error writing keyring ‘%s’: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "key %s: public key “%s” imported\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "key %s: doesn't match our copy\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "key %s: can't locate original keyblock: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "key %s: can't read original keyblock: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "key %s: “%s” 1 new user ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "key %s: “%s” %d new user IDs\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "key %s: “%s” 1 new signature\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "key %s: “%s” %d new signatures\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "key %s: “%s” 1 new subkey\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "key %s: “%s” %d new subkeys\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "key %s: “%s” %d signature cleaned\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "key %s: “%s” %d signatures cleaned\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "key %s: “%s” %d user ID cleaned\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "key %s: “%s” %d user IDs cleaned\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "key %s: “%s” not changed\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "key %s: secret key with invalid cipher %d - skipped\n"
+msgid "secret key %s: %s\n"
+msgstr "secret key %s: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "importing secret keys not allowed\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "key %s: secret key with invalid cipher %d - skipped\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "no default secret keyring: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "key %s: secret key imported\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "key %s: already in secret keyring\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "key %s: secret key not found: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "key %s: no public key - can't apply revocation certificate\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "key %s: invalid revocation certificate: %s - rejected\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "key %s: “%s” revocation certificate imported\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "key %s: no user ID for signature\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "key %s: unsupported public key algorithm on user ID “%s”\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "key %s: invalid self-signature on user ID “%s”\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "key %s: unsupported public key algorithm\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "key %s: invalid direct key signature\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "key %s: no subkey for key binding\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "key %s: invalid subkey binding\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "key %s: removed multiple subkey binding\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "key %s: no subkey for key revocation\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "key %s: invalid subkey revocation\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "key %s: removed multiple subkey revocation\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "key %s: skipped user ID “%s”\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "key %s: skipped subkey\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "key %s: non exportable signature (class 0x%02X) - skipped\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "key %s: revocation certificate at wrong place - skipped\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "key %s: invalid revocation certificate: %s - skipped\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "key %s: subkey signature in wrong place - skipped\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "key %s: unexpected signature class (0x%02X) - skipped\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: duplicated user ID detected - merged\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNING: key %s may be revoked: fetching revocation key %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "WARNING: key %s may be revoked: revocation key %s not present.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "key %s: “%s” revocation certificate added\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "key %s: direct key signature added\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "NOTE: a key's S/N does not match the card's one\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "NOTE: primary key is online and stored on card\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "NOTE: secondary key is online and stored on card\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "error creating keyring ‘%s’: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "keyring ‘%s’ created\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "keyblock resource ‘%s’: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "failed to rebuild keyring cache: %s\n"
@@ -3290,12 +3313,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User ID “%s” is revoked."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Are you sure you still want to sign it? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Unable to sign.\n"
 
@@ -3481,8 +3504,8 @@ msgstr "I have checked this key very carefully.\n"
 msgid "Really sign? (y/N) "
 msgstr "Really sign? (y/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signing failed: %s\n"
@@ -3491,19 +3514,19 @@ msgstr "signing failed: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "Key has only stub or on-card key items - no passphrase to change.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "This key is not protected.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Secret parts of primary key are not available.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Secret parts of primary key are stored on-card.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Key is protected.\n"
 
@@ -3520,7 +3543,7 @@ msgstr ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "passphrase not correctly repeated; try again"
 
@@ -3692,24 +3715,24 @@ msgstr "compact unusable user IDs and remove unusable signatures from key"
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compact unusable user IDs and remove all signatures from key"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "error reading secret keyblock “%s”: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Secret key is available.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Need the secret key to do this.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Please use the command “toggle” first.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3721,224 +3744,224 @@ msgstr ""
 "  a ‘t’ for trust signatures (tsign), an ‘nr’ for non-revocable signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Key is revoked."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Really sign all user IDs? (y/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Hint: Select the user IDs to sign\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Unknown signature type ‘%s’\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "This command is not allowed while in %s mode.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "You must select at least one user ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "You can't delete the last user ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Really remove all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Really remove this user ID? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Really move the primary key? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "You must select exactly one key.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Command expects a filename argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Can't open ‘%s’: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Error reading backup key from ‘%s’: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "You must select at least one key.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Do you really want to delete the selected keys? (y/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Do you really want to delete this key? (y/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Really revoke all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Really revoke this user ID? (y/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Do you really want to revoke the entire key? (y/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Do you really want to revoke the selected subkeys? (y/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Do you really want to revoke this subkey? (y/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Owner trust may not be set while using a user provided trust database\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Set preference list to:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Really update the preferences for the selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Really update the preferences? (y/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Save changes? (y/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Quit without saving? (y/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "update failed: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "update secret failed: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Key not changed so no update needed.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Features: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Preferred keyserver: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Notations: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "There are no preferences on a PGP 2.x-style user ID.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "The following key was revoked on %s by %s key %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "This key may be revoked by %s key %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(sensitive)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "created: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "revoked: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "expired: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "expires: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "usage: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "trust: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "validity: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "This key has been disabled"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "card-no: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3946,17 +3969,17 @@ msgstr ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "revoked"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "expired"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -3964,7 +3987,7 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3974,74 +3997,74 @@ msgstr ""
 "versions\n"
 "         of PGP to reject this key.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Are you sure you still want to add it? (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "You may not add a photo ID to a PGP2-style key.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Delete this good signature? (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Delete this invalid signature? (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Delete this unknown signature? (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Really delete this self-signature? (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Deleted %d signature.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Deleted %d signatures.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nothing deleted.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "invalid"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID “%s” compacted: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "User ID “%s”: %d signature removed\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "User ID “%s”: %d signatures removed\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID “%s”: already minimized\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID “%s”: already clean\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4051,261 +4074,261 @@ msgstr ""
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "You may not add a designated revoker to a PGP 2.x-style key.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Enter the user ID of the designated revoker: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "cannot appoint a PGP 2.x style key as a designated revoker\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "you cannot appoint a key as its own designated revoker\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "this key has already been designated as a revoker\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Please remove selections from the secret keys.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Please select at most one subkey.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Changing expiration time for a subkey.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Changing expiration time for the primary key.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "You can't change the expiration date of a v3 key\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "No corresponding signature in secret ring\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signing subkey %s is already cross-certified\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "subkey %s does not sign and so does not need to be cross-certified\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Please select exactly one user ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "skipping v3 self-signature on user ID “%s”\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Enter your preferred keyserver URL: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Are you sure you want to replace it? (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Are you sure you want to delete it? (y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Enter the notation: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Proceed? (y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No user ID with index %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No user ID with hash %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No subkey with index %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: “%s”\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signed by your key %s on %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (non-exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "This signature expired on %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Are you sure you still want to revoke it? (y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Create a revocation certificate for this signature? (y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Not signed by you.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "You have signed these user IDs on key %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (non-revocable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revoked by your key %s on %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "You are about to revoke these signatures:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Really create the revocation certificates? (y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "no secret key\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "user ID “%s” is already revoked\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "WARNING: a user ID signature is dated %d seconds in the future\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Key %s is already revoked.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subkey %s is already revoked.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preference ‘%s’ duplicated\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "too many cipher preferences\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "too many digest preferences\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "too many compression preferences\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "invalid item ‘%s’ in preference string\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "writing direct signature\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "writing self signature\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "writing key binding signature\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "keysize invalid; using %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "keysize rounded up to %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certify"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Encrypt"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Authenticate"
 
@@ -4319,104 +4342,104 @@ msgstr "Authenticate"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Possible actions for a %s key: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Current allowed actions: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Toggle the sign capability\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Toggle the encrypt capability\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Toggle the authenticate capability\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Finished\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Please select what kind of key you want:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA and RSA (default)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA and Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (sign only)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (sign only)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (encrypt only)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (encrypt only)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (set your own capabilities)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (set your own capabilities)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s keys may be between %u and %u bits long.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "What keysize do you want for the subkey? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "What keysize do you want? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Requested keysize is %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4432,7 +4455,7 @@ msgstr ""
 "      <n>m = key expires in n months\n"
 "      <n>y = key expires in n years\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4448,38 +4471,38 @@ msgstr ""
 "      <n>m = signature expires in n months\n"
 "      <n>y = signature expires in n years\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Key is valid for? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Signature is valid for? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "invalid value\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Key does not expire at all\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Signature does not expire at all\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Key expires at %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signature expires at %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4487,11 +4510,11 @@ msgstr ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Is this correct? (y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4505,7 +4528,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4521,44 +4544,44 @@ msgstr ""
 "    “Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Real name: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Invalid character in name\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Name may not start with a digit\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Name must be at least 5 characters long\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Email address: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Not a valid email address\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comment: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Invalid character in comment\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "You are using the ‘%s’ character set.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4569,11 +4592,11 @@ msgstr ""
 "    “%s”\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Please don't put the email address into the real name or the comment\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Such a user ID already exists on this key!\n"
 
@@ -4588,23 +4611,23 @@ msgstr "Such a user ID already exists on this key!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Please correct the error first\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4612,7 +4635,7 @@ msgstr ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4620,12 +4643,12 @@ msgstr ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4637,7 +4660,7 @@ msgstr ""
 "using this program with the option “--edit-key”.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4649,50 +4672,50 @@ msgstr ""
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Key generation canceled.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "writing public key to ‘%s’\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "writing secret key stub to ‘%s’\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "writing secret key to ‘%s’\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "no writable public keyring found: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "no writable secret keyring found: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "error writing public keyring ‘%s’: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "error writing secret keyring ‘%s’: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "public and secret key created and signed.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4700,44 +4723,44 @@ msgstr ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command “--edit-key” to generate a subkey for this purpose.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Key generation failed: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Really create? (y/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "storing key onto card failed: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "can't create backup file ‘%s’: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTE: backup of card key saved to ‘%s’\n"
@@ -4770,29 +4793,29 @@ msgstr "Signature notation: "
 msgid "Keyring"
 msgstr "Keyring"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Primary key fingerprint:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Subkey fingerprint:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Primary key fingerprint:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Subkey fingerprint:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      Key fingerprint ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Card serial no. ="
 
@@ -4872,452 +4895,452 @@ msgstr "honor the PKA record set on a key when retrieving keys"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "WARNING: keyserver option ‘%s’ is not used on this platform\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "disabled"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Enter number(s), N)ext, or Q)uit > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "invalid keyserver protocol (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "key “%s” not found on keyserver\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "key not found on keyserver\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "requesting key %s from %s server %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "requesting key %s from %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "searching for names from %s server %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "searching for names from %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "sending key %s to %s server %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sending key %s to %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "searching for “%s” from %s server %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "searching for “%s” from %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "no keyserver action!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "keyserver did not send VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "no keyserver known (use option --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "external keyserver calls are not supported in this build\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "no handler for keyserver scheme ‘%s’\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "action ‘%s’ not supported with keyserver scheme ‘%s’\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s does not support handler version %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "keyserver timed out\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "keyserver internal error\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "keyserver communications error: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“%s” not a key ID: skipping\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNING: unable to refresh key %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "refreshing 1 key from %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "refreshing %d keys from %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNING: unable to fetch URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "WARNING: unable to parse URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "weird size for an encrypted session key (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s encrypted session key\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passphrase generated with unknown digest algorithm %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "public key is %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "public key encrypted data: good DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "encrypted with %u-bit %s key, ID %s, created %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “%s”\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "encrypted with %s key, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "public key decryption failed: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "encrypted with %lu passphrases\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "encrypted with 1 passphrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "assuming %s encrypted data\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "decryption okay\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "WARNING: message was not integrity protected\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "WARNING: encrypted message has been manipulated!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "cleared passphrase cached with ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decryption failed: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTE: sender requested “for-your-eyes-only”\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNING: multiple plaintexts seen\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "standalone revocation - use “gpg --import” to apply\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "no signature found\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "signature verification suppressed\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "can't handle this ambiguous signature data\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature made %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               using %s key %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature made %s using %s key ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Key available at: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "BAD signature from “%s”"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Expired signature from “%s”"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Good signature from “%s”"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka “%s”"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature expired %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature expires %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s signature, digest algorithm %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binary"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "textmode"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "unknown"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Can't check signature: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "not a detached signature\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "standalone signature of class 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "old style (PGP 2.x) signature\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "invalid root packet detected in proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat of ‘%s’ failed in %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) failed in %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "WARNING: using experimental public key algorithm %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "WARNING: using experimental cipher algorithm %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "WARNING: using experimental digest algorithm %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "WARNING: digest algorithm %s is deprecated\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "the IDEA cipher plugin is not present\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "please see %s for more information\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: deprecated option “%s”\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "WARNING: “%s” is a deprecated option\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "please use “%s%s” instead\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "WARNING: “%s” is a deprecated command - do not use it\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: obsolete option “%s” - it has no effect\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "WARNING: “%s” is an obsolete option - it has no effect\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Uncompressed"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "uncompressed|none"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "this message may not be usable by %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "ambiguous option ‘%s’\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "unknown option ‘%s’\n"
@@ -5359,16 +5382,16 @@ msgstr "new configuration file ‘%s’ created\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "WARNING: options in ‘%s’ are not yet active during this run\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "can't handle public key algorithm %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "WARNING: potentially insecure symmetrically encrypted session key\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacket of type %d has critical bit set\n"
@@ -5425,7 +5448,7 @@ msgstr "%u-bit %s key, ID %s, created %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (subkey on main key ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5439,34 +5462,34 @@ msgstr ""
 "very large picture, your key will become very large as well!\n"
 "Keeping the image close to 240x288 is a good size to use.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Enter JPEG filename for photo ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "unable to open JPEG file ‘%s’: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "This JPEG is really large (%d bytes) !\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Are you sure you want to use it? (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "‘%s’ is not a JPEG file\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Is this photo correct (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "unable to display photo ID!\n"
 
@@ -5498,6 +5521,16 @@ msgstr "reason for revocation: "
 msgid "revocation comment: "
 msgstr "revocation comment: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5675,25 +5708,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         It is not certain that the signature belongs to the owner.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: skipped: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: skipped: public key already present\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "You did not specify a user ID. (you may use “-r”)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Current recipients:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5701,42 +5734,42 @@ msgstr ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "No such user ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "skipped: public key already set as default recipient\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Public key is disabled.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "skipped: public key already set\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "unknown default recipient “%s”\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: skipped: public key is disabled\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "no valid addressees\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Note: key %s has no %s feature\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Note: key %s has no preference for %s\n"
@@ -6020,17 +6053,22 @@ msgstr "NOTE: signature key %s expired %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTE: signature key %s has been revoked\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "Note: signatures using the %s algorithm are rejected\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "assuming bad signature from key %s due to an unknown critical bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "key %s: no subkey for subkey revocation signature\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "key %s: no subkey for subkey binding signature\n"
@@ -6115,7 +6153,7 @@ msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "this is a PGP generated Elgamal key which is not secure for signatures!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "trust record %lu, type %d: write failed: %s\n"
@@ -6160,17 +6198,17 @@ msgstr "error finding trust record in ‘%s’: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "read error in ‘%s’: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync failed: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek failed: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
@@ -6179,117 +6217,117 @@ msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "trustdb transaction too large\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "can't access ‘%s’: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: directory does not exist!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "can't create lock for ‘%s’\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "can't lock ‘%s’\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: failed to create version record: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: invalid trustdb created\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: trustdb created\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTE: trustdb not writable\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: invalid trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: failed to create hashtable: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: error updating version record: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: error reading version record: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: error writing version record: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek failed: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: not a trustdb file\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: version record with recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: invalid file version %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: error reading free record: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: error writing dir record: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: failed to zero a record: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: failed to append a record: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Error: The trustdb is corrupted.\n"
 
@@ -6303,170 +6341,178 @@ msgstr "can't handle text lines longer than %d characters\n"
 msgid "input line longer than %d characters\n"
 msgstr "input line longer than %d characters\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "‘%s’ is not a valid long keyID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "key %s: accepted as trusted key\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "key %s occurs more than once in the trustdb\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "key %s: no public key for trusted key - skipped\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "key %s marked as ultimately trusted\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "trust record %lu, req type %d: read failed: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "trust record %lu is not of requested type %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "You may try to re-create the trustdb using the commands:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "If that does not work, please consult the manual\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr "unable to use unknown trust model (%d) - assuming %s trust model\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "using %s trust model\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 translator see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ revoked]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[ expired]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[ unknown]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[  undef ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[marginal]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[  full  ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[ultimate]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "undefined"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "never"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginal"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "full"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "ultimate"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "no need for a trustdb check\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "next trustdb check due at %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "no need for a trustdb check with ‘%s’ trust model\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "no need for a trustdb update with ‘%s’ trust model\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "public key %s not found: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "please do a --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "checking the trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d keys processed (%d validity counts cleared)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "no ultimately trusted keys found\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "public key of ultimately trusted key %s not found\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "unable to update trustdb version record: write failed: %s\n"
@@ -6491,68 +6537,68 @@ msgstr "input line %u too long or missing LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "can't open fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "argument not expected"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "read error"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "keyword too long"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "missing argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "invalid command"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "invalid alias definition"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "out of core"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "invalid option"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "missing argument for option “%.50s”\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "option “%.50s” does not expect an argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "invalid command “%.50s”\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "option “%.50s” is ambiguous\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "command “%.50s” is ambiguous\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "out of core\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "invalid option “%.50s”\n"
@@ -6562,22 +6608,17 @@ msgstr "invalid option “%.50s”\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "you found a bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "error loading ‘%s’: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "conversion from ‘%s’ to ‘%s’ not available\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open failed: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "conversion from ‘%s’ to ‘%s’ failed: %s\n"
@@ -6635,24 +6676,24 @@ msgstr "Usage: kbxutil [options] [files] (-h for help)"
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus missing or not of size %d bits\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA public exponent missing or larger than %d bits\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN callback returned error: %s\n"
@@ -6702,200 +6743,211 @@ msgstr ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error getting new PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "failed to store the fingerprint: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "failed to store the creation date: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "reading public key failed: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "response does not contain the public key data\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "response does not contain the RSA modulus\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "response does not contain the RSA public exponent\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "using default PIN as %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "failed to use default PIN as %s: %s - disabling further default use\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Please enter the PIN%%0A[sigs done: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Please enter the PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verify CHV%d failed: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "error retrieving CHV status from card\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "card is permanently locked!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d Admin PIN attempts remaining before card is permanently locked\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Please enter the Admin PIN"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "access to admin commands is not configured\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Please enter the Reset Code for the card"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Reset Code is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|New Reset Code"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|New Admin PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|New PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Please enter the Admin PIN and New Admin PIN"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Please enter the PIN and New PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "error reading application data\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "error reading fingerprint DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "key already exists\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "existing key will be replaced\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generating new key\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "writing new key\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "creation timestamp missing\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA prime %s missing or not of size %d bits\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "failed to store the key: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "please wait while key is being generated ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "generating key failed\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "key generation completed (%d seconds)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "invalid structure of OpenPGP card (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingerprint on card does not match requested one\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "card does not support digest algorithm %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signatures created so far: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verification of Admin PIN is currently prohibited through this command\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "can't access %s - invalid OpenPGP card?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Please enter your PIN at the reader's pinpad"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6904,51 +6956,55 @@ msgstr "||Please enter your PIN at the reader's keypad"
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial New PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "run in multi server mode (foreground)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|set the debugging level to LEVEL"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|write a log to FILE"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|connect to reader at port N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAME|use NAME as ct-API driver"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|use NAME as PC/SC driver"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "do not use the internal CCID driver"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|disconnect the card after N seconds of inactivity"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr "do not use a reader's keypad"
-
 #: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
+msgstr "do not use a reader's pinpad"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "deny the use of admin card commands"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "use variable length input for pinpad"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Usage: scdaemon [options] (-h for help)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -6956,17 +7012,17 @@ msgstr ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "please use the option ‘--daemon’ to run the program in the background\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "handler for fd %d started\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "handler for fd %d terminated\n"
@@ -7004,11 +7060,11 @@ msgstr "can't connect to the dirmngr - trying fall back\n"
 msgid "validation model requested by certificate: %s"
 msgstr "validation model requested by certificate: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "chain"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "shell"
 
@@ -7038,193 +7094,194 @@ msgstr "note: non-critical certificate policy not allowed"
 msgid "certificate policy not allowed"
 msgstr "certificate policy not allowed"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "looking up issuer at external location\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "number of issuers matching: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "looking up issuer from the Dirmngr cache\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "number of matching certificates: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr cache-only key lookup failed: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "failed to allocate keyDB handle\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "certificate has been revoked"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "the status of the certificate is unknown"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "please make sure that the “dirmngr” is properly installed\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "checking the CRL failed: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "certificate with invalid validity: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "certificate not yet valid"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "root certificate not yet valid"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "intermediate certificate not yet valid"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certificate has expired"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "root certificate has expired"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "intermediate certificate has expired"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "required certificate attributes missing: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "certificate with invalid validity"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "signature not created during lifetime of certificate"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "certificate not created during lifetime of issuer"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "intermediate certificate not created during lifetime of issuer"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  signature created at "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (certificate created at "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (certificate valid from "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     issuer valid from "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "fingerprint=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "root certificate has now been marked as trusted\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "interactive marking as trusted not enabled in gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "interactive marking as trusted disabled for this session\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "WARNING: creation time of signature not known - assuming current time"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "no issuer found in certificate"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "self-signed certificate has a BAD signature"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "root certificate is not marked trusted"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "checking the trust list failed: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "certificate chain too long\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "issuer certificate not found"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "certificate has a BAD signature"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "found another possible matching CA certificate - trying again"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "certificate chain longer than allowed by CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certificate is good\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "intermediate certificate is good\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "root certificate is good\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "switching to chain model"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "validation model used: %s"
@@ -7288,20 +7345,20 @@ msgid "error getting key usage information: %s\n"
 msgstr "error getting key usage information: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
-msgstr "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
+msgstr "certificate should not have been used for certification\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
-msgstr "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
+msgstr "certificate should not have been used for OCSP response signing\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
-msgstr "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
+msgstr "certificate should not have been used for encryption\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
+msgstr "certificate should not have been used for signing\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
@@ -7501,7 +7558,7 @@ msgstr "(this does not seem to be an encrypted message)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "certificate ‘%s’ not found: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error locking keybox: %s\n"
@@ -7629,7 +7686,7 @@ msgstr "|FILE|add keyring to the list of keyrings"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|use USER-ID as default secret key"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|use this keyserver to lookup keys"
 
@@ -7648,12 +7705,12 @@ msgstr "Usage: gpgsm [options] [files] (-h for help)"
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 
 #: sm/gpgsm.c:617
 msgid "usage: gpgsm [options] "
@@ -7684,25 +7741,25 @@ msgstr "%s:%u: password given without user\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: skipping this line\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "could not parse keyserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "WARNING: running with faked system time: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "importing common certificates ‘%s’\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "can't sign using ‘%s’: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "invalid command (there is no implicit command)\n"
 
@@ -7719,11 +7776,7 @@ msgstr "error storing certificate\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "basic certificate checks failed - not imported\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "failed to allocate keyDB handle\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error getting stored flags: %s\n"
@@ -7738,45 +7791,41 @@ msgstr "error importing certificate: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error reading input: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "error creating keybox ‘%s’: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "you may want to start the gpg-agent first\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "keybox ‘%s’ created\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "failed to get the fingerprint\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem looking for existing certificate: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error finding writable keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error storing certificate: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem re-searching certificate: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error storing flags: %s\n"
@@ -7968,144 +8017,144 @@ msgstr "error sending %s command: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "error sending standard options: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Options controlling the diagnostic output"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Options controlling the configuration"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Options useful for debugging"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|write server mode logs to FILE"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Options controlling the security"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|expire SSH keys after N seconds"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|set maximum PIN cache lifetime to N seconds"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|set maximum SSH key lifetime to N seconds"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Options enforcing a passphrase policy"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "do not allow to bypass the passphrase policy"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|set minimal required length for new passphrases to N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|require at least N non-alpha characters for a new passphrase"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FILE|check new passphrases against pattern in FILE"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|expire the passphrase after N days"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "do not allow the reuse of old passphrases"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|use NAME as default secret key"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|encrypt to user ID NAME as well"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|set up email aliases"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Configuration for Keyservers"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|use keyserver at URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "allow PKA lookups (DNS requests)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "disable all access to the dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|use encoding NAME for PKCS#12 passphrases"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "do not check CRLs for root certificates"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Options controlling the format of the output"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Options controlling the interactivity and enforcement"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Configuration for HTTP servers"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "use system's HTTP proxy setting"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuration of LDAP servers to use"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "LDAP server list"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Configuration for OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "External verification of component %s failed"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Note that group specifications are ignored\n"
 
index 1cdfa82..2c22b4a 100644 (file)
Binary files a/po/eo.gmo and b/po/eo.gmo differ
index b48a3f3..8998917 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,15 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.0.6d\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2002-04-14 14:33+0100\n"
 "Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
+"Language: eo\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-3\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
@@ -26,21 +27,21 @@ msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -50,164 +51,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "pasfrazo estas tro longa\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "pasfrazo estas tro longa\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Nevalida signo en nomo\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "malbona MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "malbona pasfrazo"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "malbona pasfrazo"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "protekto-metodo %d%s ne estas realigita\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "ne povas krei '%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "ne povas malfermi '%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "eraro dum skribado de sekreta þlosilaro '%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "neniu skribebla sekreta þlosilaro trovita: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "forviþo de þlosilbloko malsukcesis: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "eraro dum skribado de þlosilaro '%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "þanøi la pasfrazon"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: malsukcesis krei haktabelon: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -228,7 +232,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -335,7 +339,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Vi bezonas pasfrazon por protekti vian sekretan þlosilon.\n"
 "\n"
@@ -345,7 +349,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "þanøi la pasfrazon"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -356,283 +360,292 @@ msgstr ""
 "Opcioj:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "detala eligo"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "iom malpli da informoj"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "seræi þlosilojn æe þlosilservilo"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Æu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "aktualigi la fido-datenaron"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "ne realigita"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "ne realigita"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Bonvolu raporti cimojn al <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTO: mankas implicita opcio-dosiero '%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "opcio-dosiero '%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "legas opciojn el '%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "ne povas krei %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, fuzzy, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "Valida atestilrevoko"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ne estas disponata en æi tiu sesio\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: dosierujo kreita\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "aktualigo de sekreto malsukcesis: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu þlosiloj ignoritaj\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent ne estas disponata en æi tiu sesio\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "malbona valoro de la media variablo GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "protokolversio %d de gpg-agent ne estas uzebla\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -641,7 +654,7 @@ msgstr ""
 "@Komandoj:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -653,51 +666,51 @@ msgstr ""
 "Opcioj:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "malbona pasfrazo"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "nuligita de uzanto\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -812,8 +825,8 @@ msgstr "
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -853,12 +866,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "%s: uzanto ne trovita\n"
@@ -891,17 +904,17 @@ msgstr "nuligita de uzanto\n"
 msgid "problem with the agent\n"
 msgstr "problemo kun agento: agento redonas 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "ne povas malþalti kreadon de core-dosieroj: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
@@ -1141,12 +1154,12 @@ msgstr ""
 "Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
 "\n"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "Bona atestilo"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Nenia helpo disponata"
@@ -1228,7 +1241,7 @@ msgstr "neatendita kiraso:"
 msgid "invalid dash escaped line: "
 msgstr "nevalida strek-eskapita linio: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "nevalida signo %02x en bazo 64 ignorita\n"
@@ -1245,7 +1258,7 @@ msgstr "tro frua dosierfino (en CRC)\n"
 msgid "malformed CRC\n"
 msgstr "misformita CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC-eraro; %06lx - %06lx\n"
@@ -1259,16 +1272,16 @@ msgstr "tro frua dosierfino (en vosto)\n"
 msgid "error in trailer line\n"
 msgstr "eraro en vostolinio\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "nevalida kiraso: linio pli longa ol %d signojn\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1306,7 +1319,7 @@ msgstr "AVERTO: nevalida notacia dateno trovita\n"
 msgid "not human readable"
 msgstr "ne homlegebla"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "sekreta þlosilo ne havebla"
@@ -1316,8 +1329,8 @@ msgstr "sekreta 
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "ne povas fari tion en neinteraga reøimo\n"
@@ -1327,224 +1340,224 @@ msgstr "ne povas fari tion en neinteraga re
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "sekretaj þlosilpartoj ne estas disponataj\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Via elekto? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "en"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "en"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Nenia kialo specifita"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "ne traktita"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "skribas publikan þlosilon al '%s'\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "eraro dum kreado de þlosilaro '%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "eraro dum skribado de þlosilaro '%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "aktualigitaj preferoj"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "nevalida signo en signoæeno\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "nevalida signo en signoæeno\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Fingrospuro:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "eraro dum skribado de sekreta þlosilaro '%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Kiun þlosilgrandon vi deziras? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Kiun þlosilgrandon vi deziras? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Kiun þlosilgrandon vi deziras? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rondigita øis %u bitoj\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ignorita: sekreta þlosilo jam æeestas\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1552,145 +1565,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Bonvolu elekti, kian þlosilon vi deziras:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (nur æifri)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Nevalida elekto.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Kialo por revoko: "
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "nekonata densig-metodo"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Sekretaj partoj de æefa þlosilo ne estas disponataj.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "ignorita: sekreta þlosilo jam æeestas\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "eraro dum skribado de þlosilaro '%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "forlasi æi tiun menuon"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "montri æi tiun helpon"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Nenia helpo disponata"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "þanøi la daton de eksvalidiøo"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "þanøi la posedantofidon"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "montri fingrospuron"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "krei novan þlosilparon"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Nevalida komando (provu per \"helpo\")\n"
 
@@ -1698,18 +1711,18 @@ msgstr "Nevalida komando (provu per \"helpo\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output ne funkcias por æi tiu komando\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "ne povas malfermi '%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "þlosilo '%s' ne trovita: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1808,7 +1821,7 @@ msgstr "NOTO: 
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, fuzzy, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
@@ -1818,74 +1831,74 @@ msgstr "Tiu komando ne eblas en la re
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s-æifrita por: %s\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s-æifritaj datenoj\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "æifrita per nekonata metodo %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "AVERTO: mesaøo estis æifrita per malforta þlosilo en la simetria æifro.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problemo æe traktado de æifrita paketo\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "%s: eraro dum legado de versiregistro: %s\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "ne povas malfermi %s: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, fuzzy, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "%s: eraro dum legado de versiregistro: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, fuzzy, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
@@ -1985,200 +1998,200 @@ msgstr "eraro dum kreado de '%s': %s\n"
 msgid "No fingerprint"
 msgstr "Fingrospuro:"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Nevalida þlosilo %08lX validigita per --always-trust\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "estas sekreta þlosilo por la publika þlosilo \"%s\"!\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "uzas flankan þlosilon %08lX anstataý la æefa þlosilo %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "þlosilo %08lX: sekreta þlosilo sen publika þlosilo - ignorita\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "fari apartan subskribon"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[dosiero]|fari klartekstan subskribon"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "fari apartan subskribon"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "æifri datenojn"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "æifri nur kun simetria æifro"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "malæifri datenojn (implicita elekto)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "kontroli subskribon"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "listigi þlosilojn"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "listigi þlosilojn kaj subskribojn"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kontroli þlosilsubskribojn"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "listigi þlosilojn kaj fingroþpurojn"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "listigi sekretajn þlosilojn"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "krei novan þlosilparon"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "krei revokatestilon"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "forigi þlosilojn de la publika þlosilaro"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "forigi þlosilojn de la sekreta þlosilaro"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "subskribi þlosilon"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "subskribi þlosilon loke"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "subskribi aý redakti þlosilon"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "þanøi la pasfrazon"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "eksporti þlosilojn"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "eksporti þlosilojn al þlosilservilo"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importi þlosilojn de þlosilservilo"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "seræi þlosilojn æe þlosilservilo"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "aktualigi æiujn þlosilojn de þlosilservilo"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importi/kunfandi þlosilojn"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "aktualigi la fido-datenaron"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|metodo [dosieroj]|presi mesaøo-kompendiojn"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "krei eligon en askia kiraso"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOMO|æifri por NOMO"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "uzi æi tiun uzantidentigilon por subskribi aý malæifri"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|difini densig-nivelon N (0=nenia)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "uzi tekstan reøimon"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "fari neniajn þanøojn"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr ""
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2186,7 +2199,7 @@ msgstr ""
 "@\n"
 "(Vidu la manpaøon por kompleta listo de æiuj komandoj kaj opcioj)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2206,21 +2219,26 @@ msgstr ""
 " --list-keys [nomoj]        montri þlosilojn\n"
 " --fingerprint [nomoj]      montri fingroþpurojn\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintakso: gpg [opcioj] [dosieroj]\n"
 "subskribi, kontroli, æifri aý malæifri\n"
 "implicita operacio dependas de la enigataj datenoj\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2228,570 +2246,570 @@ msgstr ""
 "\n"
 "Realigitaj metodoj:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 #, fuzzy
 msgid "Compression: "
 msgstr "Komento: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uzado: gpg [opcioj] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "%s: nova opcio-dosiero kreita\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Mankas responda subskribo en sekreta þlosilaro\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "montri, en kiu þlosilaro estas listigita þlosilo"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Mankas responda subskribo en sekreta þlosilaro\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, fuzzy, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTO: mankas implicita opcio-dosiero '%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTO: %s ne estas por normala uzado!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "ne povis analizi URI de þlosilservilo\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "nevalida þlosilaro"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, fuzzy, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 #, fuzzy
 msgid "invalid import options\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, fuzzy, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 #, fuzzy
 msgid "invalid export options\n"
 msgstr "nevalida þlosilaro"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "nevalida þlosilaro"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVERTO: programo povas krei core-dosieron!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVERTO: %s nuligas %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ne eblas kun %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ne havas sencon kun %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "eblas fari nur apartajn kaj klartekstajn subskribojn kun --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "ne eblas samtempe subskribi kaj æifri kun --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "necesas uzi dosierojn (kaj ne tubon) kun --pgp2\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "æifri mesaøon kun --pgp2 postulas la æifron IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "elektita æifrad-metodo ne validas\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "elektita kompendi-metodo ne validas\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "elektita æifrad-metodo ne validas\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 #, fuzzy
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "elektita kompendi-metodo ne validas\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed devas esti pli granda ol 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed devas esti pli granda ol 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth devas esti inter 1 kaj 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 #, fuzzy
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nevalida default-check-level; devas esti 0, 1, 2 aý 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 #, fuzzy
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nevalida default-check-level; devas esti 0, 1, 2 aý 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTO: simpla S2K-reøimo (0) estas forte malrekomendata\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "nevalida S2K-reøimo; devas esti 0, 1 aý 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 #, fuzzy
 msgid "invalid default preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 #, fuzzy
 msgid "invalid personal cipher preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 #, fuzzy
 msgid "invalid personal digest preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 #, fuzzy
 msgid "invalid personal compress preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ne havas sencon kun %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [dosiero]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [dosiero]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "malæifrado malsukcesis: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [dosiero]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [dosiero]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [dosiero]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [dosiero]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [dosiero]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [dosiero]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [dosiero]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [dosiero]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key uzantidentigilo"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key uzantidentigilo"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key uzantidentigilo [komandoj]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key uzantidentigilo"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "listigo de sekretaj þlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "get_dir_record: search_record malsukcesis: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, fuzzy, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "listigo de sekretaj þlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "elkirasigo malsukcesis: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "nevalida kompendi-metodo '%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[dosiero]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Ektajpu vian mesaøon ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "la donita gvidlinia URL por atestado ne validas\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
@@ -2830,472 +2848,486 @@ msgstr "Nenia helpo disponata"
 msgid "No help available for `%s'"
 msgstr "Nenia helpo disponata por '%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "aktualigi la fido-datenaron"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "neuzebla sekreta þlosilo"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ignoras blokon de speco %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu þlosiloj jam traktitaj\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "      Nombro traktita entute: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "    ignoritaj novaj þlosiloj: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         sen uzantidentigilo: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                  importitaj: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  neþanøitaj: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      novaj uzantidentigiloj: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           novaj subþlosiloj: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "            novaj subskriboj: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "         novaj þlosilrevokoj: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   sekretaj þlosiloj legitaj: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "sekretaj þlosiloj importitaj: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "sekretaj þlosiloj neþanøitaj: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, fuzzy, c-format
 msgid "          not imported: %lu\n"
 msgstr "                  importitaj: %lu"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "            novaj subskriboj: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "   sekretaj þlosiloj legitaj: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "þlosilo %08lX: mankas uzantidentigilo\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "ignoris '%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "þlosilo %08lX: mankas subþlosilo por þlosilbindado\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "þlosilo %08lX: akceptis ne-mem-subskribitan uzantidentigilon '"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "þlosilo %08lX: mankas valida uzantidentigilo\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "tio povas esti kaýzata de mankanta mem-subskribo\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "þlosilo %08lX: publika þlosilo ne trovita: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "þlosilo %08lX: nova þlosilo - ignorita\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "neniu skribebla þlosilaro trovita: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "skribas al '%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "eraro dum skribado de þlosilaro '%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "þlosilo %08lX: publika þlosilo importita\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "þlosilo %08lX: diferencas de nia kopio\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "þlosilo %08lX: ne povas trovi originalan þlosilblokon: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "þlosilo %08lX: ne povas legi originalan þlosilblokon: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "þlosilo %08lX: 1 nova uzantidentigilo\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "þlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "þlosilo %08lX: 1 nova subskribo\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "þlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "þlosilo %08lX: 1 nova subþlosilo\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "þlosilo %08lX: %d novaj subþlosiloj\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "þlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "þlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "þlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "þlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "þlosilo %08lX: ne þanøita\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "þlosilo %08lX: sekreta þlosilo sen publika þlosilo - ignorita\n"
+msgid "secret key %s: %s\n"
+msgstr "þlosilo '%s' ne trovita: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "þlosilo %08lX: sekreta þlosilo sen publika þlosilo - ignorita\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "mankas implicita sekreta þlosilaro: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "þlosilo %08lX: sekreta þlosilo importita\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "þlosilo %08lX: jam en sekreta þlosilaro\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "þlosilo %08lX: sekreta þlosilo ne trovita: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "þlosilo %08lX: publika þlosilo mankas - ne povas apliki revokatestilon\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "þlosilo %08lX: nevalida revokatestilo: %s - malakceptita\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "þlosilo %08lX: revokatestilo importita\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "þlosilo %08lX: mankas uzantidentigilo por subskribo\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "þlosilo %08lX: nerealigita publikþlosila metodo\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "þlosilo %08lX: nevalida mem-subskribo\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "þlosilo %08lX: nerealigita publikþlosila metodo\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "þlosilo %08lX: rekta þlosilsubskribo aldonita\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "þlosilo %08lX: mankas subþlosilo por þlosilbindado\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "þlosilo %08lX: nevalida subþlosila bindado\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "þlosilo %08lX: nevalida subþlosila bindado\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "þlosilo %08lX: mankas subþlosilo por þlosilbindado\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "þlosilo %08lX.%lu: Valida subþlosilrevoko\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "þlosilo %08lX: nevalida subþlosila bindado\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "þlosilo %08lX: ignoris uzantidentigilon '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "þlosilo %08lX: ignoris subþlosilon\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "þlosilo %08lX: neeksportebla subskribo (klaso %02x) - ignorita\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "þlosilo %08lX: revokatestilo en maløusta loko - ignorita\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "þlosilo %08lX: nevalida revokatestilo: %s - ignorita\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "þlosilo %08lX: revokatestilo en maløusta loko - ignorita\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "þlosilo %08lX: neeksportebla subskribo (klaso %02x) - ignorita\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "þlosilo %08lX: trovis ripetitan uzantidentigilon - kunfandita\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "AVERTO: Æi tiu þlosilo estas revokita de sia posedanto!\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "AVERTO: Æi tiu þlosilo estas revokita de sia posedanto!\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "þlosilo %08lX: revokatestilo aldonita\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "þlosilo %08lX: rekta þlosilsubskribo aldonita\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ignorita: sekreta þlosilo jam æeestas\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ignorita: sekreta þlosilo jam æeestas\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "eraro dum kreado de þlosilaro '%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "þlosilaro '%s' kreita\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "malsukcesis rekonstrui þlosilaran staplon: %s\n"
@@ -3384,13 +3416,13 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 #, fuzzy
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas subskribi øin?\n"
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -3617,8 +3649,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Æu vere subskribi? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "subskribado malsukcesis: %s\n"
@@ -3627,20 +3659,20 @@ msgstr "subskribado malsukcesis: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Æi tiu þlosilo ne estas protektita.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Sekretaj partoj de æefa þlosilo ne estas disponataj.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Sekretaj partoj de æefa þlosilo ne estas disponataj.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Þlosilo estas protektita.\n"
 
@@ -3657,7 +3689,7 @@ msgstr ""
 "Donu la novan pasfrazon por æi tiu sekreta þlosilo.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "la pasfrazo ne estis øuste ripetita; provu denove"
 
@@ -3852,24 +3884,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "eraro dum legado de sekreta þlosilbloko '%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Sekreta þlosilo estas havebla.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Bezonas la sekretan þlosilon por fari tion.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Bonvolu uzi la komandon \"toggle\" unue.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3877,267 +3909,267 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 #, fuzzy
 msgid "Key is revoked."
 msgstr "Þlosilo estas revokita.\n"
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Æu vere subskribi æiujn uzantidentigilojn? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugesto: Elekti la uzantidentigilojn por subskribi\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "nekonata klaso de subskribo"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tiu komando ne eblas en la reøimo %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Vi devas elekti almenaý unu uzantidentigilon.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Vi ne povas forviþi la lastan uzantidentigilon!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Æu vere forigi æiujn elektitajn uzantidentigilojn? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Æu vere forigi æi tiun uzantidentigilon? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Æu vere forigi æi tiun uzantidentigilon? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Vi devas elekti almenaý unu þlosilon.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "ne povas malfermi '%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "eraro dum kreado de þlosilaro '%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Vi devas elekti almenaý unu þlosilon.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Æu vi vere volas forviþi la elektitajn þlosilojn? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Æu vi vere volas forviþi æi tiun þlosilon? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Æu vere forigi æiujn elektitajn uzantidentigilojn? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Æu vere forigi æi tiun uzantidentigilon? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Æu vi vere volas revoki æi tiun þlosilon? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Æu vi vere volas revoki la elektitajn þlosilojn? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Æu vi vere volas revoki æi tiun þlosilon? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "agordi liston de preferoj"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Æu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Æu vere aktualigi la preferojn? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Æu skribi þanøojn? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Æu fini sen skribi þanøojn? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "aktualigo de sekreto malsukcesis: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Þlosilo ne þanøita, do aktualigo ne necesas.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notacio: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Æi tiu þlosilo estas revokebla per %s þlosilo %s%s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Æi tiu þlosilo estas revokebla per %s þlosilo %s%s\n"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sentema)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "ne povas krei %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "rev"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [eksvalidiøos: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [eksvalidiøos: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " fido: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " fido: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Æi tiu þlosilo estas malþaltita"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "rev"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "eksval"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4146,75 +4178,75 @@ msgstr ""
 "AVERTO: Æi tiu estas PGP2-stila þlosilo. Aldono de foto-identigilo eble\n"
 "        kaýzos, ke iuj versioj de PGP malakceptos la þlosilon.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 #, fuzzy
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas aldoni øin? (j/n) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Ne eblas aldoni foto-identigilon al PGP2-stila þlosilo.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Æu forviþi æi tiun bonan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Æu forviþi æi tiun nevalidan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Æu forviþi æi tiun nekonatan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Æu vere forviþi æi tiun mem-subskribon? (j/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Forviþis %d subskribon.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Forviþis %d subskribojn.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nenio estis forviþita.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "nevalida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 #, fuzzy
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
@@ -4224,280 +4256,280 @@ msgstr ""
 "AVERTO: Æi tiu estas PGP2-stila þlosilo. Aldono de foto-identigilo eble\n"
 "        kaýzos, ke iuj versioj de PGP malakceptos la þlosilon.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 #, fuzzy
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Ne eblas aldoni foto-identigilon al PGP2-stila þlosilo.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 #, fuzzy
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Donu la þlosilgrandon"
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVERTO: Æi tiu þlosilo estas revokita de sia posedanto!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas subskribi øin?\n"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Bonvolu malelekti la sekretajn þlosilojn.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Bonvolu elekti maksimume unu flankan þlosilon.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Þanøas la daton de eksvalidiøo de flanka þlosilo.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Þanøas la daton de eksvalidiøo de la æefa þlosilo.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Vi ne povas þanøi la daton de eksvalidiøo de v3-þlosilo\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Mankas responda subskribo en sekreta þlosilaro\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Bonvolu elekti precize unu uzantidentigilon.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "þlosilo %08lX: nevalida mem-subskribo\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas subskribi øin?\n"
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas subskribi øin?\n"
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Subskribo-notacio: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Æu surskribi (j/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "uzantidentigilo: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   subskribita per %08lX je %s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, fuzzy, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 #, fuzzy
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas aldoni øin? (j/n) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 #, fuzzy
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Æu krei revokatestilon por æi tiu subskribo? (j/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   subskribita per %08lX je %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Vi subskribis la sekvajn uzantidentigilojn:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr "subskribi þlosilon nerevokeble"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revokita de %08lX je %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Vi revokos la sekvajn subskribojn:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 #, fuzzy
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Æu vere krei la revokatestilojn? (j/N)"
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "mankas sekreta þlosilo\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, fuzzy, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "prefero %c%lu ripetita\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "tro da '%c'-preferoj\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "tro da '%c'-preferoj\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "tro da '%c'-preferoj\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "nevalida signo en signoæeno\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 #, fuzzy
 msgid "writing direct signature\n"
 msgstr "skribas mem-subskribon\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "skribas mem-subskribon\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "skribas þlosilbindan subskribon\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "þlosilgrando nevalida; uzas %u bitojn\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "þlosilgrando rondigita øis %u bitoj\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "subskribi"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "æifri datenojn"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4511,104 +4543,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (nur æifri)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Bonvolu elekti, kian þlosilon vi deziras:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA kaj ElGamal (implicita elekto)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA kaj ElGamal (implicita elekto)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (nur subskribi)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (nur subskribi)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (nur æifri)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (nur æifri)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (nur æifri)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (nur æifri)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Kiun þlosilgrandon vi deziras? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Kiun þlosilgrandon vi deziras? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Petita þlosilgrando estas %u bitoj\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4624,7 +4656,7 @@ msgstr ""
 "      <n>m = þlosilo eksvalidiøos post n monatoj\n"
 "      <n>y = þlosilo eksvalidiøos post n jaroj\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4640,40 +4672,40 @@ msgstr ""
 "      <n>m = þlosilo eksvalidiøos post n monatoj\n"
 "      <n>y = þlosilo eksvalidiøos post n jaroj\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Þlosilo validu ...? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Þlosilo validu por ...? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "nevalida valoro\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s neniam eksvalidiøos\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s neniam eksvalidiøos\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s eksvalidiøos je %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4681,12 +4713,12 @@ msgstr ""
 "Via sistemo ne povas montri datojn post 2038.\n"
 "Tamen, øi estos øuste traktata øis 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Æu tio estas øusta (j/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4697,7 +4729,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4713,44 +4745,44 @@ msgstr ""
 "    \"Heinrich Heine (la poeto) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Vera nomo: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Nevalida signo en nomo\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Nomo ne povas komenciøi per cifero\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Nomo devas havi almenaý 5 signojn\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Retadreso: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Nevalida retadreso\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Komento: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Nevalida signo en komento\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Vi uzas la signaron '%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4761,11 +4793,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Bonvolu ne meti la retadreson en la veran nomon aý la komenton\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4780,23 +4812,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKkAaBbFf"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Þanøu (N)omon, (K)omenton, (A)adreson, aý (F)ini? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Þanøu (N)omon, (K)omenton, (A)adreson, aý (B)one/(F)ini? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Bonvolu korekti la eraron unue\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4804,19 +4836,19 @@ msgstr ""
 "Vi bezonas pasfrazon por protekti vian sekretan þlosilon.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4828,7 +4860,7 @@ msgstr ""
 "uzante æi tiun programon kun la opcio \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4840,50 +4872,50 @@ msgstr ""
 "kreado de la primoj; tio donas al la stokastilo pli bonan þancon\n"
 "akiri sufiæe da entropio.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Kreado de þlosiloj nuligita.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "skribas publikan þlosilon al '%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "neniu skribebla publika þlosilaro trovita: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "neniu skribebla sekreta þlosilaro trovita: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "eraro dum skribado de publika þlosilaro '%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "eraro dum skribado de sekreta þlosilaro '%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "publika kaj sekreta þlosiloj kreitaj kaj subskribitaj.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4892,12 +4924,12 @@ msgstr ""
 "Notu, ke æi tiu þlosilo ne estas uzebla por æifrado. Vi eble volos\n"
 "uzi la komandon \"--edit-key\" por krei flankan þlosilon por tiu celo.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4905,7 +4937,7 @@ msgstr ""
 "þlosilo estis kreita %lu sekundon en la estonteco (tempotordo aý "
 "horloøeraro)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4913,26 +4945,26 @@ msgstr ""
 "þlosilo estis kreita %lu sekundojn en la estonteco (tempotordo aý "
 "horloøeraro)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTO: krei subþlosilojn por v3-þlosiloj ne estas OpenPGP-kongrue\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Æu vere krei? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "forviþo de þlosilbloko malsukcesis: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "ne povas krei '%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTO: sekreta þlosilo %08lX eksvalidiøis je %s\n"
@@ -4967,34 +4999,34 @@ msgstr "Subskribo-notacio: "
 msgid "Keyring"
 msgstr "Þlosilaro"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 #, fuzzy
 msgid "Primary key fingerprint:"
 msgstr "listigi þlosilojn kaj fingroþpurojn"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 #, fuzzy
 msgid "     Subkey fingerprint:"
 msgstr "     Þlosilo-fingrospuro ="
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 #, fuzzy
 msgid " Primary key fingerprint:"
 msgstr "     Þlosilo-fingrospuro ="
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 #, fuzzy
 msgid "      Subkey fingerprint:"
 msgstr "     Þlosilo-fingrospuro ="
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Þlosilo-fingrospuro ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5075,468 +5107,468 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "el"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "nevalida þlosilaro"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "þlosilo '%s' ne trovita: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "þlosilo '%s' ne trovita: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "petas la þlosilon %08lX de HKP-þlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "petas la þlosilon %08lX de HKP-þlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "seræas pri \"%s\" æe HKP-servilo %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "seræas pri \"%s\" æe HKP-servilo %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "seræas pri \"%s\" æe HKP-servilo %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "subskribita per via þlosilo %08lX je %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "seræas pri \"%s\" æe HKP-servilo %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "seræas pri \"%s\" æe HKP-servilo %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "nevalida þlosilaro"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "neniu þlosilservilo konata (uzu la opcion --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "þlosilservila eraro"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "þlosilservila eraro"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "listigo de sekretaj þlosiloj malsukcesis: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: ne valida þlosilidentigilo\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "petas la þlosilon %08lX de HKP-þlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "petas la þlosilon %08lX de HKP-þlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr ""
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, fuzzy, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s-æifritaj datenoj\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "æifrita per nekonata metodo %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "publika þlosilo estas %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "publikþlosile æifritaj datenoj: bona DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "æifrita per %u-bita %s-þlosilo, %08lX, kreita je %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "            alinome \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "æifrita per %s-þlosilo, %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "publikþlosila malæifrado malsukcesis: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Ripetu pasfrazon\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 #, fuzzy
 msgid "encrypted with 1 passphrase\n"
 msgstr "Ripetu pasfrazon\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "supozas %s æifritajn datenojn\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Æifro IDEA ne disponata, optimisme provas uzi %s anstataýe\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "malæifrado sukcesis\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 #, fuzzy
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVERTO: nenio estis eksportita\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVERTO: æifrita mesaøo estis manipulita!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "malæifrado malsukcesis: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTO: sendinto petis konfidencon (\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "originala dosiernomo='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "memstara revoko - uzu \"gpg --import\" por apliki øin\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Bona subskribo de \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "kontrolo de subskribo estas malþaltita\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "ne povas trakti æi tiujn pluroblajn subskribojn\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "            alinome \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Subskribo farita je %.*s per %s, þlosilo %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 #, fuzzy
 msgid "Key available at: "
 msgstr "Nenia helpo disponata"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "MALBONA subskribo de \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Eksvalidiøinta subskribo de \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Bona subskribo de \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[malcerta]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "            alinome \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, fuzzy, c-format
 msgid "Signature expired %s\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, fuzzy, c-format
 msgid "Signature expires %s\n"
 msgstr "Æi tiu þlosilo eksvalidiøos je %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 #, fuzzy
 msgid "binary"
 msgstr "æefa"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 #, fuzzy
 msgid "unknown"
 msgstr "nekonata versio"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Ne povas kontroli subskribon: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "ne aparta subskribo\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "memstara subskribo de klaso 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "malnovstila subskribo (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "nevalida radikpaketo trovita en proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "aktualigo de fido-datenaro malsukcesis: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "ne povas trakti publikþlosilan metodon %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "NOTO: æifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "nerealigita æifrad-metodo"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "NOTO: æifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "la aldona¼o por la æifro IDEA en æeestas\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = bonvolu montri pli da informoj\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, fuzzy, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 #, fuzzy
 msgid "Uncompressed"
 msgstr "ne traktita"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "ne traktita"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, fuzzy, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "æi tiu mesaøo povas ne esti uzebla de PGP 2.x\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "legas opciojn el '%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "nekonata implicita ricevonto '%s'\n"
@@ -5579,16 +5611,16 @@ msgstr "%s: nova opcio-dosiero kreita\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "ne povas trakti publikþlosilan metodon %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpaketo de speco %d havas þaltitan \"critical bit\"\n"
@@ -5644,7 +5676,7 @@ msgstr "%u-bita %s-
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5653,36 +5685,36 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "ne povas malfermi %s: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Æu vi estas certa, ke vi ankoraý volas subskribi øin?\n"
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "%s: ne estas fido-datenaro\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 #, fuzzy
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Æu tio estas øusta (j/n)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 #, fuzzy
 msgid "unable to display photo ID!\n"
 msgstr "ne povas malfermi %s: %s\n"
@@ -5717,6 +5749,16 @@ msgstr "Kialo por revoko: "
 msgid "revocation comment: "
 msgstr "Komento pri revoko: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMfFsS"
@@ -5908,25 +5950,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Ne estas certe, ke la subskribo apartenas al la posedanto.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ignorita: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: ignorita: publika þlosilo jam æeestas\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Vi ne specifis uzantidentigilon. (Vi povas uzi \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5934,42 +5976,42 @@ msgstr ""
 "\n"
 "Donu la uzantidentigilon. Finu per malplena linio: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Uzantidentigilo ne ekzistas.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "ignorita: publika þlosilo jam difinita kiel implicita ricevonto\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Publika þlosilo estas malþaltita.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "ignorita: publika þlosilo jam agordita\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "nekonata implicita ricevonto '%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: ignorita: publika þlosilo estas malþaltita\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "mankas validaj adresitoj\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "þlosilo %08lX: mankas uzantidentigilo\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "þlosilo %08lX: mankas uzantidentigilo\n"
@@ -6261,17 +6303,22 @@ msgstr "NOTO: subskribo-
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "þlosilo %08lX: þlosilo estas revokita!\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s-subskribo de: %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "supozas malbonan subskribon pro nekonata \"critical bit\"\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "þlosilo %08lX: mankas subþlosilo por þlosilbindado\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "þlosilo %08lX: mankas subþlosilo por þlosilbindado\n"
@@ -6362,7 +6409,7 @@ msgstr ""
 "ignoris '%s': æi tio estas PGP-kreita ElGamal-þlosilo, kiu ne estas sekura "
 "por subskribado!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "fido-datenaro %lu, speco %d: skribo malsukcesis: %s\n"
@@ -6408,17 +6455,17 @@ msgstr "eraro dum legado de dosieruja registro: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "kiraso: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "fido-datenaro: sync malsukcesis: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "fido-datenaro loko %lu: lseek malsukcesis: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "fido-datenaro loko %lu: skribo malsukcesis (n=%d): %s\n"
@@ -6427,117 +6474,117 @@ msgstr "fido-datenaro loko %lu: skribo malsukcesis (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "fido-datenaro-transakcio tro granda\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "ne povas fermi '%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: dosierujo ne ekzistas!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "ne povas krei '%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "ne povas malfermi '%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: malsukcesis krei versiregistron: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: nevalida fido-datenaro kreita\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: fido-datenaro kreita\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr ""
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: nevalida fido-datenaro\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: malsukcesis krei haktabelon: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: eraro dum aktualigo de versiregistro: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: eraro dum legado de versiregistro: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: eraro dum skribado de versiregistro: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "fido-datenaro: lseek malsukcesis: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: ne estas fido-datenaro\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: versiregistro kun registronumero %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: eraro dum legado de libera registro: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: eraro dum skribo de dosieruja registro: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: malsukcesis nuligi registron: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: malsukcesis aldoni registron: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: fido-datenaro kreita\n"
@@ -6552,173 +6599,181 @@ msgstr "ne povas trakti tekstliniojn pli longajn ol %d signojn\n"
 msgid "input line longer than %d characters\n"
 msgstr "enigata linio pli longa ol %d signojn\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' ne estas valida longa þlosilidentigilo\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "þlosilo %08lX: akceptita kiel fidata þlosilo\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "þlosilo %08lX aperas pli ol unufoje en la fido-datenaro\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "þlosilo %08lX: mankas publika þlosilo por fidata þlosilo - ignorita\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "þlosilo markita kiel absolute fidata.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "fido-datenaro loko %lu, petospeco %d: lego malsukcesis: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "fido-registro %lu ne havas petitan specon %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "rev"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "eksval"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "nekonata versio"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "sekva kontrolo de fido-datenaro je %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "publika þlosilo %08lX ne trovita: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "kontrolas la fido-datenaron\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 #, fuzzy
 msgid "no ultimately trusted keys found\n"
 msgstr "publika þlosilo de absolute fidata þlosilo %08lX ne trovita\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "publika þlosilo de absolute fidata þlosilo %08lX ne trovita\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "fido-datenaro %lu, speco %d: skribo malsukcesis: %s\n"
@@ -6743,77 +6798,77 @@ msgstr "enigata linio %u tro longa, a
 msgid "can't open fd %d: %s\n"
 msgstr "ne povas malfermi '%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "legeraro æe dosiero"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "pasfrazo estas tro longa\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "nevalida argumento"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "malkongruaj komandoj\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "nevalida kiraso"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "ne traktita"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "nevalida kiraso"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Nevalida komando (provu per \"helpo\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "ne traktita"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "nevalida kiraso"
@@ -6823,22 +6878,17 @@ msgstr "nevalida kiraso"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "vi trovis cimon ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "eraro dum legado de '%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "ne povas malfermi %s: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
@@ -6895,24 +6945,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6961,208 +7012,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "malsukcesis rekonstrui þlosilaran staplon: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "forviþo de þlosilbloko malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "þanøi la pasfrazon"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "þanøi la pasfrazon"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "þanøi la pasfrazon"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Kialo por revoko: "
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "þanøi la pasfrazon"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "þanøi la pasfrazon"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "eraro dum legado de þlosilbloko: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: eraro dum legado de libera registro: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "'%s' jam densigita\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "krei novan þlosilparon"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "krei novan þlosilparon"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "forviþo de þlosilbloko malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Kreado de þlosiloj malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "þanøi la pasfrazon"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7172,72 +7237,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "Donu la uzantidentigilon: "
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "tute ne uzi la terminalon"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "malkongruaj komandoj\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7276,11 +7345,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "helpo"
@@ -7312,220 +7381,221 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "forviþo de þlosilbloko malsukcesis: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "þlosilo %08lX: þlosilo estas revokita!\n"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, fuzzy, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "problemo æe legado de atestilo: %s\n"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 #, fuzzy
 msgid "certificate not yet valid"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 #, fuzzy
 msgid "intermediate certificate not yet valid"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "problemo æe legado de atestilo: %s\n"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "problemo æe legado de atestilo: %s\n"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "problemo æe legado de atestilo: %s\n"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "problemo æe legado de atestilo: %s\n"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "            novaj subskriboj: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "þlosilo %08lX: revokatestilo aldonita\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "Fingrospuro:"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 #, fuzzy
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 "Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
 "\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "Bona atestilo"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 #, fuzzy
 msgid "root certificate is not marked trusted"
 msgstr ""
 "Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
 "\n"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 #, fuzzy
 msgid "issuer certificate not found"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "kontroli subskribon"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "Valida atestilrevoko"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "ripetita atestilo - forviþita"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr ""
 "Neniom da atestiloj trovitaj kun nedifinita fidovaloro.\n"
 "\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7590,19 +7660,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "eraro dum skribado de sekreta þlosilaro '%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7813,7 +7883,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "þlosilo '%s' ne trovita: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "eraro dum legado de þlosilbloko: %s\n"
@@ -7950,7 +8020,7 @@ msgstr "aldoni 
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan þlosilon"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SERVILO|uzi æi tiun þlosilservilon por seræi þlosilojn"
@@ -7972,8 +8042,8 @@ msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintakso: gpg [opcioj] [dosieroj]\n"
 "subskribi, kontroli, æifri aý malæifri\n"
@@ -8009,26 +8079,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = supersalti æi tiun þlosilon\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "ne povis analizi URI de þlosilservilo\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "skribas al '%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "ne povas fermi '%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8046,12 +8116,7 @@ msgstr "Bona atestilo"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -8066,46 +8131,42 @@ msgstr "eraro dum kreado de pasfrazo: %s\n"
 msgid "error reading input: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "eraro dum kreado de þlosilaro '%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "þlosilaro '%s' kreita\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problemo en kontrolo de revoko: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -8291,149 +8352,149 @@ msgstr "eraro dum sendo al '%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|uzi pasfraz-reøimon N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan þlosilon"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOMO|æifri por NOMO"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "ne povis analizi URI de þlosilservilo\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOMO|uzi æifrad-metodon NOMO por pasfrazoj"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8693,6 +8754,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "eraro dum legado de '%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Komando> "
 
@@ -9175,9 +9244,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "maløusta sekreta þlosilo uzata"
 
-#~ msgid "not supported"
-#~ msgstr "ne realigita"
-
 #~ msgid "bad key"
 #~ msgstr "malbona þlosilo"
 
@@ -9821,8 +9887,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "kontrolas æe profundo %d subskribita=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%"
-#~ "d\n"
+#~ "kontrolas æe profundo %d subskribita=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/"
+#~ "%d\n"
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
index 8268436..0f98a4f 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 2b93908..ad3821c 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -9,16 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.0.9\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2008-12-14 19:34+0100\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-04-24 09:47+0200\n"
 "Last-Translator: Jaime Suárez <jaime.suma@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 "plural: Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "no pude conseguir el bloqueo de entrada de pin: %s\n"
@@ -28,21 +29,21 @@ msgstr "no pude conseguir el bloqueo de entrada de pin: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
-msgstr ""
+msgstr "|entrada de pin-etiqueta|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
-msgstr ""
+msgstr "|entrada de pin-etiqueta|_Cancelar"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
-msgstr ""
+msgstr "|entrada de pin-etiqueta|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Calidad:"
 
@@ -52,18 +53,18 @@ msgstr "Calidad:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr "barra de calidad, entrada de pin"
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 "Por favor introduzca su PIN para desbloquear la clave secreta de esta sesión"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -71,28 +72,31 @@ msgstr ""
 "Por favor introduzca la frase contraseña para desbloquear la clave secreta "
 "de esta sesión"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (intento %d de %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN demasiado largo"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Frase contraseña demasiado larga"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Caracteres inválidos en el PIN"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN demasiado corto"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "PIN incorrecto"
 
@@ -105,7 +109,7 @@ msgstr "PIN incorrecto"
 # ¿Por qué los ingleses entonces sí que saben lo que es un "passphrase"?
 # ¿Es que son más listos? :-)
 #
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Frase contraseña errónea"
 
@@ -118,123 +122,121 @@ msgstr "Frase contrase
 # ¿Por qué los ingleses entonces sí que saben lo que es un "passphrase"?
 # ¿Es que son más listos? :-)
 #
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Frase contraseña"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "no pueden usarse claves ssh de más de %d bits\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "no se puede crear %s: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "no se puede abrir `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error obteniendo el número de serie de la tarjeta: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "detectada tarjeta con S/N: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
-"error obteniendo ID de la clave por defecto para autenticaren la tarjeta: %"
-"s\n"
+"error obteniendo ID de la clave por defecto para autenticaren la tarjeta: "
+"%s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "no se encuentra una clave de tarjeta adecuada: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "el sombreado de la clave falló: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "error escribiendo clave: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
+#| msgid "Please enter the passphrase for the ssh key%0A  %c"
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor introduzca la frase contraseña para la clave ssh%0A %c"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Por favor vuelva a introducir frase contraseña"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
+#| msgid ""
+#| "Please enter a passphrase to protect the received secret key%%0A   %s"
+#| "%%0Awithin gpg-agent's key storage"
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Por favor introduzca una frase contraseña para proteger la clave "
 "secretarecibida%%0A  %s%%0Aen el almacen de claves del agente gpg"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "no coincide - reinténtelo"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "fallo al crear un flujo desde el socket: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
-#, fuzzy
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
-msgstr ""
-"Por favor retire la tarjeta actual e inserte la de número de serie:\n"
-"   %.*s\n"
+msgstr "Por favor inserte la tarjeta con número de serie"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
-#, fuzzy
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
-msgstr ""
-"Por favor retire la tarjeta actual e inserte la de número de serie:\n"
-"   %.*s\n"
+msgstr "Por favor retire tarjeta actual e inserte la que tiene número de serie"
 
 #: agent/divert-scd.c:200
 msgid "Admin PIN"
@@ -244,25 +246,25 @@ msgstr "PIN del Administrador"
 #. used to unblock a PIN.
 #: agent/divert-scd.c:205
 msgid "PUK"
-msgstr ""
+msgstr "PUK"
 
 #: agent/divert-scd.c:212
 msgid "Reset Code"
 msgstr "Código de Reinicio"
 
 #: agent/divert-scd.c:238
-#, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr ""
+#, fuzzy, c-format
+#| msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0AUse el teclado del lector como entrada."
 
 #: agent/divert-scd.c:287
 msgid "Repeat this Reset Code"
 msgstr "Repita este Código de Reinicio"
 
 #: agent/divert-scd.c:289
-#, fuzzy
 msgid "Repeat this PUK"
-msgstr "Repita este PIN"
+msgstr "Repita este PUK"
 
 #: agent/divert-scd.c:290
 msgid "Repeat this PIN"
@@ -273,9 +275,8 @@ msgid "Reset Code not correctly repeated; try again"
 msgstr "Código de Reinicio repetido incorrectamente; inténtelo de nuevo"
 
 #: agent/divert-scd.c:297
-#, fuzzy
 msgid "PUK not correctly repeated; try again"
-msgstr "PIN repetido incorrectamente; inténtelo de nuevo"
+msgstr "PUK repetido incorrectamente; inténtelo de nuevo"
 
 #: agent/divert-scd.c:298
 msgid "PIN not correctly repeated; try again"
@@ -358,23 +359,24 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
-"No ha introducido una frase contraseña -¡esto es en general una mala idea!%"
-"0Apor favor confirme que no quiere ninguna protección para su clave."
+"No ha introducido una frase contraseña -¡esto es en general una mala idea!"
+"%0Apor favor confirme que no quiere ninguna protección para su clave."
 
 #: agent/genkey.c:264
 msgid "Yes, protection is not needed"
 msgstr "Sí, no se necesita protección"
 
 #: agent/genkey.c:308
-#, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+#, fuzzy, c-format
+#| msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Por favor introduzca frase contraseña para%0Aproteger su nueva clave"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Por favor escriba la nueva frase contraseña"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -383,114 +385,123 @@ msgstr ""
 "@Opciones:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "ejecutar en modo servidor (primer plano)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "ejecutar en modo demonio (segundo plano)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "ejecutar en modo servidor (primer plano)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "prolijo"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "algo más discreto"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "salida de datos estilo sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "salida de datos estilo csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|FICHERO|lee opciones desde FICHERO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "no independizarse de la consola"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "no acaparar teclado y ratón"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "usar un fichero log para el servidor"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "usar una localización estándar para el socket"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|usar PGM como el programa para entrada de PIN"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|usar PCM como programa SCdaemon"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "no usar SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignorar peticiones de cambiar el TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignorar peticiones de cambiar el display X"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|los PINs en la caché expiran en N segundos"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "no usar el caché de PINs al firmar"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "permitir que los clientes marquen claves como \"fiables\""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "permitir preestablecer frase contraseña"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "permitir emulación de ssh-agent"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "no disponible"
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|FICHERO|escribir variables de entorno también en FICHERO"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
-#, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
-msgstr "Por favor, informe de posibles \"bugs\" a <"
+msgstr "Por favor, informe de posibles \"bugs\" a <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uso: gpg-agent [opciones] (-h para ayuda)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -498,155 +509,156 @@ msgstr ""
 "Sintaxis: gpg-agent [opciones] [orden [argumentos]]\n"
 "Manejo de claves privadas por GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "el nivel de depuración `%s` no es válido\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s es demasiado antiguo (necesita %s, tiene %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fichero de opciones `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "leyendo opciones desde `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "error creando `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "no se puede crear el directorio `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "nombre de socket demasiado largo\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "no se puede crear el socket: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "el nombre de socket `%s' es demasiado largo\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "ya hay un agente gpg ejecutándose - no se inicia otro\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "error obteniendo valor único para el socket\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "error enlazando el socket con `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() falló: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "escuchando el socket `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "directorio `%s' creado\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() falló para `%s': %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "no puede usar `%s' como directorio personal\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error leyendo valor único en el descriptor %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "manejador 0x%lx para descriptor %d iniciado\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "manejador 0x%lx pada descriptor %d finalizado\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "manejador ssh 0x%lx para el descriptor %d iniciado\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "manejador ssh 0x%lx para el descriptor %d finalizado\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select falló: %s - espero 1s\n"
 
 # msgstr "clave %08lX: %d nuevas subclaves\n"
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s detenido\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "no hay un agente gpg ejecutándose en esta sesión\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variable de entorno GPG_AGENT_INFO malformada\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "el programa no permite usar el protocolo agente gpg versión %d\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uso: gpg-preset-passphrase [opciones] KEYGRIP (-h para ayuda)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -658,7 +670,7 @@ msgstr ""
 # Sí, este no he podido ser yo :-) Por cierto, ¿por qué la O no se
 # puede acentuar? ¿demasiado alta?
 # ¿Quién dice que no se puede? :-)
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -667,7 +679,7 @@ msgstr ""
 "@Órdenes:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -679,11 +691,11 @@ msgstr ""
 "Opciones:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uso: gpg-protect-tool [opciones] (-h para ayuda)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -691,22 +703,22 @@ msgstr ""
 "Sintaxis: gpg-protect-tool [opciones] [args]\n"
 "Herramienta para el mantenimiento de claves secretas\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Introduzca frase contraseña para desproteger el objeto PKCS#12."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Introduzca frase contraseña para proteger el nuevo objeto PKCS#12."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 "Introduzca la frase contraseña para proteger el objeto importado en GnuPG"
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -723,15 +735,15 @@ msgstr ""
 # ¿Por qué los ingleses entonces sí que saben lo que es un "passphrase"?
 # ¿Es que son más listos? :-)
 #
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Frase contraseña:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "cancelado\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error pidiendo la frase contraseña: %s\n"
@@ -814,8 +826,8 @@ msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
 "fingerprint:%%0A  %s"
 msgstr ""
-"Por favor verifique que el certificado identificado como:%%0A \"%s\"%%"
-"0Atiene la huella digital:%%0A  %s"
+"Por favor verifique que el certificado identificado como:%%0A \"%s"
+"\"%%0Atiene la huella digital:%%0A  %s"
 
 #. TRANSLATORS: "Correct" is the label of a button and intended
 #. to be hit if the fingerprint matches the one of the CA.  The
@@ -826,7 +838,7 @@ msgstr "Correcto"
 
 #: agent/trustlist.c:668
 msgid "Wrong"
-msgstr ""
+msgstr "Incorrecto"
 
 #: agent/findkey.c:157
 #, c-format
@@ -851,8 +863,8 @@ msgstr "Cambia la frase contrase
 msgid "I'll change it later"
 msgstr "La cambiaré más tarde"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error creando tubería: %s\n"
@@ -892,12 +904,12 @@ msgstr "error ejecutando `%s': probablemente no est
 msgid "error running `%s': terminated\n"
 msgstr "error ejecutando `%s': terminado\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "error creando socket: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "host no encontrado"
 
@@ -926,17 +938,17 @@ msgstr "cancelado por el usuario\n"
 msgid "problem with the agent\n"
 msgstr "problema con el agente\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "no se pueden desactivar los volcados de core: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Aviso: propiedad insegura de %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Aviso: permisos inseguros en %s \"%s\"\n"
@@ -1003,7 +1015,7 @@ msgstr "no hay gpg-agent en ejecuci
 #: common/asshelp.c:349
 #, c-format
 msgid "waiting %d seconds for the agent to come up\n"
-msgstr ""
+msgstr "esperando %d segundos para que el agente arranque\n"
 
 #: common/asshelp.c:426
 msgid "can't connect to the agent - trying fall back\n"
@@ -1013,49 +1025,43 @@ msgstr "no puedo conectar con el agente - intentando retirada\n"
 #. verbatim.  It will not be printed.
 #: common/audit.c:474
 msgid "|audit-log-result|Good"
-msgstr ""
+msgstr "|audit-log-result|Bien"
 
 #: common/audit.c:477
 msgid "|audit-log-result|Bad"
-msgstr ""
+msgstr "|audit-log-result|Mal"
 
 #: common/audit.c:479
 msgid "|audit-log-result|Not supported"
-msgstr ""
+msgstr "|audit-log-result|No disponible"
 
 #: common/audit.c:481
-#, fuzzy
 msgid "|audit-log-result|No certificate"
-msgstr "importa certificado"
+msgstr "|audit-log-result|Sin certificado"
 
 #: common/audit.c:483
-#, fuzzy
 msgid "|audit-log-result|Not enabled"
-msgstr "importa certificado"
+msgstr "|audit-log-result|No habilitado"
 
 #: common/audit.c:485
 msgid "|audit-log-result|Error"
-msgstr ""
+msgstr "|audit-log-result|Error"
 
 #: common/audit.c:487
-#, fuzzy
 msgid "|audit-log-result|Not used"
-msgstr "importa certificado"
+msgstr "|audit-log-result|No usado"
 
 #: common/audit.c:489
-#, fuzzy
 msgid "|audit-log-result|Okay"
-msgstr "importa certificado"
+msgstr "|audit-log-result|Correcto"
 
 #: common/audit.c:491
-#, fuzzy
 msgid "|audit-log-result|Skipped"
-msgstr "importa certificado"
+msgstr "|audit-log-result|Omitido"
 
 #: common/audit.c:493
-#, fuzzy
 msgid "|audit-log-result|Some"
-msgstr "importa certificado"
+msgstr "|audit-log-result|Algún"
 
 #: common/audit.c:726
 msgid "Certificate chain available"
@@ -1105,28 +1111,27 @@ msgid "Data signing succeeded"
 msgstr "Datos firmados correctamente"
 
 #: common/audit.c:839 common/audit.c:1033 common/audit.c:1060
-#, fuzzy, c-format
+#, c-format
 msgid "data hash algorithm: %s"
-msgstr "Algoritmmo de resumen erróneo: %s"
+msgstr "algoritmmo de resumen de datos: %s"
 
 #: common/audit.c:862
-#, fuzzy, c-format
+#, c-format
 msgid "Signer %d"
-msgstr "Firma %d"
+msgstr "Firmante %d"
 
 #: common/audit.c:866 common/audit.c:1065
-#, fuzzy, c-format
+#, c-format
 msgid "attr hash algorithm: %s"
-msgstr "Algoritmmo de resumen erróneo: %s"
+msgstr "algoritmmo de resumen de atributos: %s"
 
 #: common/audit.c:901
 msgid "Data decryption succeeded"
 msgstr "Datos descifrados correctamente"
 
 #: common/audit.c:910
-#, fuzzy
 msgid "Encryption algorithm supported"
-msgstr "el algoritmo de protección %d%s no puede ser utilizado\n"
+msgstr "Algoritmo de cifrado disponible"
 
 #: common/audit.c:993
 msgid "Data verification succeeded"
@@ -1137,14 +1142,13 @@ msgid "Signature available"
 msgstr "Firma disponible"
 
 #: common/audit.c:1024
-#, fuzzy
 msgid "Parsing data succeeded"
-msgstr "Firma interpretada correctamente"
+msgstr "Interpretación de datos correcta"
 
 #: common/audit.c:1036
-#, fuzzy, c-format
+#, c-format
 msgid "bad data hash algorithm: %s"
-msgstr "Algoritmmo de resumen erróneo: %s"
+msgstr "algoritmo de resumen de datos erróneo: %s"
 
 #: common/audit.c:1051
 #, c-format
@@ -1159,11 +1163,11 @@ msgstr "Cadena de certificados v
 msgid "Root certificate trustworthy"
 msgstr "Certificado raíz fiable"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "no se encuentra CRL para el certificado"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "el CRL disponible es demasiado antiguo"
 
@@ -1237,7 +1241,7 @@ msgstr "armadura inesperada: "
 msgid "invalid dash escaped line: "
 msgstr "Línea con guiones inválida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "caracter inválido radix64 %02X omitido\n"
@@ -1254,7 +1258,7 @@ msgstr "Fin de suma de comprobaci
 msgid "malformed CRC\n"
 msgstr "Suma de comprobación mal creada\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Error en suma de comprobación: %06lX - %06lX\n"
@@ -1267,16 +1271,16 @@ msgstr "fin de fichero prematuro (en el cierre)\n"
 msgid "error in trailer line\n"
 msgstr "error en la línea de cierre\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "no se han encontrados datos OpenPGP válidos\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armadura incorrecta: línea más larga de %d caracteres\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1311,7 +1315,7 @@ msgstr "ATENCI
 msgid "not human readable"
 msgstr "ilegible"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "tarjeta OpenPGP no disponible: %s\n"
@@ -1321,8 +1325,8 @@ msgstr "tarjeta OpenPGP no disponible: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "tarjeta OpenPGP num. %s detectada\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "imposible hacer esto en modo de proceso por lotes\n"
 
@@ -1330,213 +1334,215 @@ msgstr "imposible hacer esto en modo de proceso por lotes\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Esta orden solo está disponible en tarjetas versión 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "No hay Código de Reinicio o ya no está disponible\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Su elección: "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[no establecido]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "hombre"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "mujer"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "no especificado"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "no forzado"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "forzado"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: sólo se permite ASCII sin formato actualmente.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: El caracter \"<\" no puede usarse.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: no se permiten dobles espacios.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Apellido del titular de la tarjeta: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Nombre del titular de la tarjeta: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: nombre combinado demasiado largo (máximo %d caracteres).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL de donde recuperar la clave pública: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Error: URL demasiado larga (el máximo son %d caracteres).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error reservando memoria: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "error leyendo `%s': %s\n"
 
-#: g10/card-util.c:839
-#, fuzzy, c-format
+#: g10/card-util.c:840
+#, c-format
 msgid "error writing `%s': %s\n"
-msgstr "error escribiendo en `%s': %s\n"
+msgstr "error escribiendo `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Datos de login (nombre de la cuenta): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Error: el login es demasiado largo (límite de %d caracteres).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Datos privados: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 "Error: los datos privados son demasiado largos (límite de %d caracteres).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Preferencias de idioma: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: longitud de la cadena de preferencias inválida.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: caracteres inválidos en cadena de preferencias.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Sexo ((H)ombre, (M)mujer o espacio): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Error: respuesta no válida.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "Huella dactilar CA:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: formato inválido de huella dactilar.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "la operación con la clave no es posible: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "no es una tarjeta OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error obteniendo la información actual de la clave: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "¿Reemplazar la clave existente? (s/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
+"NOTA: No hay garantía de que la tarjeta permita el uso del tamaño\n"
+"      requerido. Si la generación de clave fracasa, por favor compruebe\n"
+"      la documentación de su tarjeta para ver los tamaños posibles.\n"
 
-#: g10/card-util.c:1295
-#, fuzzy, c-format
+#: g10/card-util.c:1296
+#, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "¿De qué tamaño quiere la clave? (%u) "
+msgstr "¿De qué tamaño quiere la clave de Firmado? (%u) "
 
-#: g10/card-util.c:1297
-#, fuzzy, c-format
+#: g10/card-util.c:1298
+#, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "¿De qué tamaño quiere la clave? (%u) "
+msgstr "¿De qué tamaño quiere la clave de Cifrado? (%u) "
 
-#: g10/card-util.c:1298
-#, fuzzy, c-format
+#: g10/card-util.c:1299
+#, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "¿De qué tamaño quiere la clave? (%u) "
+msgstr "¿De qué tamaño quiere la clave de Autenticación? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "redondeados a %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "los tamaños de claves %s deben estar en el rango %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgstr ""
+msgstr "Ahora la tarjeta se reconfigurará para generar una clave de %u bits\n"
 
-#: g10/card-util.c:1342
-#, fuzzy, c-format
+#: g10/card-util.c:1343
+#, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
-msgstr "error enlazando el socket con `%s': %s\n"
+msgstr "error cambiando el tamaño de la clave %d a %u bits: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "¿Hacer copia de seguridad externa a la tarjeta de clave de cifrado? (S/n)"
 
-#: g10/card-util.c:1378
-#, fuzzy
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
-msgstr "clave secreta ya almacenada en una tarjeta\n"
+msgstr "NOTA: ¡claves ya almacenadas en la tarjeta!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "¿Reemplazar las claves existentes? (s/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1547,129 +1553,129 @@ msgstr ""
 "   PIN = `%s'     PIN Administrador = `%s'\n"
 "Debería cambiarlos usando la orden --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor seleccione tipo de clave que generar:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "    (1) Clave de firmado\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Clave de cifrado\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Clave de autentificación\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Elección inválida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Por favor elija donde guardar la clave:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "algoritmo de protección de clave desconocido\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "las partes secretas de la clave no están disponibles\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "clave secreta ya almacenada en una tarjeta\n"
 
-#: g10/card-util.c:1623
-#, fuzzy, c-format
+#: g10/card-util.c:1624
+#, c-format
 msgid "error writing key to card: %s\n"
-msgstr "error escribiendo clave: %s\n"
+msgstr "error escribiendo clave en la tarjeta: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "sale de este menú"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "ver órdenes de administrador"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "muestra esta ayuda"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "listar todos los datos disponibles"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "cambiar el nombre del titular de la tarjeta"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "cambiar URL de donde obtener la clave"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "recuperar la clave especificada en la URL de la tarjeta"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "cambiar nombre de usuario"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "cambiar preferencias de idioma"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "cambiar sexo del titular de la tarjeta"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "cambiar huella dactilar de una CA"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "cambiar estado de la opción forzar firma del PIN"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "generar nuevas claves"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "menú para cambiar o desbloquear el PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "verificar PIN y listar todos los datos"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "desbloquear PIN usando Código de Reinicio"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
-msgstr ""
+msgstr "gpg/tarjeta> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Órdenes sólo de administrador\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Se permiten órdenes de administrador\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "No se permiten órdenes de administrador\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Orden inválida (pruebe \"help\")\n"
 
@@ -1677,18 +1683,18 @@ msgstr "Orden inv
 msgid "--output doesn't work for this command\n"
 msgstr "--output no funciona con esta orden\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "no se puede abrir `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "clave \"%s\" no encontrada: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1791,7 +1797,7 @@ msgstr ""
 "forzar el cifrado simétrico %s (%d) viola las preferencias\n"
 "del destinatario\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "no puede usar %s en modo %s\n"
@@ -1801,77 +1807,77 @@ msgstr "no puede usar %s en modo %s\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s cifrado para: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "datos cifrados %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado con algoritmo desconocido %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ATENCIÓN: mensaje cifrado con una clave débil en el cifrado simétrico.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problema trabajando con un paquete cifrado\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "no es posible ejecutar programas remotos\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "llamadas a programas externos inhabilitadas por permisos inseguros de "
 "ficheros.\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "esta plataforma necesita ficheros temporales para llamar a programas "
 "externos\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "no se puede ejecutar el programa `%s': %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "no se puede ejecutar el intérprete de órdenes `%s': %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "error del sistema llamando al programa externo: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "el programa externo finalizó anormalmente\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "no se puede ejecutar el programa externo\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "no se puede leer la respuesta del programa externo: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "AVISO: no se puede borrar fichero temporal (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "AVISO: no se puede borrar el fichero temporal `%s': %s\n"
@@ -1963,187 +1969,187 @@ msgstr "error recuperando `%s' v
 msgid "No fingerprint"
 msgstr "No hay huella dactilar"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Clave %s inválida hecha válida mediante --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "no hay subclave secreta para la subclave pública %s - ignorada\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "usando subclave %s en vez de clave primaria %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "clave %s: clave secreta sin clave pública - omitida\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "crea una firma"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "crea una firma en texto claro"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "crea una firma separada"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "cifra datos"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "cifra sólo con un cifrado simétrico"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "descifra datos (predefinido)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "lista claves"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "lista claves y firmas"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "lista y comprueba firmas de las claves"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "lista claves y huellas dactilares"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "lista claves secretas"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "genera un nuevo par de claves"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "genera un certificado de revocación"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "elimina claves del anillo público"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "elimina claves del anillo privado"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "firma la clave"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "firma la clave localmente"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "firma o modifica una clave"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "cambia una frase contraseña"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exporta claves"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exporta claves a un servidor de claves"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importa claves desde un servidor de claves"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "busca claves en un servidor de claves"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "actualiza todas las claves desde un servidor de claves"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importa/fusiona claves"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "escribir estado de la tarjeta"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "cambiar datos en la tarjeta"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "cambiar el PIN de la tarjeta"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "actualiza la base de datos de confianza"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "imprime resúmenes de mensaje"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "ejecutar en modo servidor"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "crea una salida ascii con armadura"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ID-USUARIO|cifra para ID-USUARIO"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|ID-USUARIO|usa este identificador para firmar o descifrar"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nivel de compresión N (0 desactiva)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usa modo de texto canónico"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FICHERO|volcar salida en FICHERO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "no hace ningún cambio"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "preguntar antes de sobreescribir"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "usar estilo OpenPGP estricto"
 
@@ -2151,7 +2157,7 @@ msgstr "usar estilo OpenPGP estricto"
 # página man -> página de manual
 # Vale. ¿del manual mejor?
 # Hmm, no sé, en man-db se usa "de". La verdad es que no lo he pensado.
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2159,7 +2165,7 @@ msgstr ""
 "@\n"
 "(Véase en la página del manual la lista completo de órdenes y opciones)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2179,21 +2185,26 @@ msgstr ""
 " --list-keys [nombres]      muestra las claves\n"
 " --fingerprint [nombres]    muestra las huellas dactilares\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opciones] [ficheros] (-h para ayuda)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxis: gpg [opciones] [ficheros]\n"
 "firma, comprueba, cifra o descifra\n"
 "la operación por defecto depende de los datos de entrada\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2201,71 +2212,71 @@ msgstr ""
 "\n"
 "Algoritmos disponibles:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Clave pública: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cifrado: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Resumen: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compresión: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opciones] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "órdenes incompatibles\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no se encontró el signo = en la definición de grupo `%s'\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "AVISO: propiedad insegura del directorio personal `%s'\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "AVISO: propiedad insegura del fichero de configuración `%s'\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "AVISO: propiedad insegura de la extensión `%s'\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "AVISO: permisos inseguros del directorio personal `%s'\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "AVISO: permisos inseguros del fichero de configuración `%s'\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "AVISO: permisos inseguros de la extensión `%s'\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "AVISO: propiedad insegura del directorio contenedor de `%s'\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2273,18 +2284,18 @@ msgstr ""
 "AVISO: propiedad insegura del directorio contenedor del fichero de\n"
 "configuración `%s'\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "AVISO: propiedad insegura del directorio contenedor de la extensión `%s'\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "AVISO: permisos inseguros del directorio contenedor de `%s'\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2292,443 +2303,442 @@ msgstr ""
 "AVISO: permisos inseguros del directorio contenedor del fichero de\n"
 "configuración `%s'\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "AVISO: permisos inseguros del directorio contenedor de la extensión `%s'\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "artículo de configuración desconocido `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "mostrar foto IDs al listar claves"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "mostrar URLS de política al listar firmas"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "mostrar todas las notaciones al listar firmas"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "mostrar notaciones estándar IETF al listar firmas"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "mostrar notaciones personalizadas al listar firmas"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "mostrar URL del servidor de claves preferido al listar firmas"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "mostrar validez de la ID de usuario al listar claves"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "mostar IDs de usuario revocados y caducados al listar firmas"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "mostrar subclaves revocadas y expiradas al listar claves"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "mostrar nombre de los anillos de claves al listar claves"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "mostrar fechas de caducidad al listar firmas"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTA: se ignora el antiguo fichero de opciones predefinidas `%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt demasiado antigua (necesito %s, tengo %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: ¡%s no es para uso normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' no es una fecha de caducidad válida\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' no es un juego de caracteres válido\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "no se puede interpretar la URL del servidor de claves\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opciones del servidor de claves inválidas\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "opciones del servidor de claves inválidas\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opciones de importación inválidas\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opciones de importación inválidas\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opciones de exportación inválidas\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opciones de exportación inválidas\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: lista de opciones inválida\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "lista de opciones inválida\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "mostrar foto IDs al verificar firmas"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "mostrar URLs de política al verificar firmas"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "mostrar todas las notaciones al verificar firmas"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "mostrar notaciones estándar IETF al verificar firmas"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "mostrar notaciones personalizadas al verificar firmas"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "mostrar URLs del servidor de claves preferido al verificar firmas"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "mostrar validez del ID de usuario al verificar firmas"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "mostrar IDs de usuario revocados y caducados al verificar firmas"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "mostrar solo ID primario de usuario al verificar firmas"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "validar firmas con datos PKA"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "aumentar confianza en las firmas con datos válidos PKA"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opciones de verificación inválidas\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "opciones de verificación inválidas\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "imposible establecer camino de ejecutables %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: lista de auto-localización de claves inválida\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "lista de auto-localización de claves inválida\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "ATENCIÓN: ¡el programa podría volcar un fichero core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s sustituye a %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "¡%s no permitido con %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "¡%s no tiene sentido con %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "no se ejecutará en memoria insegura por %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "sólo puede hacer firmas separadas o en claro en modo --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "no puede firmar y cifrar a la vez en modo --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "debe usar ficheros (no tuberías) si trabaja con --pgp2 activo.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "cifrar un mensaje en modo --pgp2 requiere el algoritmo IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "el algoritmo de cifrado seleccionado es inválido\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "el algoritmo de resumen seleccionado no inválido\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "el algoritmo de compresión seleccionado es inválido\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "el algoritmo de certificación por resumen elegido es inválido\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed debe ser mayor que 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed debe ser mayor que 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth debe estar en el rango de 1 a 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level inválido; debe ser 0, 1, 2, ó 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level inválido; debe ser 0, 1, 2, ó 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: el modo S2K simple (0) no es nada recomendable\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K incorrecto; debe ser 0, 1 o 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferencias por defecto inválidas\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferencias personales de cifrado inválidas\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferencias personales de algoritmo de resumen inválidas\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferencias personales de compresión inválidas\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s aún no funciona con %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "no puede usar el cifrado `%s' en modo %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "no puede usar el resumen `%s' en modo %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "no puede usar la compresión `%s' en modo %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inicialización de la base de datos de confianza fallida: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "AVISO: se indicaron receptores (-r) sin clave pública de cifrado\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nombre_fichero]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nombre_fichero]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "el cifrado simétrico de `%s' falló: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nombre_fichero]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [nombre_fichero]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "no puede usar --symetric --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "no puede usar --symetric --encrypt en modo %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nombre_fichero]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nombre_fichero]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [nombre_fichero]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "no puede usar --symetric --sign --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "no puede usar --symmetric --sign --encrypt en modo %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [nombre_fichero]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nombre_fichero]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nombre_fichero]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-usuario"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-usuario"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-usuario [órdenes]"
 
-#: g10/gpg.c:3629
-#, fuzzy
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
-msgstr "--sign-key id-usuario"
+msgstr "--passwd <id-usuario>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "envío al servidor de claves fallido: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "recepción del servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "exportación de clave fallida: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "búsqueda del servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "renovación al servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "eliminación de armadura fallida: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "creación de armadura fallida: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo de distribución inválido `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nombre_fichero]"
 
@@ -2736,19 +2746,19 @@ msgstr "[nombre_fichero]"
 # En español no se deja espacio antes de los puntos suspensivos
 # (Real Academia dixit) :)
 # Tomo nota :-). Este comentario déjalo siempre.
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Adelante, teclee su mensaje...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL de política de certificado inválida\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL de política inválida\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la URL del servidor de claves preferido no es válida\n"
 
@@ -2756,10 +2766,6 @@ msgstr "la URL del servidor de claves preferido no es v
 msgid "|FILE|take the keys from the keyring FILE"
 msgstr "|FICHERO|tomar las claves del anillo FILE"
 
-# o tal vez "en el sello..."
-# Creo que es mejor "con el sello de fecha", no es un conflicto
-# del sello en si mismo sino en relación con el mensaje.
-# Ok.
 #: g10/gpgv.c:76
 msgid "make timestamp conflicts only a warning"
 msgstr "hacer que los conflictos de fecha-hora sean sólo un aviso"
@@ -2773,13 +2779,12 @@ msgid "Usage: gpgv [options] [files] (-h for help)"
 msgstr "Uso: gpgv [opciones] [ficheros] (-h para ayuda)"
 
 #: g10/gpgv.c:119
-#, fuzzy
 msgid ""
 "Syntax: gpgv [options] [files]\n"
 "Check signatures against known trusted keys\n"
 msgstr ""
-"Sintaxis: gpg [opciones] [ficheros]\n"
-"Confrontar las firmas contra claves conocidas\n"
+"Sintaxis: gpgv [opciones] [ficheros]\n"
+"Confrontar las firmas frente a claves fiables conocidas\n"
 
 #: g10/helptext.c:72
 msgid "No help available"
@@ -2790,120 +2795,120 @@ msgstr "Ayuda no disponible"
 msgid "No help available for `%s'"
 msgstr "No hay ayuda disponible para `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "importar firmas marcadas como sólo locales"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "reparar daño del servidor de claves públicas al importar"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "no actualiza la base de datos de confianza después de importar"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "crear una clave pública al importar una clave secreta"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "sólo aceptar actualizaciones de claves ya existentes"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "borrar partes inútiles de la clave después de importar"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "borrar tanto como sea posible de la clave tras importar"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "omitiendo bloque de tipo %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu claves procesadas hasta ahora\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Cantidad total procesada: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      omitidas nuevas claves: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          sin identificador: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importadas: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             sin cambios: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "     nuevos identificativos: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           nuevas subclaves: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              nuevas firmas: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "        nuevas revocaciones de claves: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     claves secretas leídas: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr " claves secretas importadas: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "claves secretas sin cambios: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          no importadas: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    firmas limpiadas: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      IDs de usuario limpiados: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2912,353 +2917,369 @@ msgstr ""
 "AVISO: la clave %s contiene preferencias para algoritmos\n"
 "no disponibles en estos IDs de usuario:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": algoritmo de cifrado preferido %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": algoritmo de resumen preferido %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": algoritmo de compresión preferido %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "se recomienda encarecidamente que actualice sus preferencias y\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "re-dustribuya esta clave para evitar potenciales problemas de\n"
 "diferencias en los algoritmos.\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "puede actualizar sus preferencias con: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "clave %s: sin identificador de usuario\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "omitido \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "clave %s: reparada la subclave PKS corrompida\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "clave %s: aceptado ID de usuario sin autofirma \"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "clave %s: sin identificadores de usuario válidos\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "esto puede ser debido a la ausencia de autofirma\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "clave %s: clave pública no encontrada: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "clave %s: clave nueva - omitida\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "anillo de claves no escribible encontrado: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "escribiendo en `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "error escribiendo anillo `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "clave %s: clave pública \"%s\" importada\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "clave %s: no coincide con nuestra copia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "clave %s: no puede localizarse el bloque de claves original: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "clave %s: no puede leerse el bloque de claves original: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "clave %s: \"%s\" 1 ID de usuario nuevo\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "clave %s: \"%s\" %d nuevos identificadores de usuario\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "clave %s: \"%s\" 1 firma nueva\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "clave %s: \"%s\" %d firmas nuevas\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "clave %s: \"%s\" 1 subclave nueva\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "clave %s: \"%s\" %d subclaves nuevas\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "clave %s: \"%s\" %d firmas limpiadas\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "clave %s: \"%s\" %d firmas limpiadas\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "clave %s: \"%s\" %d identificador de usuario limpiado\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "clave %s: \"%s\" %d identificadores de usuario limpiados\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "clave %s: \"%s\" sin cambios\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "clave %s: clave secreta con cifrado inválido %d - omitida\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "clave secreta \"%s\" no encontrada: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "no se permite importar claves secretas\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "clave %s: clave secreta con cifrado inválido %d - omitida\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "no hay anillo secreto de claves por defecto: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "clave %s: clave secreta importada\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "clave %s: ya estaba en el anillo secreto\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "clave %s: clave secreta no encontrada: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clave %s: falta la clave pública - imposible emplear el\n"
 "certificado de revocación\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "clave %s: certificado de revocación inválido: %s - rechazado\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "clave %s: \"%s\" certificado de revocación importado\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "clave %s: no hay identificador de usuario para la firma\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "clave %s: algoritmo de clave pública no disponible para ID \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "clave %s: autofirma inválida para el id \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "clave %s: algoritmo de clave pública no disponible\n"
 
-#: g10/import.c:1484
-#, fuzzy, c-format
+#: g10/import.c:1537
+#, c-format
 msgid "key %s: invalid direct key signature\n"
-msgstr "clave %s: firma directa de clave añadida\n"
+msgstr "clave %s: firma directa de clave inválida\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "clave %s: no hay subclave que unir a la clave\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "clave %s: unión de subclave inválida\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "clave %s: borrado enlace de subclaves múltiples\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "clave %s: no hay subclave para la revocación de clave\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "clave %s: revocación de subclave inválida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "clave %s: borrada revocación de subclave múltiple\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "clave %s: omitido ID de usuario \"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "clave %s: subclave omitida\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "clave %s: firma no exportable (clase 0x%02x) - omitida\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "clave %s: certificado de revocación en lugar equivocado - omitido\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "clave %s: certificado de revocación no valido: %s - omitido\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "clave %s: firma de subclave en lugar equivocado - omitida\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "clave %s: firma de clase (0x%02x) inesperada - omitida\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "clave %s: detectado usuario duplicado - fusionada\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVISO: la clave %s puede estar revocada: recuperando clave de revocación %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: la clave %s puede estar revocada: falta clave de revocación %s.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "clave %s: \"%s\" certificado de revocación añadido\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "clave %s: firma directa de clave añadida\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "NOTA: un S/N de la clave no coincide con la de la tarjeta\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "NOTA: clave primaria en línea y almacenada en la tarjeta\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "NOTA: clave secundaria en línea y almacenada en la tarjeta\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "error escribiendo anillo `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "anillo `%s' creado\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "recurso de bloque de claves: `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "fallo reconstruyendo caché del anillo de claves: %s\n"
@@ -3349,12 +3370,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "ID de usuario \"%s\" revocado."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "¿Seguro que todavía quiere firmarlo? (s/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Imposible firmar.\n"
 
@@ -3539,8 +3560,8 @@ msgstr "He comprobado esta clave meticulosamente.\n"
 msgid "Really sign? (y/N) "
 msgstr "¿Firmar de verdad? (s/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "firma fallida: %s\n"
@@ -3551,19 +3572,19 @@ msgstr ""
 "La clave tiene sólo un apuntador u objetos de clave en la propia tarjeta\n"
 "- no hay frase contraseña que cambiar.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Esta clave no está protegida.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Las partes secretas de la clave primaria no están disponibles.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Las partes secretas de la clave primaria se guardan en la tarjeta.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "La clave está protegida.\n"
 
@@ -3580,7 +3601,7 @@ msgstr ""
 "Introduzca la nueva frase contraseña para esta clave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "frase contraseña repetida incorrectamente; inténtelo de nuevo"
 
@@ -3752,24 +3773,24 @@ msgstr "compactar IDs inutilizables y borrar firmas inutilizables de la clave"
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compactar IDs inutilizables y borrar todas las firmas de la clave"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "error leyendo bloque de clave secreta \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Clave secreta disponible.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Se necesita la clave secreta para hacer esto.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Por favor use la orden \"cambia\" primero.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3780,227 +3801,226 @@ msgstr ""
 "locales (lsign), una 't' para firmas fiables (tsign), `nr' para firmas no\n"
 "revocables (nrsign) o cualquier combinación de ellas (ltsign, tnrsign, etc)\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "La clave está revocada."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "¿Firmar realmente todos los IDs de usuario? (s/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugerencia: seleccione los identificadores de usuario que firmar\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Clase de firma desconocida `%s'\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Esta orden no se permite en modo %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Debe seleccionar por lo menos un identificador de usuario.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "¡No puede borrar el último identificador de usuario!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "¿Borrar realmente todos los identificadores seleccionados? (s/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "¿Borrar realmente este identificador de usuario? (s/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
-#, fuzzy
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
-msgstr "¿Borrar FIXME la clave primaria? (s/N)"
+msgstr "¿Realmente cambiar de sitio la clave primaria? (s/N)"
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Debe seleccionar exactamente una clave.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "La orden espera un nombre de fichero como argumento\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "No se puede abrir `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Error leyendo clave de respaldo desde `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Debe seleccionar por lo menos una clave.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "¿De verdad quiere borrar las claves seleccionadas? (s/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "¿De verdad quiere borrar esta clave? (s/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "¿Revocar realmente todos los identificadores seleccionados? (s/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "¿Revocar realmente este identificador de usuario? (s/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "¿De verdad quiere revocar la clave completa? (s/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "¿De verdad quiere revocar las subclaves seleccionadas? (s/N)"
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "¿De verdad quiere revocar esta subclave? (s/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "La confianza del propietario no puede establecerse si se está usando\n"
 "una base de datos de confianza propocionada por el usuario\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Establecer lista de preferencias a:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "¿Actualizar realmente las preferencias para los ID seleccionados? (s/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "¿Actualizar realmente las preferencias? (s/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "¿Grabar cambios? (s/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "¿Salir sin grabar? (s/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualización fallida: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "actualización de la clave secreta fallida: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Clave sin cambios, no se necesita actualización.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Resumen: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Sevidor de claves no-modificar"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Servidor de claves preferido: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Notaciones: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "No hay preferencias en un identificador de usuario estilo PGP 2.x\n"
 
-#: g10/keyedit.c:2810
-#, fuzzy, c-format
+#: g10/keyedit.c:2814
+#, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
-msgstr "Esta clave fue revocada en %s por %s clave %s\n"
+msgstr "La siguiente clave fue revocada en %s por %s clave %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta clave puede ser revocada por %s clave %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(confidencial)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "creado: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "revocada: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "caducó: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "caduca: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "uso: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "confianza: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "validez: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Esta clave está deshabilitada"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "num. tarjeta: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4008,17 +4028,17 @@ msgstr ""
 "Por favor, advierta que la validez de clave mostrada no es necesariamente\n"
 "correcta a menos de que reinicie el programa.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "revocada"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "caducada"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4026,7 +4046,7 @@ msgstr ""
 "AVISO: ningún ID de usuario está marcado como principal. Esta orden puede\n"
 "       causar que se tome como principal por defecto otro ID de usuario.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4035,74 +4055,74 @@ msgstr ""
 "AVISO: esta es una clave de tipo PGP2. Añadir un ID fotográfico puede\n"
 "hacer que algunas versiones de PGP rechacen esta clave.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "¿Está seguro de querer añadirla? (s/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "No puede añadir un ID fotográfico a una clave tipo PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "¿Borrar esta firma correcta? (s/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "¿Borrar esta firma inválida? (s/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "¿Borrar esta firma desconocida? (s/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "¿Borrar realmente esta autofirma? (s/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d firmas borradas.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d firmas borradas\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "No se borró nada\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "inválida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ID de usuario \"%s\" compactado: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "ID de usuario \"%s\": %d firma borrada\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "ID de usuario \"%s\": %d firmas borradas\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ID de usuario \"%s\": ya minimizado\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ID de usuario \"%s\" ya limpiado\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4111,263 +4131,263 @@ msgstr ""
 "AVISO: esta es una clave tipo PGP2. Añadir un revocador designado puede\n"
 "       hacer que algunas versiones de PGP rechacen esta clave.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "No puede añadir un revocador designado a una clave tipo PGP2.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduzca el ID de usuario del revocador designado: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "no se puede elegir una clave tipo PGP 2.x como revocador designado\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "no puede elegir una clave como su propio revocador designado\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "esta clave ya ha sido designada como revocadora\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "¡AVISO: no podrá deshacer la elección de clave como revocador designado!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "¿Está seguro de querer elegir esta clave como revocador designado? (s/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Por favor, quite las selecciones de las claves secretas.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Por favor, seleccione como máximo una clave secundaria.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Cambiando fecha de caducidad de subclave.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambiando caducidad de clave primaria.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "No puede cambiar la fecha de caducidad de una clave v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "No existe la firma correspondiente en el anillo secreto\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "la subclave de firmado %s ya está certificada en cruz\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "la subclave %s no firma y así no necesita ser certificada en cruz\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Por favor seleccione exactamente un identificador de usuario.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "omitiendo autofirma V3 para el id \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Introduzca la URL de su servidor de claves preferido: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "¿Seguro que quiere reemplazarlo? (s/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "¿Seguro que quiere borrarlo? (s/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Introduzca la notación: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "¿Continuar? (s/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No hay ningún identificador de usuario con el índice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No hay ID de usuario con hash %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No existe una subclave con índice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de usuario: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "firmada con su clave %s el %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (no exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta firma caducó el %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "¿De verdad quiere revocarla? (s/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "¿Crear un certificado de revocación para esta clave? (s/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
-msgstr ""
+msgstr "No está firmado por usted.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Ha firmado estos IDs de usuario con la clave %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (no revocable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revocada por la clave %s el %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Va a revocar las siguientes firmas:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "¿Crear los certificados de revocación realmente? (s/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "no hay clave secreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ID de usuario \"%s\" ya ha sido revocado\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "AVISO: un ID de usuario tiene fecha %d segundos en el futuro\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "La clave %s ya ha sido revocada.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "La subclave %s ya ha sido revocada.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Mostrando ID fotográfico %s de tamaño %ld para la clave %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferencia `%s' duplicada\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "demasiadas preferencias de cifrado\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "demasiadas preferencias de resumen\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "demasiadas preferencias de compresión\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "caracter inválido `%s' en cadena de preferencias\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "escribiendo firma directa\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "escribiendo autofirma\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "escribiendo la firma de comprobación de clave\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "tamaño de clave incorrecto; se usarán %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "tamaño de clave redondeado a %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "AVISO: ciertos programas OpenPGP no usan claves DSAcon resúmenes de este "
 "tamaño\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Firma"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certificar"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Cifrado"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Autentificación"
 
@@ -4381,104 +4401,104 @@ msgstr "Autentificaci
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "FfCcAaSs"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Posibles accriones para una %s clave: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Acciones permitidas actualmente: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Conmutar la capacidad de firmar\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Conmutar la capacidad de cifrado\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
-msgstr "   (%c) Conmutar la capacidad de autentificación\n"
+msgstr "   (%c) Conmutar la capacidad de autenticación\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Acabado\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor seleccione tipo de clave deseado:\n"
 
-#: g10/keygen.c:1689
-#, fuzzy, c-format
+#: g10/keygen.c:1696
+#, c-format
 msgid "   (%d) RSA and RSA (default)\n"
-msgstr "   (%d) DSA y ElGamal (por defecto)\n"
+msgstr "   (%d) RSA y RSA (por defecto)\n"
 
-#: g10/keygen.c:1691
-#, fuzzy, c-format
+#: g10/keygen.c:1698
+#, c-format
 msgid "   (%d) DSA and Elgamal\n"
-msgstr "   (%d) DSA y ElGamal (por defecto)\n"
+msgstr "   (%d) DSA y ElGamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (sólo firmar)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (sólo firmar)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (sólo cifrar)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (sólo cifrar)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (permite elegir capacidades)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (permite elegir capacidades)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "las claves %s pueden tener entre %u y %u bits de longitud.\n"
 
-#: g10/keygen.c:1820
-#, fuzzy, c-format
+#: g10/keygen.c:1827
+#, c-format
 msgid "What keysize do you want for the subkey? (%u) "
-msgstr "¿De qué tamaño quiere la clave? (%u) "
+msgstr "¿De qué tamaño quiere la subclave? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "¿De qué tamaño quiere la clave? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "El tamaño requerido es de %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4494,7 +4514,7 @@ msgstr ""
 "      <n>m = la clave caduca en n meses\n"
 "      <n>y = la clave caduca en n años\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4510,38 +4530,38 @@ msgstr ""
 "      <n>m = la clave caduca en n meses\n"
 "      <n>y = la clave caduca en n años\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "¿Validez de la clave (0)? "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Clave válida ¿durante? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valor inválido\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "La clave nunca caduca\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "La firma nunca caduca\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "La clave caduca %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "La firma caduca el %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4549,11 +4569,11 @@ msgstr ""
 "Su sistema no puede mostrar fechas más allá del 2038.\n"
 "Sin embargo funcionará correctamente hasta el 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "¿Es correcto? (s/n) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4567,7 +4587,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4583,44 +4603,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nombre y apellidos: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Caracter inválido en el nombre\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "El nombre no puede empezar con un número\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "El nombre debe tener al menos 5 caracteres\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Dirección de correo electrónico: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Dirección inválida\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentario: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Caracter inválido en el comentario\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Está usando el juego de caracteres `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4631,15 +4651,15 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Por favor no ponga la dirección de correo-e en el nombre real o en el "
 "comentario\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
-msgstr ""
+msgstr "¡Ese ID de usuario ya existe en esta clave!\n"
 
 #. TRANSLATORS: These are the allowed answers in
 #. lower and uppercase.  Below you will find the matching
@@ -4652,23 +4672,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcDdVvSs"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "¿Cambia (N)ombre, (C)omentario, (D)irección o (S)alir? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Por favor corrija primero el error.\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4676,20 +4696,20 @@ msgstr ""
 "Necesita una frase contraseña para proteger su clave secreta.\n"
 "\n"
 
-#: g10/keygen.c:2276
-#, fuzzy
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr ""
-"Introduzca la frase contraseña para proteger el objeto importado en GnuPG"
+"Introduzca la frase contraseña para proteger la copia de seguridadde la "
+"clave externamente a la tarjeta."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4701,7 +4721,7 @@ msgstr ""
 "la opción \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4714,50 +4734,50 @@ msgstr ""
 "generador de números aleatorios mayor oportunidad de recoger suficiente\n"
 "entropía.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Creación de claves cancelada.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "escribiendo clave pública en `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "escribiendo apuntador de la clave privada en `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "escribiendo clave privada en `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "anillo público de claves no escribible encontrado: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "anillo privado de claves no escribible encontrado: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "error escribiendo anillo público `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "error escribiendo anillo privado `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "claves pública y secreta creadas y firmadas.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4765,12 +4785,12 @@ msgstr ""
 "Tenga en cuenta que esta clave no puede ser usada para cifrar. Puede usar\n"
 "la orden \"--edit-key\" para crear una subclave con este propósito.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Creación de la clave fallida: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4778,7 +4798,7 @@ msgstr ""
 "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n"
 "problemas con el reloj)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4786,25 +4806,25 @@ msgstr ""
 "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n"
 "problemas con el reloj)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTA: crear subclaves para claves V3 no sigue el estándar OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "¿Crear de verdad? (s/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "almacenado de clave en la tarjeta fallido: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "no se puede crear fichero de respaldo `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTA: copia de seguridad de la clave guardada en `%s'\n"
@@ -4837,29 +4857,29 @@ msgstr "Notaci
 msgid "Keyring"
 msgstr "Anillo de claves"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Huellas dactilares de la clave primaria:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Huella de subclave:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
-msgstr " Huella de clave primaria:"
+msgstr " Huella clave primaria:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Huella de subclave:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      Huella de clave ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Número de serie de la tarjeta ="
 
@@ -4943,456 +4963,456 @@ msgstr ""
 "AVISO: las opciones de servidor de claves `%s' no se usan en esta "
 "plataforma\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "deshabilitado"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Introduzca número(s), O)tro, o F)in >"
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocolo del servidor de claves inválido (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "clave \"%s\" no encontrada en el servidor\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "clave no encontrada en el servidor\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "solicitando clave %s de %s servidor %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "solicitando clave %s de %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "buscando nombres desde %s servidor %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "buscando nombres de %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "enviando clave %s a %s servidor %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "enviando clave %s a %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "buscando \"%s\" de %s servidor %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "buscando \"%s\" de %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "¡no se solicita ninguna acción al servidor de claves!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 "AVISO: el manejo de claves procede de una versión diferente de GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "el servidor de claves no envió VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "no hay servidores de claves conocidos (use opción --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 "no se pueden realizar llamadas a un servidor externo de claves tal y\n"
 "como está compilado el programa\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "no hay un manejador para ese esquema de servidor de claves `%s'\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 "la acción `%s' no es posible con este esquema de servidor de claves `%s'\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s no permite usar la versión %d del manejador\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "agotado el tiempo de espera para el servidor de claves\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "error interno del servidor de claves\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "error de comunicación con el servidor de claves: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" no es un identificador de clave válido: omitido\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: no se puede renovar la clave %s a traves de %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "renovando 1 clave de %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "renovando %d claves desde %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: imposible recuperar URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "AVISO: imposible interpretar URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "tamaño anormal para una clave de sesión cifrada (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s clave de sesión cifrada\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "frase contraseña generada con algoritmo de resumen desconocido %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "la clave pública es %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "datos cifrados con la clave pública: DEK correcta\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado con clave %2$s de %1$u bits, ID %3$s, creada el %4$s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado con clave %s, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "descifrado de la clave pública fallido: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifrado con %lu frases contraseña\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifrado con 1 frase contraseña\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "suponiendo %s datos cifrados\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "cifrado IDEA no disponible, confiadamente intentamos usar %s en su lugar\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "descifrado correcto\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ATENCIÓN: la intgridad del mensaje no está protegida\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATENCIÓN: ¡el mensaje cifrado ha sido manipulado!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
-msgstr ""
+msgstr "borrada frase de paso en caché con ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "descifrado fallido: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: el remitente solicitó \"sólo-para-tus-ojos\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nombre fichero original='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "AVISO: se observan varios textos en claro\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocación independiente - use \"gpg --import\" para aplicarla\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "no se encontró firma\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "suprimida la verificación de la firma\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "no puedo manejar estos datos ambiguos en la firma\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Firmado el %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               usando %s clave %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Firmado el %s usando clave %s ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Clave disponible en: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Firma INCORRECTA de \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Firma caducada de \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Firma correcta de \"%s\""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[incierto]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                alias \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Firma caducada en %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "La firma caduca el %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "firma %s, algoritmo de resumen %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binaria"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "modotexto"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "desconocido"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Imposible comprobar la firma: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "no es una firma separada\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "AVISO: detectadas múltiples firmas. Sólo la primera se comprueba.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "firma independiente de clase 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "firma al viejo estilo (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "paquete raíz inválido detectado en proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat de `%s' falló en %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) falló en %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "AVISO: usando un algoritmo de clave pública experimental %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "AVISO: las firmas Elgamal para firmar y cifrar están obsoletas\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "AVISO: usando algoritmo de cifrado experimental %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "AVISO: usando algoritmo de resumen experimental %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "AVISO: el algoritmo de resumen %s está obsoleto\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "el plugin para el cifrado IDEA no está presente\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "por favor vea %s para más información\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: opción obsoleta \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ATENCIÓN: \"%s\" es una opción obsoleta\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "por favor use \"%s%s\" en su lugar\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "ATENCIÓN: \"%s\" es una orden obsoleta - no la use\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: opción obsoleta \"%s\" - no tiene efecto\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ATENCIÓN: \"%s\" es una opción obsoleta - no tiene efecto\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Sin comprimir"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "sin_comprimir|ninguno"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "este mensaje podría no ser utilizable por %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "opción ambigua `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "opción desconocida `%s'\n"
@@ -5434,17 +5454,17 @@ msgstr "creado un nuevo fichero de configuraci
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "AVISO: las opciones en `%s' no están aún activas en esta ejecución\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "no puedo manejar el algoritmo de clave pública %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "AVISO: clave de sesión cifrada simétricamente potencialmente insegura\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "el subpaquete de tipo %d tiene el bit crítico activado\n"
@@ -5501,7 +5521,7 @@ msgstr "clave %2$s de %1$u bits, ID %3$s, creada el %4$s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (subclave en clave principal ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5515,34 +5535,34 @@ msgstr ""
 "Si usa una foto muy grande, ¡su clave será también muy grande!\n"
 "Una imagen cercana a 240x288 tiene un tamaño adecuado.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Introduzca nombre del fichero JPEG para ID fotográfico: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "Imposible abrir fichero JPEG `%s': %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "¡Este JPEG es realmente grande (%d bytes)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "¿Seguro que quiere usarlo? (s/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "`%s' no es un fichero JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "¿Es correcta la foto? (s/n) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "¡no puedo mostrar ID fotográfico!\n"
 
@@ -5574,6 +5594,16 @@ msgstr "raz
 msgid "revocation comment: "
 msgstr "comentario a la revocación: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5759,25 +5789,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "          No es seguro que la firma pertenezca al propietario.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: omitido: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: omitida: clave pública ya presente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "No ha especificado un ID de usuario (puede usar \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Destinatarios actuales:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5785,42 +5815,42 @@ msgstr ""
 "\n"
 "Introduzca ID de usuario. Acabe con una línea vacía: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "ID de usuario inexistente.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "omitida: clave pública ya designada como destinataria por defecto\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Clave pública deshabilitada.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "omitida: clave pública ya establecida\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "desconocido el destinatario predefinido \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: omitida: clave pública deshabilitada\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "no hay direcciones válidas\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Nota: la clave %s no usa %s\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Nota: clave %s no tiene preferencias para %s\n"
@@ -6113,18 +6143,24 @@ msgstr "NOTA: clave de la firma %s caducada el %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTA: la clave de firmado %s ha sido revocada\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "firma %s, algoritmo de resumen %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "asumiendo firma incorrecta de la clave %s por un bit crítico desconocido\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "clave %s: no hay subclave para la firma de revocación de subclave\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "clave %s: no hay subclave para firma de subclave de enlace\n"
@@ -6212,7 +6248,7 @@ msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "¡esta es una clave ElGamal generada por PGP que NO es segura para firmar!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registro de confianza %lu, tipo %d: fallo escritura: %s\n"
@@ -6257,17 +6293,17 @@ msgstr "error econtrando registro de confianza en `%s': %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "error de lectura `%s': %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de datos de confianza: fallo sincronización: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "registro base de datos de confianza %lu: lseek fallido: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -6277,120 +6313,119 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr "transacción en la base de datos de confianza demasiado grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "no se puede acceder a `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: ¡el directorio no existe!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "no se puede crear el bloqueo para `%s'\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "no se puede bloquear `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: fallo en la creación del registro de versión: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: se ha creado base de datos de confianza inválida\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: se ha creado base de datos de confianza\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTA: no se puede escribir base de datos de confianza\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: base de datos de confianza inválida\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: fallo en la creación de la tabla hash: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: error actualizando el registro de versión: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: error leyendo registro de versión: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: error escribiendo registro de versión: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de datos de confianza: fallo lseek: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "base de datos de confianza: error lectura (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: no es una base de datos de confianza\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: registro de versión con número de registro %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versión del fichero %d inválida\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: error leyendo registro libre: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: error escribiendo registro de directorio: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: fallo en poner a cero un registro: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: fallo al añadir un registro: %s\n"
 
-#: g10/tdbio.c:1512
-#, fuzzy
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
-msgstr "%s: se ha creado base de datos de confianza\n"
+msgstr "Error: base de datos de confianza corrupta.\n"
 
 #: g10/textfilter.c:147
 #, c-format
@@ -6402,177 +6437,186 @@ msgstr "no se pueden manejar l
 msgid "input line longer than %d characters\n"
 msgstr "línea de longitud superior a %d caracteres\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' no es un identificador largo de clave válido\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "clave %s: aceptada como clave fiable\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "la clave %s aparece más de una vez en la base de datos de confianza\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "clave %s: clave fiable sin clave pública - omitida\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "clave %s marcada como de confianza absoluta\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "registro de confianza %lu, petición tipo %d: fallo lectura: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "registro de confianza %lu no es del tipo requerido %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
+"Puede intentar recrear la base de datos de confianza usando las órdenes:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
-msgstr ""
+msgstr "Si eso no funciona, por favor consulte el manual\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr "imposible usar modelo de confianza (%d) - asumiendo el modelo %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "usando %s como modelo de confianza\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "13 no apto para supersticiosos"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[  revocada ]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[  caducada ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[desconocida]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[no definida]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[   dudosa  ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[   total   ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[  absoluta ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "no definido"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "nunca"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "dudosa"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "total"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "absoluta"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "no es necesaria una comprobación de la base de datos de confianza\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "siguiente comprobación de base de datos de confianza el: %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 "no es necesaria una comprobación de la base de datos de confianza\n"
 "con el modelo de confianza `%s'\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 "no es necesario comprobar la base de datos de confianza\n"
 "con el modelo `%s'\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "clave pública %s no encontrada: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "por favor haga un --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "comprobando base de datos de confianza\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d claves procesadas (%d validaciones superadas)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "no se encuentran claves absolutamente fiables\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "clave pública de la clave absolutamente fiable %s no encontrada\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 "%d dudosa(s) necesarias, %d completa(s) necesarias,\n"
 "modelo de confianza %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"nivel: %d  validez: %3d  firmada: %3d  confianza: %d-, %dq, %dn, %dm, %df, %"
-"du\n"
+"nivel: %d  validez: %3d  firmada: %3d  confianza: %d-, %dq, %dn, %dm, %df, "
+"%du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6599,68 +6643,68 @@ msgstr "la l
 msgid "can't open fd %d: %s\n"
 msgstr "no se puede abrir fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "parámetro inesperado"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "error de lectura"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "palabra clave demasiado larga"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "falta el parámetro"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "orden inválida"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "definición de alias inválida"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "memoria desbordada"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "opción inválida"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "falta parámetro para la opción \"%.50s\"\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "la opción \"%.50s\" no necesita parámetros\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "orden inválida \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "la opción \"%.50s\" es ambigua\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "la orden \"%.50s\" es ambigua\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "memoria desbordada\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opción inválida \"%.50s\"\n"
@@ -6670,22 +6714,17 @@ msgstr "opci
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "ha encontrado un error... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "error cargando `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "la conversión de `%s' en `%s' no está disponible\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open falló: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "la conversión de `%s' en `%s' falló: %s\n"
@@ -6741,26 +6780,30 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uso: kbxutil [opciones] [ficheros] (-h para ayuda)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
+#| msgid ""
+#| "Syntax: kbxutil [options] [files]\n"
+#| "list, export, import Keybox data\n"
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Sintaxis: kbxutil [opciones] [ficheros]\n"
 "listar, exportar, importar datos Keybox\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "falta el módulo RSA o no es de %d bits\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "falta el exponente público RSA o es mayor de %d bits\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "la función de manejo del PIN devolvió un error: %s\n"
@@ -6770,116 +6813,117 @@ msgid "the NullPIN has not yet been changed\n"
 msgstr "el PIN-Nulo no ha sido cambiado\n"
 
 #: scd/app-nks.c:1092
-#, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
-msgstr "||Por favor inntroduzca su PIN en el teclado del lector"
+msgstr "|N|Por favor introduzca un nuevo PIN para las claves estándar."
 
 #: scd/app-nks.c:1093
-#, fuzzy
 msgid "||Please enter the PIN for the standard keys."
-msgstr "|A|Introduzca PIN de Administrador en el teclado del lector"
+msgstr "||Por favor, introduzca PIN para claves estándar."
 
 #: scd/app-nks.c:1099
-#, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Por favor introduzca Código de Reinicio de la tarjeta"
+msgstr "|NP|Introduzca nuevo PIN Unblocking Code (PUK) para claves estándar."
 
 #: scd/app-nks.c:1101
-#, fuzzy
 msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Por favor introduzca Código de Reinicio de la tarjeta"
+msgstr ""
+"|P|Por favor introduzca PIN Unblocking Code (PUK) para claves estándar."
 
 #: scd/app-nks.c:1109
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
-msgstr ""
+msgstr "|N|Entre un nuevo PIN para la clave que crea firmas cualificadas."
 
 #: scd/app-nks.c:1111
 msgid "||Please enter the PIN for the key to create qualified signatures."
-msgstr ""
+msgstr "||Introduzca un PIN para la clave que crea firmas cualificadas."
 
 #: scd/app-nks.c:1119
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|NP|Por favor introduzca un nuevo PIN Unblocking Code (PUK) para la clave "
+"que crea firmas cualificadas."
 
 #: scd/app-nks.c:1121
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|NP|Por favor introduzca el PIN Unblocking Code (PUK) para la clave que crea "
+"firmas cualificadas."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error obteniendo nuevo PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "fallo al almacenar la huella digital: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "fallo guardando la fecha de creación: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "fallo leyendo clave pública: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "la respuesta no incluye la clave pública\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "la respuesta no incluye el módulo RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "la respuesta no incluye el exponente público RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "usando PIN por defecto %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "fallo al usar el PIN por defecto %s: %s - en adelante deshabilitado\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Por favor introduzca PIN%%0A[firmas hechas: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Por favor introduzca PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "El PIN para CHV%d es demasiado corto; longitud mínima %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "la verificación CHV%d falló: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "error recuperando el estatus CHV de la tarjeta\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "¡la tarjeta está bloqueada permanentemente!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
@@ -6888,126 +6932,139 @@ msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1775
+#, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
-msgstr ""
-"|A|Introduzca PIN de Administrador en el teclado del lector%%0A[intentos "
-"restantes %d]"
+msgstr "|A|Introduzca PIN de Administrador%%0A[intentos restantes: %d]"
 
-#: scd/app-openpgp.c:1680
-#, fuzzy
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
-msgstr "||Por favor introduzca PIN"
+msgstr "|A|Por favor introduzca PIN de Administrador"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "el acceso a órdenes de administrador no está configurado\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Por favor introduzca Código de Reinicio de la tarjeta"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Código de Reinicio demasiado corto; longitud mínima %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|CR|Nuevo Código de Reinicio"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nuevo PIN Administrador"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Nuevo PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+#| msgid "|A|Please enter the Admin PIN"
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "|A|Por favor introduzca PIN de Administrador"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+#| msgid "||Please enter the PIN"
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Por favor introduzca PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "error leyendo datos de la aplicación\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "error leyendo huella digital DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "la clave ya existe\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "la clave existente será reemplazada\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generando nueva clave\n"
 
-#: scd/app-openpgp.c:2202
-#, fuzzy
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
-msgstr "generando nueva clave\n"
+msgstr "escribiendo clave nueva\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "falta fecha de creación\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "el primo RSA %s falta o no es de %d bits\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "fallo al almacenar la clave: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "por favor, espere mientras se genera la clave ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "la generación de la clave falló\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "generación de clave completada (%d segundos)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "estructura de la tarjeta OpenPGP inválida (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "la huella digital en la tarjeta no coincide con la solicitada\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "la tarjeta no permite usar el algoritmo de resumen %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "firmas creadas hasta ahora: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "actualmente se prohibe verificar el PIN del Administrador con esta orden\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "no se puede acceder a %s - ¿tarjeta OpenPGP inválida?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+#, fuzzy
+#| msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Por favor inntroduzca su PIN en el teclado del lector"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7017,52 +7074,57 @@ msgstr "||Por favor inntroduzca su PIN en el teclado del lector"
 msgid "|N|Initial New PIN"
 msgstr "|N|Nuevo PIN Inicial"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "ejecutar en modo multi servidor (primer plano)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NIVEL|poner el nivel de depurado a NIVEL"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FICHERO|escribir log en FICHERO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|conectar el lector al puerto N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOMBRE|usa NOMBRE como driver ct-API"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOMBRE|usa NOMBRE como driver PC/SC"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "no usa el driverd del CCID interno"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|desconectar la tarjeta después de N segundos de inactividad"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr "no usa el teclado del lector"
-
 #: scd/scdaemon.c:144
 #, fuzzy
+#| msgid "do not use a reader's keypad"
+msgid "do not use a reader's pinpad"
+msgstr "no usa el teclado del lector"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
-msgstr "permitir órdenes de administrador en la tarjeta"
+msgstr "denegar órdenes de administración de la tarjeta"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uso: scdaemon [opciones] [ficheros] (-h para ayuda)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7070,16 +7132,16 @@ msgstr ""
 "Sintaxis: scdaemon [opciones] [orden [args]]\n"
 "Demonio de la tarjeta inteligente para GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr "use la opción `--daemon' para ejectuar el programa en segundo plano\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "manejador del descriptor %d iniciado\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "manejador del descriptor %d terminado\n"
@@ -7117,11 +7179,11 @@ msgstr "no puedo conectar con el dirmngr - intentando retirada\n"
 msgid "validation model requested by certificate: %s"
 msgstr "el certificado: %s requiere un modelo de validación"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "cadena"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "shell"
 
@@ -7151,194 +7213,195 @@ msgstr "nota: no se permiten pol
 msgid "certificate policy not allowed"
 msgstr "no se permite política de certificado"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "buscando al emisor en una localización externa\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "numero de emisores coincidentes: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "buscando emisor en el caché de Dirmngr\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "número de certificados coincidentes: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "fallo buscando la clave sólo caché de dirmngr: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "fallo al colocar handle de keyDB\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "fallo al reservar handle de keyDB\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "el certificado ha sido revocado"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "el estado del certificado es desconocido"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "por favor asegúrese de que \"dirmngr\" está bien instalado\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "la comprobación de CRL falló: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "validez del certificado incorrecta: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "el certificado aún no es válido"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "el certificado raíz no es válido aún"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "el certificado intermedio aún no es válido"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certificado caducado"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "el certificado raíz ha caducado"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "el certificado intermedio ha caducado"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "faltan los atributos requeridos del certificado: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "el certificado tiene una validez incorrecta"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "la firma no se creo durante el tiempo de validez del certificado"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "el certificado no se creo durante el tiempo de validez el emisor"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 "certificado intermedio no creado durante el tiempo de validez del emisor"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  ( firmas creadas en "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (certificado creado en "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (certificado válido desde "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     emisor válido desde "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "huella dactilar=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "certificado raíz marcado ahora como fiable\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "marcar interactivamente como fiable no está activado en gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "marcar interactivamente como fíable desactivado en esta sesión\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "AVISO: fecha de creación de firma desconocida - asumo momento actual"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "no se encuentra el emisor de este certificado"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "certificado auto firmado con firma INCORRECTA"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "el certificado raíz no está marcado como fiable"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "la comprobación de la lista de confianza falló: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "cadena de certificados demasiado larga\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "no se encuentra emisor del certificado"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "el certificado tiene una firma INCORRECTA"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "encontrado otro posible certificado de CA coincidente - reintentando"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "cadena de certificados más larga de lo que permite la CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certificado correcto\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "certificado intermedio correcto\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "certificado raíz correcto\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "cambiando al modelo en cadena"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "modelo de validación usado: %s"
@@ -7402,19 +7465,27 @@ msgid "error getting key usage information: %s\n"
 msgstr "error obteniendo información sobre uso de la clave: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+#, fuzzy
+#| msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "el certificado no debería haberse usado para certificar\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "el certificado no debería haberse usado para firma en respuesta OCSP\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+#, fuzzy
+#| msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "el certificado no debería haberse usado para cifrar\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "el certificado no debería haberse usado para firmar\n"
 
 #: sm/certlist.c:167
@@ -7494,33 +7565,30 @@ msgid "   (%d) Existing key from card\n"
 msgstr "   (%d) Clave existente de la tarjeta\n"
 
 #: sm/certreqgen-ui.c:202
-#, fuzzy
 msgid "Enter the keygrip: "
-msgstr "Introduzca la notación: "
+msgstr "Introduzca keygrip: "
 
 #: sm/certreqgen-ui.c:210
 msgid "Not a valid keygrip (expecting 40 hex digits)\n"
-msgstr ""
+msgstr "No es un keygrip válido (se esperaban 40 dígitos hex)\n"
 
 #: sm/certreqgen-ui.c:212
-#, fuzzy
 msgid "No key with this keygrip\n"
-msgstr "No existe una subclave con índice %d\n"
+msgstr "No hay claves con ese keygrip\n"
 
 #: sm/certreqgen-ui.c:230 sm/certreqgen-ui.c:239
-#, fuzzy, c-format
+#, c-format
 msgid "error reading the card: %s\n"
-msgstr "%s: error leyendo registro libre: %s\n"
+msgstr "error leyendo la tarjeta: %s\n"
 
 #: sm/certreqgen-ui.c:233
-#, fuzzy, c-format
+#, c-format
 msgid "Serial number of the card: %s\n"
-msgstr "error obteniendo el número de serie de la tarjeta: %s\n"
+msgstr "Número de serie de la tarjeta: %s\n"
 
 #: sm/certreqgen-ui.c:245
-#, fuzzy
 msgid "Available keys:\n"
-msgstr "deshabilita clave"
+msgstr "Claves disponibles:\n"
 
 #: sm/certreqgen-ui.c:276
 #, c-format
@@ -7618,7 +7686,7 @@ msgstr "(no parece un mensaje cifrado)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "certificado `%s' no encontrado: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error bloqueando keybox: %s\n"
@@ -7752,7 +7820,7 @@ msgstr "|FICHERO|a
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ID-USUARIO|usa ID-USUARIO como clave secreta por defecto"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ESPEC|usa este servidor para buscar claves"
 
@@ -7769,10 +7837,15 @@ msgid "Usage: gpgsm [options] [files] (-h for help)"
 msgstr "Uso: gpgsm [opciones] [ficheros] (-h para ayuda)"
 
 #: sm/gpgsm.c:525
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpgsm [options] [files]\n"
+#| "sign, check, encrypt or decrypt using the S/MIME protocol\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxis: gpgsm [opciones] [ficheros]\n"
 "firma, comprueba, cifra o descifra usando protocolo S/MIME\n"
@@ -7807,25 +7880,25 @@ msgstr "%s:%u: se dio contrase
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: omitir esta línea\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "no se puede interpretar el servidor de claves\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "AVISO: ejecutándose con hora del sistema falsificada"
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "importando certificados comunes `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "no puedo firmar usando `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "orden inválida (no hay orden implícita)\n"
 
@@ -7842,11 +7915,7 @@ msgstr "error almacenando certificado\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "fallaron comprobaciones básicas sobre el certificado - no importado\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "fallo al reservar handle de keyDB\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error obteniendo parámetros almacenados: %s\n"
@@ -7861,45 +7930,41 @@ msgstr "error importando el certificado: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error leyendo entrada: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "error creando caja de claves `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "puede que quiera ejecutar gpg-agent antes\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "caja de claves `%s' creada\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "fallo obteniendo huella digital\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problema buscando el certificado existente: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error obteniendo keyDB para escribir: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error almacenando certificado: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problema re-buscando el certificado: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error almacenando parámetros: %s\n"
@@ -8089,144 +8154,144 @@ msgstr "error enviando orden %s: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "error enviando opciones estándar: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Opciones que controlan la salida de diagnósticos"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Opciones que controlan la configuración"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Opciones útiles para el depurado"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FICHERO|escribir logs en modo servidor en FICHERO"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Opciones que controlan la seguridad"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|las claves SSH caducan en N segundos"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|establecer vida máxima del caché de PIN en N segundos"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|establecer vida máxima de la clave SSH en N segundos"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Opciones que fuerzan una política de frases contraseña"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "no permitir evitar la política de frases contraseña"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|establecer longitud mínima para nuevas frases contraseña en N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|pedir al menos N caracteres no alfabéticos para nuevas contraseñas"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FICHERO|comprobar nuevas frases contraseña con el patrón en FICHERO"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|frase contraseña caduca tras N días"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "no permite reusar antiguas frases contraseña"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOMBRE|cifra para el ususario NOMBRE también"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|ESPEC|establecer alias de email"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Configuración para servidores de claves"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|usar servidor de claves en URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "permitir búsquedas PKA (peticiones DNS)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECANISMOS|usa MECANISMOS para encontrar claves por emails"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "prohibir todo acceso al dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOMBRE|usa la codificación NOMBRE para frases contraseña PKCS#12"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "no comprobar CRLs para certificados raíz"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Opciones que controlan el formato de la salida"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Opciones que controlan la interactividad y obligación"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Configuración de servidores HTTP"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "usar configuración del proxy HTTP del sistema"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuración de servidores LDAP que se usará"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "lista de servidores LDAP"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Configuración de OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Verificación externa del componente %s fallida"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Note que las especificación de grupo se ignoran\n"
 
@@ -8488,6 +8553,15 @@ msgstr ""
 "Compara frase contraseña dada en entrada estándar con un fichero de "
 "patrones\n"
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "puede que quiera ejecutar gpg-agent antes\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "error cargando `%s': %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "fallo al colocar handle de keyDB\n"
+
 #~ msgid "Command> "
 #~ msgstr "Orden> "
 
@@ -9094,9 +9168,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "clave secreta incorrecta"
 
-#~ msgid "not supported"
-#~ msgstr "no disponible"
-
 #~ msgid "bad key"
 #~ msgstr "clave incorrecta"
 
@@ -9672,8 +9743,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "comprobando en profundidad %d firmado=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%"
-#~ "d\n"
+#~ "comprobando en profundidad %d firmado=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/"
+#~ "%d\n"
 
 #~ msgid "If you want to use this revoked key anyway, answer \"yes\"."
 #~ msgstr "Si quiere usar esta clave revocada de todos modos, conteste \"sí\"."
index 64d6b08..6419e05 100644 (file)
Binary files a/po/et.gmo and b/po/et.gmo differ
index 79808aa..e163a34 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -6,15 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2004-06-17 11:04+0300\n"
 "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
+"Language: et\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
@@ -24,21 +25,21 @@ msgstr "TrustDB initsialiseerimine eba
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -48,164 +49,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "rida on liiga pikk\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "liiga pikk parool\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Lubamatu sümbol nimes\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "halb MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "halb parool"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "halb parool"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "kaitse algoritm %d%s ei ole toetatud\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "`%s' ei õnnestu avada: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "kirjutatavat salajaste võtmete hoidlat pole: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muuda parooli"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: paisktabeli loomine ebaõnnestus: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -225,7 +229,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -332,7 +336,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Te vajate oma salajase võtme kaitsmiseks parooli.\n"
 "\n"
@@ -342,7 +346,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "muuda parooli"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -353,283 +357,292 @@ msgstr ""
 "Võtmed:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "ole jutukas"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "ole mõnevõrra vaiksem"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "otsi võtmeid võtmeserverist"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "uuenda usalduse andmebaasi"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "ei ole toetatud"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "ei ole toetatud"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Palun saatke veateated aadressil <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "MÄRKUS: vaikimisi võtmete fail `%s' puudub\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "võtmete fail `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "loen võtmeid failist `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "kataloogi `%s' ei õnnestu luua: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s ei õnnestu luua: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ei ole sesses sessioonis kasutatav\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "uuendamine ebaõnnestus: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: kataloog on loodud\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: lugemine ebaõnnestus (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: kataloogi ei õnnestu luua: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "salajase võtme uuendamine ebaõnnestus: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: jätsin vahele: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent ei ole sesses sessioonis kasutatav\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "vigane GPG_AGENT_INFO keskkonnamuutuja\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agendi protokolli versioon %d ei ole toetatud\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -638,7 +651,7 @@ msgstr ""
 "@Käsud:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -650,51 +663,51 @@ msgstr ""
 "Võtmed:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "halb parool"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Katkesta"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -809,8 +822,8 @@ msgstr "muuda parooli"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -850,12 +863,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[Kasutaja id puudub]"
@@ -888,17 +901,17 @@ msgstr "katkestatud kasutaja poolt\n"
 msgid "problem with the agent\n"
 msgstr "probleem agendiga: agent tagastas 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "ei õnnestu blokeerida mälupildi salvestamist: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
@@ -1133,12 +1146,12 @@ msgstr "See v
 msgid "Root certificate trustworthy"
 msgstr "halb sertifikaat"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "halb sertifikaat"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Võtme leiate: "
@@ -1220,7 +1233,7 @@ msgstr "ootamatu pakend:"
 msgid "invalid dash escaped line: "
 msgstr "vigane kriipsudega märgitud rida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "vigane radix64 sümbol %02x vahele jäetud\n"
@@ -1237,7 +1250,7 @@ msgstr "enneaegne failil
 msgid "malformed CRC\n"
 msgstr "vigane CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC viga; %06lx - %06lx\n"
@@ -1251,16 +1264,16 @@ msgstr "enneaegne failil
 msgid "error in trailer line\n"
 msgstr "viga lõpetaval real\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "ei leia OpenPGP andmeid.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "vigane pakend: rida on pikem, kui %d sümbolit\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1295,7 +1308,7 @@ msgstr "HOIATUS: leidsin vigased noteerimise andmed\n"
 msgid "not human readable"
 msgstr "pole inimese poolt loetav"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "salajane võti ei ole kättesaadav"
@@ -1305,8 +1318,8 @@ msgstr "salajane v
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "seda ei saa teha pakettmoodis\n"
@@ -1316,224 +1329,224 @@ msgstr "seda ei saa teha pakettmoodis\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "See käsklus ei ole %s moodis lubatud.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "salajase võtme komponendid ei ole kättesaadavad\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Teie valik? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Põhjus puudub"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "ei töödeldud"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "vastavat avalikku võtit pole: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "uuendatud eelistused"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "lubamatu sümbol eelistuste sõnes\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "lubamatu sümbol eelistuste sõnes\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "näita sõrmejälge"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Võtme genereerimine ebaõnnestus: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "ei leia OpenPGP andmeid.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "ümardatud üles %u bitini\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1541,145 +1554,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Vigane valik.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Palun valige tühistamise põhjus:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "tundmatu kaitsealgoritm\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Primaarse võtme salajased komponendid ei ole kättesaadavad.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "välju sellest menüüst"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "näita seda abiinfot"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Võtme leiate: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "muuda aegumise kuupäeva"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muuda omaniku usaldust"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "näita sõrmejälge"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Vigane käsklus (proovige \"help\")\n"
 
@@ -1687,18 +1700,18 @@ msgstr "Vigane k
 msgid "--output doesn't work for this command\n"
 msgstr "võti --output ei tööta selle käsuga\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "`%s' ei õnnestu avada\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1801,7 +1814,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "sümmetrilise ¨ifri %s (%d) kasutamine on vastuolus saaja eelistustega\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "%s ei ole moodis %s lubatud.\n"
@@ -1811,77 +1824,77 @@ msgstr "%s ei ole moodis %s lubatud.\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s krüptitud kasutajale: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s krüpteeritud andmed\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "krüpteeritud tundmatu algoritmiga %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "HOIATUS: teade on krüptitud sümmeetrilise ¨ifri nõrga võtmega.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "probleem krüptitud paketi käsitlemisel\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "mittelokaalse programmi käivitamist ei toetata\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "väliste programmide käivitamine on blokeeritud, kuna seadete failil on\n"
 "ebaturvalised õigused\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "see platvorm nõuab väliste programmide käivitamiseks ajutiste failide "
 "kasutamist\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "ei Õnnestu käivitada %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "ei Õnnestu käivitada %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "süsteemi viga välise programmi kasutamisel: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "väline programm lõpetas erandlikult\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "välist programmi ei õnnestu käivitada\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "ei õnnestu lugeda välise programmi vastust: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "HOIATUS: ei õnnestu eemaldada ajutist kataloogi `%s': %s\n"
@@ -1984,202 +1997,202 @@ msgstr "viga `%s' loomisel: %s\n"
 msgid "No fingerprint"
 msgstr "näita sõrmejälge"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Vigane võti %08lX muudeti kehtivaks võtme --allow-non-selfsigned-uid "
 "kasutamisega\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "avalikul alamvõtmel %08lX puudub salajane alamvõti - ignoreerin\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "kasutan sekundaarset võtit %08lX primaarse võtme %08lX asemel\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "võti %08lX: salajane võti avaliku võtmeta - jätsin vahele\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "loo eraldiseisev allkiri"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fail]|loo avateksti allkiri"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "loo eraldiseisev allkiri"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "krüpteeri andmed"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "krüpteerimine kasutades ainult sümmeetrilist ¨ifrit"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "dekrüpteeri andmed (vaikimisi)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "kontrolli allkirja"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "näita võtmeid"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "näita võtmeid ja allkirju"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kontrolli võtmete allkirju"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "näita võtmeid ja sõrmejälgi"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "näita salajasi võtmeid"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "genereeri tühistamise sertifikaat"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "eemalda võtmed avalike võtmete hoidlast"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "eemalda võtmed salajaste võtmete hoidlast"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "allkirjasta võti"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "allkirjasta võti lokaalselt"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "allkirjasta või toimeta võtit"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muuda parooli"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "ekspordi võtmed"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "ekspordi võtmed võtmeserverisse"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "impordi võtmed võtmeserverist"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "otsi võtmeid võtmeserverist"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "uuenda võtmeid võtmeserverist"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "impordi/mesti võtmed"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "uuenda usalduse andmebaasi"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [failid]|trüki teatelühendid"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "loo ascii pakendis väljund"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NIMI|krüpti NIMEle"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "kasuta seda kasutaja IDd"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|määra pakkimise tase N (0 blokeerib)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "kasuta kanoonilist tekstimoodi"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "ära tee mingeid muutusi"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "küsi enne ülekirjutamist"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2187,7 +2200,7 @@ msgstr ""
 "@\n"
 "(Kõikide käskude ja võtmete täieliku kirjelduse leiate manualist)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2207,21 +2220,26 @@ msgstr ""
 " --list-keys [nimed]        näita võtmeid\n"
 " --fingerprint [nimed]      näita sõrmejälgi\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Süntaks: gpg [võtmed] [failid]\n"
 "allkirjasta, kontrolli, krüpti ja dekrüpti\n"
 "vaikimisi operatsioon sõltub sisendandmetest\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2229,562 +2247,562 @@ msgstr ""
 "\n"
 "Toetatud algoritmid:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Avalik võti: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "¦iffer: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Räsi: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Pakkimine: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "kasuta: gpg [võtmed] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "grupi definitsioonis \"%s\" puudub sümbol =\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "tundmatu seade \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "näita millisesse võtmehoidlasse näidatud võti kuulub"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "MÄRKUS: ignoreerin vana vaikimisi võtmete faili `%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "MÄRKUS: %s ei ole tavapäraseks kasutamiseks!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: vigased impordi võtmed\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: vigased impordi võtmed\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "exec-path väärtuseks ei õnnestu seada %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "HOIATUS: programm võib salvestada oma mälupildi!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "HOIATUS: %s määrab üle %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ja %s ei ole koos lubatud!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ja %s ei oma koos mõtet!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "--pgp2 moodis saate luua ainult eraldiseisvaid või avateksti allkirju\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "--pgp2 moodis ei saa korraga allkirjastada ja krüpteerida\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "--pgp2 moodis peate kasutama faile (ja mitte toru).\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "teate krüpteerimine --pgp2 moodis nõuab IDEA ¨iffrit\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valitud ¨ifri algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "valitud lühendi algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "valitud ¨ifri algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valitud sertifikaadi lühendi algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed peab olema suurem, kui 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed peab olema suurem, kui 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth peab olema vahemikus 1 kuni 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "vigane vaikimisi-sert-tase; peab olema 0, 1, 2 või 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "vigane min-sert-tase; peab olema 1, 2 või 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "MÄRKUS: lihtne S2K mood (0) ei soovitata kasutada\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "vigane S2K mood; peab olema 0, 1 või 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "vigased vaikimisi eelistused\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "vigased isikliku ¨ifri eelistused\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "vigased isikliku lühendi eelistused\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "vigased isikliku pakkimise eelistused\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ei tööta veel koos %s-ga\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "¨ifri algoritm \"%s\" ei ole moodis %s lubatud\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "sõnumilühendi algoritm \"%s\" ei ole moodis %s lubatud\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "pakkimise algoritm \"%s\" ei ole moodis %s lubatud\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "HOIATUS: määrati saajad (-r) aga ei kasutata avaliku võtme krüptograafiat\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [failinimi]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [failinimi]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [failinimi]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [failinimi]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "%s ei ole moodis %s lubatud.\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [failinimi]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [failinimi]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [failinimi]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "%s ei ole moodis %s lubatud.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [failinimi]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [failinimi]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [failinimi]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key kasutaja-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key kasutaja-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key kasutaja-id [käsud]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key kasutaja-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "võtmeserverile saatmine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "võtmeserverilt lugemine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "võtme eksport ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "võtmeserveri otsing ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "võtmeserveri uuendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "lahtipakendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "pakendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "vigane räsialgoritm `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[failinimi]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Kirjutage nüüd oma teade ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "antud sertifikaadi poliisi URL on vigane\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "antud allkirja poliisi URL on vigane\n"
@@ -2824,477 +2842,491 @@ msgstr "Abiinfo puudub"
 msgid "No help available for `%s'"
 msgstr "`%s' kohta abiinfo puudub"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "uuenda usalduse andmebaasi"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "avalik võti ei sobi salajase võtmega!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "mittekasutatav salajane võti"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "jätan bloki tüübiga %d vahele\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu võtit on seni töödeldud\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Töödeldud kokku: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr " vahele jäetud uusi võtmeid: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "    puudub kasutaja ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "            imporditud: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              muutmata: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       uusi kasutajaid: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "      uusi alamvõtmeid: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "         uusi allkirju: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      uusi tühistamisi: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " loetud salajasi võtmeid: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr " salajasi võtmeid imporditud: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " muutmata salajasi võtmeid: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "       pole imporditud: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         uusi allkirju: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " loetud salajasi võtmeid: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "võti %08lX: kasutaja ID puudub\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "`%s' jätsin vahele: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "võti %08lX: HKP alamvõtme rike parandatud\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "võti %08lX: aktsepteerisin iseenda poolt allakirjutamata kasutaja ID '%s'\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "võti %08lX: puudub kehtiv kasutaja ID\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "see võib olla põhjustatud puuduvast iseenda allkirjast\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "võti %08lX: avalikku võtit ei leitud: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "võti %08lX: uus võti - jätsin vahele\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "ei leia kirjutatavat võtmehoidlat: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "kirjutan faili `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "võti %08lX: avalik võti \"%s\" on imporditud\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "võti %08lX: ei sobi meie koopiaga\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "võti %08lX: ei leia algset võtmeblokki: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "võti %08lX: ei õnnestu lugeda algset võtmeblokki: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "võti %08lX: \"%s\" 1 uus kasutaja ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "võti %08lX: \"%s\" 1 uus allkiri\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "võti %08lX: \"%s\" 1 uus alamvõti\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "võti %08lX: \"%s\" %d uut alamvõtit\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "võti %08lX: \"%s\" ei muudetud\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "võti %08lX: salajane võti vigase ¨ifriga %d - jätsin vahele\n"
+msgid "secret key %s: %s\n"
+msgstr "salajast võtit `%s' ei leitud: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "võti %08lX: salajane võti vigase ¨ifriga %d - jätsin vahele\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "puudub salajaste võtmete vaikimisi võtmehoidla: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "võti %08lX: salajane võti on imporditud\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "võti %08lX: on juba salajaste võtmete hoidlas\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "võti %08lX: salajast võtit ei leitud: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "võti %08lX: avalik võti puudub - tühistamise sertifikaati ei saa rakendada\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "võti %08lX: vigane tühistamise sertifikaat: %s - lükkasin tagasi\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "võti %08lX: \"%s\" tühistamise sertifikaat imporditud\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "võti %08lX: allkirjal puudub kasutaja ID\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "võti %08lX: mittetoetatud avaliku võtme algoritm kasutajaga \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "võti %08lX: kasutajal \"%s\" on vigane iseenda allkiri\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "võti %08lX: mittetoetatud avaliku võtme algoritm\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "võti %08lX: lisatud vahetu võtme allkiri\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "võti %08lX: võtmeseosel puudub alamvõti\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "võti %08lX: vigane alamvõtme seos\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "võti %08lX: vigane mitme alamvõtme seos\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "võti %08lX: võtme tühistamiseks puudub alamvõti\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "võti %08lX: vigane alamvõtme tühistamine\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "võti %08lX: eemaldasin mitme alamvõtme tühistamise\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "võti %08lX: jätsin vahele kasutaja ID '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "võti %08lX: jätsin alamvõtme vahele\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "võti %08lX: mitte eksporditav allkiri (klass %02x) - jätan vahele\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "võti %08lX: tühistamise sertifikaat on vales kohas - jätan vahele\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "võti %08lX: vigane tühistamise sertifikaat: %s - jätan vahele\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "võti %08lX: alamvõtme allkiri on vales kohas - jätan vahele\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "võti %08lX: ootamatu allkirja klass (0x%02x) - jätan vahele\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "võti %08lX: tuvastasin dubleeritud kasutaja ID - mestisin\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "HOIATUS: võti %08lX võib olla tühistatud: laen tühistamise võtit %08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "HOIATUS: võti %08lX võib olla tühistatud: tühistamise võtit %08lX pole.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "võti %08lX: \"%s\" tühistamise sertifikaat lisatud\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "võti %08lX: lisatud vahetu võtme allkiri\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "avalik võti ei sobi salajase võtmega!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "võtmehoidla `%s' on loodud\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "võtmehoidla vahemälu uuesti loomine ebaõnnestus: %s\n"
@@ -3383,12 +3415,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka allkirjastada? (j/e) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Ei saa allkirjastada.\n"
 
@@ -3599,8 +3631,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Allkirjastan tõesti? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "allkirjastamine ebaõnnestus: %s\n"
@@ -3609,20 +3641,20 @@ msgstr "allkirjastamine eba
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "See võti ei ole kaitstud.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Primaarse võtme salajased komponendid ei ole kättesaadavad.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Primaarse võtme salajased komponendid ei ole kättesaadavad.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Võti on kaitstud.\n"
 
@@ -3639,7 +3671,7 @@ msgstr ""
 "Sisestage sellele salajasele võtmele uus parool.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "parooli ei korratud õieti; proovige uuesti"
 
@@ -3833,24 +3865,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "viga salajase võtmebloki `%s' lugemisel: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Salajane võti on kasutatav.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Selle tegamiseks on vaja salajast võtit.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Palun kasutage kõigepealt käsku \"toggle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3858,242 +3890,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Võti on tühistatud."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Kas allkirjastan tõesti kõik kasutaja IDd? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Vihje: Valige allkirjastamiseks kasutaja\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "tundmatu allkirja klass"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "See käsklus ei ole %s moodis lubatud.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Te peate valima vähemalt ühe kasutaja ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Viimast kasutaja ID ei saa kustutada!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Kas kustutan tõesti kõik kasutaja IDd? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Kas eemaldan tõesti selle kasutaja ID? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Kas eemaldan tõesti selle kasutaja ID? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Te peata valima vähemalt ühe võtme.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "`%s' ei õnnestu avada: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Te peata valima vähemalt ühe võtme.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Kas te tõesti soovite valitud võtmeid kustutada? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit kustutada? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Kas tühistan tõesti kõik valitud kasutaja IDd? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Kas tühistan tõesti selle kasutaja ID? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit tühistada? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Kas te tõesti soovite valitud võtmeid tühistada? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit tühistada? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "sea eelistuste nimekiri"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Kas tõesti uuendan seaded? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Salvestan muutused? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Väljun salvestamata? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "uuendamine ebaõnnestus: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "salajase võtme uuendamine ebaõnnestus: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Võtit ei muudetud, seega pole uuendamist vaja.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Teatelühend: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Omadused: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Noteering: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x stiilis kasutaja ID ei oma seadeid.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Selle võtme võib olla tühistanud %s võti "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Selle võtme võib olla tühistanud %s võti "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (tundlik)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s ei õnnestu luua: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[tühistatud] "
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [aegub: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [aegub: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " usaldus: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " usaldus: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "See võti on blokeeritud"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4101,19 +4133,19 @@ msgstr ""
 "Tuleb tähele panna et kuni te pole programmi uuesti käivitanud, ei pruugi\n"
 "näidatud võtme kehtivus olla tingimata korrektne.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[tühistatud] "
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4121,7 +4153,7 @@ msgstr ""
 "HOIATUS: ühtegi kasutaja ID pole märgitud primaarseks.  See käsklus võib\n"
 "              põhjustada muu kasutaja ID primaarseks määramist.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4130,75 +4162,75 @@ msgstr ""
 "HOIATUS: See on PGP2-stiilis võti. Foto ID lisamine võib sundida mõningaid\n"
 "         PGP versioone seda võtit tagasi lükkama.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka lisada? (j/E) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Foto IDd ei saa PGP2 võtmele lisada.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Kustutan selle korrektse allkirja? (j/E/v)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Kustutan selle vigase allkirja? (j/E/v)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Kustutan selle tundmatu allkirja? (j/E/v)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Kas tõesti kustutan selle iseenda allkirja? (j/E)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Kustutatud %d allkiri.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Kustutatud %d allkirja.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Midagi ei kustutatud.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "vigane pakend"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4207,275 +4239,275 @@ msgstr ""
 "HOIATUS: See on PGP2-stiilis võti. Määratud tühistaja lisamine võib\n"
 "         põhjustada mõningaid PGP versioone seda võtit tagasi lükkama.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "PGP 2.x-stiili võtmele ei saa määratud tühistajat lisada.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Sisestage määratud tühistaja kasutaja ID: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "PGP 2.x stiilis võtit ei saa nimetada määratud tühistajaks\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "te ei saa nimetada võtit iseenda määratud tühistajaks\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "HOIATUS: See võti on määratud tühistaja poolt tühistatud!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "HOIATUS: võtme seadmist määratud tühistajaks ei saa tagasi võtta!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Olete kindel, et soovite seda võtit seada määratud tühistajaks? (j/E): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Palun eemaldage salajastelt võtmetelt valikud.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "palun valige ülimalt üks sekundaarne võti.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Muudan sekundaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Muudan primaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "v3 võtme aegumise aega ei saa muuta.\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "HOIATUS: allkirjastamise alamvõti %08lX ei ole rist-sertifitseeritud\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Palun valige täpselt üks kasutaja ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "jätan kasutaja \"%s\" v3 iseenda allkirja vahele\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Olete kindel, et soovite seda kasutada (j/E)? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Olete kindel, et soovite seda kasutada (j/E)? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Allkirja noteerimine: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Kirjutan üle (j/E)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "kasutaja ID: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   allkirjastanud %08lX %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (mitte-eksporditav)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "See allkiri aegub %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka tühistada? (j/E) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Loon sellele allkirjale tühistamise sertifikaadi? (j/E) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   allkirjastanud %08lX %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Te olete allkirjastanud järgnevad kasutaja IDd:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (mitte-eksporditav)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   tühistanud %08lX %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Te asute tühistama järgmisi allkirju:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Kas tõesti loon tühistamise sertifikaadid? (j/E) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "salajast võtit pole\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "HOIATUS: kasutaja ID allkirja ajatempel on %d sekundit tulevikus\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Näitan %s foto IDd suurusega %ld, võti 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "eelistus %c%lu on duplikaat\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "liiga palju `%c' eelistusi\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "liiga palju `%c' eelistusi\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "liiga palju `%c' eelistusi\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "lubamatu sümbol eelistuste sõnes\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "kirjutan otsese allkirja\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "kirjutan iseenda allkirja\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "kirjutan võtit siduva allkirja\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "vigane võtme suurus; kasutan %u bitti\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "võtme suurus ümardatud üles %u bitini\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "krüpteeri andmed"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4489,104 +4521,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (ainult krüptimiseks)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA ja ElGamal (vaikimisi)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA ja ElGamal (vaikimisi)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (ainult allkirjastamiseks)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (ainult allkirjastamiseks)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (ainult krüptimiseks)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Soovitud võtmepikkus on %u bitti\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4602,7 +4634,7 @@ msgstr ""
 "      <n>m = võti aegub n kuuga\n"
 "      <n>y = võti aegub n aastaga\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4618,40 +4650,40 @@ msgstr ""
 "      <n>m = allkiri aegub n kuuga\n"
 "      <n>y = allkiri aegub n aastaga\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Võti on kehtiv kuni? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Allkiri on kehtiv kuni? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "vigane väärtus\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s ei aegu kunagi\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s ei aegu kunagi\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s aegub %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Allkiri aegub %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4659,12 +4691,12 @@ msgstr ""
 "Teie süsteem ei saa esitada kuupäevi peale aastat 2038.\n"
 "Siiski käsitletakse neid korrektselt aastani 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "On see õige (j/e)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4675,7 +4707,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4691,44 +4723,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Pärisnimi: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Lubamatu sümbol nimes\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Nimi ei või alata numbriga\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Nimes peab olema vähemalt 5 sümbolit\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-posti aadress: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Selline e-posti aadress ei ole lubatud\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Kommentaar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Lubamatu sümbol kommentaaris\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Te kasutate kooditabelit `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4739,11 +4771,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Ärge palun kirjutage e-posti aadressi pärisnimesse ega kommentaari\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4758,23 +4790,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKkEeOoVv"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Muuda (N)ime, (K)ommentaari, (E)posti või (V)älju? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Muuda (N)ime, (K)ommentaari, (E)posti või (O)k/(V)älju? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Palun parandage kõigepealt viga\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4782,19 +4814,19 @@ msgstr ""
 "Te vajate oma salajase võtme kaitsmiseks parooli.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4806,7 +4838,7 @@ msgstr ""
 "kasutades seda programmi võtmega \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4818,50 +4850,50 @@ msgstr ""
 "kasutada kettaid jne), see annaks juhuarvude generaatorile võimaluse\n"
 "koguda paremat entroopiat.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Võtme genereerimine katkestati.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "kirjutan avaliku võtme faili `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "kirjutatavat avalike võtmete hoidlat pole: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "kirjutatavat salajaste võtmete hoidlat pole: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "viga avaliku võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "avalik ja salajane võti on loodud ja allkirjastatud.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4871,43 +4903,43 @@ msgstr ""
 "Krüptimiseks tuleb genereerida teine võti, seda saate teha\n"
 "kasutades võtit \"--edit-key\".\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Võtme genereerimine ebaõnnestus: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr "võti loodi %lu sekund tulevikus (ajahüpe või kella probleem)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr "võti loodi %lu sekundit tulevikus (ajahüpe või kella probleem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "MÄRKUS: v3 võtmetele alamvõtmete loomine ei ole OpenPGP ühilduv\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Loon tõesti? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "MÄRKUS: salajane võti %08lX aegus %s\n"
@@ -4940,30 +4972,30 @@ msgstr "Allkirja noteerimine: "
 msgid "Keyring"
 msgstr "Võtmehoidla"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Primaarse võtme sõrmejälg:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "    Alamvõtme sõrmejälg:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Primaarse võtme sõrmejälg:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "     Alamvõtme sõrmejälg:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Võtme sõrmejälg ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5044,464 +5076,464 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "HOIATUS: seaded failis `%s' pole seekord veel aktiivsed\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "allkirjastatud teie võtmega %08lX %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "võtmeserveri viga"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "võtmeserveri viga"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "võtmeserverilt lugemine ebaõnnestus: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "veider suurus krüptitud sessiooni võtme jaoks (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s krüpteeritud sessiooni võti\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "krüpteeritud tundmatu algoritmiga %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "avalik võti on %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "avaliku võtmega krüpteeritud andmed: hea DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "krüpteeritud %u-bitise %s võtmega, ID %08lX, loodud %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                 ka \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "krüpteeritud %s võtmega, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "avaliku võtmega lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "krüpteeritud kasutades %lu parooli\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "krüpteeritud ühe parooliga\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "eeldan %s krüpteeritud andmeid\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA ¨iffer pole saadaval, loodan kasutada selle asemel %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "lahtikrüpteerimine õnnestus\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "HOIATUS: teate kooskõlalisus ei ole tagatud\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "HOIATUS: krüpteeritud teadet on muudetud!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "MÄRKUS: saatja nõudis \"ainult-teie-silmadele\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "algne failinimi on='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "eraldiseisev tühistus - realiseerimiseks kasutage \"gpg --import\"\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Korrektne allkiri kasutajalt \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "allkirja kontroll jäeti ära\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neid allkirju ei õnnestu töödelda\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                 ka \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Allkirja lõi %.*s kasutades %s võtit ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Võtme leiate: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "HALB allkiri kasutajalt \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Aegunud allkiri kasutajalt \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrektne allkiri kasutajalt \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[ebakindel]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                 ka \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Allkiri aegub %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binaarne"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "tekstimood"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "tundmatu"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Allkirja ei saa kontrollida: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "ei ole eraldiseisev allkiri\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "HOIATUS: leidsin mitu allkirja. Kontrollitakse ainult esimest.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "eraldiseisev allkiri klassiga 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "vana stiili (PGP 2.x) allkiri\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "proc_tree() tuvastas vigase juurmise paketi\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "faili ei õnnestu avada: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "trustdb: lugemine ebaõnnestus (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "ei oska käsitleda avaliku võtme algoritmi %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "sõnumilühendi algoritmi %s (%d) kasutamine on vastuolus saaja eelistustega\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "realiseerimata ¨ifri algoritm"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "sõnumilühendi algoritmi %s (%d) kasutamine on vastuolus saaja eelistustega\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA ¨ifri lisandprogrammi pole\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = esita palun täiendavat infot\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: ebasoovitav võti \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "palun kasutage selle asemel \"%s%s\"\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Pakkimata"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Pakkimata"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "see teade ei pruugi olla programmiga %s kasutatav\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "loen võtmeid failist `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "tundmatu vaikimisi saaja `%s'\n"
@@ -5544,18 +5576,18 @@ msgstr "uus omaduste fail `%s' on loodud\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "HOIATUS: seaded failis `%s' pole seekord veel aktiivsed\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "ei oska käsitleda avaliku võtme algoritmi %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "HOIATUS: tõenäoliselt ebaturvaline sümmeetriliselt krüpteeritud sessiooni "
 "võti\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "alampaketil tüübiga %d on kriitiline bitt seatud\n"
@@ -5611,7 +5643,7 @@ msgstr "%u-bitine %s v
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5625,35 +5657,35 @@ msgstr ""
 "väga suurt pilti, on ka kõti väha suur!\n"
 "Mõistlik pildi suurus võiks olla umbes 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Sisestage foto ID jaoks JPEG faili nimi: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "faili ei õnnestu avada: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Olete kindel, et soovite seda kasutada (j/E)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\": ei ole JPEG fail\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "On see foto õige (j/E/v)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "foto ID ei saa näidata!\n"
 
@@ -5685,6 +5717,16 @@ msgstr "t
 msgid "revocation comment: "
 msgstr "tühistamise kommentaar: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iItTvVjJ"
@@ -5872,25 +5914,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Ei ole kindel, et allkiri kuulub omanikule.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: jätsin vahele: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Te ei määranud kasutaja IDd. (võite kasutada võtit \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5898,42 +5940,42 @@ msgstr ""
 "\n"
 "Sisestage kasutaja ID.  Lõpetage tühja reaga: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Tundmatu kasutaja ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "jätsin vahele: avalik võti on juba vaikimisi saaja\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Avalik võti on blokeeritud.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "tundmatu vaikimisi saaja `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: jätsin vahele: avalik võti on blokeeritud\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "kehtivaid aadresse pole\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "võti %08lX: kasutaja ID puudub\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "võti %08lX: kasutaja ID puudub\n"
@@ -6163,8 +6205,8 @@ msgstr "loodi n
 #, c-format
 msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
 msgstr ""
-"sümmeetrilises ¨ifris ei õnnestu vältida nõrga võtme kasutamist; proovisin %"
-"d korda!\n"
+"sümmeetrilises ¨ifris ei õnnestu vältida nõrga võtme kasutamist; proovisin "
+"%d korda!\n"
 
 #: g10/seskey.c:227 sm/certcheck.c:85
 msgid "DSA requires the hash length to be a multiple of 8 bits\n"
@@ -6226,17 +6268,23 @@ msgstr "M
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "MÄRKUS: võti on tühistatud"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "eeldan tundmatu kriitilise biti tõttu võtmel %08lX vigast allkirja\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "võti %08lX: alamvõtme tühistamise paketile puudub alamvõti\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "võti %08lX: alamvõtme allkirjaga sidumiseks puudub alamvõti\n"
@@ -6327,7 +6375,7 @@ msgstr ""
 "jätsin `%s' vahele: see on PGP genereeritud ElGamal võti,\n"
 "mis ei ole allkirjades kasutamiseks turvaline!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "usalduse kirje %lu, tüüp %d: kirjutamine ebaõnnestus: %s\n"
@@ -6375,17 +6423,17 @@ msgstr "viga usalduse kirje otsimisel: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "viga lugemisel: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb kirje %lu: lseek ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
@@ -6394,117 +6442,117 @@ msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "trustdb transaktsioon on liiga suur\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "`%s' ei õnnestu sulgeda: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: kataloogi ei ole!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "`%s' ei õnnestu avada\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: versioonikirje loomine ei õnnestu: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: loodi vigane usalduse andmebaas\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: trustdb on loodud\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "MÄRKUS: trustdb pole kirjutatav\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: vigane trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: paisktabeli loomine ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: viga versioonikirje uuendamisel: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: viga versioonikirje lugemisel: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: viga versioonikirje kirjutamisel: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: lugemine ebaõnnestus (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: ei ole trustdb fail\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: versioonikirje kirje numbriga %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: vigane faili versioon %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: viga vaba kirje lugemisel: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: viga kataloogikirje kirjutamisel: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: kirje nullimine ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: kirje lisamine ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: trustdb on loodud\n"
@@ -6519,173 +6567,181 @@ msgstr "ei suuda k
 msgid "input line longer than %d characters\n"
 msgstr "sisendrida on pikem, kui %d sümbolit\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' ei ole kehtiv pikk võtmeID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "võti %08lX: aktsepteerin usaldusväärse võtmena\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "võti %08lX esineb trustdb failis enam kui korra\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "võti %08lX: usaldataval võtmel pole avalikku võtit - jätsin vahele\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "võti on märgitud abslouutselt usaldatuks.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "usalduse kirje %lu, päringu tüüp %d: lugemine ebaõnnestus: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "usalduse kirje %lu ei oma soovitud tüüpi %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[tühistatud] "
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[aegunud] "
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "tundmatu"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "mitte kunagi"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "trustdb kontrolliks puudub vajadus\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "trustdb järgmine kontroll %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "trustdb kontrolliks puudub vajadus\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "trustdb kontrolliks puudub vajadus\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "ei leia avalikku võtit %08lX: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "palun tehke --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "kontrollin trustdb faili\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d võtit töödeldud (%d kehtivust puhastatud)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "absoluutselt usaldatavaid võtmeid pole\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "puudub absoluutselt usaldatava võtme %08lX avalik võti\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "usalduse kirje %lu, tüüp %d: kirjutamine ebaõnnestus: %s\n"
@@ -6710,77 +6766,77 @@ msgstr "sisendrida %u on liiga pikk v
 msgid "can't open fd %d: %s\n"
 msgstr "`%s' ei õnnestu avada: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "viga faili lugemisel"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "rida on liiga pikk\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "vigane argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "vastuolulised käsud\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "vigased impordi võtmed\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "ei töödeldud"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "vigased impordi võtmed\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Vigane käsklus (proovige \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "ei töödeldud"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "vigased impordi võtmed\n"
@@ -6790,22 +6846,17 @@ msgstr "vigased impordi v
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "te leidsite vea ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "viga `%s' lugemisel: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "faili ei õnnestu avada: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "pakendamine ebaõnnestus: %s\n"
@@ -6862,24 +6913,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6928,208 +6980,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "võtmehoidla vahemälu uuesti loomine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "võtmeserverile saatmine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Palun valige tühistamise põhjus:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "muuda parooli"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "muuda parooli"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "viga võtmebloki lugemisel: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: viga vaba kirje lugemisel: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' on juba pakitud\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "genereeri uus võtmepaar"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "genereeri uus võtmepaar"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Võtme genereerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "ei leia OpenPGP andmeid.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "muuda parooli"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7138,72 +7204,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NIMI|kasuta NIME vaikimisi saajana"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NIMI|kasuta NIME vaikimisi saajana"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "ära kasuta terminali"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "vastuolulised käsud\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7242,11 +7312,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7278,208 +7348,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "MÄRKUS: võti on tühistatud"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "See võti on aegunud!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "See võti on aegunud!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "See võti on aegunud!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "See võti on aegunud!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "         uusi allkirju: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Tühistamise sertifikaat on loodud.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "halb sertifikaat"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "näita sõrmejälge"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "genereeri tühistamise sertifikaat"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "kontrolli allkirja"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "eelistus %c%lu on duplikaat\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Tühistamise sertifikaat on loodud.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "halb sertifikaat"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7544,19 +7615,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7765,7 +7836,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "viga võtmebloki lugemisel: %s\n"
@@ -7902,7 +7973,7 @@ msgstr "lisa see v
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|kasuta seda võtmeserverit"
@@ -7924,8 +7995,8 @@ msgstr "Kasuta: gpg [v
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Süntaks: gpg [võtmed] [failid]\n"
 "allkirjasta, kontrolli, krüpti ja dekrüpti\n"
@@ -7961,26 +8032,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " j = jäta see võti vahele\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "kirjutan faili `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "`%s' ei õnnestu sulgeda: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7998,12 +8069,7 @@ msgstr "genereeri t
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -8018,46 +8084,42 @@ msgstr "viga parooli loomisel: %s\n"
 msgid "error reading input: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "võtmehoidla `%s' on loodud\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? probleem tühistamise kontrollimisel: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
@@ -8245,149 +8307,149 @@ msgstr "viga teate saatmisel serverile `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|kasuta parooli moodi N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "viga parooli loomisel: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NIMI|krüpti NIMEle"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NIMI|kasuta paroolidega ¨ifri algoritmi NIMI"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8648,6 +8710,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "viga `%s' lugemisel: %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Käsklus> "
 
@@ -9177,9 +9247,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "kasutati valet salajast võtit"
 
-#~ msgid "not supported"
-#~ msgstr "ei ole toetatud"
-
 #~ msgid "bad key"
 #~ msgstr "halb võti"
 
@@ -9840,8 +9907,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "kontrollin sügavusel %d allkirjastatud=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%"
-#~ "d\n"
+#~ "kontrollin sügavusel %d allkirjastatud=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/"
+#~ "%d\n"
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
index 84f21a2..618c988 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 49929f7..3a4ece7 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -22,15 +22,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2004-06-16 22:40+0300\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
@@ -40,21 +41,21 @@ msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -64,164 +65,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "rivi on liian pitkä\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "salasana on liian pitkä\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Nimessä on epäkelpo merkki\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI ei kelpaa"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "väärä salasana"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "väärä salasana"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "suojausalgoritmi %d%s ei ole käytettävissä\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "kirjoitettavissa olevaa salaista avainrengasta ei löydy: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muuta salasanaa"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -241,7 +245,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -348,7 +352,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Tarvitset salasanan suojaamaan salaista avaintasi.\n"
 "\n"
@@ -358,7 +362,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "muuta salasanaa"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -369,108 +373,116 @@ msgstr ""
 "Valitsimet:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "monisanainen"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "ole jonkinverran hiljaisempi"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "etsi avaimia avainpalvelimelta"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "päivitä luottamustietokanta"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "ei tuettu"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "ei tuettu"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
@@ -478,175 +490,176 @@ msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
 "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "HUOM: Ei oletusasetustiedostoa \"%s\"\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "asetustiedosto \"%s\": %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "luetaan asetukset tiedostosta \"%s\"\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "hakemiston \"%s\" luominen ei onnistu: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "ei voida luoda kohdetta %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ei ole käytettävissä tässä istunnossa\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "päivitys epäonnistui: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: hakemisto luotu\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: luku epäonnistui (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: hakemistoa ei voi luoda: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "salaisen päivitys epäonnistui: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ohitettu: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent ei ole käytettävissä tässä istunnossa\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "GPG_AGENT_INFO-ympäristömuuttuja on väärin muotoiltu\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent-protokollaversio %d ei ole tuettu\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -655,7 +668,7 @@ msgstr ""
 "@Komennot:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -667,51 +680,51 @@ msgstr ""
 "Valitsimet:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "väärä salasana"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Peru"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -826,8 +839,8 @@ msgstr "muuta salasanaa"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -867,12 +880,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[Käyttäjätunnusta ei löytynyt]"
@@ -905,17 +918,17 @@ msgstr "käyttäjän peruma\n"
 msgid "problem with the agent\n"
 msgstr "agentin käytössä on ongelmia: agentti vastaa 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "core-tiedostojen luontia ei voi estää: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
@@ -1150,12 +1163,12 @@ msgstr "Tämä avain on vanhentunut!"
 msgid "Root certificate trustworthy"
 msgstr "virheellinen varmenne"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "virheellinen varmenne"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Avain saatavilla kohteessa: "
@@ -1237,7 +1250,7 @@ msgstr "odottamaton ascii-koodaus:"
 msgid "invalid dash escaped line: "
 msgstr "epäkelpo viiva rivin lopussa: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "epäkelpo radix64-merkki %02x ohitettu\n"
@@ -1254,7 +1267,7 @@ msgstr "ennenaikainen tiedoston loppu (CRC:ssä)\n"
 msgid "malformed CRC\n"
 msgstr "väärinmuotoiltu CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC-virhe; %06lx - %06lx\n"
@@ -1268,16 +1281,16 @@ msgstr "Ennenaikainen tiedoston loppu (Trailerissa)\n"
 msgid "error in trailer line\n"
 msgstr "virhe trailer-rivissä\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "epäkelpo ascii-koodaus: yli %d merkkiä pitkä rivi\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1314,7 +1327,7 @@ msgstr "VAROITUS: löydettiin väärin muotoiltua notaatiodataa\n"
 msgid "not human readable"
 msgstr "ei ihmisten luettavissa"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "salaista avainta ei löydy"
@@ -1324,8 +1337,8 @@ msgstr "salaista avainta ei löydy"
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "tätä ei voi tehdä eräajossa\n"
@@ -1335,224 +1348,224 @@ msgstr "tätä ei voi tehdä eräajossa\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "salaisen avaimen osat eivät ole käytettävissä\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Valintasi? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Ei eriteltyä syytä"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "ei käsitelty"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "ei vastaavaa julkista avainta: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "päivitä valinnat"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Valinnassa on luvaton merkki\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Valinnassa on luvaton merkki\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "näytä sormenjälki"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Avaimen luonti epäonnistui: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "pyöristetty %u bittiin\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1560,145 +1573,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Valitse millaisen avaimen haluat:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Valinta ei kelpaa.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Valitse mitätöinnin syy:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "tuntematon suojausalgoritmi\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Ensisijaisen avaimen salaiset osat eivät ole saatavilla.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ulos tästä valikosta"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "näytä tämä ohje"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Avain saatavilla kohteessa: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "muuta voimassoloaikaa"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muuta luottamusastetta"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "näytä sormenjälki"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "luo uusi avainpari"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Komento ei kelpaa (kirjoita \"help\")\n"
 
@@ -1706,18 +1719,18 @@ msgstr "Komento ei kelpaa (kirjoita \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output ei toimi yhdessä tämän komennon kanssa\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "tiedostoa \"%s\" ei voi avata\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1817,7 +1830,7 @@ msgstr "valittu pakkausalgoritmi %s (%d) ei ole vastaanottajan suosima\n"
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "valittu symmetrinen salain %s (%d) ei ole vastaanottajan suosima\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
@@ -1827,78 +1840,78 @@ msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s salattu vastaanottajalle: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s salattua dataa\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "salattu tuntemattomalla algoritmilla %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "VAROITUS: viesti salattiin symmetrisessä salaimessa \n"
 "esiintyvällä heikolla avaimella.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "ongelma käsiteltäessä salattua pakettia\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "etäohjelman suorittamista ei tueta\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "ulkoisen ohjelman kutsuminen poistettu käytöstä johtuen turvattomista \n"
 "asetustiedoston oikeuksista\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "tämä ympäristö vaatii väliaikaistiedoston kutsuttaessa ulkoisia ohjelmia\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "komentoa %s \"%s\" ei voi suorittaa: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "komentoa %s \"%s\" ei voi suorittaa: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "järjestelmävirhe kutsuttaessa ulkoista ohjelmaa: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "ulkoisen ohjelman luonnoton päättyminen\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "ulkoista ohjelmaa ei voi suorittaa\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "ulkoisen ohjelman vastausta ei voi lukea: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "VAROITUS: väliaikaishakemistoa \"%s\" ei voi poistaa: %s\n"
@@ -2001,204 +2014,204 @@ msgstr "virhe luotaessa \"%s\": %s\n"
 msgid "No fingerprint"
 msgstr "näytä sormenjälki"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Epäkelpo avain %08lX hyväksytty valitsimella --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "ei salaista aliavainta julkiselle aliavaimelle %08lX - ohitetaan\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
 "käytetään toissijaista avainta %08lX ensisijaisen avaimen %08lX sijasta\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 "avain %08lX: salaisella avaimella ei ole vastaavaa \n"
 "julkista avainta - ohitetaan\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "tee erillinen allekirjoitus"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[tiedosto]|tee selkokielinen allekirjoitus"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "tee erillinen allekirjoitus"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "salaa tiedot"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "salaa vain symmetrisellä salaimella"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "avaa tiedot (oletus)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "tarkista allekirjoitus"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "näytä avaimet"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "näytä avaimet allekirjoituksineen"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "tarkista avainten allekirjoitukset"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "näytä avaimet sormenjälkineen"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "näytä salaiset avaimet"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "luo mitätöintivarmenne"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "poista avaimet julkisten avainten renkaasta"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "poista avaimet salaisten avainten renkaasta"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "allekirjoita avain"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "allekirjoita avain paikallisesti"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "allekirjoita tai muokkaa avainta"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muuta salasanaa"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "vie avaimia"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "vie avaimia palvelimelle"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "nouda avaimia avainpalvelimelta"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "etsi avaimia avainpalvelimelta"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "päivitä kaikki avaimet avainpalvelimelta"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "nouda/liitä avaimia"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "päivitä luottamustietokanta"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [tiedostot]|tulosta viestien tiivisteet"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "tuota ascii-koodattu tuloste"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NIMI|salaa vastaanottajalle NIMI"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "käytä tätä käyttäjätunnusta allekirjoittamiseen ja avaamiseen"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|aseta pakkausaste N (0 poistaa käytöstä)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "käytä tekstimuotoa"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "älä tee muutoksia"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "kysy ennen ylikirjoittamista"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2207,7 +2220,7 @@ msgstr ""
 "(Katso täydellinen luettelo kaikista komennoista ja valitsimista man-"
 "sivuilta)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2226,21 +2239,26 @@ msgstr ""
 " --list-keys [nimet]        näytä avaimet\n"
 " --fingerprint [nimet]      näytä sormenjäljet\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntaksi: gpg [valitsimet] [tiedostot]\n"
 "allekirjoita, tarkista, salaa tai avaa\n"
 "oletustoiminto riippuu syötteestä\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2248,563 +2266,563 @@ msgstr ""
 "\n"
 "Tuetut algoritmit:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "JulkAvain: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Salaus: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Tiiviste: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Pakkaus: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "käyttö: gpg [valitsimet] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "=-merkkiä ei löytynyt ryhmämäärityksessä \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "tuntematon asetus \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "näytä mihin avainrenkaaseen tulostettu avain kuuluu"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "HUOM: Vanhat oletusarvoiset asetukset löytyvät tiedostosta \"%s\"\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "HUOM: %s ei ole normaaliin käyttöön!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "exec-polkua kohteeseen %s ei voi asettaa\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROITUS: ohjelma voi luoda core-tiedoston!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROITUS: %s korvaa %s:n\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ja %s eivät ole sallittuja yhdessä!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ja %s yhdessä on järjetöntä!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "erillisen allekirjoituksen voi luoda vain --pgp2-tilassa\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "--pgp2-tilassa ei voi allekirjoittaa ja salata samanaikaisesti\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "sinun tulee käyttää tiedostoja (eikä putkitusta) kun --pgp2 on käytössä.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "viestin salaaaminen --pgp2-tilassa vaatii IDEA-salaimen\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valittu salausalgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "valittu tiivistealgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "valittu salausalgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valittu varmenteen tiivistealgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed täytyy olla suurempi kuin 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed täytyy olla suurempi kuin 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth tulee olla välillä 1-255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level ei kelpaa; täytyy olla 0, 1, 2 tai 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level ei kelpaa; täytyy olla 1, 2 tai 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 "HUOM: yksinkertaista S2K-tilaa (0) ei todellakaan suositella käytettäväksi\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "virheellinen S2K-tila; täytyy olla 0, 1 tai 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "virheelliset oletusarvoiset valinnat\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "virheelliset henkilökohtaisen salaimen valinnat\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "virheelliset henkilökohtaiset tiivisteen valinnat\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "virheelliset henkilökohtaiset pakkausvalinnat\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ja %s eivät vielä toimi yhdessä\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "salausalgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "tiivistealgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "pakkausalgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROITUS: vastaanottajia (-r) annettu käyttämättä julkisen avaimen salausta\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [tiedostonimi]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [tiedostonimi]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "avaus epäonnistui: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [tiedostonimi]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [tiedostonimi]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--allekirjoita [tiedostonimi]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [tiedostonimi]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [tiedostonimi]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [tiedostonimi]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [tiedostonimi]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [tiedostonimi]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key käyttäjätunnus"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key käyttäjätunnus"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key käyttäjätunnus [komennot]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key käyttäjätunnus"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "avainpalvelimelle lähettäminen epäonnistui: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "avainpalvelimelta vastaanotto epäonnistui: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "avaimen vienti epäonnistui: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "avainpalvelimelta etsiminen epäonnistui: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "avainpalvelimen päivitys epäonnistui: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "ascii-koodauksen purku epäonnistui: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "ascii-koodaaminen epäonnistui: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "virheellinen tiivistealgoritmi \"%s\"\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[tiedostonimi]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Kirjoita viestisi...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "annettu varmennekäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
@@ -2844,480 +2862,494 @@ msgstr "Ei ohjeita saatavilla"
 msgid "No help available for `%s'"
 msgstr "Ei ohjetta aiheesta \"%s\""
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "päivitä luottamustietokanta"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "julkinen avain ei täsmää salaiseen avaimeen!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "salaista avainta ei voi käyttää"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ohitetaan tyypin %d lohko\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "tähän mennessä käsitelty %lu avainta\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Kaikkiaan käsitelty: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      ohitetaan uudet avaimet: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          ilman käyttäjätunnuksia: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              tuotu: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             muuttamatonta: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          uusia käyttäjätunnuksia: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           uusia aliavaimia: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        uusia allekirjoituksia: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   uusia avainten mitätöintejä: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      luettuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  tuotuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " muuttamattomia salaisia avaimia: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          ei tuotu: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        uusia allekirjoituksia: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      luettuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "avain %08lX: ei käyttäjätunnusta\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "ohitetaan \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "avain %08lX: HKP-aliavainvirhe korjattu\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "avain %08lX: käyttäjätunnus \"%s\" hyväksytty ilman omaa allekirjoitusta\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "avain %08lX: ei voimassaolevia käyttäjätunnuksia\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "tämän voi aiheuttaa puuttuva oma-allekirjoitus\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "avain %08lX: julkista avainta ei löydetty: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "avain %08lX: uusi avain - ohitetaan\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "kirjoitettavissa olevaa avainrengasta ei löydy: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "kirjoitetaan kohteeseen \"%s\"\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "avain %08lX: julkinen avain \"%s\" tuotu\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "avain %08lX: ei vastaa omaa kopiotamme\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "avain %08lX: alkuperäistä avainlohkoa ei löydy: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "avain %08lX. alkuperäisen avainlohko lukeminen ei onnistu: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "avain %08lX: \"%s\" 1 uusi käyttäjätunnus\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "avain %08lX: \"%s\" 1 uusi allekirjoitus\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "avain %08lX: \"%s\" 1 uusi aliavain\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "avain %08lX: \"%s\" %d uutta aliavainta\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "avain %08lX: \"%s\" ei muutoksia\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "avain %08lX: avaimella on epäkelpo salain %d - ohitetaan\n"
+msgid "secret key %s: %s\n"
+msgstr "salaista avainta \"%s\" ei löydy: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "avain %08lX: avaimella on epäkelpo salain %d - ohitetaan\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "salaiselle avainrenkaalle ei ole asetettu oletusarvoa: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "avain %08lX: salainen avain tuotu\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "avain %08lX: avain on jo avainrenkaassa\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "avain %08lX: salaista avainta ei löydy: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "avain %08lX: ei julkista avainta - mitätöintivarmennetta ei voida käyttää\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "avain %08lX: pätemätön mitätöintivarmenne: %s - hylätty\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "avain %08lX: mitätöintivarmenne \"%s\" tuotu\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "avain %08lX: allekirjoitukselle ei ole käyttäjätunnusta\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "avain %08lX: julkisen avaimen algoritmia \"%s\" ei tueta\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "avain %08lX: epäkelpo oma-allekirjoitus käyttäjätunnuksella \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "avain %08lX: julkisen avaimen algoritmia ei tueta\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "avain %08lX: lisättiin suora avainallekirjoitus\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "avain %08lX: ei aliavainta avainten riippuvuuksiin\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "avain %08lX: pätemätön aliavainriippuvuus\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "avain %08lX: moninkertainen aliavainriippuvuus poistettu\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "avain %08lX: ei aliavainta avainten mitätöintiä varten\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "avain %08lX: epäkelpo aliavaimen mitätöinti\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "avain %08lX: useiden aliavainten mitätöinti poistettu\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "avain %08lX: käyttäjätunnus ohitettu '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "avain %08lX: aliavain ohitettu\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "avain %08lX: allekirjoitusta ei voida viedä (luokka %02x) - ohitetaan\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "avain %08lX: mitätöintivarmenne väärässä paikassa - ohitetaan\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "avain %08lX: epäkelpo mitätöintivarmenne: %s - ohitetaan\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "avain %08lX: aliavaimen allekirjoitus väärässä paikassa - ohitetaan\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "avain %08lX: odottamaton allekirjoitusluokka (0x%02X) - ohitetaan\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "avain %08lX: käyttäjätunnuksen kaksoiskappale havaittu - liitetty\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "VAROITUS: avain %08lX saattaa olla mitätöity: haetaan mitätöintiavain %08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "VAROITUS: avain %08lX saattaa olla mitätöity: mitätöintiavainta %08lX \n"
 "ei saatavilla.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "avain %08lX: \"%s\"-mitätöintivarmenne lisätty\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "avain %08lX: lisättiin suora avainallekirjoitus\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "julkinen avain ei täsmää salaiseen avaimeen!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "avainrengas \"%s\" luotu\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "avainrenkaan välimuistin uudelleenluominen epäonnistui: %s\n"
@@ -3407,12 +3439,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Haluatko varmasti edelleen allekirjoittaa? (k/E) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Allekirjoittaminen ei onnistu.\n"
 
@@ -3625,8 +3657,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Varmastiko allekirjoita? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "allekirjoitus epäonnistui: %s\n"
@@ -3635,20 +3667,20 @@ msgstr "allekirjoitus epäonnistui: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Avainta ei ole suojattu.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Ensisijaisen avaimen salaiset osat eivät ole saatavilla.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Ensisijaisen avaimen salaiset osat eivät ole saatavilla.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Avain on suojattu.\n"
 
@@ -3665,7 +3697,7 @@ msgstr ""
 "Syötä uusi salasana salaiselle avaimelle.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "salasanaa ei toistettu oikein, yritä uudestaan."
 
@@ -3859,24 +3891,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "virhe luettaessa salaista avainlohkoa \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Salainen avain on saatavilla.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Tähän tarvitaan salainen avain.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Käytä ensin komentoa \"toggle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3884,242 +3916,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Avain on mitätöity."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Varmastiko allekirjoita kaikki käyttäjätunnukset?"
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Vihje: Valitse allekirjoitettavat käyttäjätunnukset\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "tuntematon allekirjoitusluokka"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Sinun täytyy valita ainakin yksi käyttäjätunnus.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Et voi poistaa viimeistä käyttäjätunnusta!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Varmastiko poista kaikki valitut käyttäjätunnukset? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Varmastiko poista tämä käyttäjätunnus? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Varmastiko poista tämä käyttäjätunnus? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Sinun täytyy valita ainakin yksi avain.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Sinun täytyy valita ainakin yksi avain.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Haluatko varmasti poistaa valitut avaimet? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Haluatko varmasti poistaa tämän avaimen? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Varmastiko mitätöi kaikki valitut käyttäjätunnukset? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Varmastiko mitätöi tämä käyttäjätunnus? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Haluatko varmasti mitätöidä tämän avaimen? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Haluatko varmasti mitätöidä valitut avaimet? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Haluatko varmasti mitätöidä tämän avaimen? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "näytä valinnat"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Varmastiko päivitä valinnat? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Tallenna muutokset? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Lopeta tallentamatta muutoksia?"
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "päivitys epäonnistui: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "salaisen päivitys epäonnistui: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Päivitystä ei tarvita, koska avain ei ole muuttunut.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Tiiviste: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Ominaisuudet: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notaatio: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x -muodon käyttäjätunnukselle ei ole valintoja.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Tämä avain voidaan mitätöidä %s-avaimella "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tämä avain voidaan mitätöidä %s-avaimella "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (luottamuksellinen)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "ei voida luoda kohdetta %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[mitätöity] "
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [vanhenee: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [vanhenee: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " luottamus: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " luottamus: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Tämä avain on poistettu käytöstä"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4127,19 +4159,19 @@ msgstr ""
 "Huomioi, että tässä näytetty voimassaolo ei ole välttämättä\n"
 "ajan tasalla jollet käynnistä ohjelmaa uudelleen\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[mitätöity] "
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4147,7 +4179,7 @@ msgstr ""
 "VAROITUS: mitään käyttäjätunnusta ei ole merkitty ensisijaiseksi.  Tämän \n"
 "komennon johdosta eri käyttäjätunnus voi tulla oletetuksi ensisijaiseksi.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4156,75 +4188,75 @@ msgstr ""
 "VAROITUS: Tämä on PGP2-muodon avain.  Valokuvan lisääminen voi\n"
 "          saada jotkin PGP:n versiot hylkäämään avaimen.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Haluatko edelleen varmasti lisätä sen? (k/E) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Et voi lisätä valokuvaa PGP2-muodon avaimeen.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Poistetaanko tämä kelvollinen allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Poistetaanko tämä epäkelpo allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Poistetaanko tämä tuntematon allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Varmastiko poista oma-allekirjoitus? (k/E)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d allekirjoitus poistettu.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d allekirjoitusta poistettu.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Mitään ei poistettu.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "virheellinen ascii-koodaus"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4234,279 +4266,279 @@ msgstr ""
 "voi\n"
 "          saada jotkin PGP:n versiot hylkäämään avaimen.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Et voi lisätä määrättyä mitätöijää PGP 2.x -muodon avaimeen.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Syötä määrätyn mitätöijän käyttäjätunnus: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "PGP 2.x -avainta ei voi nimetä määrätyksi mitätöijäksi\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "et voi nimittää avainta sen omaksi määrätyksi mitätöijäksi\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "VAROITUS: Tämän avaimen nimetty mitätöijä on mitätöinyt avaimen!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VAROITUS: avaimen nimittämistä määrätyksi mitätöijäksi ei voi perua!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Haluatko varmasti nimittää tämän avaimen määrätyksi mitätöijäksi? (k/E): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Poista salaisten avainten valinnat, kiitos.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Valitse korkeintaan yksi toissijainen avain, kiitos.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Muutetaan toissijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Muutetaan ensisijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Et voi muuttaa v3-avainten vanhentumispäivää\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "VAROITUS: allekirjoitusaliavain %08lX ei ole ristiinvarmennettu\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Valitse tasan yksi käyttäjätunnus!\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ohitetaan v3-muodon oma-allekirjoitus käyttäjätunnukselle \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Haluatko varmasti käyttää sitä (k/E)? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Haluatko varmasti käyttää sitä (k/E)? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Allekirjoitusnotaatio: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Ylikirjoita (k/E)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "käyttäjätunnus: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   %08lX allekirjoitti tämän %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (vientiin kelpaamaton)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Tämä allekirjoitus vanheni %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Haluatko varmasti mitätöidä sen? (k/E) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Luodaanko tälle alekirjoitukselle mitätöintivarmenne? (k/E) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   %08lX allekirjoitti tämän %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Olet allekirjoittanut seuraavat käyttäjätunnukset:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (vientiin kelpaamaton)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   %08lX mitätöi tämän %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Olet mitätöimässä seuraavat allekirjoitukset:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Varmastiko luo mitätöintivarmenteet? (k/E) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "salainen avain ei ole saatavilla\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "VAROITUS: käyttäjätunnuksen allekirjoitus on päivätty %d sekuntin päähän "
 "tulevaisuuteen\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "Näytetään valokuva %s, kokoa %ld avaimelle 0x%08lX\n"
 "(käyttäjätunnus %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "valinta %c%lu on kopio\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "liian monta \"%c\" valintaa\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "liian monta \"%c\" valintaa\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "liian monta \"%c\" valintaa\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "Valinnassa on luvaton merkki\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "kirjoitetaan suora allekirjoitus\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "kirjoitetaan oma-allekirjoitus\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "kirjoitetaan avaimen varmentava allekirjoitus\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "avaimen koko on virheellinen, käytetään %u bittiä\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "avaimen koko on pyöristetty %u bittiin\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "salaa tiedot"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4520,104 +4552,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (vain salaus)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Valitse millaisen avaimen haluat:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA ja ElGamal (oletus)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA ja ElGamal (oletus)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (vain allekirjoitus)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (vain allekirjoitus)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (vain salaus)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Halutun avaimen koko on %u bittiä\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4633,7 +4665,7 @@ msgstr ""
 "     <n>m = Avain vanhenee n kuukauden kuluttua\n"
 "     <n>y = Avain vanhenee n vuoden kuluttua\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4649,40 +4681,40 @@ msgstr ""
 "     <n>m = Allekirjoitus vanhenee n kuukauden kuluttua\n"
 "     <n>y = Allekirjoitus vanhenee n vuoden kuluttua\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Avain on voimassa? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Allekirjoitus on voimassa? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "arvo ei kelpaa\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s ei vanhene koskaan\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s ei vanhene koskaan\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s vanhenee %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Allekirjoitus vanhenee %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4690,12 +4722,12 @@ msgstr ""
 "Järjestelmäsi ei osaa näyttää päiväyksiä kuin vuoteen 2038.\n"
 "Se kuitenkin käsittelee päiväykset oikein vuoteen 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Onko tämä oikein (k/e) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4706,7 +4738,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4724,44 +4756,44 @@ msgstr ""
 "     \"Matti Meikäläinen (nuorempi) <matti.meikalainen@osoite.fi>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Oikea nimi: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Nimessä on epäkelpo merkki\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Nimi ei voi alkaa numerolla\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Nimen täytyy olla vähintään 5 merkkiä pitkä\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Sähköpostiosoite: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Sähköpostiosoite ei kelpaa\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Huomautus: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Huomautuksessa on epäkelpo merkki\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Käytät merkistöä \"%s\".\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4772,11 +4804,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Älä syötä sähköpostiosoitetta nimen tai huomautuksen paikalle\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4791,23 +4823,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnHhSsOoLl"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Muuta (N)imi, (H)uomautus, (S)ähköposti vai (L)opeta?"
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Muuta (N)imi, (H)uomautus, (S)ähköposti vai (O)k/(L)opeta?"
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Ole hyvä ja korjaa ensin virhe\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4815,19 +4847,19 @@ msgstr ""
 "Tarvitset salasanan suojaamaan salaista avaintasi.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4839,7 +4871,7 @@ msgstr ""
 "tämän ohjelman valitsimella \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4851,50 +4883,50 @@ msgstr ""
 "alkulukujen luomisen aikana, tämä antaa satunnaislukugeneraattorille\n"
 "paremmat mahdollisuudet kerätä riittävästi entropiaa.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Avaimen luonti keskeytetty.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "kirjoitan julkisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "kirjoitettavissa olevaa julkista avainrengasta ei löydy: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "kirjoitettavissa olevaa salaista avainrengasta ei löydy: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "virhe kirjoitettaessa julkiseen avainrenkaaseen \"%s\": %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "julkinen ja salainen avain on luotu ja allekirjoitettu.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4903,12 +4935,12 @@ msgstr ""
 "Huomaa, että tätä avainta ei voida käyttää salaamiseen.  Käytä komentoa\n"
 "\"--edit-key\" luodaksesi toissijaisen avaimen salaustarkoitukseen.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Avaimen luonti epäonnistui: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4916,7 +4948,7 @@ msgstr ""
 "avain on luotu %lu sekunti tulevaisuudessa (on tapahtunut aikahyppy tai\n"
 "kellon kanssa on ongelmia)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4924,26 +4956,26 @@ msgstr ""
 "avain on luotu %lu sekuntia tulevaisuudessa (on tapahtunut aikahyppy tai\n"
 "kellon kanssa on ongelmia)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "HUOM: v3-aliavainten luonti ei ole OpenPGP:n mukaista\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Haluatko varmasti luoda? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "HUOM: salainen avain %08lX vanheni %s\n"
@@ -4976,30 +5008,30 @@ msgstr "Allekirjoitusnotaatio: "
 msgid "Keyring"
 msgstr "Avainrengas"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Ensisijaisen avaimen sormenjälki:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Aliavaimen sormenjälki:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Ensisijaisen avaimen sormenjälki:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Aliavaimen sormenjälki:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Avaimen sormenjälki ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5082,471 +5114,471 @@ msgstr ""
 "VAROITUS: asetukset tiedostossa \"%s\" eivät ole käytössä vielä tässä "
 "ajossa\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "allekirjoitettu avaimellasi %08lX %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "avainpalvelinvirhe"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "avainpalvelinvirhe"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "avainpalvelimelta vastaanotto epäonnistui: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "outo koko salatulle istuntoavaimelle (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s-salattu istuntoavain\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "salattu tuntemattomalla algoritmilla %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "julkinen avain on %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "julkisella avaimella salattu data: DEK kelpaa\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "salattu %u-bittisella %s-avaimella, tunnus %08lX, luotu %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                aka \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "salattu %s-avaimella, tunnus %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "julkisen avaimen avaus epäonnistui: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "salattu %lu salasanalla\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "salattu yhdellä salasanalla\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "oletettavasti %s-salattua dataa\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA-salain ei käytettävissä, yritetään optimistisesti \n"
 "käyttää sen sijaan salainta %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "avaus onnistui\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROITUS: viestin eheyttä ei oltu suojattu\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROITUS: salattua viestiä on muokattu!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "avaus epäonnistui: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "HUOM: lähettäjä määrittää \"vain-sinun-silmillesi\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "alkuperäisen tiedoston nimi=\"%.*s\"\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "itsenäinen mitätöinti - käytä \"gpg --import\" ottaaksesi käyttöön\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Allekirjoitus täsmää lähettäjään \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "allekirjoituksen varmistus vaiennetaan\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "näitä allekirjoituksia ei voi käsitellä\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                aka \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr ""
 "Allekirjoitus tehty %.*s käyttämällä %s-algoritmia avaintunnuksella %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Avain saatavilla kohteessa: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "VÄÄRÄ allekirjoitus lähettäjältä \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Vanhentunut allekirjoitus lähettäjältä \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Allekirjoitus täsmää lähettäjään \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[ei tiedossa]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                aka \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Allekirjoitus vanhenee %s\n"
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binääri"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "teksti"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "tuntematon "
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Allekirjoitusta ei voi tarkistaa: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "allekirjoitus ei ole erillinen\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "VAROITUS: useita allekirjoituksia havaittu.  Vain ensimmäisen voi "
 "tarkistaa.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "itsenäinen allekirjoitus luokkaa 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "vanhan tyylin (PGP 2.x) allekirjoitus\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "epäkelpo juuripaketti havaittu proc_tree():ssä\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "ei voi avata tiedostoa: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "trustdb: luku epäonnistui (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "julkisen avaimen algorimin %d käsittely ei onnistu\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "valittua tiivistesalgoritmia %s (%d) ei löydy vastaanottajan valinnoista\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "salausalgoritmi ei ole käytössä"
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "valittua tiivistesalgoritmia %s (%d) ei löydy vastaanottajan valinnoista\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA-salaimen liitännäinen ei käytettävissä\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = näytä lisätietoja\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: paheksuttava valitsin \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "käytä valitsinta \"%s%s\" sen sijaan\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "pakkaamaton"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "pakkaamaton"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "%s ei kenties voi käsitellä tätä viestiä\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "luetaan asetukset tiedostosta \"%s\"\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "tuntematon oletusvastaanottaja \"%s\"\n"
@@ -5591,16 +5623,16 @@ msgstr ""
 "VAROITUS: asetukset tiedostossa \"%s\" eivät ole käytössä vielä tässä "
 "ajossa\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "julkisen avaimen algorimin %d käsittely ei onnistu\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "VAROITUS: mahdollisesti turvaton symmetrisesti salattu istuntoavain\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "tyypin %d alipaketilla on kriittinen bitti asetettuna\n"
@@ -5655,7 +5687,7 @@ msgstr "%u-bittinen %s-avain, tunnus %08lX, luotu %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5670,35 +5702,35 @@ msgstr ""
 "käytät erittäin suurta kuvaa, myös avaimesta tulee erittäin suuri!\n"
 "Kuvan koon ollessa suunnilleen 240x288, on koko sopiva käyttöön.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Syötä JPEG-tiedostonimi valokuvatunnisteelle: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "ei voi avata tiedostoa: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Haluatko varmasti käyttää sitä (k/E)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" ei ole JPEG-tiedosto\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Onko tämä oikein (k/E/l)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "valokuvatunnistetta ei voi näyttää!\n"
 
@@ -5730,6 +5762,16 @@ msgstr "mitätöinnin syy: "
 msgid "revocation comment: "
 msgstr "mitätöintikommentti: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMlLoO"
@@ -5926,25 +5968,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Ei ole varmaa, että allekirjoitus kuuluu haltijalle.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ohitettu: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: ohitettu: julkinen avain on jo olemassa\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Et määritellyt käyttäjätunnusta. (voit käyttää valitsinta \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5952,42 +5994,42 @@ msgstr ""
 "\n"
 "Syötä käyttäjätunnus.  Lopeta tyhjällä rivillä: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Käyttäjätunnusta ei löydy.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "ohitettu: julkinen avain on jo asetettu oletusvastaanottajaksi\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Julkinen avain on poistettu käytöstä\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "ohitettu: julkinen avain on jo asetettu\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "tuntematon oletusvastaanottaja \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s ohitettu: julkinen avain on poistettu käytöstä\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "ei kelvollisia vastaanottajia\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "avain %08lX: ei käyttäjätunnusta\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "avain %08lX: ei käyttäjätunnusta\n"
@@ -6283,19 +6325,26 @@ msgstr "HUOM: allekirjoitusavain %08lX vanheni %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "HUOM: avain on mitätöity!"
 
-#: g10/sig-check.c:325
+# Ensimmäinen %s on binary, textmode tai unknown, ks. alla
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "Epäkelpo allekirjoitus avaimelta %08lX oletettavasti johtuen tuntemattomasta "
 "\"critical bit\":istä\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "avain %08lX: ei vastaavaa aliavainta aliavaimen mitätöintipaketille\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "avain %08lX: ei aliavainta aliavaimen liitosallekirjoitukselle\n"
@@ -6389,7 +6438,7 @@ msgstr ""
 "ohitetaan \"%s\": tämä on PGP:n luoma ElGamal-avain, jolla ei voi "
 "allekirjoittaa turvallisesti!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "luottamustietue %lu, tyyppi %d: kirjoittaminen epäonnistui: %s\n"
@@ -6437,17 +6486,17 @@ msgstr "virhe etsittäessä luottamustietuetta: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "lukuvirhe: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: synkronointi epäonnistui: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek epäonnistui: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: kirjoittaminen epäonnistuin (n=%d): %s\n"
@@ -6456,117 +6505,117 @@ msgstr "trustdb rec %lu: kirjoittaminen epäonnistuin (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "trustdb-tapahtuma on liian suuri\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi sulkea: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: hakemistoa ei ole olemassa!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "tiedostoa \"%s\" ei voi avata\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: versiotietueen luonti epäonnistui: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: luotu trustdb ei kelpaa\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: trustdb luotu\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "HUOM: trustdb:n ei voida kirjoittaa\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: trustdb ei kelpaa\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: virhe päivitettäessä versiotietuetta: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: virhe luettaessa versiotietuetta: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: virhe kirjoitettaessa versiotietuetta: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek epäonnistui: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: luku epäonnistui (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: ei ole trustdb-tiedosto\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: versiotietue tietuenumerolla %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: tiedostoversio %d ei kelpaa\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: virhe luettaessa vapaata tietuetta: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: virhe kirjoitettaessa hakemistotietuetta: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: tietueen nollaaminen epäonnistui: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: tietueeseen lisääminen epäonnistui: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: trustdb luotu\n"
@@ -6581,174 +6630,182 @@ msgstr "yli %d merkkiä pitkiä tekstirivejä ei voi käsitellä\n"
 msgid "input line longer than %d characters\n"
 msgstr "syöterivi on yli %d merkkiä pitkä\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "\"%s\" ei kelpaa pitkänä avaintunnuksena\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "avain %08lX: hyväksytty luotettuna avaimena\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "avain %08lX esiintyy trustdb:ssä useammin kuin kerran\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "avain %08lX: luotetulle avaimelle ei löydy julkista avainta - ohitetaan\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "Avain on määritelty ehdottoman luotettavaksi.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "luottamustietue %lu, pyyntötyyppi %d: luku epäonnistui: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "luottamustietue %lu ei ole pyydettyä tyyppiä %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[mitätöity] "
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[vanhentunut] "
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "tuntematon "
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "ei koskaan"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "trustdb:n tarkistusta ei tarvita\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "seuraava trustdb tarkistus %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "trustdb:n tarkistusta ei tarvita\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "trustdb:n tarkistusta ei tarvita\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "julkista avainta %08lX ei löydy: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "tee --check-trustdb, kiitos\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "tarkistetaan trustdb:tä\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d avainta käsitelty (%d kelpoisuuslaskuria tyhjätty)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "ehdottomasti luotettavia avaimia ei löytynyt\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "ehdottomasti luotettu julkinen avain %08lX ei löytynyt\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "luottamustietue %lu, tyyppi %d: kirjoittaminen epäonnistui: %s\n"
@@ -6773,77 +6830,77 @@ msgstr "syöterivi %u on liian pitkä tai rivinvaihto puutuu\n"
 msgid "can't open fd %d: %s\n"
 msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "virhe tiedostoa luettaessa"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "rivi on liian pitkä\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "virheellinen argumentti"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "ristiriitainen komento\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "ei käsitelty"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Komento ei kelpaa (kirjoita \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "ei käsitelty"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "virheelliset tuontivalitsimet\n"
@@ -6853,22 +6910,17 @@ msgstr "virheelliset tuontivalitsimet\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "olet löytänyt ohjelmistovian ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "ei voi avata tiedostoa: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "ascii-koodaaminen epäonnistui: %s\n"
@@ -6925,24 +6977,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6991,209 +7044,223 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "avainrenkaan välimuistin uudelleenluominen epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "avainpalvelimelle lähettäminen epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Valitse mitätöinnin syy:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "muuta salasanaa"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "muuta salasanaa"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "virhe luettaessa avainlohkoa: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: virhe luettaessa vapaata tietuetta: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "\"%s\" on jo pakattu\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "luo uusi avainpari"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "luo uusi avainpari"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Avaimen luonti epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "muuta salasanaa"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7202,72 +7269,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "älä käytä lainkaan päätettä"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "ristiriitainen komento\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7306,11 +7377,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "apua"
@@ -7342,208 +7413,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "HUOM: avain on mitätöity!"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Tämä avain on vanhentunut!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Tämä avain on vanhentunut!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Tämä avain on vanhentunut!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Tämä avain on vanhentunut!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "        uusia allekirjoituksia: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Mitätöintivarmenne luotu.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "virheellinen varmenne"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "näytä sormenjälki"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "luo mitätöintivarmenne"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "tarkista allekirjoitus"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "valinta %c%lu on kopio\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Mitätöintivarmenne luotu.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "virheellinen varmenne"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7608,19 +7680,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7829,7 +7901,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "virhe luettaessa avainlohkoa: %s\n"
@@ -7966,7 +8038,7 @@ msgstr "lisää tämä avainrengas avainrenkaiden luetteloon"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|PALVELIN|käytä tätä palvelinta avainten etsimiseen"
@@ -7988,8 +8060,8 @@ msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntaksi: gpg [valitsimet] [tiedostot]\n"
 "allekirjoita, tarkista, salaa tai avaa\n"
@@ -8025,26 +8097,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " o = ohita tämä avain\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "kirjoitetaan kohteeseen \"%s\"\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi sulkea: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8062,12 +8134,7 @@ msgstr "luo mitätöintivarmenne"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -8082,46 +8149,42 @@ msgstr "virhe luotaessa salasanaa: %s\n"
 msgid "error reading input: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "avainrengas \"%s\" luotu\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? mitätöinnin tarkistuksessa ongelmia: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -8309,149 +8372,149 @@ msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|käytä salasanoissa toimintatapaa N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NIMI|salaa vastaanottajalle NIMI"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NIMI|käytä salasanoihin salausalgoritmia NIMI"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8712,6 +8775,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Komento> "
 
@@ -9262,9 +9333,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "käytetty salainen avain on väärä"
 
-#~ msgid "not supported"
-#~ msgstr "ei tuettu"
-
 #~ msgid "bad key"
 #~ msgstr "avain ei kelpaa"
 
@@ -9938,8 +10006,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "tarkistetaan syvyyteen %d allekirjoitettu=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%"
-#~ "d/%d\n"
+#~ "tarkistetaan syvyyteen %d allekirjoitettu=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/"
+#~ "%d/%d\n"
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
index 5c72e3b..2c468c8 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index bb18764..ed95a49 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,52 +1,50 @@
 # GnuPG French translation
-# Copyright (C) 1998-2005 Free Software Foundation, Inc.
-# Gaël Quéri <gael@lautre.net>, 1998.
-#
-# Thanks to Rémi Guyomarch <rguyom@mail.dotcom.fr> and <nmorant@amadeus.net>
-# for pointing me out some errors.
-#
-# $Id$
+# Copyright (C) 1998-2009, 2012 Free Software Foundation, Inc.
 #
+# Gaël Quéri <gael@lautre.net>, 1998-2009.
+# David Prévot <david@tilapin.org>, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg 1.4.2rc2\n"
+"Project-Id-Version: gnupg 2.0.19\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2008-09-30 19:38+0200\n"
-"Last-Translator: Gaël Quéri <gael@lautre.net>\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-04-24 09:34+0200\n"
+"Last-Translator: David Prévot <david@tilapin.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 1.4\n"
 
-#: agent/call-pinentry.c:244
-#, fuzzy, c-format
+#: agent/call-pinentry.c:254
+#, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
-msgstr "impossible de stocker l'empreinte: %s\n"
+msgstr "impossible d'obtenir le verrou pinentry : %s\n"
 
 #. TRANSLATORS: These are labels for buttons etc used in
 #. Pinentries.  An underscore indicates that the next letter
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
-msgstr ""
+msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
-msgstr ""
+msgstr "|pinentry-label|_Annuler"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
-msgstr ""
+msgstr "|pinentry-label|Code personnel :"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
-#, fuzzy
+#: agent/call-pinentry.c:659
 msgid "Quality:"
-msgstr "validité: %s"
+msgstr "Qualité :"
 
 #. TRANSLATORS: This string is a tooltip, shown by pinentry when
 #. hovering over the quality bar.  Please use an appropriate
@@ -54,254 +52,242 @@ msgstr "validit
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
+"La qualité du texte entré ci-dessus.\n"
+"Veuillez demander à votre administrateur des précisions sur les critères."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
+"Veuillez entrer votre code personnel, pour pouvoir débloquer la clef secrète "
+"pendant cette session"
 
-#: agent/call-pinentry.c:719
-#, fuzzy
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr ""
+"Veuillez entrer votre phrase de passe, pour pouvoir débloquer la clef "
+"secrète pendant cette session"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
-msgstr ""
+msgstr "SETERROR %s (essai %d sur %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
-#, fuzzy
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
-msgstr "ligne trop longue"
+msgstr "Code personnel trop long"
 
-#: agent/call-pinentry.c:800
-#, fuzzy
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
-msgstr "ligne trop longue"
+msgstr "Phrase de passe trop longue"
 
-#: agent/call-pinentry.c:808
-#, fuzzy
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
-msgstr "Caractère invalide dans le nom\n"
+msgstr "Caractères incorrects dans le code personnel"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
-msgstr ""
+msgstr "Code personnel trop court"
 
-#: agent/call-pinentry.c:825
-#, fuzzy
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
-msgstr "mauvais entier en précision multiple (MPI)"
+msgstr "Mauvais code personnel"
 
-#: agent/call-pinentry.c:826
-#, fuzzy
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
-msgstr "mauvaise phrase de passe"
+msgstr "Mauvaise phrase de passe"
 
-#: agent/call-pinentry.c:863
-#, fuzzy
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
-msgstr "mauvaise phrase de passe"
+msgstr "Phrase de passe"
 
-#: agent/command-ssh.c:531
-#, fuzzy, c-format
+#: agent/command-ssh.c:595
+#, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
-msgstr "le hachage de protection %d n'est pas supporté\n"
+msgstr "les clefs SSH plus grandes que %d bits ne sont pas prises en charge\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
-msgstr "impossible de créer `%s': %s\n"
+msgstr "impossible de créer « %s » : %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
-msgstr "impossible d'ouvrir `%s': %s\n"
+msgstr "impossible d'ouvrir « %s » : %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
-#, fuzzy, c-format
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
+#, c-format
 msgid "error getting serial number of card: %s\n"
-msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
+msgstr "erreur de lecture du numéro de série de la carte : %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
-msgstr ""
+msgstr "carte détectée avec le numéro de série : %s\n"
 
-#: agent/command-ssh.c:1717
-#, fuzzy, c-format
+#: agent/command-ssh.c:2119
+#, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+"erreur de lecture de l'identifiant de clef d'authentification par défaut de "
+"la carte : %s\n"
 
-#: agent/command-ssh.c:1737
-#, fuzzy, c-format
+#: agent/command-ssh.c:2139
+#, c-format
 msgid "no suitable card key found: %s\n"
-msgstr ""
-"aucun portes-clés secret n'a été trouvé avec des droits d'écriture : %s\n"
+msgstr "aucune clef de carte convenable n'a été trouvée : %s\n"
 
-#: agent/command-ssh.c:1787
-#, fuzzy, c-format
+#: agent/command-ssh.c:2189
+#, c-format
 msgid "shadowing the key failed: %s\n"
-msgstr "la lecture de la clé publique a échoué: %s\n"
+msgstr "échec de dissimulation de la clef : %s\n"
 
-#: agent/command-ssh.c:1802
-#, fuzzy, c-format
+#: agent/command-ssh.c:2204
+#, c-format
 msgid "error writing key: %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture la clef : %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
+"Un processus SSH demande à utiliser la clef%%0A  %s%%0A  (%s)%%0AVoulez-vous "
+"l'autoriser ?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
-msgstr ""
+msgstr "Autoriser"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
-msgstr ""
+msgstr "Refuser"
 
-#: agent/command-ssh.c:2155
-#, fuzzy, c-format
+#: agent/command-ssh.c:2514
+#, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr "Veuillez entrer la phrase de passe pour la clef SSH%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
-#, fuzzy
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
-msgstr "changer la phrase de passe"
+msgstr "Veuillez répéter cette phrase de passe"
 
-#: agent/command-ssh.c:2509
-#, fuzzy, c-format
+#: agent/command-ssh.c:2858
+#, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
+msgstr ""
+"Veuillez entrer une phrase de passe pour protéger la clef secrète%%0A   %s"
+"%%0A   %s%%0Areçue dans l'espace de stockage de clefs de gpg-agent"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
-msgstr ""
+msgstr "ne correspond pas — veuillez réessayer"
 
-#: agent/command-ssh.c:3054
-#, fuzzy, c-format
+#: agent/command-ssh.c:3408
+#, c-format
 msgid "failed to create stream from socket: %s\n"
-msgstr "%s: la création de la table de hachage a échoué: %s\n"
+msgstr "échec de création du flux à partir de cette socket : %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
-#, fuzzy
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
-msgstr ""
-"Supprimez la carte présente et insérez celle portant le numéro de\n"
-"série:\n"
-"   %.*s\n"
+msgstr "Veuillez insérer la carte de numéro de série"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
-#, fuzzy
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
-msgstr ""
-"Supprimez la carte présente et insérez celle portant le numéro de\n"
-"série:\n"
-"   %.*s\n"
+msgstr "Veuillez retirer la carte présente et insérer celle de numéro de série"
 
 #: agent/divert-scd.c:200
-#, fuzzy
 msgid "Admin PIN"
-msgstr "|A|code PIN d'administration"
+msgstr "Code personnel d'administration"
 
 #. TRANSLATORS: A PUK is the Personal Unblocking Code
 #. used to unblock a PIN.
 #: agent/divert-scd.c:205
 msgid "PUK"
-msgstr ""
+msgstr "CDP"
 
 #: agent/divert-scd.c:212
 msgid "Reset Code"
-msgstr ""
+msgstr "Code de réinitialisation"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr ""
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0AUtilisez le pavé numérique du lecteur en entrée."
 
 #: agent/divert-scd.c:287
-#, fuzzy
 msgid "Repeat this Reset Code"
-msgstr "Répétez ce code PIN: "
+msgstr "Répétez ce code de réinitialisation"
 
 #: agent/divert-scd.c:289
-#, fuzzy
 msgid "Repeat this PUK"
-msgstr "Répétez ce code PIN: "
+msgstr "Répétez ce code de déblocage personnel"
 
 #: agent/divert-scd.c:290
-#, fuzzy
 msgid "Repeat this PIN"
-msgstr "Répétez ce code PIN: "
+msgstr "Répétez ce code personnel"
 
 #: agent/divert-scd.c:295
-#, fuzzy
 msgid "Reset Code not correctly repeated; try again"
-msgstr "le code PIN n'a pas été correctement répété ; recommencez"
+msgstr ""
+"les codes de réinitialisation ne correspondent pas ; veuillez réessayer"
 
 #: agent/divert-scd.c:297
-#, fuzzy
 msgid "PUK not correctly repeated; try again"
-msgstr "le code PIN n'a pas été correctement répété ; recommencez"
+msgstr ""
+"les codes de déblocage personnels ne correspondent pas ; veuillez réessayer"
 
 #: agent/divert-scd.c:298
 msgid "PIN not correctly repeated; try again"
-msgstr "le code PIN n'a pas été correctement répété ; recommencez"
+msgstr "Les codes personnels ne correspondent pas ; veuillez réessayer"
 
 #: agent/divert-scd.c:310
-#, fuzzy, c-format
+#, c-format
 msgid "Please enter the PIN%s%s%s to unlock the card"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "Veuillez entrer le code personnel%s%s%s pour déverrouiller la carte"
 
 #: agent/genkey.c:108 sm/certreqgen-ui.c:384 sm/export.c:638 sm/export.c:654
 #: sm/import.c:667 sm/import.c:692
-#, fuzzy, c-format
+#, c-format
 msgid "error creating temporary file: %s\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "erreur de création du fichier temporaire : %s\n"
 
 #: agent/genkey.c:115 sm/export.c:645 sm/import.c:675
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to temporary file: %s\n"
-msgstr ""
-"%s: erreur pendant l'écriture de l'enregistrement de\n"
-"répertoire: %s\n"
+msgstr "erreur d'écriture du fichier temporaire : %s\n"
 
 #: agent/genkey.c:153 agent/genkey.c:159
-#, fuzzy
 msgid "Enter new passphrase"
-msgstr "Entrez la phrase de passe\n"
+msgstr "Entrez la nouvelle phrase de passe"
 
 #: agent/genkey.c:167
-#, fuzzy
 msgid "Take this one anyway"
-msgstr "Utiliser cette clé quand même ? (o/N) "
+msgstr "La prendre quand même"
 
 #: agent/genkey.c:193
 #, c-format
@@ -312,7 +298,11 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should be "
 "at least %u characters long."
 msgstr[0] ""
+"Avertissement : une phrase de passe non sécurisée a été entrée.%%0AUne "
+"phrase de passe devrait être longue d'au moins %u caractère."
 msgstr[1] ""
+"Avertissement : une phrase de passe non sécurisée a été entrée.%%0AUne "
+"phrase de passe devrait être longue d'au moins %u caractères."
 
 #: agent/genkey.c:214
 #, c-format
@@ -323,7 +313,12 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
 "contain at least %u digits or%%0Aspecial characters."
 msgstr[0] ""
+"Avertissement : une phrase de passe non sécurisée a été entrée.%%0AUne "
+"phrase de passe devrait contenir au moins%%0A%u chiffre ou caractère spécial."
 msgstr[1] ""
+"Avertissement : une phrase de passe non sécurisée a été entrée.%%0AUne "
+"phrase de passe devrait contenir au moins%%0A%u chiffres ou caractères "
+"spéciaux."
 
 #: agent/genkey.c:237
 #, c-format
@@ -331,12 +326,17 @@ msgid ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase may not be "
 "a known term or match%%0Acertain pattern."
 msgstr ""
+"Avertissement : une phrase de passe non sécurisée a été entrée.%%0AUne "
+"phrase de passe ne devrait ni être un mot commun,%%0Ani correspondre à un "
+"certain schéma."
 
 #: agent/genkey.c:253
 #, c-format
 msgid ""
 "You have not entered a passphrase!%0AAn empty passphrase is not allowed."
 msgstr ""
+"Aucune phrase de passe n'a été entrée.%0AUne phrase de passe vide n'est pas "
+"autorisée."
 
 #: agent/genkey.c:255
 #, c-format
@@ -344,326 +344,328 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
+"Aucune phrase de passe n'a été entrée — c'est souvent une mauvaise idée."
+"%0AVeuillez confirmer que vous ne voulez aucune protection pour la clef."
 
 #: agent/genkey.c:264
 msgid "Yes, protection is not needed"
-msgstr ""
+msgstr "Oui, aucune protection n'est nécessaire"
 
 #: agent/genkey.c:308
-#, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr ""
-"Vous avez besoin d'une phrase de passe pour protéger votre clé\n"
-"secrète.\n"
-"\n"
+#, c-format
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "Veuillez entrer la phrase de passe%0Apour protéger la nouvelle clef"
 
 #: agent/genkey.c:431
-#, fuzzy
 msgid "Please enter the new passphrase"
-msgstr "changer la phrase de passe"
+msgstr "Veuillez entrer la nouvelle phrase de passe"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
-#, fuzzy
 msgid ""
 "@Options:\n"
 " "
 msgstr ""
-"@\n"
-"Options:\n"
+"@Options :\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr ""
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
-msgstr ""
+msgstr "exécuter en mode démon (arrière-plan)"
+
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "exécuter en mode serveur (premier plan)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "bavard"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "devenir beaucoup plus silencieux"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
-msgstr ""
+msgstr "sortie de commandes à la sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
-msgstr ""
+msgstr "sortie de commandes à la csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
-#, fuzzy
 msgid "|FILE|read options from FILE"
-msgstr "lire les options de `%s'\n"
+msgstr "|FICHIER|lire les options depuis le FICHIER"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
-msgstr ""
+msgstr "ne pas détacher de la console"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
-msgstr ""
+msgstr "ne pas capturer le clavier et la souris"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
-#, fuzzy
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
-msgstr "chercher les clés avec un serveur de clés"
+msgstr "utiliser un fichier journal pour le serveur"
 
-#: agent/gpg-agent.c:138
-#, fuzzy
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
-msgstr ""
-"indiquer la liste des préférences pour le nom d'utilisateur\n"
-"sélectionné"
+msgstr "utiliser un emplacement de socket standard"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
-msgstr ""
+msgstr "|PROG|utiliser PROG pour entrer le code personnel"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
-msgstr ""
+msgstr "|PROG|utiliser PROG comme SCdaemon"
 
-#: agent/gpg-agent.c:145
-#, fuzzy
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
-msgstr "mettre la base de confiance à jour"
+msgstr "ne pas utiliser le SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
-msgstr ""
+msgstr "ignorer les demandes de modification du TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
-msgstr ""
+msgstr "ignorer les demandes de modification d'aff. X"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
-msgstr ""
+msgstr "|N|oublier les codes personnels après N secondes"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
-msgstr ""
+msgstr "ne pas utiliser le cache de code pour signer"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr ""
-
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:189
 #, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "permettre de marquer la confiance des clefs"
+
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "permettre de préconfigurer la phrase de passe"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
+msgstr "activer l'émulation de ssh-agent"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "non pris en charge"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
-msgstr ""
+msgstr "|FICHIER|écrire aussi les réglages d'env. dans FICHIER"
 
+# @EMAIL@ is currently an URL
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
-"Signaler toutes anomalies à <@EMAIL@> (en anglais)\n"
-"et tout problème de traduction à <traduc@traduc.org>.\n"
+"Veuillez signaler toutes anomalies sur <@EMAIL@> (en anglais)\n"
+"et tout problème de traduction à <traduc@traduc.org>.\n"
 
-#: agent/gpg-agent.c:342
-#, fuzzy
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpg-agent [options] (-h pour l'aide)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
+"Syntaxe : gpg-agent [options] [commande [arguments]]\n"
+"Gestionnaire de clefs secrètes pour GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
-msgstr ""
+msgstr "niveau de débogage « %s » incorrect\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "%s est trop ancien (nécessaire : %s, utilisé : %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
-msgstr "NOTE: pas de fichier d'options par défaut `%s'\n"
+msgstr "Remarque : pas de fichier d'options par défaut « %s »\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
-msgstr "fichier d'options `%s': %s\n"
+msgstr "fichier d'options « %s » : %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
-msgstr "lire les options de `%s'\n"
+msgstr "lecture des options de « %s »\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
-msgstr "erreur pendant la création de `%s': %s\n"
+msgstr "erreur de création de « %s » : %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
-msgstr "impossible de créer le répertoire `%s': %s\n"
+msgstr "impossible de créer le répertoire « %s » : %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
-msgstr ""
+msgstr "nom de socket trop long\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
+#, c-format
 msgid "can't create socket: %s\n"
-msgstr "impossible de créer `%s': %s\n"
+msgstr "impossible de créer la socket : %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
-msgstr ""
+msgstr "le nom de la socket « %s » est trop long\n"
 
-#: agent/gpg-agent.c:1525
-#, fuzzy
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
-msgstr "gpg-agent n'est pas disponible dans cette session\n"
+msgstr ""
+"une instance de gpg-agent fonctionne déjà —\n"
+"pas de démarrage d'une nouvelle instance\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
-#, fuzzy
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
-msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
+msgstr "erreur de lecture du « nonce » de la socket\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
+#, c-format
 msgid "error binding socket to `%s': %s\n"
-msgstr ""
-"erreur pendant la recherche de l'enregistrement de confiance\n"
-"dans `%s': %s\n"
+msgstr "erreur de lien de la socket à « %s » : %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
+#, c-format
 msgid "listen() failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec de listen() : %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
+#, c-format
 msgid "listening on socket `%s'\n"
-msgstr "écriture de la clé secrète dans `%s'\n"
+msgstr "écoute sur la socket « %s »\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
-msgstr "répertoire `%s' créé\n"
+msgstr "répertoire « %s » créé\n"
 
-#: agent/gpg-agent.c:1640
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1692
+#, c-format
 msgid "stat() failed for `%s': %s\n"
-msgstr "fstat(%d) échoué dans %s: %s\n"
+msgstr "échec de stat() pour « %s » : %s\n"
 
-#: agent/gpg-agent.c:1644
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1696
+#, c-format
 msgid "can't use `%s' as home directory\n"
-msgstr "impossible de créer le répertoire `%s': %s\n"
+msgstr "impossible d'utiliser « %s » comme répertoire personnel\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
+#, c-format
 msgid "error reading nonce on fd %d: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de lecture du « nonce » sur le descripteur %d : %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "gestionnaire 0x%lx pour le descripteur %d démarré\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "gestionnaire 0x%lx pour le descripteur %d terminé\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "gestionnaire SSH 0x%lx pour le descripteur %d démarré\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "gestionnaire SSH 0x%lx pour le descripteur %d terminé\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
-#, fuzzy, c-format
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
+#, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
-msgstr "la mise à jour de la clé secrète a échoué: %s\n"
+msgstr "échec de pth_select : %s — attente 1 s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
-#, fuzzy, c-format
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
+#, c-format
 msgid "%s %s stopped\n"
-msgstr "%s: ignoré: %s\n"
+msgstr "%s %s arrêté\n"
 
-#: agent/gpg-agent.c:2232
-#, fuzzy
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
-msgstr "gpg-agent n'est pas disponible dans cette session\n"
+msgstr ""
+"aucune instance de gpg-agent n'est en cours d'exécution dans cette session\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
-msgstr "la variable d'environnement GPG_AGENT_INFO est mal définie\n"
+msgstr "la variable d'environnement GPG_AGENT_INFO est mal définie\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
-msgstr "le protocole gpg-agent version %d n'est pas supporté\n"
+msgstr "le protocole gpg-agent version %d n'est pas pris en charge\n"
 
-#: agent/preset-passphrase.c:98
-#, fuzzy
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr ""
+"Utilisation : gpg-preset-passphrase [options] KEYGRIP (-h pour l'aide)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
+"Syntaxe : gpg-preset-passphrase [options] KEYGRIP\n"
+"Maintenance du cache des mots de passe\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
 " "
 msgstr ""
-"@Commandes:\n"
+"@Commandes :\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -672,96 +674,97 @@ msgid ""
 " "
 msgstr ""
 "@\n"
-"Options:\n"
+"Options :\n"
 " "
 
-#: agent/protect-tool.c:166
-#, fuzzy
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpg-protect-tool [options] (-h pour l'aide)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
+"Syntaxe : gpg-protect-tool [options] [arguments]\n"
+"Outils de maintenance des clefs secrètes\n"
 
-#: agent/protect-tool.c:1162
-#, fuzzy
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr "Veuillez entrer la phrase de passe pour déprotéger l'objet PKCS#12."
 
-#: agent/protect-tool.c:1167
-#, fuzzy
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr ""
+"Veuillez entrer la phrase de passe pour protéger le nouvel objet PKCS#12."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
+"Veuillez entrer la phrase de passe pour protéger l'objet importé dans le "
+"système GnuPG."
 
-#: agent/protect-tool.c:1178
-#, fuzzy
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr ""
+"Veuillez entrer la phrase de passe ou le code personnel\n"
+"nécessaires pour terminer cette opération."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
-#, fuzzy
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
-msgstr "mauvaise phrase de passe"
+msgstr "Phrase de passe :"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
-#, fuzzy
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
-msgstr "annulé"
+msgstr "annulé\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
-#, fuzzy, c-format
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
+#, c-format
 msgid "error while asking for the passphrase: %s\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "erreur de demande de la phrase de passe : %s\n"
 
 #: agent/trustlist.c:136 agent/trustlist.c:334
-#, fuzzy, c-format
+#, c-format
 msgid "error opening `%s': %s\n"
-msgstr "erreur dans `%s': %s\n"
+msgstr "erreur d'ouverture de « %s » : %s\n"
 
 #: agent/trustlist.c:151 common/helpfile.c:63 common/helpfile.c:79
-#, fuzzy, c-format
+#, c-format
 msgid "file `%s', line %d: %s\n"
-msgstr "fichier d'options `%s': %s\n"
+msgstr "fichier « %s », ligne %d : %s\n"
 
 #: agent/trustlist.c:171 agent/trustlist.c:179
 #, c-format
 msgid "statement \"%s\" ignored in `%s', line %d\n"
-msgstr ""
+msgstr "déclaration « %s » ignorée dans « %s », ligne %d\n"
 
 #: agent/trustlist.c:185
-#, fuzzy, c-format
+#, c-format
 msgid "system trustlist `%s' not available\n"
-msgstr "les parties secrètes ne sont pas disponibles\n"
+msgstr "le système de liste de confiance « %s » n'est pas disponible\n"
 
 #: agent/trustlist.c:229
-#, fuzzy, c-format
+#, c-format
 msgid "bad fingerprint in `%s', line %d\n"
-msgstr "erreur de lecture dans `%s': %s\n"
+msgstr "mauvaise empreinte dans « %s », ligne %d\n"
 
 #: agent/trustlist.c:254 agent/trustlist.c:261
 #, c-format
 msgid "invalid keyflag in `%s', line %d\n"
-msgstr ""
+msgstr "option de clef incorrecte dans « %s », ligne %d\n"
 
 #: agent/trustlist.c:295 common/helpfile.c:126
-#, fuzzy, c-format
+#, c-format
 msgid "error reading `%s', line %d: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de lecture de « %s », ligne %d : %s\n"
 
 #: agent/trustlist.c:400 agent/trustlist.c:450
 msgid "error reading list of trusted root certificates\n"
-msgstr ""
+msgstr "erreur de lecture de la liste de certificats racine de confiance\n"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry
 #. and has one special property: A "%%0A" is used by
@@ -777,15 +780,16 @@ msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
+"Attribuez-vous une confiance ultime%%0A  « %s »%%0Apour certifier "
+"correctement les certificats de l'utilisateur ?"
 
 #: agent/trustlist.c:620 common/audit.c:467
-#, fuzzy
 msgid "Yes"
-msgstr "oui"
+msgstr "Oui"
 
 #: agent/trustlist.c:620 common/audit.c:469
 msgid "No"
-msgstr ""
+msgstr "Non"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry and has
 #. one special property: A "%%0A" is used by Pinentry to
@@ -801,22 +805,26 @@ msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
 "fingerprint:%%0A  %s"
 msgstr ""
+"Veuillez vérifier que le certificat identifié par :%%0A  « %s »%%0Aa pour "
+"empreinte :%%0A  %s"
 
 #. TRANSLATORS: "Correct" is the label of a button and intended
 #. to be hit if the fingerprint matches the one of the CA.  The
 #. other button is "the default "Cancel" of the Pinentry.
 #: agent/trustlist.c:668
 msgid "Correct"
-msgstr ""
+msgstr "Exact"
 
 #: agent/trustlist.c:668
 msgid "Wrong"
-msgstr ""
+msgstr "Faux"
 
 #: agent/findkey.c:157
 #, c-format
 msgid "Note: This passphrase has never been changed.%0APlease change it now."
 msgstr ""
+"Remarque : cette phrase de passe n'a jamais été modifiée.%0AVeuillez la "
+"modifier maintenant."
 
 #: agent/findkey.c:173
 #, c-format
@@ -824,68 +832,66 @@ msgid ""
 "This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
 "it now."
 msgstr ""
+"Cette phrase de passe n'a pas été modifiée%%0Adepuis le %.4s-%.2s-%.2s. "
+"Veuillez la modifier maintenant."
 
 #: agent/findkey.c:187 agent/findkey.c:194
-#, fuzzy
 msgid "Change passphrase"
-msgstr "changer la phrase de passe"
+msgstr "Modifier la phrase de passe"
 
 #: agent/findkey.c:195
 msgid "I'll change it later"
-msgstr ""
+msgstr "Je la modifierai plus tard"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
-#, fuzzy, c-format
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
+#, c-format
 msgid "error creating a pipe: %s\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "erreur de création d'un tube : %s\n"
 
 #: common/exechelp.c:599 common/exechelp.c:658
-#, fuzzy, c-format
+#, c-format
 msgid "can't fdopen pipe for reading: %s\n"
-msgstr "impossible d'ouvir les données signées `%s'\n"
+msgstr "impossible d'ouvrir un tube en lecture avec fdopen : %s\n"
 
 #: common/exechelp.c:637 common/exechelp.c:765 common/exechelp.c:1002
-#, fuzzy, c-format
+#, c-format
 msgid "error forking process: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de création de processus fils : %s\n"
 
 #: common/exechelp.c:811 common/exechelp.c:864
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
-msgstr ""
+msgstr "échec d'attente de fin du processus %d : %s\n"
 
 #: common/exechelp.c:819
-#, fuzzy, c-format
+#, c-format
 msgid "error getting exit code of process %d: %s\n"
-msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+msgstr "erreur de lecture du code de retour du processus %d : %s\n"
 
 #: common/exechelp.c:825 common/exechelp.c:877
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': exit status %d\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur d'exécution de « %s » : code de retour %d\n"
 
 #: common/exechelp.c:870
 #, c-format
 msgid "error running `%s': probably not installed\n"
-msgstr ""
+msgstr "erreur d'exécution de « %s » : il n'est sans doute pas installé\n"
 
 #: common/exechelp.c:885
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': terminated\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur d'exécution de « %s » : terminé\n"
 
-#: common/http.c:1674
-#, fuzzy, c-format
+#: common/http.c:1682
+#, c-format
 msgid "error creating socket: %s\n"
-msgstr "erreur pendant la création de `%s': %s\n"
+msgstr "erreur de création de socket : %s\n"
 
-#: common/http.c:1718
-#, fuzzy
+#: common/http.c:1733
 msgid "host not found"
-msgstr "[Nom utilisateur introuvable]"
+msgstr "hôte introuvable"
 
 #: common/simple-pwquery.c:338
 msgid "gpg-agent is not available in this session\n"
@@ -894,44 +900,38 @@ msgstr "gpg-agent n'est pas disponible dans cette session\n"
 #: common/simple-pwquery.c:395
 #, c-format
 msgid "can't connect to `%s': %s\n"
-msgstr "impossible de se connecter à `%s': %s\n"
+msgstr "impossible de se connecter à « %s » : %s\n"
 
 #: common/simple-pwquery.c:406
 msgid "communication problem with gpg-agent\n"
-msgstr ""
+msgstr "problème de communication avec gpg-agent\n"
 
 #: common/simple-pwquery.c:416
 msgid "problem setting the gpg-agent options\n"
-msgstr ""
+msgstr "problème de configuration des options de gpg-agent\n"
 
 #: common/simple-pwquery.c:579 common/simple-pwquery.c:675
-#, fuzzy
 msgid "canceled by user\n"
-msgstr "annulé par l'utilisateur\n"
+msgstr "annulé par l'utilisateur\n"
 
 #: common/simple-pwquery.c:594 common/simple-pwquery.c:681
-#, fuzzy
 msgid "problem with the agent\n"
-msgstr "problème avec l'agent - arrêt d'utilisation de l'agent\n"
+msgstr "problème avec l'agent\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
-msgstr "impossible d'empêcher la génération de fichiers «core»: %s\n"
+msgstr "impossible d'empêcher la génération de fichiers « core » : %s\n"
 
-#: common/sysutils.c:200
-#, fuzzy, c-format
+#: common/sysutils.c:206
+#, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
-msgstr ""
-"AVERTISSEMENT: le propriétaire de l'extension `%s' est peu\n"
-"sûr\n"
+msgstr "Avertissement : le propriétaire de %s n'est pas sûr « %s »\n"
 
-#: common/sysutils.c:232
-#, fuzzy, c-format
+#: common/sysutils.c:238
+#, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
-msgstr ""
-"AVERTISSEMENT: les permissions de l'extension `%s' sont\n"
-"peu sûres\n"
+msgstr "Avertissement : les droits de %s ne sont pas sûrs « %s »\n"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
 #: common/yesno.c:35 common/yesno.c:72
@@ -981,782 +981,758 @@ msgstr "aA"
 #: common/miscellaneous.c:77
 #, c-format
 msgid "out of core in secure memory while allocating %lu bytes"
-msgstr ""
+msgstr "hors limite de la mémoire sécurisée lors de l'allocation de %lu octets"
 
 #: common/miscellaneous.c:80
 #, c-format
 msgid "out of core while allocating %lu bytes"
-msgstr ""
+msgstr "hors limite lors de l'allocation de %lu octets"
 
 #: common/asshelp.c:293 tools/gpg-connect-agent.c:2129
 msgid "no running gpg-agent - starting one\n"
 msgstr ""
+"pas d'instance de gpg-agent en cours d'exécution —\n"
+"démarrage d'une nouvelle instance\n"
 
 #: common/asshelp.c:349
 #, c-format
 msgid "waiting %d seconds for the agent to come up\n"
-msgstr ""
+msgstr "%d secondes d'attente pour permettre à l'agent d'arriver\n"
 
 #: common/asshelp.c:426
 msgid "can't connect to the agent - trying fall back\n"
 msgstr ""
+"impossible de se connecter à l'agent — essai avec la solution de repli\n"
 
 #. TRANSLATORS: Copy the prefix between the vertical bars
 #. verbatim.  It will not be printed.
 #: common/audit.c:474
 msgid "|audit-log-result|Good"
-msgstr ""
+msgstr "|audit-log-result|Bon"
 
 #: common/audit.c:477
 msgid "|audit-log-result|Bad"
-msgstr ""
+msgstr "|audit-log-result|Mauvais"
 
 #: common/audit.c:479
 msgid "|audit-log-result|Not supported"
-msgstr ""
+msgstr "|audit-log-result|Non pris en charge"
 
 #: common/audit.c:481
-#, fuzzy
 msgid "|audit-log-result|No certificate"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|Pas de certificat"
 
 #: common/audit.c:483
-#, fuzzy
 msgid "|audit-log-result|Not enabled"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|Non activé"
 
 #: common/audit.c:485
 msgid "|audit-log-result|Error"
-msgstr ""
+msgstr "|audit-log-result|Erreur"
 
 #: common/audit.c:487
-#, fuzzy
 msgid "|audit-log-result|Not used"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|Non utilisé"
 
 #: common/audit.c:489
-#, fuzzy
 msgid "|audit-log-result|Okay"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|D'accord"
 
 #: common/audit.c:491
-#, fuzzy
 msgid "|audit-log-result|Skipped"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|Ignoré"
 
 #: common/audit.c:493
-#, fuzzy
 msgid "|audit-log-result|Some"
-msgstr "mauvais certificat"
+msgstr "|audit-log-result|Un peu"
 
 #: common/audit.c:726
-#, fuzzy
 msgid "Certificate chain available"
-msgstr "mauvais certificat"
+msgstr "Chaîne de certificats disponible"
 
 #: common/audit.c:733
-#, fuzzy
 msgid "root certificate missing"
-msgstr "mauvais certificat"
+msgstr "certificat racine manquant"
 
 #: common/audit.c:759
 msgid "Data encryption succeeded"
-msgstr ""
+msgstr "Chiffrement des données réussi"
 
 #: common/audit.c:764 common/audit.c:830 common/audit.c:906 common/audit.c:997
-#, fuzzy
 msgid "Data available"
-msgstr "lister toutes les données disponibles"
+msgstr "Données disponibles"
 
 #: common/audit.c:767
-#, fuzzy
 msgid "Session key created"
-msgstr "%s: porte-clés créé\n"
+msgstr "Clef de session créée"
 
 #: common/audit.c:772 common/audit.c:912 common/audit.c:919
-#, fuzzy, c-format
+#, c-format
 msgid "algorithm: %s"
-msgstr "validité: %s"
+msgstr "algorithme : %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#, fuzzy, c-format
+#, c-format
 msgid "unsupported algorithm: %s"
-msgstr ""
-"\n"
-"Algorithmes supportés:\n"
+msgstr "algorithme non pris en charge : %s"
 
 #: common/audit.c:778 common/audit.c:925
-#, fuzzy
 msgid "seems to be not encrypted"
-msgstr "non chiffré"
+msgstr "n'a pas l'air chiffré"
 
 #: common/audit.c:784 common/audit.c:933
-#, fuzzy
 msgid "Number of recipients"
-msgstr "Récipients actuels:\n"
+msgstr "Nombre de destinataires"
 
 #: common/audit.c:792 common/audit.c:956
 #, c-format
 msgid "Recipient %d"
-msgstr ""
+msgstr "Destinataire %d"
 
 #: common/audit.c:825
 msgid "Data signing succeeded"
-msgstr ""
+msgstr "Signature des données réussie"
 
 #: common/audit.c:839 common/audit.c:1033 common/audit.c:1060
-#, fuzzy, c-format
+#, c-format
 msgid "data hash algorithm: %s"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "algorithme de hachage de données : %s"
 
 #: common/audit.c:862
-#, fuzzy, c-format
+#, c-format
 msgid "Signer %d"
-msgstr "Signature faite le %s\n"
+msgstr "Signataire %d"
 
 #: common/audit.c:866 common/audit.c:1065
-#, fuzzy, c-format
+#, c-format
 msgid "attr hash algorithm: %s"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "algorithme de hachage des attributs : %s"
 
 #: common/audit.c:901
 msgid "Data decryption succeeded"
-msgstr ""
+msgstr "Déchiffrement des données réussi"
 
 #: common/audit.c:910
-#, fuzzy
 msgid "Encryption algorithm supported"
-msgstr "l'algorithme de protection %d%s n'est pas supporté\n"
+msgstr "Algorithme de chiffrement pris en charge"
 
 #: common/audit.c:993
-#, fuzzy
 msgid "Data verification succeeded"
-msgstr "vérification de signature supprimée\n"
+msgstr "Vérification des données réussie"
 
 #: common/audit.c:1002
-#, fuzzy
 msgid "Signature available"
-msgstr "Signature faite le %s\n"
+msgstr "Signature disponible"
 
 #: common/audit.c:1024
-#, fuzzy
 msgid "Parsing data succeeded"
-msgstr "Bonne signature de « %s »"
+msgstr "Analyse des données réussie"
 
 #: common/audit.c:1036
-#, fuzzy, c-format
+#, c-format
 msgid "bad data hash algorithm: %s"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "mauvais algorithme de hachage de données : %s"
 
 #: common/audit.c:1051
-#, fuzzy, c-format
+#, c-format
 msgid "Signature %d"
-msgstr "Signature faite le %s\n"
+msgstr "Signature %d"
 
 #: common/audit.c:1079
-#, fuzzy
 msgid "Certificate chain valid"
-msgstr "Cette clé a expiré !"
+msgstr "Chaîne de certificats correcte"
 
 #: common/audit.c:1090
-#, fuzzy
 msgid "Root certificate trustworthy"
-msgstr "mauvais certificat"
+msgstr "Certificat racine digne de confiance"
 
-#: common/audit.c:1111 sm/certchain.c:935
-#, fuzzy
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
-msgstr "mauvais certificat"
+msgstr "aucune liste de révocations trouvée pour le certificat"
 
-#: common/audit.c:1114 sm/certchain.c:945
-#, fuzzy
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
-msgstr "Clé disponible sur: "
+msgstr "la liste de révocations de certificats est trop vieille"
 
 #: common/audit.c:1119
-#, fuzzy
 msgid "CRL/OCSP check of certificates"
-msgstr "mauvais certificat"
+msgstr "vérification de liste de révocations par OCSP pour le certificat"
 
 #: common/audit.c:1139
-#, fuzzy
 msgid "Included certificates"
-msgstr "mauvais certificat"
+msgstr "Certificats inclus"
 
 #: common/audit.c:1194
 msgid "No audit log entries."
-msgstr ""
+msgstr "Aucune entrée de journal d'audit."
 
 #: common/audit.c:1243
-#, fuzzy
 msgid "Unknown operation"
-msgstr "version inconnue"
+msgstr "Opération inconnue"
 
 #: common/audit.c:1261
 msgid "Gpg-Agent usable"
-msgstr ""
+msgstr "gpg-agent utilisable"
 
 #: common/audit.c:1271
 msgid "Dirmngr usable"
-msgstr ""
+msgstr "Dirmngr utilisable"
 
 #: common/audit.c:1307
-#, fuzzy, c-format
+#, c-format
 msgid "No help available for `%s'."
-msgstr "Pas d'aide disponible pour `%s'"
+msgstr "Pas d'aide disponible pour « %s »."
 
 #: common/helpfile.c:80
-#, fuzzy
 msgid "ignoring garbage line"
-msgstr "erreur dans la ligne de remorque\n"
+msgstr "ligne inutile ignorée"
 
 #: common/gettime.c:503
-#, fuzzy
 msgid "[none]"
-msgstr "[non positionné]"
+msgstr "[aucun]"
 
 #: g10/armor.c:379
 #, c-format
 msgid "armor: %s\n"
-msgstr "armure: %s\n"
+msgstr "armure : %s\n"
 
 #: g10/armor.c:418
 msgid "invalid armor header: "
-msgstr "en-tête d'armure invalide: "
+msgstr "en-tête d'armure incorrect : "
 
 #: g10/armor.c:429
 msgid "armor header: "
-msgstr "en-tête d'armure: "
+msgstr "en-tête d'armure : "
 
 #: g10/armor.c:442
 msgid "invalid clearsig header\n"
-msgstr "en-tête de signature claire invalide\n"
+msgstr "en-tête de signature en texte clair incorrect\n"
 
 #: g10/armor.c:455
-#, fuzzy
 msgid "unknown armor header: "
-msgstr "en-tête d'armure: "
+msgstr "en-tête d'armure inconnu : "
 
 #: g10/armor.c:508
 msgid "nested clear text signatures\n"
-msgstr "signatures en texte clair imbriquées\n"
+msgstr "signatures en texte clair imbriquées\n"
 
 #: g10/armor.c:643
 msgid "unexpected armor: "
-msgstr "armure inattendue: "
+msgstr "armure inattendue : "
 
 #: g10/armor.c:655
 msgid "invalid dash escaped line: "
-msgstr "ligne échappée par `-' invalide: "
+msgstr "ligne protégée par « - » incorrecte : "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
-msgstr "caractère %02X invalide en radix64 ignoré\n"
+msgstr "caractère %02X incorrect en radix64, ignoré\n"
 
 #: g10/armor.c:853
 msgid "premature eof (no CRC)\n"
-msgstr "fin de fichier prématurée (pas de CRC)\n"
+msgstr "fin de fichier prématurée (pas de CRC)\n"
 
 #: g10/armor.c:887
 msgid "premature eof (in CRC)\n"
-msgstr "fin de fichier prématurée (dans le CRC)\n"
+msgstr "fin de fichier prématurée (dans le CRC)\n"
 
 #: g10/armor.c:895
 msgid "malformed CRC\n"
-msgstr "CRC déformé\n"
+msgstr "CRC mal défini\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
-msgstr "Erreur de CRC; %06lX - %06lX\n"
+msgstr "erreur de CRC ; %06lX - %06lX\n"
 
 #: g10/armor.c:919
 msgid "premature eof (in trailer)\n"
-msgstr "fin de fichier prématurée (dans la remorque)\n"
+msgstr "fin de fichier prématurée (dans le pied)\n"
 
 #: g10/armor.c:923
 msgid "error in trailer line\n"
-msgstr "erreur dans la ligne de remorque\n"
+msgstr "erreur dans la ligne de pied\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
-msgstr "aucune donnée OpenPGP valide n'a été trouvée.\n"
+msgstr "aucune donnée OpenPGP valable n'a été trouvée.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
-msgstr "armure invalide: ligne plus longue que %d caractères\n"
+msgstr "armure incorrecte : ligne plus longue que %d caractères\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
-"caractère cité-imprimable (quoted-printable) dans l'armure provenant\n"
-"certainement d'un agent de transfert de messages bogué\n"
+"caractère Quoted-Printable dans l'armure provenant sans\n"
+"doute d'un serveur de courriers électroniques défectueux\n"
 
 #: g10/build-packet.c:976
 msgid ""
 "a notation name must have only printable characters or spaces, and end with "
 "an '='\n"
 msgstr ""
-"le nom d'une notation ne doit comporter que des caractères imprimables\n"
-"ou des espaces, et se terminer par un signe '='\n"
+"un nom de notation ne doit contenir que des caractères imprimables ou des "
+"espaces, et se terminer avec « = »\n"
 
 #: g10/build-packet.c:988
 msgid "a user notation name must contain the '@' character\n"
-msgstr "un nom de notation utilisateur doit contenir le caractère '@'\n"
+msgstr "un nom de notation d'utilisateur doit contenir un caractère « @ »\n"
 
 #: g10/build-packet.c:994
 msgid "a notation name must not contain more than one '@' character\n"
-msgstr "un nom de notation utilisateur ne doit pas plus d'un caractère '@'\n"
+msgstr "un nom de notation ne doit pas contenir plus d'un caractère « @ »\n"
 
 #: g10/build-packet.c:1012
 msgid "a notation value must not use any control characters\n"
-msgstr "une valeur de notation ne doit utiliser aucun caractère de contrôle\n"
+msgstr "une valeur de notation ne doit utiliser aucun caractère de contrôle\n"
 
 #: g10/build-packet.c:1046 g10/build-packet.c:1055
 msgid "WARNING: invalid notation data found\n"
-msgstr "ATTENTION: des données de notation invalides ont été détectées\n"
+msgstr "Attention : des données de notation incorrectes ont été trouvées.\n"
 
 #: g10/build-packet.c:1077 g10/build-packet.c:1079
 msgid "not human readable"
-msgstr "illisible par un humain"
+msgstr "non lisible par l'utilisateur"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
-msgstr "la carte OpenPGP n'est pas disponible: %s\n"
+msgstr "la carte OpenPGP n'est pas disponible : %s\n"
 
 #: g10/card-util.c:90
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
-msgstr "carte OpenPGP n° %s détectée\n"
+msgstr "carte OpenPGP nº %s détectée\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "impossible de faire cela en mode automatique\n"
 
 #: g10/card-util.c:106
-#, fuzzy
 msgid "This command is only available for version 2 cards\n"
-msgstr "Cette commande n'est pas admise en mode %s.\n"
+msgstr "Cette commande n'est disponible que pour les cartes en version 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
-#, fuzzy
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
-msgstr "les parties secrètes ne sont pas disponibles\n"
+msgstr "le code de réinitialisation n'est plus disponible\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
-msgstr "Votre choix ? "
+msgstr "Quel est votre choix ? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
-msgstr "[non positionné]"
+msgstr "[non positionné]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "masculin"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
-msgstr "féminin"
+msgstr "féminin"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
-msgstr "non spécifié"
+msgstr "non indiqué"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
-msgstr "non forcé"
+msgstr "non forcé"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
-msgstr "forcé"
+msgstr "forcé"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
-msgstr "Erreur: Seul l'ASCII standard est permis pour l'instant.\n"
+msgstr "Erreur : seul l'ASCII standard est permis pour l'instant.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
-msgstr "Erreur: Le caractère « < » ne peut pas être utilisé.\n"
+msgstr "Erreur : le caractère « < » ne peut pas être utilisé.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
-msgstr "Erreur: Les espaces doubles ne sont pas permis.\n"
+msgstr "Erreur : les espaces doubles ne sont pas permises.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
-msgstr "Nom du déteneur de la carte: "
+msgstr "Nom du détenteur de la carte : "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
-msgstr "Prénom du déteneur de la carte: "
+msgstr "Prénom du détenteur de la carte : "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
-msgstr "Erreur: Nom combiné trop long (la limite est %d caractères).\n"
+msgstr "Erreur : nom combiné trop long (limité à %d caractères).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
-msgstr "URL pour récupérer la clé publique: %s"
+msgstr "URL pour récupérer la clef publique : "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
-msgstr "Erreur: URL trop long (la limite est %d caractères).\n"
+msgstr "Erreur : URL trop longue (limitée à %d caractères).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
-#, fuzzy, c-format
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
+#, c-format
 msgid "error allocating enough memory: %s\n"
-msgstr "erreur durant la création du porte-clés `%s' : %s\n"
+msgstr "erreur d'allocation de suffisamment de mémoire : %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de lecture de « %s » : %s\n"
 
-#: g10/card-util.c:839
-#, fuzzy, c-format
+#: g10/card-util.c:840
+#, c-format
 msgid "error writing `%s': %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture de « %s » : %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
-msgstr "Données d'identification (nom du compte): "
+msgstr "Données d'identification (nom du compte) : "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
-"Erreur: Données d'indentification trop longues (la limite est\n"
-"%d caractères).\n"
+"Erreur : données d'identification trop longues (limitées à\n"
+"%d caractères).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
-msgstr "Données DO privées: "
+msgstr "Données DO privées : "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
-msgstr "Erreur: DO privé trop long (la limite est %d caractères).\n"
+msgstr "Erreur : DO privé trop long (limité à %d caractères).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
-msgstr "Préférences de langue: "
+msgstr "Préférences de langue : "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
-msgstr "Erreur: longueur invalide de la chaîne de préférences.\n"
+msgstr "Erreur : longueur incorrecte de la chaîne de préférences.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
-msgstr "Erreur: caractères invalide dans la chaîne de préférences.\n"
+msgstr "Erreur : caractères incorrects dans la chaîne de préférences.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
-msgstr "Sexe ((M)asculin, (F)éminin ou espace): "
+msgstr "Sexe ((M)asculin, (F)éminin ou espace) : "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
-msgstr "Erreur: réponse invalide.\n"
+msgstr "Erreur : réponse incorrecte.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
-msgstr "empreinte de l'autorité de certification: "
+msgstr "empreinte de l'autorité de certification : "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
-msgstr "Erreur: empreinte mal formatée.\n"
+msgstr "Erreur : formatage incorrect de l'empreinte.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
-msgstr "l'opération sur la clé n'est pas possible: %s\n"
+msgstr "opération sur la clef impossible : %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "ce n'est pas une carte OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+"erreur de lecture des renseignements actuellement contenus\n"
+"dans la clef : %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
-msgstr "Remplacer la clé existante ? (o/N) "
+msgstr "Faut-il remplacer la clef existante ? (o/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
+"Remarque : Il n'y a aucune garantie que la carte gère la taille demandée.\n"
+"           En cas d'échec de génération de la clef, veuillez vérifier les\n"
+"           tailles permises dans la documentation de la carte.\n"
 
-#: g10/card-util.c:1295
-#, fuzzy, c-format
+#: g10/card-util.c:1296
+#, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Quelle taille de clé désirez-vous ? (%u) "
+msgstr "Quelle taille de clef désirez-vous pour la clef de signature ? (%u) "
 
-#: g10/card-util.c:1297
-#, fuzzy, c-format
+#: g10/card-util.c:1298
+#, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Quelle taille de clé désirez-vous ? (%u) "
+msgstr "Quelle taille de clef désirez-vous pour la clef de chiffrement ? (%u) "
 
-#: g10/card-util.c:1298
-#, fuzzy, c-format
+#: g10/card-util.c:1299
+#, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Quelle taille de clé désirez-vous ? (%u) "
+msgstr ""
+"Quelle taille de clef désirez-vous pour la clef d'authentification ? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
-msgstr "arrondie à %u bits\n"
+msgstr "arrondie à %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "les tailles de clés %s doivent être dans l'intervalle %u-%u\n"
+msgstr "les tailles de clefs %s doivent être dans l'intervalle %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
+"La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
 
-#: g10/card-util.c:1342
-#, fuzzy, c-format
+#: g10/card-util.c:1343
+#, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
-msgstr ""
-"erreur pendant la recherche de l'enregistrement de confiance\n"
-"dans `%s': %s\n"
+msgstr "erreur de modification de taille de clef %d en %u bits : %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
-msgstr "Faire une sauvegarde hors carte de la clé de chiffrement ? (O/n) "
+msgstr ""
+"Faut-il faire une sauvegarde hors carte de la clef de chiffrement ? (O/n) "
 
-#: g10/card-util.c:1378
-#, fuzzy
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
-msgstr "la clé secrète est déjà stockée sur une carte\n"
+msgstr "Remarque : les clefs sont déjà stockées sur la carte.\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
-msgstr "Remplacer les clés existantes ? (o/N) "
+msgstr "Faut-il remplacer les clefs existantes ? (o/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "You should change them using the command --change-pin\n"
 msgstr ""
-"Notez que les réglages d'usine des codes PIN sont\n"
-"   PIN = `%s'     PIN admin = `%s'\n"
-"Vous devriez les changer avec la commande --change-pin\n"
+"Veuillez noter que les configurations d'usine des codes personnels sont\n"
+"   code personnel = « %s »     code personnel d'admin. = « %s ».\n"
+"Vous devriez les modifier avec la commande --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
-msgstr "Sélectionnez le type de clé à générer:\n"
+msgstr "Veuillez sélectionner le type de clef à générer :\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
-msgstr "   (1) Clé de signature\n"
+msgstr "   (1) Clef de signature\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
-msgstr "   (2) Clé de chiffrement\n"
+msgstr "   (2) Clef de chiffrement\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
-msgstr "   (3) Clé d'authentification\n"
+msgstr "   (3) Clef d'authentification\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
-msgstr "Choix invalide.\n"
+msgstr "Choix incorrect.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
-msgstr "Sélectionnez l'endroit où stocker la clé:\n"
+msgstr "Veuillez sélectionner l'endroit où stocker la clef :\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
-msgstr "algorithme de protection de clé inconnu\n"
+msgstr "algorithme de protection de clef inconnu\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
-msgstr "Les parties secrètes de la clé ne sont pas disponibles.\n"
+msgstr "Les parties secrètes de la clef ne sont pas disponibles.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
-msgstr "la clé secrète est déjà stockée sur une carte\n"
+msgstr "la clef secrète est déjà stockée sur une carte\n"
 
-#: g10/card-util.c:1623
-#, fuzzy, c-format
+#: g10/card-util.c:1624
+#, c-format
 msgid "error writing key to card: %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture la clef sur la carte : %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "quitter ce menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
-msgstr "indiquer les commandes d'administration"
+msgstr "afficher les commandes d'administration"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "afficher cette aide"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
-msgstr "lister toutes les données disponibles"
+msgstr "afficher toutes les données disponibles"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
-msgstr "changer le nom du propriétaire de la carte"
+msgstr "modifier le nom du détenteur de la carte"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
-msgstr "changer l'URL pour récupérer la clé"
+msgstr "modifier l'URL pour récupérer la clef"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
-msgstr "aller chercher la clé spécifiée dans l'URL de la carte"
+msgstr "récupérer la clef indiquée dans l'URL de la carte"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
-msgstr "changer le nom d'identification"
+msgstr "modifier l'identifiant de connexion"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
-msgstr "changer les préférences de langue"
+msgstr "modifier les préférences de langue"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
-msgstr "changer le sexe du propriétaire de la carte"
+msgstr "modifier le sexe du détenteur de la carte"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
-msgstr "changer l'empreinte d'une autorité de certification"
+msgstr "modifier une empreinte d'autorité de certification"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
-"inverser le paramètre obligeant à rentrer le code PIN pour les\n"
+"inverser le paramètre obligeant à entrer le code personnel pour les\n"
 "signatures"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
-msgstr "générer de nouvelles clés"
+msgstr "générer de nouvelles clefs"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
-msgstr "menu pour changer ou déverrouiller le PIN"
+msgstr "menu pour modifier ou déverrouiller le code personnel"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
-msgstr "vérifier le code PIN et lister toutes les données"
+msgstr "vérifier le code personnel et afficher toutes les données"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
-msgstr ""
+msgstr "débloquer le code personnel en utilisant un code de réinitialisation"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
-msgstr ""
+msgstr "gpg/carte> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "La commande n'est utilisable qu'en mode administration\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Les commandes d'administration sont permises\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Les commandes d'administration ne sont pas permises\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
-msgstr "Commande invalide  (essayez «help»)\n"
+msgstr "Commande incorrecte (essayez Â«Â help »)\n"
 
 #: g10/decrypt.c:110 g10/encode.c:876
 msgid "--output doesn't work for this command\n"
 msgstr "--output n'est pas compatible avec cette commande\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
-msgstr "impossible d'ouvrir `%s'\n"
+msgstr "impossible d'ouvrir « %s »\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
-msgstr "clé « %s » introuvable: %s\n"
+msgstr "clef « %s » introuvable : %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
-msgstr "erreur pendant la lecture du bloc de clé : %s\n"
+msgstr "erreur de lecture du bloc de clef : %s\n"
 
 #: g10/delkey.c:127 g10/delkey.c:134
 msgid "(unless you specify the key by fingerprint)\n"
-msgstr "(à moins de spécifier la clé par son empreinte)\n"
+msgstr "(à moins d'indiquer la clef par son empreinte)\n"
 
 #: g10/delkey.c:133
 msgid "can't do this in batch mode without \"--yes\"\n"
-msgstr "impossible de faire cela en mode automatique sans « --yes »\n"
+msgstr "impossible de faire cela en mode automatique sans Â«Â --yes »\n"
 
 #: g10/delkey.c:145
 msgid "Delete this key from the keyring? (y/N) "
-msgstr "Enlever cette clé du porte-clés ? (o/N) "
+msgstr "Faut-il supprimer cette clef du porte-clefs ? (o/N) "
 
 #: g10/delkey.c:153
 msgid "This is a secret key! - really delete? (y/N) "
-msgstr "C'est une clé secrète ! - faut-il vraiment l'effacer ? (o/N) "
+msgstr "C'est une clef secrète — faut-il vraiment la supprimer ? (o/N) "
 
 #: g10/delkey.c:163
 #, c-format
 msgid "deleting keyblock failed: %s\n"
-msgstr "la suppression du bloc de clés a échoué : %s\n"
+msgstr "échec de suppression du bloc de clef : %s\n"
 
 #: g10/delkey.c:173
 msgid "ownertrust information cleared\n"
-msgstr "les informations de confiance au propriétaires ont été effacées\n"
+msgstr "les renseignements de confiance du propriétaire ont été effacées\n"
 
 #: g10/delkey.c:204
 #, c-format
 msgid "there is a secret key for public key \"%s\"!\n"
-msgstr "il y a une clé secrète pour la clé publique \"%s\" !\n"
+msgstr "il y a une clef secrète pour la clef publique « %s ».\n"
 
 #: g10/delkey.c:206
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
-msgstr "utiliser l'option «--delete-secret-keys» pour l'effacer d'abord.\n"
+msgstr ""
+"utiliser d'abord l'option « --delete-secret-keys » pour la supprimer.\n"
 
 #: g10/encode.c:226 g10/sign.c:1269
 #, c-format
 msgid "error creating passphrase: %s\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "erreur de création de la phrase de passe : %s\n"
 
 #: g10/encode.c:232
 msgid "can't use a symmetric ESK packet due to the S2K mode\n"
-msgstr ""
-"il n'est pas possible d'utiliser un paquet ESK symétrique en mode S2K\n"
+msgstr "impossible d'utiliser un paquet ESK symétrique en mode S2K\n"
 
 #: g10/encode.c:246
 #, c-format
@@ -1766,38 +1742,38 @@ msgstr "utilisation de l'algorithme de chiffrement %s\n"
 #: g10/encode.c:256 g10/encode.c:577
 #, c-format
 msgid "`%s' already compressed\n"
-msgstr "`%s' déjà compressé\n"
+msgstr "« %s » est déjà compressé\n"
 
 #: g10/encode.c:311 g10/encode.c:611 g10/sign.c:564
 #, c-format
 msgid "WARNING: `%s' is an empty file\n"
-msgstr "AVERTISSEMENT: `%s' est un fichier vide\n"
+msgstr "Attention : « %s » est un fichier vide\n"
 
 #: g10/encode.c:485
 msgid "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
 msgstr ""
-"le chiffrement RSA ne se fait qu'avec des clés de moins de 2048 bits\n"
+"le chiffrement RSA n'est possible qu'avec des clefs d'au plus 2048 bits\n"
 "en mode --pgp2\n"
 
 #: g10/encode.c:510
 #, c-format
 msgid "reading from `%s'\n"
-msgstr "lecture de `%s'\n"
+msgstr "lecture de « %s »\n"
 
 #: g10/encode.c:541
 msgid ""
 "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
 msgstr ""
-"impossible d'utiliser le chiffre IDEA pour toutes les clés vers\n"
-"lesquelles vous chiffrez.\n"
+"impossible d'utiliser le chiffrement IDEA avec toutes les clefs\n"
+"utilisés pour chiffrer.\n"
 
 #: g10/encode.c:559
 #, c-format
 msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
-"AVERTISSEMENT: forcer le chiffrement symétrique %s (%d) entre\n"
-"en désaccord avec les préférences du destinataire\n"
+"Attention : forcer le chiffrement symétrique %s (%d) est en\n"
+"            désaccord avec les préférences du destinataire\n"
 
 #: g10/encode.c:655 g10/sign.c:939
 #, c-format
@@ -1805,405 +1781,392 @@ msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
 "preferences\n"
 msgstr ""
-"AVERTISSEMENT: forcer l'algorithme de compression %s (%d) entre\n"
-"en désaccord avec les préférences du destinataire\n"
+"Attention : forcer l'algorithme de compression %s (%d) est en\n"
+"            désaccord avec les préférences du destinataire\n"
 
 #: g10/encode.c:751
 #, c-format
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
-"forcer le chiffrement symétrique %s (%d) entre en désaccord\n"
-"avec les préferences du destinataire\n"
+"forcer le chiffrement symétrique %s (%d) est en désaccord\n"
+"avec les préférences du destinataire\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
-msgstr "vous ne pouvez pas utiliser %s en mode %s.\n"
+msgstr "impossible d'utiliser %s en mode %s.\n"
 
 #: g10/encode.c:848
 #, c-format
 msgid "%s/%s encrypted for: \"%s\"\n"
-msgstr "%s/%s chiffré pour: \"%s\"\n"
+msgstr "%s/%s chiffré pour : « %s »\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
-msgstr "données chiffrées avec %s\n"
+msgstr "données chiffrées avec %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
-msgstr "chiffré avec l'algorithme inconnu %d\n"
+msgstr "chiffré avec l'algorithme inconnu %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
-"ATTENTION: Le message a été chiffré avec une clé faible pendant le\n"
-"chiffrement symétrique.\n"
+"Attention : le message a été chiffré avec une clef faible pendant le\n"
+"            chiffrement symétrique.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
-msgstr "problème de gestion des paquets chiffrés\n"
+msgstr "problème de gestion des paquets chiffrés\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
-msgstr "aucun programme d'exécution distante n'est supporté\n"
+msgstr "aucun programme d'exécution à distance n'est pris en charge\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
-"les appels aux programmes externes sont désactivés car les permissions\n"
-"du fichier d'options sont trop peu sûres\n"
+"les appels aux programmes externes sont désactivés car les droits\n"
+"du fichier d'options ne sont pas sûrs\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "cette plateforme a besoin de fichiers temporaires pour appeler des\n"
 "programmes externes\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
-msgstr "impossible d'exécuter le programme `%s': %s\n"
+msgstr "impossible d'exécuter le programme « %s » : %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
-msgstr "impossible d'exécuter l'intérpréteur de commandes `%s': %s\n"
+msgstr "impossible d'exécuter l'interpréteur de commandes « %s » : %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
-msgstr "erreur système pendant l'appel du programme externe: %s\n"
+msgstr "erreur système pendant l'appel du programme externe : %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "sortie non naturelle du programme externe\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
-msgstr "impossible d'exécuter le programme externe\n"
+msgstr "impossible d'exécuter le programme externe\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
-msgstr "impossible de lire la réponse du programme externe: %s\n"
+msgstr "impossible de lire la réponse du programme externe : %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
-"AVERTISSEMENT: impossible d'enlever le fichier temporaire\n"
-"(%s) `%s': %s\n"
+"Attention : impossible de supprimer le fichier temporaire\n"
+"            (%s) « %s » : %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr ""
-"AVERTISSEMENT: impossible d'effacer le répertoire temporaire `%s':\n"
-"%s\n"
+"Attention : impossible de supprimer le répertoire temporaire « %s » :\n"
+"            %s\n"
 
 #: g10/export.c:61
-#, fuzzy
 msgid "export signatures that are marked as local-only"
-msgstr "La signature sera marquée comme non-révocable.\n"
+msgstr "exporter les signatures marquées comme locales seulement"
 
 #: g10/export.c:63
 msgid "export attribute user IDs (generally photo IDs)"
-msgstr ""
+msgstr "exporter les attributs d'identité (en général les photos d'identité)"
 
 #: g10/export.c:65
-#, fuzzy
 msgid "export revocation keys marked as \"sensitive\""
-msgstr "aucune clé de révocation trouvée pour « %s »\n"
+msgstr "exporter les clefs de révocation marquées comme « sensibles »"
 
 #: g10/export.c:67
-#, fuzzy
 msgid "remove the passphrase from exported subkeys"
-msgstr "révoquer la clé ou les sous-clés sélectionnées"
+msgstr "supprimer la phrase de passe des sous-clefs exportées"
 
 #: g10/export.c:69
-#, fuzzy
 msgid "remove unusable parts from key during export"
-msgstr "nettoyer les parties inutilisables de la clé"
+msgstr "supprimer les parties inutilisables de la clef pendant l'exportation"
 
 #: g10/export.c:71
 msgid "remove as much as possible from key during export"
-msgstr ""
+msgstr "supprimer autant que possible de la clef pendant l'exportation"
 
 #: g10/export.c:73
 msgid "export keys in an S-expression based format"
-msgstr ""
+msgstr "exporter les clefs dans un format basé sur une expression symbolique"
 
 #: g10/export.c:338
 msgid "exporting secret keys not allowed\n"
-msgstr "il est interdit d'exporter les clé secrètes\n"
+msgstr "il est interdit d'exporter les clefs secrètes\n"
 
 #: g10/export.c:367
 #, c-format
 msgid "key %s: not protected - skipped\n"
-msgstr "clé %s: non protégée - ignorée\n"
+msgstr "clef %s : non protégée — ignorée\n"
 
 #: g10/export.c:375
 #, c-format
 msgid "key %s: PGP 2.x style key - skipped\n"
-msgstr "clé %s: clé de style PGP 2.x - ignorée\n"
+msgstr "clef %s : clef de type PGP 2.x — ignorée\n"
 
 #: g10/export.c:386
-#, fuzzy, c-format
+#, c-format
 msgid "key %s: key material on-card - skipped\n"
-msgstr "clé %s: signature de sous-clé au mauvais endroit - ignorée\n"
+msgstr "clef %s : matériel de clef sur la carte — ignorée\n"
 
 #: g10/export.c:537
 msgid "about to export an unprotected subkey\n"
-msgstr ""
+msgstr "sur le point d'exporter une sous-clef non protégée\n"
 
 #: g10/export.c:560
-#, fuzzy, c-format
+#, c-format
 msgid "failed to unprotect the subkey: %s\n"
-msgstr "le stockage de la clé a échoué: %s\n"
+msgstr "échec de déprotection de la sous-clef : %s\n"
 
 #: g10/export.c:584
 #, c-format
 msgid "WARNING: secret key %s does not have a simple SK checksum\n"
 msgstr ""
-"AVERTISSEMENT: la clé secrète %s n'a pas de somme de contrôle SK\n"
-"simple\n"
+"Attention : la clef secrète %s n'a pas de somme de contrôle SK simple\n"
 
 #: g10/export.c:633
 msgid "WARNING: nothing exported\n"
-msgstr "ATTENTION: rien n'a été exporté\n"
+msgstr "Attention : rien n'a été exporté\n"
 
 #: g10/getkey.c:152
 msgid "too many entries in pk cache - disabled\n"
-msgstr "trop d'entrées dans le cache pk - désactivé\n"
+msgstr "trop d'entrées dans le cache de clefs publiques — désactivé\n"
 
 #: g10/getkey.c:175
 msgid "[User ID not found]"
-msgstr "[Nom utilisateur introuvable]"
+msgstr "[identité introuvable]"
 
 #: g10/getkey.c:1113
 #, c-format
 msgid "automatically retrieved `%s' via %s\n"
-msgstr ""
+msgstr "« %s » automatiquement récupéré par %s\n"
 
 #: g10/getkey.c:1118
-#, fuzzy, c-format
+#, c-format
 msgid "error retrieving `%s' via %s: %s\n"
-msgstr "erreur pendant la création de `%s': %s\n"
+msgstr "erreur de récupération de « %s » avec %s : %s\n"
 
 #: g10/getkey.c:1120
-#, fuzzy
 msgid "No fingerprint"
-msgstr "empreinte de l'autorité de certification: "
+msgstr "Aucune empreinte"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
-"La clé invalide %s a été rendue valide par\n"
+"La clef incorrecte %s a été rendue valable par\n"
 "--allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
-msgstr "pas de sous-clé secrète pour la clé publique %s - ignorée\n"
+msgstr "pas de sous-clef secrète pour la sous-clef publique %s — ignorée\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
-"utilisation de la sous-clé %s à la place de la clé\n"
+"utilisation de la sous-clef %s à la place de la clef\n"
 "principale %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
-msgstr "clé %s: clé secrète sans clé publique - non prise en compte\n"
+msgstr "clef %s : clef secrète sans clef publique — ignorée\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
-#, fuzzy
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
-msgstr "|[fichier]|faire une signature"
+msgstr "faire une signature"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
-#, fuzzy
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
-msgstr "|[fichier]|faire une signature en texte clair"
+msgstr "faire une signature en texte clair"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
-msgstr "faire une signature détachée"
+msgstr "faire une signature détachée"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
-msgstr "chiffrer les données"
+msgstr "chiffrer les données"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
-msgstr "chiffrement symétrique seulement"
+msgstr "chiffrement symétrique seulement"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
-msgstr "déchiffrer les données (défaut)"
+msgstr "déchiffrer les données (défaut)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
-msgstr "vérifier une signature"
+msgstr "vérifier une signature"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
-msgstr "lister les clés"
+msgstr "afficher les clefs"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
-msgstr "lister les clés et les signatures"
+msgstr "afficher les clefs et les signatures"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
-msgstr "lister et vérifier les signatures des clés"
+msgstr "afficher et vérifier les signatures de clefs"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
-msgstr "lister les clés et les empreintes"
+msgstr "afficher les clefs et les empreintes"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
-msgstr "lister les clés secrètes"
+msgstr "afficher les clefs secrètes"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
-msgstr "générer une nouvelle paire de clés"
+msgstr "générer une nouvelle paire de clefs"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
-msgstr "générer un certificat de révocation"
+msgstr "générer un certificat de révocation"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
-msgstr "enlever les clés du porte-clés public"
+msgstr "supprimer les clefs du porte-clefs public"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
-msgstr "enlever les clés du porte-clés secret"
+msgstr "supprimer les clefs du porte-clefs secret"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
-msgstr "signer une clé"
+msgstr "signer une clef"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
-msgstr "signer une clé localement"
+msgstr "signer une clef localement"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
-msgstr "signer ou éditer une clé"
+msgstr "signer ou éditer une clef"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
-#, fuzzy
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
-msgstr "changer la phrase de passe"
+msgstr "modifier une phrase de passe"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
-msgstr "exporter les clés"
+msgstr "exporter les clefs"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
-msgstr "exporter les clés vers un serveur de clés"
+msgstr "exporter les clefs vers un serveur de clefs"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
-msgstr "importer les clés d'un serveur de clés"
+msgstr "importer les clefs d'un serveur de clefs"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
-msgstr "chercher les clés avec un serveur de clés"
+msgstr "chercher les clefs avec un serveur de clefs"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
-msgstr "mettre à jour les clés depuis un serveur"
+msgstr "mettre à jour les clefs depuis un serveur"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
-msgstr "importer/fusionner les clés"
+msgstr "importer ou fusionner les clefs"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
-msgstr "afficher l'état de la carte"
+msgstr "afficher l'état de la carte"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
-msgstr "changer les données d'une carte"
+msgstr "modifier les données d'une carte"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
-msgstr "changer le code PIN d'une carte"
+msgstr "modifier le code personnel d'une carte"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
-msgstr "mettre la base de confiance à jour"
+msgstr "mettre la base de confiance à jour"
 
-#: g10/gpg.c:436
-#, fuzzy
+#: g10/gpg.c:441
 msgid "print message digests"
-msgstr "|alg. [fich.]|indiquer les fonctions de hachage"
+msgstr "indiquer les fonctions de hachage"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
-msgstr ""
+msgstr "exécuter en mode serveur"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
-msgstr "créer une sortie ascii avec armure"
+msgstr "créer une sortie ASCII avec armure"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
-#, fuzzy
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
-msgstr "|NOM|chiffrer pour NOM"
+msgstr "|IDENTITÉ|chiffrer pour l'IDENTITÉ"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
-#, fuzzy
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
-msgstr "utiliser ce nom pour signer ou déchiffrer"
+msgstr "|IDENTITÉ|utiliser l'IDENTITÉ pour signer ou déchiffrer"
 
-#: g10/gpg.c:462
-#, fuzzy
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
-msgstr "|N|niveau de compression N (0 désactive)"
+msgstr "|N|niveau de compression N (0 désactive)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "utiliser le mode texte canonique"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
-#, fuzzy
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
-msgstr "lire les options de `%s'\n"
+msgstr "|FICHIER|Écrire la sortie dans le FICHIER"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
-msgstr "ne rien changer"
+msgstr "ne rien modifier"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
-msgstr "demander avant d'écraser un fichier"
+msgstr "demander avant d'écraser un fichier"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
-msgstr "utiliser strictement le comportement OpenPGP"
+msgstr "utiliser le comportement strict d'OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
 "@\n"
-"(Voir la page de manuel pour une liste complète des commandes et options)\n"
+"(Consultez la page de manuel pour obtenir une liste complète des commandes\n"
+"et options)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2215,655 +2178,635 @@ msgid ""
 " --fingerprint [names]      show fingerprints\n"
 msgstr ""
 "@\n"
-"Exemples:\n"
+"Exemples :\n"
 "\n"
-" -se -r Alice [fichier]       signer et chiffrer pour l'utilisateur Alice\n"
-" --clearsign [fichier]        faire une signature en texte clair\n"
-" --detach-sign [fichier]      faire une signature détachée\n"
-" --list-keys [utilisateur]    montrer les clés\n"
-" --fingerprint [utilisateur]  montrer les empreintes\n"
+" -se -r Alice [fichier]     signer et chiffrer pour l'utilisateur Alice\n"
+" --clearsign [fichier]      faire une signature en texte clair\n"
+" --detach-sign [fichier]    faire une signature détachée\n"
+" --list-keys [noms]         montrer les clefs\n"
+" --fingerprint [noms]       montrer les empreintes\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpg [options] [fichiers] (-h pour l'aide)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"Syntaxe: gpg [options] [fichiers]\n"
-"signer, vérifier, chiffrer ou déchiffrer\n"
-"l'opération par défaut dépend des données entrées\n"
+"Syntaxe : gpg [options] [fichiers]\n"
+"Signer, vérifier, chiffrer ou déchiffrer\n"
+"L'opération par défaut dépend des données entrées\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
 msgstr ""
 "\n"
-"Algorithmes supportés:\n"
+"Algorithmes pris en charge :\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
-msgstr "Clé publique: "
+msgstr "Clef publique : "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
-msgstr "Chiffrement: "
+msgstr "Chiffrement : "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
-msgstr "Hachage: "
+msgstr "Hachage : "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
-msgstr "Compression: "
+msgstr "Compression : "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
-msgstr "utilisation: gpg [options] "
+msgstr "utilisation : gpg [options] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "commandes en conflit\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
-msgstr "aucun signe = trouvé dans la définition du groupe `%s'\n"
+msgstr "aucun signe = trouvé dans la définition du groupe « %s »\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire du répertoire personnel `%s' est\n"
-"peu sûr\n"
+"Attention : le propriétaire du répertoire personnel « %s »\n"
+"            n'est pas sûr\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire du fichier de configuration `%s'\n"
-"est peu sûr\n"
+"Attention : le propriétaire du fichier de configuration « %s »\n"
+"            n'est pas sûr\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire de l'extension `%s' est peu\n"
-"r\n"
+"Attention : le propriétaire de l'extension « %s »\n"
+"            n'est pas sûr\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions du répertoire personnel `%s'\n"
-"sont peu sûres\n"
+"Attention : les droits du répertoire personnel « %s »\n"
+"            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions du fichier de configuration\n"
-"`%s' sont peu sûres\n"
+"Attention : les droits du fichier de configuration « %s »\n"
+"            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions de l'extension `%s' sont\n"
-"peu sûres\n"
+"Attention : les droits de l'extension « %s »\n"
+"            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire du répertoire contenant est peu\n"
-"sûr pour le répertoire personnel `%s'\n"
+"Attention : le propriétaire du répertoire contenant le répertoire personnel\n"
+"            « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire du répertoire contenant est peu\n"
-"sûr pour le fichier de configuration `%s'\n"
+"Attention : le propriétaire du répertoire contenant le fichier de\n"
+"            configuration « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
-"AVERTISSEMENT: le propriétaire du répertoire contenant est peu\n"
-"sûr pour l'extension `%s'\n"
+"Attention : le propriétaire du répertoire contenant l'extension\n"
+"            « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions du répertoire contenant le\n"
-"répertoire personnel `%s' sont peu sûres\n"
+"Attention : les droits du répertoire contenant le répertoire personnel\n"
+"            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions du répertoire contenant le\n"
-"fichier de configuration `%s' sont peu sûres\n"
+"Attention : les droits du répertoire contenant le fichier de configuration\n"
+"            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
-"AVERTISSEMENT: les permissions du répertoire contenant\n"
-"l'extension `%s' sont peu sûres\n"
+"Attention : les droits du répertoire contenant l'extension\n"
+"            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
-msgstr "élément de configuration `%s' inconnu\n"
+msgstr "élément de configuration « %s » inconnu\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
-msgstr ""
+msgstr "montrer les photos d'identité en affichant les clefs"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
-msgstr ""
+msgstr "montrer les URL de politique en affichant les signatures"
 
-#: g10/gpg.c:1703
-#, fuzzy
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
-msgstr "Pas de signature correspondante dans le porte-clés secret\n"
+msgstr "montrer toutes les notations en affichant les signatures"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
-msgstr ""
+msgstr "utiliser les notations aux normes IETF en affichant les signatures"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
+"utiliser les notations fournies par l'utilisateur en affichant les signatures"
 
-#: g10/gpg.c:1711
-#, fuzzy
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
-msgstr "l'URL du serveur de clés favori qui a été donnée est invalide\n"
+msgstr ""
+"montrer les URL des serveurs de clefs favoris en affichant les signatures"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
-msgstr ""
+msgstr "indiquer la validité de l'identité en affichant les clefs"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
-msgstr ""
+msgstr "montrer les identités révoquées et expirées en affichant les clefs"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
-msgstr ""
+msgstr "indiquer les sous-clefs révoquées et expirées en affichant les clefs"
 
-#: g10/gpg.c:1719
-#, fuzzy
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
-msgstr ""
-"passer de la liste des clés secrètes à celle des clés privées\n"
-"et inversement"
+msgstr "montrer le nom du porte-clefs en affichant les clefs"
 
-#: g10/gpg.c:1721
-#, fuzzy
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
-msgstr "Pas de signature correspondante dans le porte-clés secret\n"
+msgstr "montrer les dates d'expiration en affichant les signatures"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
-msgstr "NOTE: l'ancien fichier d'options par défaut `%s' a été ignoré\n"
+msgstr "Remarque : l'ancien fichier d'options par défaut « %s » a été ignoré\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "libgcrypt est trop ancienne (nécessaire : %s, utilisé : %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
-msgstr "NOTE: %s n'est pas pour une utilisation normale !\n"
+msgstr "Remarque : %s n'est pas pour une utilisation normale.\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
-msgstr "`%s' n'est pas une date d'expiration de signature valide\n"
+msgstr "« %s » n'est pas une date d'expiration de signature valable\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
-msgstr "`%s' n'est pas un jeu de caractères valide\n"
+msgstr "« %s » n'est pas un jeu de caractères valable\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
-msgstr "impossible d'interpréter l'URL du serveur de clés\n"
+msgstr "impossible d'analyser l'URL du serveur de clefs\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
-msgstr "%s:%d: les options du serveur de clés sont invalides\n"
+msgstr "%s : %d : les options du serveur de clefs sont incorrectes\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
-msgstr "les options du serveur de clés sont invalides\n"
+msgstr "les options du serveur de clefs sont incorrectes\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
-msgstr "%s:%d: options d'import invalides\n"
+msgstr "%s : %d : options d'importation incorrectes\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
-msgstr "options d'import invalides\n"
+msgstr "options d'importation incorrectes\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
-msgstr "%s:%d: options d'export invalides\n"
+msgstr "%s : %d : options d'exportation incorrectes\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
-msgstr "options d'export invalides\n"
+msgstr "options d'exportation incorrectes\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
-msgstr "%s:%d: options de liste invalides\n"
+msgstr "%s : %d : options de liste incorrectes\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
-msgstr "options de liste invalides\n"
+msgstr "options de liste incorrectes\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
-msgstr ""
+msgstr "montrer les photos d'identité en vérifiant les signatures"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
-msgstr ""
+msgstr "montrer les URL de politique en vérifiant les signatures"
 
-#: g10/gpg.c:2704
-#, fuzzy
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
-msgstr "`%s' n'est pas une date d'expiration de signature valide\n"
+msgstr "montrer toutes les notations en vérifiant les signatures"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
-msgstr ""
+msgstr "utiliser les notations aux normes IETF en vérifiant les signatures"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
+"utiliser les notations fournies par l'utilisateur en vérifiant les signatures"
 
-#: g10/gpg.c:2712
-#, fuzzy
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
-msgstr "l'URL du serveur de clés favori qui a été donnée est invalide\n"
+msgstr ""
+"montrer les URL des serveurs de clefs favoris en vérifiant les signatures"
 
-#: g10/gpg.c:2714
-#, fuzzy
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
-msgstr "`%s' n'est pas une date d'expiration de signature valide\n"
+msgstr "indiquer la validité de l'identité en vérifiant les signatures"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
+"montrer les identités révoquées et expirées en vérifiant les signatures"
 
-#: g10/gpg.c:2718
-#, fuzzy
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
-msgstr "`%s' n'est pas une date d'expiration de signature valide\n"
+msgstr "ne montrer que l'identité principale en vérifiant les signatures"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
-msgstr ""
+msgstr "valider les signatures avec les données PKA"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
-msgstr ""
+msgstr "augmenter la confiance des signatures avec des données PKA valables"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
-msgstr "%s:%d: options de vérification invalides\n"
+msgstr "%s : %d : options de vérification incorrectes\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
-msgstr "options de vérification invalides\n"
+msgstr "options de vérification incorrectes\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
-msgstr "impossible de mettre le chemin d'exécution à %s\n"
+msgstr "impossible de configurer le chemin d'exécution à %s\n"
 
-#: g10/gpg.c:2925
-#, fuzzy, c-format
+#: g10/gpg.c:2934
+#, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
-msgstr "%s:%d: options de vérification invalides\n"
+msgstr "%s : %d : liste de recherche automatique de clef incorrecte\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
-msgstr ""
+msgstr "liste de recherche automatique de clef incorrecte\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
-msgstr "ATTENTION: Le programme peut créer un fichier «core» !\n"
+msgstr "Attention : le programme pourrait créer un fichier « core ».\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
-msgstr "ATTENTION: %s remplace %s\n"
+msgstr "Attention : %s remplace %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
-msgstr "%s n'est pas permis avec %s !\n"
+msgstr "%s n'est pas permis avec %s.\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
-msgstr "%s n'a aucun sens avec %s !\n"
+msgstr "%s n'a aucun sens avec %s.\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
-msgstr "pas d'exécution ave une mémoire non sécurisée à cause de %s\n"
+msgstr "ne sera pas exécuté avec une mémoire non sécurisée à cause de %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
-"il n'est possible de faire une signature détachée ou en texte clair\n"
-"qu'en mode --pgp2\n"
+"une signature détachée ou en texte clair n'est possible qu'en mode --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
-msgstr "vous ne pouvez pas signer et chiffrer en même temps en mode --pgp2\n"
+msgstr "signer et chiffrer en même temps n'est possible qu'en mode --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
-"vous devez utiliser des fichiers (et pas un tube) lorsque --pgp2\n"
-"est activé.\n"
+"des fichiers (et pas un tube) doivent être utilisés lorsque --pgp2\n"
+"est activé.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
-"chiffrer un message en mode --pgp2 nécessite l'algorithme de chiffrage IDEA\n"
+"chiffrer un message en mode --pgp2 nécessite l'algorithme de chiffrement "
+"IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
-msgstr "l'algorithme de chiffrement sélectionné est invalide\n"
+msgstr "l'algorithme de chiffrement sélectionné est incorrect\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
-msgstr "la fonction de hachage sélectionnée est invalide\n"
+msgstr "la fonction de hachage sélectionnée est incorrecte\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
-msgstr "l'algorithme de compression sélectionné est invalide\n"
+msgstr "l'algorithme de compression sélectionné est incorrect\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
-msgstr "la fonction de hachage de certification sélectionnée est invalide\n"
+msgstr "la fonction de hachage de certification sélectionnée est incorrecte\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
-msgstr "«completes-needed» doit être supérieur à 0\n"
+msgstr "« completes-needed » doit être supérieur à 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
-msgstr "«marginals-needed» doit être supérieur à 1\n"
+msgstr "« marginals-needed » doit être supérieur à 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
-msgstr "max-cert-depth doit être compris entre 1 et 255\n"
+msgstr "« max-cert-depth » doit être compris entre 1 et 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
-msgstr "default-cert-level invalide; doit être 0, 1, 2 ou 3\n"
+msgstr "« default-cert-level » incorrect ; doit être 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
-msgstr "min-cert-level invalide; doit être 0, 1, 2 ou 3\n"
+msgstr "« min-cert-level » incorrect ; doit être , 1, 2 ou 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
-msgstr "NOTE: le mode S2K simple (0) est fortement déconseillé\n"
+msgstr "Remarque : le mode S2K simple (0) est fortement déconseillé\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
-msgstr "mode S2K invalide; ce doit être 0, 1 ou 3\n"
+msgstr "mode S2K incorrect ; doit être 0, 1 ou 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
-msgstr "préférences par défaut invalides\n"
+msgstr "préférences par défaut incorrectes\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
-msgstr "préférences de chiffrement personnelles invalides\n"
+msgstr "préférences personnelles de chiffrement incorrectes\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
-msgstr "préférences de hachage personnelles invalides\n"
+msgstr "préférences personnelles de hachage incorrectes\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
-msgstr "préférences de compression personnelles invalides\n"
+msgstr "préférences personnelles de compression incorrectes\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
-msgstr "%s ne marche pas encore avec %s\n"
+msgstr "%s ne fonctionne pas encore avec %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
-msgstr ""
-"vous ne pouvez pas utiliser l'algorithme de chiffrement `%s'\n"
-"en mode %s.\n"
+msgstr "impossible d'utiliser l'algorithme de chiffrement « %s » en mode %s.\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
-msgstr ""
-"vous ne pouvez pas utiliser l'algorithme de hachage `%s'\n"
-"en mode %s.\n"
+msgstr "impossible d'utiliser l'algorithme de hachage « %s » en mode %s.\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
-msgstr ""
-"vous ne pouvez pas utiliser l'algorithme de compression `%s'\n"
-"en mode %s.\n"
+msgstr "impossible d'utiliser l'algorithme de compression « %s » en mode %s.\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
-msgstr "impossible d'initialiser la base de confiance: %s\n"
+msgstr "impossible d'initialiser la base de confiance : %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
-"AVERTISSEMENT: des destinataires (-r) ont été donnés alors que le\n"
-"chiffrement ne se fait pas par clé publique\n"
+"Attention : les destinataires (-r) indiqués n'utilisent pas\n"
+"            de clef publique pour le chiffrement\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
-msgstr "--store [nom du fichier]"
+msgstr "--store [fichier]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
-msgstr "--symmetric [nom du fichier]"
+msgstr "--symmetric [fichier]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
-msgstr "le chiffrement symétrique de `%s' a échoué: %s\n"
+msgstr "échec du chiffrement symétrique de « %s » : %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
-msgstr "--encrypt [nom du fichier]"
+msgstr "--encrypt [fichier]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
-msgstr "--symmetric --encrypt [nom du fichier]"
+msgstr "--symmetric --encrypt [fichier]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
-msgstr "vous ne pouvez pas utiliser --symmetric --encrypt avec --s2k-mode 0\n"
+msgstr "impossible d'utiliser --symmetric --encrypt avec --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
-msgstr "vous ne pouvez pas utiliser --symmetric --encrypt en mode %s.\n"
+msgstr "impossible d'utiliser --symmetric --encrypt en mode %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
-msgstr "--sign [nom du fichier]"
+msgstr "--sign [fichier]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
-msgstr "--sign --encrypt [nom du fichier]"
+msgstr "--sign --encrypt [fichier]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
-msgstr "--symmetric --sign --encrypt [nom du fichier]"
+msgstr "--symmetric --sign --encrypt [fichier]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
-msgstr ""
-"Vous ne pouvez pas utiliser --symmetric --sign --encrypt avec\n"
-"--s2k-mode 0\n"
+msgstr "impossible d'utiliser --symmetric --sign --encrypt avec --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
-msgstr ""
-"vous ne pouvez pas utiliser --symmetric --sign --encrypt\n"
-"en mode %s.\n"
+msgstr "impossible d'utiliser --symmetric --sign --encrypt en mode %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
-msgstr "--sign --symmetric [nom du fichier]"
+msgstr "--sign --symmetric [fichier]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
-msgstr "--clearsign [nom du fichier]"
+msgstr "--clearsign [fichier]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
-msgstr "--decrypt [nom du fichier]"
+msgstr "--decrypt [fichier]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
-msgstr "--sign-key utilisateur"
+msgstr "--sign-key identité"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
-msgstr "--lsign-key utilisateur"
+msgstr "--lsign-key identité"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
-msgstr "--edit-key utilisateur [commandes]"
+msgstr "--edit-key identité [commandes]"
 
-#: g10/gpg.c:3629
-#, fuzzy
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
-msgstr "--sign-key utilisateur"
+msgstr "--passwd <identité>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
-msgstr "l'envoi vers le serveur de clés a échoué: %s\n"
+msgstr "échec d'envoi vers le serveur de clefs : %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
-msgstr "la réception depuis le serveur de clés a échoué: %s\n"
+msgstr "échec de réception depuis le serveur de clefs : %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
-msgstr "l'export de la clé a échoué: %s\n"
+msgstr "échec d'exportation de la clef : %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
-msgstr "la recherche au sein du serveur de clés a échoué: %s\n"
+msgstr "échec de recherche au sein du serveur de clefs : %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
-msgstr "le rafraîchissement par le serveur de clés a échoué: %s\n"
+msgstr "échec de rafraîchissement par le serveur de clefs : %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
-msgstr "la suppression d'une armure a échoué: %s\n"
+msgstr "échec de déconstruction d'une armure : %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
-msgstr "la construction d'une armure a échoué: %s \n"
+msgstr "échec de construction d'une armure : %s \n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "algorithme de hachage « %s » incorrect\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
-msgstr "[nom du fichier]"
+msgstr "[fichier]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
-msgstr "Vous pouvez taper votre message...\n"
+msgstr "Vous pouvez taper votre message\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
-msgstr "l'URL de politique de certification donnée est invalide\n"
+msgstr "l'URL de politique de certification donnée est incorrecte\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
-msgstr "l'URL de politique de signature donnée est invalide\n"
+msgstr "l'URL de politique de signature donnée est incorrecte\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
-msgstr "l'URL du serveur de clés favori qui a été donnée est invalide\n"
+msgstr "l'URL du serveur de clefs favori qui a été donnée est incorrecte\n"
 
 #: g10/gpgv.c:74
-#, fuzzy
 msgid "|FILE|take the keys from the keyring FILE"
-msgstr "enlever les clés de ce porte-clés"
+msgstr "|FICHIER|prendre les clefs dans le porte-clefs FICHIER"
 
 #: g10/gpgv.c:76
 msgid "make timestamp conflicts only a warning"
-msgstr ""
-"faire en sorte que les conflits d'horodatage ne soient qu'un\n"
-"avertissement non fatal"
+msgstr "convertir les conflits de date en avertissements"
 
 #: g10/gpgv.c:78 sm/gpgsm.c:326
 msgid "|FD|write status info to this FD"
-msgstr "|FD|écrire l'état sur ce descripteur"
+msgstr "|FD|écrire l'état sur ce descripteur"
 
 #: g10/gpgv.c:117
 msgid "Usage: gpgv [options] [files] (-h for help)"
-msgstr "Utilisation: gpgv [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpgv [options] [fichiers] (-h pour l'aide)"
 
 #: g10/gpgv.c:119
-#, fuzzy
 msgid ""
 "Syntax: gpgv [options] [files]\n"
 "Check signatures against known trusted keys\n"
 msgstr ""
-"Syntaxe: gpg [options] [fichiers]\n"
-"Verifier des signatures avec des clés de confiance connues\n"
+"Syntaxe : gpgv [options] [fichiers]\n"
+"Vérifier des signatures avec des clefs de confiance connues\n"
 
 #: g10/helptext.c:72
 msgid "No help available"
@@ -2872,532 +2815,543 @@ msgstr "Pas d'aide disponible"
 #: g10/helptext.c:82
 #, c-format
 msgid "No help available for `%s'"
-msgstr "Pas d'aide disponible pour `%s'"
+msgstr "Pas d'aide disponible pour « %s »"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
-msgstr ""
+msgstr "importer des signatures marquées comme locales seulement"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
-msgstr ""
+msgstr "réparer les données endommagées du serveur pks pendant l'importation"
 
-#: g10/import.c:98
-#, fuzzy
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
-msgstr "mettre la base de confiance à jour"
+msgstr "ne pas mettre à jour la base de confiance après l'importation"
 
-#: g10/import.c:100
-#, fuzzy
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
-msgstr "la clé publique ne correspond pas à la clé secrète !\n"
+msgstr "créer une clef publique en important une clef secrète"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
-msgstr ""
+msgstr "n'accepter que les mises à jour des clefs existantes"
 
-#: g10/import.c:104
-#, fuzzy
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
-msgstr "nettoyer les parties inutilisables de la clé"
+msgstr "nettoyer les parties inutilisables de la clef après l'importation"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
-msgstr ""
+msgstr "supprimer autant que possible de la clef après l'importation"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
-msgstr "un bloc de type %d a été ignoré\n"
+msgstr "un bloc de type %d a été ignoré\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
-msgstr "%lu clés traitées jusqu'ici\n"
+msgstr "%lu clefs traitées jusqu'à présent\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
-msgstr "       Quantité totale traitée: %lu\n"
+msgstr "      Quantité totale traitée : %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
-msgstr "       nouvelles clés ignorées: %lu\n"
+msgstr "     nouvelles clefs ignorées : %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
-msgstr "        sans nom d'utilisateur: %lu\n"
+msgstr "                sans identité : %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
-msgstr "                      importée: %lu"
+msgstr "                    importées : %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
-msgstr "                     inchangée: %lu\n"
+msgstr "                non modifiées : %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
-msgstr "  nouveaux noms d'utilisateurs: %lu\n"
+msgstr "          nouvelles identités : %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
-msgstr "           nouvelles sous-clés: %lu\n"
+msgstr "         nouvelles sous-clefs : %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
-msgstr "          nouvelles signatures: %lu\n"
+msgstr "         nouvelles signatures : %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
-msgstr " nouvelles révocations de clés: %lu\n"
+msgstr "nouvelles révocations de clef : %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
-msgstr "            clés secrètes lues: %lu\n"
+msgstr "          clefs secrètes lues : %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
-msgstr "       clés secrètes importées: %lu\n"
+msgstr "     clefs secrètes importées : %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
-msgstr "      clés secrètes inchangées: %lu\n"
+msgstr " clefs secrètes non modifiées : %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
-msgstr "                  non importée: %lu\n"
+msgstr "                non importées : %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
-msgstr "          signatures nettoyées: %lu\n"
+msgstr "         signatures nettoyées : %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
-msgstr "   noms d'utilisateur nettoyés: %lu\n"
+msgstr "          identités nettoyées : %lu\n"
 
-#: g10/import.c:606
-#, fuzzy, c-format
+#: g10/import.c:638
+#, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
-msgstr "AVERTISSEMENT: la clé %s contient des préferences pour des\n"
+msgstr ""
+"Attention : la clef %s contient des préférences pour des\n"
+"            algorithmes indisponibles pour ces identités :\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
-msgstr "         « %s »: préférence pour l'algorithme de chiffrement %s\n"
+msgstr "            « %s » : préférence pour l'algorithme de chiffrement %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
-msgstr "         « %s »: préférence pour l'algorithme de hachage %s\n"
+msgstr "            « %s » : préférence pour l'algorithme de hachage %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
-msgstr "         « %s »: préférence pour l'algorithme de compression %s\n"
+msgstr "            « %s » : préférence pour l'algorithme de compression %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
-msgstr "il est fortement suggéré de mettre à jour vos préférences et\n"
+msgstr "vous devriez mettre à jour vos préférences et redistribuer cette\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
-msgstr ""
-"redistribuer cette clé pour éviter les problèmes potentiels qui seraient\n"
-"causés par des algorithmes non appropriés\n"
+msgstr "clef pour éviter d'éventuels problèmes d'algorithmes non appropriés\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
-"vous pouvez mettre à jour vos préférences avec: \n"
+"vous pouvez mettre à jour vos préférences avec :\n"
 "gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
-msgstr "clé %s: pas de nom d'utilisateur\n"
+msgstr "clef %s : pas d'identité\n"
+
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "« %s » a été ignorée : %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
 
-#: g10/import.c:795
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
-msgstr "clé %s: corruption de sous-clé PKS réparée\n"
+msgstr "clef %s : corruption de sous-clef PKS réparée\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
-msgstr "clé %s: nom d'utilisateur non auto-signé accepté « %s »\n"
+msgstr "clef %s : identité « %s » non autosignée acceptée\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
-msgstr "clé %s: pas de nom d'utilisateur valide\n"
+msgstr "clef %s : pas d'identité valable\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
-msgstr "cela peut provenir d'une auto-signature manquante\n"
+msgstr "cela pourrait provenir d'une autosignature manquante\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
-msgstr "clé %s: clé publique non trouvée: %s\n"
+msgstr "clef %s : clef publique introuvable : %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
-msgstr "clé %s: nouvelle clé - ignorée\n"
+msgstr "clef %s : nouvelle clef — ignorée\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
-msgstr "aucun porte-clé n'a été trouvé avec des droits d'écriture : %s\n"
+msgstr "aucun porte-clefs accessible en écriture n'a été trouvé : %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
-msgstr "écriture de `%s'\n"
+msgstr "écriture de « %s »\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture du porte-clefs « %s » : %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
-msgstr "clé %s: clé publique « %s » importée\n"
+msgstr "clef %s : clef publique « %s » importée\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
-msgstr "clé %s: ne ressemble pas à notre copie\n"
+msgstr "clef %s : ne correspond pas à notre copie\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
-msgstr "clé %s: impossible de trouver le bloc de clés original: %s\n"
+msgstr "clef %s : impossible de trouver le bloc de clef d'origine : %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
-msgstr "clé %s: impossible de lire le bloc de clés original: %s\n"
+msgstr "clef %s : impossible de lire le bloc de clef d'origine : %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
-msgstr "clé %s: « %s » un nouvel utilisateur\n"
+msgstr "clef %s : « %s » 1 nouvelle identité\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
-msgstr "clé %s: « %s » %d nouveaux utilisateurs\n"
+msgstr "clef %s : « %s » %d nouvelles identités\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
-msgstr "clé %s: « %s » une nouvelle signature\n"
+msgstr "clef %s : « %s » 1 nouvelle signature\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
-msgstr "clé %s: « %s » %d nouvelles signatures\n"
+msgstr "clef %s : « %s » %d nouvelles signatures\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
-msgstr "clé %s: « %s » une nouvelle sous-clé\n"
+msgstr "clef %s : « %s » 1 nouvelle sous-clef\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
-msgstr "clé %s: « %s » %d nouvelles sous-clés\n"
+msgstr "clef %s : « %s » %d nouvelles sous-clefs\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
-msgstr "clé %s: « %s » %d signature nettoyée\n"
+msgstr "clef %s : « %s » %d signature nettoyée\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
-msgstr "clé %s: « %s » %d signatures nettoyées\n"
+msgstr "clef %s : « %s » %d signatures nettoyées\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
-msgstr "clé %s: « %s » %d nom d'utilisateur nettoyé\n"
+msgstr "clef %s : « %s » %d identité nettoyée\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
-msgstr "clé %s: « %s » %d noms d'utilisateur nettoyés\n"
+msgstr "clef %s : « %s » %d identités nettoyées\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
-msgstr "clé %s: « %s » n'a pas changé\n"
+msgstr "clef %s : « %s » n'est pas modifiée\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr ""
-"clé %s: clé secrète avec le chiffrement invalide %d - non prise\n"
-"en compte\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "clef secrète « %s » introuvable : %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
-msgstr "il est interdit d'importer les clé secrètes\n"
+msgstr "impossible d'importer des clefs secrètes\n"
+
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "clef %s : clef secrète avec chiffrement %d incorrect — ignorée\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
-msgstr "pas de porte-clés par défaut: %s\n"
+msgstr "pas de porte-clefs par défaut : %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
-msgstr "clé %s: clé secrète importée\n"
+msgstr "clef %s : clef secrète importée\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
-msgstr "clé %s: déjà dans le porte-clés secret\n"
+msgstr "clef %s : déjà dans le porte-clefs secret\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
-msgstr "clé %s: clé secrète non trouvée: %s\n"
+msgstr "clef %s : clef secrète introuvable : %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
-"clé %s: pas de clé publique - le certificat de révocation ne peut\n"
-"être appliqué\n"
+"clef %s : pas de clef publique — impossible d'appliquer le certificat\n"
+"          de révocation\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
-msgstr "clé %s: certificat de révocation invalide: %s - rejeté\n"
+msgstr "clef %s : certificat de révocation incorrect : %s — rejeté\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
-msgstr "clé %s: « %s » certificat de révocation importé\n"
+msgstr "clef %s : « %s » certificat de révocation importé\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
-msgstr "clé %s: pas de nom d'utilisateur pour la signature\n"
+msgstr "clef %s : pas d'identité pour la signature\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
-msgstr ""
-"clé %s: algorithme de clé publique non supporté avec le nom\n"
-"d'utilisateur « %s »\n"
+msgstr "clef %s : algorithme à clef publique non géré avec l'identité « %s »\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
-msgstr "clé %s: auto-signature du nom d'utilisateur « %s » invalide\n"
+msgstr "clef %s : autosignature de l'identité « %s » incorrecte\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
-msgstr "clé %s: algorithme de clé publique non supporté\n"
+msgstr "clef %s : algorithme à clef publique non pris en charge\n"
 
-#: g10/import.c:1484
-#, fuzzy, c-format
+#: g10/import.c:1537
+#, c-format
 msgid "key %s: invalid direct key signature\n"
-msgstr "clé %s: ajout de la signature de clé directe\n"
+msgstr "clef %s : signature directe de clef incorrecte\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
-msgstr "clé %s: pas de sous-clé pour relier la clé\n"
+msgstr "clef %s : pas de sous-clef pour relier la clef\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
-msgstr "clé %s: liaison avec la sous-clé invalide\n"
+msgstr "clef %s : lien à la sous-clef incorrect\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
-msgstr "clé %s: supression de liaisons multiples avec des sous-clés\n"
+msgstr "clef %s : suppression de lien multiple aux sous-clefs\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
-msgstr "clé %s: pas de sous-clé pour révoquer la clé\n"
+msgstr "clef %s : pas de sous-clef pour révoquer la clef\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
-msgstr "clé %s: révocation de sous-clé invalide\n"
+msgstr "clef %s : révocation de sous-clef incorrecte\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
-msgstr "clé %s: suppression de la révocation de sous-clés multiples\n"
+msgstr "clef %s : suppression de la révocation de sous-clefs multiples\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
-msgstr "clé %s: nom d'utilisateur « %s » non pris en compte\n"
+msgstr "clef %s : identité « %s » ignorée\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
-msgstr "clé %s: sous-clé non prise en compte\n"
+msgstr "clef %s : sous-clef ignorée\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
-msgstr "clé %s: signature non exportable (classe 0x%02X) - ignorée\n"
+msgstr "clef %s : signature non exportable (classe 0x%02X) — ignorée\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
-msgstr "clé %s: certificat de révocation au mauvais endroit - ignorée\n"
+msgstr "clef %s : certificat de révocation au mauvais endroit — ignoré\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
-msgstr "clé %s: certificat de révocation invalide: %s - ignorée\n"
+msgstr "clef %s : certificat de révocation incorrect : %s — ignoré\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
-msgstr "clé %s: signature de sous-clé au mauvais endroit - ignorée\n"
+msgstr "clef %s : signature de sous-clef au mauvais endroit — ignorée\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
-msgstr "clé %s: classe de signature non attendue (0x%02X) - ignorée\n"
+msgstr "clef %s : classe de signature inattendue (0x%02X) — ignorée\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
-msgstr "clé %s: nom d'utilisateur en double détecté - fusion accomplie\n"
+msgstr "clef %s : identités en double détectées — fusionnées\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"AVERTISSEMENT: la clé %s est peut-être révoquée: recherche de\n"
-"la clé de révocation %s\n"
+"Attention : la clef %s est peut-être révoquée :\n"
+"            récupération de la clef de révocation %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
-"AVERTISSEMENT: la clé %s est peut-être révoquée: la clé de\n"
-"vocation %s est absente.\n"
+"Attention : la clef %s est peut-être révoquée :\n"
+"            la clef de révocation %s est absente.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
-msgstr "clé %s: certificat de révocation « %s » ajouté\n"
+msgstr "clef %s : ajout du certificat de révocation « %s »\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
-msgstr "clé %s: ajout de la signature de clé directe\n"
+msgstr "clef %s : ajout de la signature directe de clef\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
-msgstr "NOTE: le numéro de série d'une clé n'est pas celui de la carte\n"
+msgstr ""
+"Remarque : le numéro de série d'une clef ne correspond pas à celui de la "
+"carte\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
-msgstr "NOTE: la clé primaire est en ligne et stockée sur la carte\n"
+msgstr "Remarque : la clef principale est en ligne et stockée sur la carte\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
-msgstr "NOTE: la clé secondaire est en ligne et stockée sur la carte\n"
+msgstr "Remarque : la clef secondaire est en ligne et stockée sur la carte\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
-msgstr "erreur durant la création du porte-clés `%s' : %s\n"
+msgstr "erreur de création du porte-clefs « %s » : %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
-msgstr "le porte-clés `%s` a été créé\n"
+msgstr "le porte-clefs « %s » a été créé\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
-msgstr "ressource bloc de clés `%s': %s\n"
+msgstr "ressource de bloc de clef « %s » : %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
-msgstr "la reconstruction du cache de porte-clés a échoué : %s\n"
+msgstr "échec de reconstruction du cache de porte-clefs : %s\n"
 
 #: g10/keyedit.c:265
 msgid "[revocation]"
-msgstr "[révocation]"
+msgstr "[révocation]"
 
 #: g10/keyedit.c:266
 msgid "[self-signature]"
-msgstr "[auto-signature]"
+msgstr "[autosignature]"
 
 #: g10/keyedit.c:344 g10/keylist.c:398
 msgid "1 bad signature\n"
-msgstr "une mauvaise signature\n"
+msgstr "mauvaise signature\n"
 
 #: g10/keyedit.c:346 g10/keylist.c:400
 #, c-format
 msgid "%d bad signatures\n"
-msgstr "%d mauvaises signatures\n"
+msgstr "%d mauvaises signatures\n"
 
 #: g10/keyedit.c:348 g10/keylist.c:402
 msgid "1 signature not checked due to a missing key\n"
-msgstr "une signature non vérifiée à cause d'une clé manquante\n"
+msgstr "1 signature non vérifiée à cause d'une clef manquante\n"
 
 #: g10/keyedit.c:350 g10/keylist.c:404
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
-msgstr "%d signatures non vérifiées à cause de clés manquantes\n"
+msgstr "%d signatures non vérifiées à cause de clefs manquantes\n"
 
 #: g10/keyedit.c:352 g10/keylist.c:406
 msgid "1 signature not checked due to an error\n"
-msgstr "une signature non vérifiée à cause d'une erreur\n"
+msgstr "1 signature non vérifiée à cause d'une erreur\n"
 
 #: g10/keyedit.c:354 g10/keylist.c:408
 #, c-format
 msgid "%d signatures not checked due to errors\n"
-msgstr "%d signatures non vérifiées à cause d'erreurs\n"
+msgstr "%d signatures non vérifiées à cause d'erreurs\n"
 
 #: g10/keyedit.c:356
 msgid "1 user ID without valid self-signature detected\n"
-msgstr "un nom d'utilisateur sans auto-signature valide détecté\n"
+msgstr "1 identité sans autosignature valable détecté\n"
 
 #: g10/keyedit.c:358
 #, c-format
 msgid "%d user IDs without valid self-signatures detected\n"
-msgstr "%d nom d'utilisateurs sans auto-signature valide détecté\n"
+msgstr "%d identités sans autosignature valable détecté\n"
 
 #: g10/keyedit.c:414 g10/pkclist.c:262
 msgid ""
@@ -3406,20 +3360,19 @@ msgid ""
 "(by looking at passports, checking fingerprints from different sources, "
 "etc.)\n"
 msgstr ""
-"Décidez maintenant à quel point vous avez confiance en cet utilisateur\n"
-"pour qu'il vérifie les clés des autres utilisateurs (en vérifiant les\n"
-"passeports, en vérifiant les empreintes de plusieurs sources différentes, "
-"etc.)\n"
+"Décidez maintenant de la confiance que vous portez en cet utilisateur pour\n"
+"vérifier les clefs des autres utilisateurs (en regardant les passeports, en\n"
+"vérifiant les empreintes depuis diverses sources, etc.)\n"
 
 #: g10/keyedit.c:418 g10/pkclist.c:274
 #, c-format
 msgid "  %d = I trust marginally\n"
-msgstr "  %d = je crois marginalement\n"
+msgstr "  %d = je fais très légèrement confiance\n"
 
 #: g10/keyedit.c:419 g10/pkclist.c:276
 #, c-format
 msgid "  %d = I trust fully\n"
-msgstr "  %d = je fais entièrement confiance\n"
+msgstr "  %d = je fais entièrement confiance\n"
 
 #: g10/keyedit.c:438
 msgid ""
@@ -3427,49 +3380,49 @@ msgid ""
 "A depth greater than 1 allows the key you are signing to make\n"
 "trust signatures on your behalf.\n"
 msgstr ""
-"Entrez la profondeur de cette signature de confiance.\n"
-"Une profondeur supérieure à 1 permet à la clé que vous signez de faire\n"
+"Veuillez entrer la profondeur de cette signature de confiance.\n"
+"Une profondeur supérieure à 1 permet à la clef que vous signez de faire\n"
 "des signatures de confiance de votre part.\n"
 
 #: g10/keyedit.c:454
 msgid "Please enter a domain to restrict this signature, or enter for none.\n"
 msgstr ""
-"Entrez un domaine pour restreindre cette signature, ou bien appuyez\n"
-"sur la touche entrée pour aucun domaine.\n"
+"Veuillez entrer un domaine pour restreindre cette signature, ou appuyer\n"
+"sur la touche entrée pour aucun domaine.\n"
 
 #: g10/keyedit.c:598
 #, c-format
 msgid "User ID \"%s\" is revoked."
-msgstr "Le nom d'utilisateur \"%s\" est révoqué."
+msgstr "L'identité « %s » est révoquée."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
-msgstr "Etes-vous sûr de toujours vouloir le signer ? (o/N) "
+msgstr "Voulez-vous vraiment toujours la signer ? (o/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
-msgstr "  Impossible de signer.\n"
+msgstr " Impossible de signer.\n"
 
 #: g10/keyedit.c:626
 #, c-format
 msgid "User ID \"%s\" is expired."
-msgstr "Le nom d'utilisateur \"%s\" est expiré."
+msgstr "L'identité « %s » est expiré."
 
 #: g10/keyedit.c:654
 #, c-format
 msgid "User ID \"%s\" is not self-signed."
-msgstr "Le nom d'utilisateur \"%s\" ne comporte pas d'auto-signature."
+msgstr "L'identité « %s » n'est pas autosignée."
 
 #: g10/keyedit.c:682
 #, c-format
 msgid "User ID \"%s\" is signable.  "
-msgstr "Le nom d'utilisateur \"%s\" est susceptible d'être signé.  "
+msgstr "L'identité « %s » peut être signée. "
 
 #: g10/keyedit.c:684
 msgid "Sign it? (y/N) "
-msgstr "Signer réellement ? (o/N) "
+msgstr "Faut-il la signer ? (o/N) "
 
 #: g10/keyedit.c:706
 #, c-format
@@ -3477,12 +3430,12 @@ msgid ""
 "The self-signature on \"%s\"\n"
 "is a PGP 2.x-style signature.\n"
 msgstr ""
-"L'auto-signature de \"%s\"\n"
-"est de style PGP 2.x.\n"
+"L'autosignature de « %s »\n"
+"est une signature de type PGP 2.x.\n"
 
 #: g10/keyedit.c:715
 msgid "Do you want to promote it to an OpenPGP self-signature? (y/N) "
-msgstr "Voulez vous la changer en une auto-signature OpenPGP ? (o/N) "
+msgstr "Voulez-vous la modifier en autosignature OpenPGP ? (o/N) "
 
 #: g10/keyedit.c:729
 #, c-format
@@ -3490,14 +3443,14 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "has expired.\n"
 msgstr ""
-"Votre signature actuelle de \"%s\"\n"
-"a expiré.\n"
+"Votre signature actuelle de « %s »\n"
+"a expiré.\n"
 
 #: g10/keyedit.c:733
 msgid "Do you want to issue a new signature to replace the expired one? (y/N) "
 msgstr ""
-"Voulez-vous créer une nouvelle signature pour remplacer celle qui a\n"
-"expiré ? (o/N) "
+"Voulez-vous créer une nouvelle signature pour remplacer celle qui a\n"
+"expiré ? (o/N) "
 
 #: g10/keyedit.c:754
 #, c-format
@@ -3505,56 +3458,56 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "is a local signature.\n"
 msgstr ""
-"Votre signature actuelle de \"%s\"\n"
+"Votre signature actuelle de « %s »\n"
 "est locale.\n"
 
 #: g10/keyedit.c:758
 msgid "Do you want to promote it to a full exportable signature? (y/N) "
-msgstr "Voulez vous la rendre complètement exportable ? (o/N) "
+msgstr "Voulez-vous la rendre complètement exportable ? (o/N) "
 
 #: g10/keyedit.c:779
 #, c-format
 msgid "\"%s\" was already locally signed by key %s\n"
-msgstr "« %s » a déjà été signé localement par la clé %s\n"
+msgstr "« %s » a déjà été signée localement par la clef %s\n"
 
 #: g10/keyedit.c:782
 #, c-format
 msgid "\"%s\" was already signed by key %s\n"
-msgstr "« %s » a déjà été signé par la clé %s\n"
+msgstr "« %s » a déjà été signée par la clef %s\n"
 
 #: g10/keyedit.c:787
 msgid "Do you want to sign it again anyway? (y/N) "
-msgstr "Voulez-vous vraiment le signer encore une fois ? (o/N) "
+msgstr "Voulez-vous quand même encore la signer ? (o/N) "
 
 #: g10/keyedit.c:809
 #, c-format
 msgid "Nothing to sign with key %s\n"
-msgstr "Rien à signer avec la clé %s\n"
+msgstr "Rien à signer avec la clef %s\n"
 
 #: g10/keyedit.c:824
 msgid "This key has expired!"
-msgstr "Cette clé a expiré !"
+msgstr "Cette clef a expiré."
 
 #: g10/keyedit.c:842
 #, c-format
 msgid "This key is due to expire on %s.\n"
-msgstr "Cette clé va expirer le %s.\n"
+msgstr "Cette clef va expirer le %s.\n"
 
 #: g10/keyedit.c:848
 msgid "Do you want your signature to expire at the same time? (Y/n) "
-msgstr "Voulez-vous que votre signature expire en même temps ? (O/n) "
+msgstr "Voulez-vous que votre signature expire en même temps ? (O/n) "
 
 #: g10/keyedit.c:888
 msgid ""
 "You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 "
 "mode.\n"
 msgstr ""
-"il n'est pas possible de générer une signature OpenPGP d'une clé de style\n"
-"PGP 2.x en mode --pgp2.\n"
+"Impossible de faire une signature OpenPGP d'une clef PGP 2.x en mode --"
+"pgp2.\n"
 
 #: g10/keyedit.c:890
 msgid "This would make the key unusable in PGP 2.x.\n"
-msgstr "Cela rendra la clé inutilisable par PGP 2.x.\n"
+msgstr "Cela rendrait la clef inutilisable par PGP 2.x.\n"
 
 #: g10/keyedit.c:915
 msgid ""
@@ -3562,33 +3515,32 @@ msgid ""
 "belongs\n"
 "to the person named above?  If you don't know what to answer, enter \"0\".\n"
 msgstr ""
-"Avec quel soin avez-vous vérifié que la clé que vous allez signer\n"
-"appartient réellement à la personne sus-nommée ? Si vous ne savez\n"
-"quoi répondre, entrez \"0\".\n"
+"Avec quel soin avez-vous vérifié que la clef à signer appartient bien à\n"
+"la personne sus-nommée ? Si vous ne savez quoi répondre, entrez « 0 ».\n"
 
 #: g10/keyedit.c:920
 #, c-format
 msgid "   (0) I will not answer.%s\n"
-msgstr "   (0) Je ne répondrai pas.%s\n"
+msgstr "   (0) Je ne répondrai pas.%s\n"
 
 #: g10/keyedit.c:922
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
-msgstr "   (1) Je n'ai pas vérifié du tout.%s\n"
+msgstr "   (1) Je n'ai pas vérifié du tout.%s\n"
 
 #: g10/keyedit.c:924
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
-msgstr "   (2) J'ai un peu vérifié.%s\n"
+msgstr "   (2) J'ai partiellement vérifié.%s\n"
 
 #: g10/keyedit.c:926
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
-msgstr "   (3) J'ai vérifié très soigneusement.%s\n"
+msgstr "   (3) J'ai complètement vérifié.%s\n"
 
 #: g10/keyedit.c:932
 msgid "Your selection? (enter `?' for more information): "
-msgstr "Votre sélection ? (entrer '?' pour plus d'informations): "
+msgstr "Quel est votre choix ? (Entrez « ? » pour plus de renseignements) : "
 
 #: g10/keyedit.c:956
 #, c-format
@@ -3596,110 +3548,108 @@ msgid ""
 "Are you sure that you want to sign this key with your\n"
 "key \"%s\" (%s)\n"
 msgstr ""
-"Etes-vous vraiment sûr(e) que vous voulez signer cette clé\n"
-"avec votre clé « %s » (%s)\n"
+"Voulez-vous vraiment signer cette clef avec votre\n"
+"clef Â«Â %s » (%s)\n"
 
 #: g10/keyedit.c:963
 msgid "This will be a self-signature.\n"
-msgstr "Ceci sera une auto-signature.\n"
+msgstr "Ce sera une autosignature.\n"
 
 #: g10/keyedit.c:969
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
-msgstr ""
-"AVERTISSEMENT: la signature ne sera pas marquée comme\n"
-"non-exportable.\n"
+msgstr "Attention : la signature ne sera pas marquée comme non exportable.\n"
 
 #: g10/keyedit.c:977
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
-msgstr ""
-"AVERTISSEMENT: La signature ne sera pas marquée comme\n"
-"non-révocable.\n"
+msgstr "Attention : La signature ne sera pas marquée comme non révocable.\n"
 
 #: g10/keyedit.c:987
 msgid "The signature will be marked as non-exportable.\n"
-msgstr "La signature sera marquée comme non-exportable.\n"
+msgstr "La signature sera marquée comme non exportable.\n"
 
 #: g10/keyedit.c:994
 msgid "The signature will be marked as non-revocable.\n"
-msgstr "La signature sera marquée comme non-révocable.\n"
+msgstr "La signature sera marquée comme non révocable.\n"
 
 #: g10/keyedit.c:1001
 msgid "I have not checked this key at all.\n"
-msgstr "Je n'ai pas du tout vérifié cette clé.\n"
+msgstr "Je n'ai pas du tout vérifié cette clef.\n"
 
 #: g10/keyedit.c:1006
 msgid "I have checked this key casually.\n"
-msgstr "J'ai un peu vérifié cette clé.\n"
+msgstr "J'ai partiellement vérifié cette clef.\n"
 
 #: g10/keyedit.c:1011
 msgid "I have checked this key very carefully.\n"
-msgstr "J'ai vérifié cette clé avec grand soin.\n"
+msgstr "J'ai complètement vérifié cette clef.\n"
 
 #: g10/keyedit.c:1021
 msgid "Really sign? (y/N) "
-msgstr "Signer réellement ? (o/N) "
+msgstr "Voulez-vous vraiment signer ? (o/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
-msgstr "la signature a échoué: %s\n"
+msgstr "échec de la signature : %s\n"
 
 #: g10/keyedit.c:1131
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
-"La clé possède seulement des items partiels ou stockés sur carte -\n"
-"pas de phrase de passe à changer.\n"
+"La clef ne possède que des éléments partiels ou stockés sur carte —\n"
+"pas de phrase de passe à modifier.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
-msgstr "Cette clé n'est pas protégée.\n"
+msgstr "Cette clef n'est pas protégée.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
-msgstr "Les parties secrètes de la clé principale ne sont pas disponibles.\n"
+msgstr "Les parties secrètes de la clef principale ne sont pas disponibles.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr ""
-"Les parties secrètes de la clé principale sont stockées sur la\n"
-"carte.\n"
+"Les parties secrètes de la clef principale sont stockées sur la carte.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
-msgstr "La clé est protégée.\n"
+msgstr "La clef est protégée.\n"
 
 #: g10/keyedit.c:1186
 #, c-format
 msgid "Can't edit this key: %s\n"
-msgstr "Impossible d'éditer cette clé: %s\n"
+msgstr "Impossible d'éditer cette clef : %s\n"
 
 #: g10/keyedit.c:1192
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
-msgstr "Entrez la nouvelle phrase de passe pour cette clé secrète.\n"
+msgstr ""
+"Entrez la nouvelle phrase de passe pour cette clef secrète.\n"
+"\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
-msgstr "la phrase de passe n'a pas été correctement répétée ; recommencez."
+msgstr ""
+"la phrase de passe n'a pas été correctement répétée ; veuillez réessayer"
 
 #: g10/keyedit.c:1212
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
 msgstr ""
-"Vous ne voulez pas de phrase de passe - cela est certainement une\n"
-"*mauvaise* idée\n"
+"Vous ne voulez pas de phrase de passe — c'est sans doute une *mauvaise* "
+"idée.\n"
 "\n"
 
 #: g10/keyedit.c:1215
 msgid "Do you really want to do this? (y/N) "
-msgstr "Voulez-vous vraiment faire cela ? (o/N) "
+msgstr "Voulez-vous vraiment faire cela ? (o/N) "
 
 #: g10/keyedit.c:1298
 msgid "moving a key signature to the correct place\n"
-msgstr "replacer la signature d'une clé à l'endroit correct\n"
+msgstr "déplacement d'une signature de clef au bon endroit\n"
 
 #: g10/keyedit.c:1384
 msgid "save and quit"
@@ -3707,809 +3657,794 @@ msgstr "enregistrer et quitter"
 
 #: g10/keyedit.c:1387
 msgid "show key fingerprint"
-msgstr "afficher l'empreinte de la clé"
+msgstr "afficher l'empreinte de la clef"
 
 #: g10/keyedit.c:1388
 msgid "list key and user IDs"
-msgstr "lister la clé et les noms d'utilisateurs"
+msgstr "afficher la clef et les identités"
 
 #: g10/keyedit.c:1390
 msgid "select user ID N"
-msgstr "sélectionner le nom d'utilisateur N"
+msgstr "sélectionner l'identité N"
 
 #: g10/keyedit.c:1391
 msgid "select subkey N"
-msgstr "sélectionner la sous-clé N"
+msgstr "sélectionner la sous-clef N"
 
 #: g10/keyedit.c:1392
 msgid "check signatures"
-msgstr "vérifier les signatures"
+msgstr "vérifier les signatures"
 
 #: g10/keyedit.c:1397
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
-"signer les noms d'utilisateurs sélectionnés [* voir ci-dessous pour\n"
-"les commandes similaires]"
+"signer les identités sélectionnées [* voir ci-dessous les commandes "
+"similaires]"
 
 #: g10/keyedit.c:1402
 msgid "sign selected user IDs locally"
-msgstr "signer le nom d'utilisateur sélectionné localement"
+msgstr "signer les identités sélectionnées localement"
 
 #: g10/keyedit.c:1404
 msgid "sign selected user IDs with a trust signature"
-msgstr "signer les noms d'utilisateurs sélectionnés localement"
+msgstr "signer les identités sélectionnées avec une signature de confiance"
 
 #: g10/keyedit.c:1406
 msgid "sign selected user IDs with a non-revocable signature"
-msgstr ""
-"signer les noms d'utilisateurs sélectionnés avec une signature\n"
-"non-révocable"
+msgstr "signer les identités sélectionnées avec une signature non révocable"
 
 #: g10/keyedit.c:1410
 msgid "add a user ID"
-msgstr "ajouter un utilisateur"
+msgstr "ajouter une identité"
 
 #: g10/keyedit.c:1412
 msgid "add a photo ID"
-msgstr "ajouter une photo d'identité"
+msgstr "ajouter une photo d'identité"
 
 #: g10/keyedit.c:1414
 msgid "delete selected user IDs"
-msgstr "enlever les noms d'utilisateur sélectionnés"
+msgstr "supprimer les identités sélectionnées"
 
 #: g10/keyedit.c:1419
 msgid "add a subkey"
-msgstr "ajouter une sous-clé"
+msgstr "ajouter une sous-clef"
 
 #: g10/keyedit.c:1423
 msgid "add a key to a smartcard"
-msgstr "ajouter une clé à une carte à puce"
+msgstr "ajouter une clef à une carte à puce"
 
 #: g10/keyedit.c:1425
 msgid "move a key to a smartcard"
-msgstr "déplacer une clé vers une carte à puce"
+msgstr "déplacer une clef vers une carte à puce"
 
 #: g10/keyedit.c:1427
 msgid "move a backup key to a smartcard"
-msgstr "déplacer une clé de sauvegarde vers une carte à puce"
+msgstr "déplacer une clef de sauvegarde vers une carte à puce"
 
 #: g10/keyedit.c:1431
 msgid "delete selected subkeys"
-msgstr "enlever les sous-clés sélectionnées"
+msgstr "supprimer les sous-clefs sélectionnées"
 
 #: g10/keyedit.c:1433
 msgid "add a revocation key"
-msgstr "ajouter une clé de révocation"
+msgstr "ajouter une clef de révocation"
 
 #: g10/keyedit.c:1435
 msgid "delete signatures from the selected user IDs"
-msgstr "enlever les signatures des noms d'utilisateur sélectionnés "
+msgstr "supprimer les signatures des identités sélectionnées"
 
 #: g10/keyedit.c:1437
 msgid "change the expiration date for the key or selected subkeys"
-msgstr "changer la date d'expiration de la clé ou des sous-clés sélectionnées"
+msgstr ""
+"modifier la date d'expiration de la clef ou des sous-clefs sélectionnées"
 
 #: g10/keyedit.c:1439
 msgid "flag the selected user ID as primary"
-msgstr "marquer le nom d'utilisateur sélectionné comme principal"
+msgstr "marquer l'identité sélectionnée comme principale"
 
 #: g10/keyedit.c:1441
 msgid "toggle between the secret and public key listings"
 msgstr ""
-"passer de la liste des clés secrètes à celle des clés privées\n"
-"et inversement"
+"passer de la liste de clefs secrètes à celle de clefs privées ou vice versa"
 
 #: g10/keyedit.c:1444
 msgid "list preferences (expert)"
-msgstr "lister les préférences (expert)"
+msgstr "afficher les préférences (expert)"
 
 #: g10/keyedit.c:1446
 msgid "list preferences (verbose)"
-msgstr "lister les préférences (bavard)"
+msgstr "afficher les préférences (bavard)"
 
 #: g10/keyedit.c:1448
 msgid "set preference list for the selected user IDs"
-msgstr ""
-"indiquer la liste des préférences pour le nom d'utilisateur\n"
-"sélectionné"
+msgstr "définir la liste de préférences pour les identités sélectionnées"
 
 #: g10/keyedit.c:1453
-#, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
-msgstr ""
-"indiquer l'URL du serveur de clés préféré pour les noms d'utilisateur\n"
-"sélectionnés"
+msgstr "définir le serveur de clefs favori pour les identités sélectionnées"
 
 #: g10/keyedit.c:1455
-#, fuzzy
 msgid "set a notation for the selected user IDs"
-msgstr ""
-"indiquer la liste des préférences pour le nom d'utilisateur\n"
-"sélectionné"
+msgstr "définir une notation pour les identités sélectionnées"
 
 #: g10/keyedit.c:1457
 msgid "change the passphrase"
-msgstr "changer la phrase de passe"
+msgstr "modifier la phrase de passe"
 
 #: g10/keyedit.c:1461
 msgid "change the ownertrust"
-msgstr "changer la confiance"
+msgstr "modifier la confiance du propriétaire"
 
 #: g10/keyedit.c:1463
 msgid "revoke signatures on the selected user IDs"
-msgstr "révoquer les signatures des noms d'utilisateur sélectionnés"
+msgstr "révoquer les signatures des identités sélectionnées"
 
 #: g10/keyedit.c:1465
 msgid "revoke selected user IDs"
-msgstr "révoquer les noms d'utilisateur sélectionnés"
+msgstr "révoquer les identités sélectionnées"
 
 #: g10/keyedit.c:1470
 msgid "revoke key or selected subkeys"
-msgstr "révoquer la clé ou les sous-clés sélectionnées"
+msgstr "révoquer la clef ou des sous-clefs sélectionnées"
 
 #: g10/keyedit.c:1471
 msgid "enable key"
-msgstr "activer la clé"
+msgstr "activer la clef"
 
 #: g10/keyedit.c:1472
 msgid "disable key"
-msgstr "désactiver la clé"
+msgstr "désactiver la clef"
 
 #: g10/keyedit.c:1473
 msgid "show selected photo IDs"
-msgstr "montrer les photos d'identité sélectionnées"
+msgstr "montrer les photos d'identité sélectionnées"
 
 #: g10/keyedit.c:1475
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
+"compacter les identités inutilisables et supprimer les\n"
+"            signatures inutilisables de la clef"
 
 #: g10/keyedit.c:1477
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
+"compacter les identités inutilisables et supprimer toutes\n"
+"            les signatures de la clef"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
-msgstr "erreur pendant la lecture du bloc de clé secrète « %s »: %s\n"
+msgstr "erreur de lecture du bloc de clef secrète « %s » : %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
-msgstr "La clé secrète est disponible.\n"
+msgstr "La clef secrète est disponible.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
-msgstr "Il faut la clé secrète pour faire cela.\n"
+msgstr "La clef secrète est nécessaire pour faire cela.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
-msgstr "Utilisez la commande «toggle» d'abord.\n"
+msgstr "Veuillez d'abord utiliser la commande « toggle ».\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
 "  a `t' for trust signatures (tsign), an `nr' for non-revocable signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
-"* La commande `sign' peut être précédée du caractère `l' pour les\n"
-"signatures locales (lsign), par `t' pour les signatures de confiance\n"
-"(tsign), par `nr' pour les signatures non-révocables (nrsign), ou\n"
-"bien toute combinaison possible (ltsign, tnrsign, etc.).\n"
+"* La commande « sign » peut être précédée du caractère « l » pour\n"
+"  les signatures locales (lsign), « t » pour les signatures de\n"
+"  confiance (tsign), « nr » pour les signatures non révocables\n"
+"  (nrsign), ou toute combinaison possible (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
-msgstr "La clé est révoquée."
+msgstr "La clef est révoquée."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
-msgstr "Signer vraiment tous les nom d'utilisateurs ? (o/N) "
+msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
-msgstr "Aide: Sélectionner les utilisateurs à signer\n"
+msgstr "Conseil : sélectionner les identités à signer\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
-msgstr "Type de signature `%s' inconnu\n"
+msgstr "Type de signature « %s » inconnu\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
-msgstr "Cette commande n'est pas admise en mode %s.\n"
+msgstr "Cette commande n'est pas permise en mode %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
-msgstr "Vous devez sélectionner au moins un utilisateur.\n"
+msgstr "Vous devez sélectionner au moins une identité.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
-msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n"
+msgstr "Vous ne pouvez pas supprimer la dernière identité.\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
-msgstr "Enlever réellement tous les noms d'utilisateurs sélectionnés ? (o/N) "
+msgstr "Faut-il vraiment supprimer toutes les identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
-msgstr "Enlever réellement ce nom d'utilisateur ? (o/N) "
+msgstr "Faut-il vraiment supprimer cette identité ? (o/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
-msgstr "Enlever réellement la clé principale ? (o/N) "
+msgstr "Faut-il vraiment déplacer la clef principale ? (o/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
-msgstr "Vous devez sélectionner exactement une clé.\n"
+msgstr "Vous devez sélectionner exactement une clef.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "La commande attend un nom de fichier comme argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
-msgstr "Impossible d'ouvrir `%s': %s\n"
+msgstr "Impossible d'ouvrir « %s » : %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
-msgstr "Erreur durant la lecture de la clé de sauvegarde de `%s' : %s\n"
+msgstr "Erreur de lecture de la clef de sauvegarde sur « %s » : %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
-msgstr "Vous devez sélectionner au moins une clé.\n"
+msgstr "Vous devez sélectionner au moins une clef.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
-msgstr "Voulez-vous vraiment supprimer les clés sélectionnées ? (o/N) "
+msgstr "Voulez-vous vraiment supprimer les clefs sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
-msgstr "Voulez-vous vraiment supprimer cette clé ? (o/N) "
+msgstr "Voulez-vous vraiment supprimer cette clef ? (o/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
-msgstr "Révoquer réellement tous les noms d'utilisateurs sélectionnés ? (o/N) "
+msgstr ""
+"Voulez-vous vraiment révoquer toutes les identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
-msgstr "Révoquer réellement ce nom d'utilisateur ? (o/N) "
+msgstr "Voulez-vous vraiment révoquer cette identité ? (o/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
-msgstr "Voulez-vous vraiment révoquer la clé entière ? (o/N) "
+msgstr "Voulez-vous vraiment révoquer toute la clef ? (o/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
-msgstr "Voulez-vous vraiment révoquer les sous-clés sélectionnées ? (o/N) "
+msgstr "Voulez-vous vraiment révoquer les sous-clefs sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
-msgstr "Voulez-vous vraiment révoquer cette sous-clé ? (o/N) "
+msgstr "Voulez-vous vraiment révoquer cette sous-clef ? (o/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
-"La confiance du propriétaire peut ne pas être positionnée en utilisant\n"
+"La confiance du propriétaire pourrait ne pas être définie à partir de\n"
 "la base de confiance d'un tiers\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
-msgstr "Changer la liste de préférences en :\n"
+msgstr "Définir la liste de préférences en :\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
-"Mettre à jour réellement les préférences des noms d'utilisateurs\n"
-"sélectionnés ? (o/N) "
+"Faut-il vraiment mettre à jour les préférences pour les\n"
+"identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
-msgstr "Faut-il vraiment mettre à jour les préférences ? (o/N) "
+msgstr "Faut-il vraiment mettre à jour les préférences ? (o/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
-msgstr "Enregistrer les changements? (o/N) "
+msgstr "Faut-il enregistrer les modifications ? (o/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
-msgstr "Quitter sans enregistrer ? (o/N) "
+msgstr "Faut-il quitter sans enregistrer ? (o/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec de la mise à jour : %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
-msgstr "la mise à jour de la clé secrète a échoué: %s\n"
+msgstr "échec de la mise à jour de la clef secrète : %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
-msgstr "La clé n'a pas changé donc la mise à jour est inutile.\n"
+msgstr "La clef n'a pas été modifiée donc la mise à jour est inutile.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
-msgstr "Hachage: "
+msgstr "Hachage : "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
-msgstr "Fonctions: "
+msgstr "Fonctionnalités : "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
-msgstr "Serveur de clés: pas-de-modification"
+msgstr "Serveur de clefs sans modification"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
-msgstr "Serveur de clés préféré: "
+msgstr "Serveur de clefs favori : "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
-#, fuzzy
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
-msgstr ""
-"@\n"
-"Options:\n"
-" "
+msgstr "Notations : "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
-msgstr ""
-"Il n'y a pas de préférences dans un nom d'utilisateur du style de\n"
-"PGP 2.x.\n"
+msgstr "Il n'y a pas de préférences dans une identité de type PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
-#, fuzzy, c-format
+#: g10/keyedit.c:2814
+#, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
-msgstr "Cette clé a été révoquée le %s par la clé %s %s\n"
+msgstr "La clef suivante a été révoquée le %s par la clef %s %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
-msgstr "Cette clé peut être révoquée par la clé %s %s"
+msgstr "Cette clef peut être révoquée par la clef %s %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(sensible)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
-msgstr "créé: %s"
+msgstr "créé : %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
-msgstr "revoqué: %s"
+msgstr "révoquée : %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
-msgstr "expiré: %s"
+msgstr "expirée : %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
-msgstr "expire: %s"
+msgstr "expire : %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
-msgstr "utilisation: %s"
+msgstr "utilisation : %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
-msgstr " confiance: %s"
+msgstr "confiance : %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
-msgstr "validité: %s"
+msgstr "validité : %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
-msgstr "Cette clé a été désactivée"
+msgstr "Cette clef a été désactivée"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
-msgstr "n° de carte: "
+msgstr "nº de carte : "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
-"Notez que la validité affichée pour la clé n'est pas nécessairement\n"
-"correcte tant que vous n'avez pas relancé le programme.\n"
+"Veuillez remarquer que la validité affichée pour la clef n'est pas\n"
+"forcément correcte avant d'avoir relancé le programme.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
-msgstr "revoquée"
+msgstr "révoquée"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
-msgstr "expirée"
+msgstr "expirée"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
-"AVERTISSEMENT: aucun nom d'utilisateur n'a été défini comme principal.\n"
-"Cette commande risque de rendre un autre nom d'utilisateur principal\n"
-"par défaut.\n"
+"Attention : aucune identité n'a été définie comme principale. Cette "
+"commande\n"
+"            risque de rendre une autre identité principale par défaut.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
-"ATTENTION: C'est une clé du style PGP2.  Ajouter une photo\n"
-"d'identité peut empêcher certaines versions de PGP d'accepter\n"
-"cette clé\n"
+"Attention : c'est une clef de type PGP 2. Ajouter une photo d'identité\n"
+"            peut forcer certaines versions de PGP à rejeter cette clef.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
-msgstr "Etes-vous sûr de vouloir l'ajouter ? (y/N) "
+msgstr "Voulez-vous vraiment toujours l'ajouter ? (o/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
-"Vous ne pouvez pas ajouter de photo d'identité à une clé du style PGP2.\n"
+"Vous ne devriez pas ajouter de photo d'identité à une clef de type PGP 2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
-msgstr "Supprimer cette bonne signature ? (o/N/q)"
+msgstr "Faut-il supprimer cette bonne signature ? (o/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
-msgstr "Supprimer cette signature invalide ? (o/N/q)"
+msgstr "Faut-il supprimer cette signature incorrecte ? (o/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
-msgstr "Supprimer cette signature inconnue ? (o/N/q)"
+msgstr "Faut-il supprimer cette signature inconnue ? (o/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
-msgstr "Faut-il vraiment supprimer cette auto-signature ? (o/N)"
+msgstr "Faut-il vraiment supprimer cette autosignature ? (o/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
-msgstr "%d signature supprimée.\n"
+msgstr "%d signature supprimée.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
-msgstr "%d signatures supprimées\n"
+msgstr "%d signatures supprimées\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
-msgstr "Rien n'a été supprimé.\n"
+msgstr "Rien n'a été supprimé.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
-msgstr "invalide"
+msgstr "incorrecte"
 
-#: g10/keyedit.c:3357
-#, fuzzy, c-format
+#: g10/keyedit.c:3361
+#, c-format
 msgid "User ID \"%s\" compacted: %s\n"
-msgstr "Nom d'utilisateur \"%s\": déjà nettoyé.\n"
+msgstr "Identité « %s » compactée : %s\n"
 
-#: g10/keyedit.c:3364
-#, fuzzy, c-format
+#: g10/keyedit.c:3368
+#, c-format
 msgid "User ID \"%s\": %d signature removed\n"
-msgstr "clé %s: « %s » %d signature nettoyée\n"
+msgstr "Identité « %s » : %d signature supprimée\n"
 
-#: g10/keyedit.c:3365
-#, fuzzy, c-format
+#: g10/keyedit.c:3369
+#, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
-msgstr "clé %s: « %s » %d signatures nettoyées\n"
+msgstr "Identité « %s » : %d signatures supprimées\n"
 
-#: g10/keyedit.c:3373
-#, fuzzy, c-format
+#: g10/keyedit.c:3377
+#, c-format
 msgid "User ID \"%s\": already minimized\n"
-msgstr "Nom d'utilisateur \"%s\": déjà nettoyé.\n"
+msgstr "Identité « %s » : déjà minimisée\n"
 
-#: g10/keyedit.c:3374
-#, fuzzy, c-format
+#: g10/keyedit.c:3378
+#, c-format
 msgid "User ID \"%s\": already clean\n"
-msgstr "Nom d'utilisateur \"%s\": déjà nettoyé.\n"
+msgstr "Identité « %s » : déjà nettoyée\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
-"AVERTISSEMENT: C'est une clé du style PGP2.  Ajouter un révocateur\n"
-"désigné peut empêcher certaines versions de PGP d'accepter\n"
-"cette clé.\n"
+"Attention : c'est une clef de type PGP 2.x. Ajouter un révocateur désigné\n"
+"            peut forcer certaines versions de PGP à rejeter cette clef.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
-"Vous ne pouvez pas ajouter de révocateur désigné à une clé de style PGP2.\n"
+"Vous ne pouvez pas ajouter de révocateur désigné à une clef de type PGP 2."
+"x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
-msgstr "Entrez le nom d'utilisateur du révocateur désigné: "
+msgstr "Entrez l'identité du révocateur désigné : "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
-"impossible d'utiliser une clé de style PGP 2.x comme révocateur\n"
-"désigné.\n"
+"impossible d'utiliser une clef de type PGP 2.x comme révocateur désigné.\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
-"vous ne pouvez pas utiliser une clé comme son propre révocateur\n"
-"désigné\n"
+"vous ne pouvez pas utiliser une clef comme son propre révocateur désigné\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
-msgstr "cette clé à déjà été désignée comme un révocateur\n"
+msgstr "cette clef à déjà été désignée comme un révocateur\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
-"AVERTISSEMENT: l'établissement d'une clé comme révocateur désigné\n"
-"est irréversible !\n"
+"Attention : l'établissement d'une clef comme révocateur désigné\n"
+"            est irréversible.\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
-"Etes-vous sûr de vouloir établir cette clé comme révocateur\n"
-"désigné ? (o/N) "
+"Voulez-vous vraiment rendre cette clef comme révocateur désigné ? (o/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
-msgstr "Enlevez les sélections des clés secrètes.\n"
+msgstr "Veuillez supprimer les sélections des clefs secrètes.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
-msgstr "Vous devez sélectionner au plus une sous-clé.\n"
+msgstr "Veuillez sélectionner au plus une sous-clef.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
-msgstr "Changer la date d'expiration d'une sous-clé.\n"
+msgstr "Modification de la date d'expiration d'une sous-clef.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
-msgstr "Changer la date d'expiration de la clé principale.\n"
+msgstr "Modification de la date d'expiration de la clef principale.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
-msgstr "Vous ne pouvez pas changer la date d'expiration d'une clé v3\n"
+msgstr "Vous ne pouvez pas modifier la date d'expiration d'une clef v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
-msgstr "Pas de signature correspondante dans le porte-clés secret\n"
+msgstr "Pas de signature correspondante dans le porte-clefs secret\n"
 
-#: g10/keyedit.c:3800
-#, fuzzy, c-format
+#: g10/keyedit.c:3804
+#, c-format
 msgid "signing subkey %s is already cross-certified\n"
-msgstr ""
-"AVERTISSEMENT: la sous-clé de signature %s n'a pas de certificat\n"
-"croisé\n"
+msgstr "la sous-clef de signature %s a déjà une certification croisée\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
+"la sous-clef %s ne signe pas et n'a donc pas besoin de certification "
+"croisée\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
-msgstr "Vous devez sélectionner exactement un utilisateur.\n"
+msgstr "Veuillez sélectionner exactement une identité.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
-msgstr "l'auto-signature v3 du nom d'utilisateur « %s » a été ignorée\n"
+msgstr "l'autosignature v3 de l'identité « %s » a été ignorée\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
-msgstr "Entrez l'URL de votre serveur de clés favori: "
+msgstr "Entrez l'URL de votre serveur de clefs favori : "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
-msgstr "Etes-vous sûr de vouloir le remplacer ? (o/N) "
+msgstr "Voulez-vous vraiment le remplacer ? (o/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
-msgstr "Etes-vous sûr de vouloir le supprimer ? (o/N) "
+msgstr "Voulez-vous vraiment le supprimer ? (o/N) "
 
-#: g10/keyedit.c:4322
-#, fuzzy
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
-msgstr "Notation de signature: "
+msgstr "Entrez la notation : "
 
-#: g10/keyedit.c:4471
-#, fuzzy
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
-msgstr "Réécrire par-dessus ? (o/N) "
+msgstr "Faut-il continuer ? (o/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
-msgstr "Pas d'utilisateur avec l'index %d\n"
+msgstr "Pas d'identité d'indice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
-msgstr "Pas de nom d'utilisateur avec le hachage %s\n"
+msgstr "Pas d'identité avec le hachage %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
-msgstr "Pas de sous-clé avec l'index %d\n"
+msgstr "Pas de sous-clef d'indice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
-msgstr "nom d'utilisateur: « %s »\n"
+msgstr "identité : Â«Â %s »\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
-msgstr "signé par votre clé %s à %s%s%s\n"
+msgstr "signée par votre clef %s le %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
-msgstr " (non-exportable)"
+msgstr " (non exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
-msgstr "Cette signature a expiré le %s.\n"
+msgstr "Cette signature a expiré le %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
-msgstr "Etes-vous sûr de vouloir toujours le révoquer ? (y/N) "
+msgstr "Voulez-vous vraiment toujours la révoquer ? (o/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
-msgstr "Générer un certificat de révocation pour cette signature ? (o/N) "
+msgstr ""
+"Faut-il créer un certificat de révocation pour cette signature ? (o/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
-msgstr ""
+msgstr "Non signée par vous.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
-msgstr "Vous avez signé ces noms d'utilisateurs sur la clé %s:\n"
+msgstr "Vous avez signé ces identités sur la clef %s :\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
-msgstr " (non-révocable)"
+msgstr " (non révocable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
-msgstr "révoqué par votre clé %s à %s\n"
+msgstr "révoquée par votre clef %s le %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
-msgstr "Vous êtes sur le point de révoquer ces signatures:\n"
+msgstr "Vous êtes sur le point de révoquer ces signatures :\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
-msgstr "Créer réellement les certificats de révocation ? (o/N) "
+msgstr "Faut-il vraiment créer les certificats de révocation ? (o/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
-msgstr "pas de clé secrète\n"
+msgstr "pas de clef secrète\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
-msgstr "Le nom d'utilisateur \"%s\" est déjà révoqué.\n"
+msgstr "l'identité « %s »\" est déjà révoquée.\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
-"AVERTISSEMENT: une signature de nom d'utilisateur date de %d secondes\n"
-"dans le futur\n"
+"Attention : une signature d'identité date de %d secondes dans le futur\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
-msgstr "La clé %s est déjà révoqué.\n"
+msgstr "La clef %s est déjà révoqué.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
-msgstr "La sous-clé %s est déjà révoquée.\n"
+msgstr "La sous-clef %s est déjà révoquée.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
-"Affichage %s photo d'identité de taille %ld pour la clé\n"
-"0x%s (uid %d)\n"
+"Affichage de la photo d'identité %s de taille %ld pour la clef\n"
+"%s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
-msgstr "préférence `%s' dupliquée\n"
+msgstr "préférence « %s » en double\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
-msgstr "trop de préférences de chiffrement\n"
+msgstr "trop de préférences de chiffrement\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
-msgstr "trop de préférences de hachage\n"
+msgstr "trop de préférences de hachage\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
-msgstr "trop de préférences de compression\n"
+msgstr "trop de préférences de compression\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
-msgstr "élément `%s' invalide dans la chaîne de préférences\n"
+msgstr "élément « %s » incorrect dans la chaîne de préférences\n"
 
 # g10/keygen.c:123 ???
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
-msgstr "écriture de la signature directe\n"
+msgstr "écriture de la signature directe\n"
 
 # g10/keygen.c:123 ???
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
-msgstr "écriture de l'auto-signature\n"
+msgstr "écriture de l'autosignature\n"
 
 # g10/keygen.c:161 ???
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
-msgstr "écriture de la signature de liaison\n"
+msgstr "écriture de la signature de lien à la clef\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
-msgstr "Taille invalide; utilisation de %u bits\n"
+msgstr "taille incorrecte ; utilisation de %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
-msgstr "taille arrondie à %u bits\n"
+msgstr "taille arrondie à %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
+"Attention : certains programmes OpenPGP ne peuvent pas gérer\n"
+"            de clef DSA avec cette taille de hachage\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Signer"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
-msgstr ""
+msgstr "Certifier"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Chiffrer"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Authentifier"
 
@@ -4523,104 +4458,104 @@ msgstr "Authentifier"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsCcAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
-msgstr "Actions possibles pour une clé %s: "
+msgstr "Actions possibles pour une clef %s : "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
-msgstr "Actions actuellement permises: "
+msgstr "Actions actuellement permises : "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
-msgstr "   (%c) Inverser la capacité de signer\n"
+msgstr "   (%c) Inverser la capacité de signature\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
-msgstr "   (%c) Inverser la capacité de chiffrement\n"
+msgstr "   (%c) Inverser la capacité de chiffrement\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
-msgstr "   (%c) Inverser la capacité d'authentifier\n"
+msgstr "   (%c) Inverser la capacité d'authentification\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
-msgstr "   (%c) Terminé\n"
+msgstr "   (%c) Terminé\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
-msgstr "Sélectionnez le type de clé désiré:\n"
+msgstr "Sélectionnez le type de clef désiré :\n"
 
-#: g10/keygen.c:1689
-#, fuzzy, c-format
+#: g10/keygen.c:1696
+#, c-format
 msgid "   (%d) RSA and RSA (default)\n"
-msgstr "   (%d) DSA et Elgamal (par défaut)\n"
+msgstr "   (%d) RSA et RSA (par défaut)\n"
 
-#: g10/keygen.c:1691
-#, fuzzy, c-format
+#: g10/keygen.c:1698
+#, c-format
 msgid "   (%d) DSA and Elgamal\n"
-msgstr "   (%d) DSA et Elgamal (par défaut)\n"
+msgstr "   (%d) DSA et Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (signature seule)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (signature seule)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (chiffrement seul)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (chiffrement seul)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
-msgstr "   (%d) DSA (indiquez vous-même les capacités)\n"
+msgstr "   (%d) DSA (indiquez vous-même les capacités)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
-msgstr "   (%d) RSA (indiquez vous-même les capacités)\n"
+msgstr "   (%d) RSA (indiquez vous-même les capacités)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
-msgstr "les clés %s peuvent faire entre %u et %u bits de longueur.\n"
+msgstr "les clefs %s peuvent faire entre %u et %u bits de longueur.\n"
 
-#: g10/keygen.c:1820
-#, fuzzy, c-format
+#: g10/keygen.c:1827
+#, c-format
 msgid "What keysize do you want for the subkey? (%u) "
-msgstr "Quelle taille de clé désirez-vous ? (%u) "
+msgstr "Quelle taille de clef désirez-vous pour la sous-clef ? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
-msgstr "Quelle taille de clé désirez-vous ? (%u) "
+msgstr "Quelle taille de clef désirez-vous ? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
-msgstr "La taille demandée est %u bits\n"
+msgstr "La taille demandée est %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4629,14 +4564,14 @@ msgid ""
 "      <n>m = key expires in n months\n"
 "      <n>y = key expires in n years\n"
 msgstr ""
-"Spécifiez combien de temps cette clé devrait être valide.\n"
-"         0 = la clé n'expire pas\n"
-"      <n>  = la clé expire dans n jours\n"
-"      <n>w = la clé expire dans n semaines\n"
-"      <n>m = la clé expire dans n mois\n"
-"      <n>y = la clé expire dans n années\n"
+"Veuillez indiquer le temps pendant lequel cette clef devrait être valable.\n"
+"         0 = la clef n'expire pas\n"
+"      <n>  = la clef expire dans n jours\n"
+"      <n>w = la clef expire dans n semaines\n"
+"      <n>m = la clef expire dans n mois\n"
+"      <n>y = la clef expire dans n ans\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4645,68 +4580,72 @@ msgid ""
 "      <n>m = signature expires in n months\n"
 "      <n>y = signature expires in n years\n"
 msgstr ""
-"Spécifiez combien de temps la signature devrait être valide.\n"
+"Veuillez indiquer le temps pendant lequel cette signature devrait\n"
+"être valable.\n"
 "         0 = la signature n'expire pas\n"
-"      <n>  = la signature expire dans n jours\n"
-"      <n>w = la signature expire dans n semaines\n"
-"      <n>m = la signature expire dans n mois\n"
-"      <n>y = la signature expire dans n années\n"
+"      <n>  = la signature expire dans n jours\n"
+"      <n>w = la signature expire dans n semaines\n"
+"      <n>m = la signature expire dans n mois\n"
+"      <n>y = la signature expire dans n ans\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
-msgstr "La clé est valide pour ? (0) "
+msgstr "Pendant combien de temps la clef est-elle valable ? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
-msgstr "La signature est valide pour ? (%s) "
+msgstr "Pendant combien de temps la signature est-elle valable ? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
-msgstr "valeur invalide\n"
+msgstr "valeur incorrecte\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
-msgstr "La clé n'expire pas du tout\n"
+msgstr "La clef n'expire pas du tout\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "La signature n'expire pas du tout\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
-msgstr "La clé expire le %s\n"
+msgstr "La clef expire le %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "La signature expire le %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
-"Votre système ne sait pas afficher les dates au-delà de 2038.\n"
-"Cependant la gestion des dates sera correcte jusqu'à 2106.\n"
+"Le système ne peut pas afficher les dates au-delà de 2038.\n"
+"Cependant, la gestion des dates sera correcte jusqu'en 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
-msgstr "Est-ce correct ? (o/N) "
+msgstr "Est-ce correct ? (o/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
 "\n"
 msgstr ""
+"\n"
+"GnuPG doit construire une identité pour identifier la clef.\n"
+"\n"
 
 #. TRANSLATORS: This string is in general not anymore used
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4716,68 +4655,69 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le\n"
-"programme le construit à partir du nom réel, d'un commentaire et d'une\n"
-"adresse e-mail de cette manière:\n"
-"   « Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> »\n"
+"Une identité est nécessaire à la clef ; le programme la construit à partir\n"
+"du nom réel, d'un commentaire et d'une adresse électronique de cette "
+"façon :\n"
+"   Â«Â Heinrich Heine (le poète) <heinrichh@duesseldorf.de> »\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
-msgstr "Nom réel: "
+msgstr "Nom réel : "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
-msgstr "Caractère invalide dans le nom\n"
+msgstr "Caractère incorrect dans le nom\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Le nom ne doit pas commencer par un chiffre\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
-msgstr "Le nom doit faire au moins 5 caractères de long\n"
+msgstr "Le nom doit contenir au moins cinq caractères\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
-msgstr "Adresse e-mail: "
+msgstr "Adresse électronique : "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
-msgstr "Ce n'est pas une adresse e-mail valide\n"
+msgstr "Ce n'est pas une adresse électronique valable\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
-msgstr "Commentaire: "
+msgstr "Commentaire : "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
-msgstr "Caractère invalide dans le commentaire\n"
+msgstr "Caractère incorrect dans le commentaire\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
-msgstr "Vous utilisez le jeu de caractères '%s'.\n"
+msgstr "Vous utilisez le jeu de caractères « %s ».\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
 "    \"%s\"\n"
 "\n"
 msgstr ""
-"Vous avez sélectionné ce nom d'utilisateur:\n"
-"    \"%s\"\n"
+"Vous avez sélectionné cette identité :\n"
+"    « %s »\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
-"Ne mettez pas d'adresse e-mail dans le nom réel ou dans le commentaire\n"
+"Ne mettez pas d'adresse électronique dans le nom réel ou dans le "
+"commentaire\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
-msgstr ""
+msgstr "Cette identité existe déjà pour cette clef.\n"
 
 #. TRANSLATORS: These are the allowed answers in
 #. lower and uppercase.  Below you will find the matching
@@ -4790,168 +4730,168 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
-msgstr "NnCcEeOoQq"
+msgstr "NnCcAaOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
-msgstr "Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (Q)uitter ? "
+msgstr ""
+"Faut-il modifier le (N)om, le (C)ommentaire, l'(A)dresse électronique\n"
+"ou (Q)uitter ? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
-msgstr "Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? "
+msgstr ""
+"Faut-il modifier le (N)om, le (C)ommentaire, l'(A)dresse électronique\n"
+"ou (O)ui/(Q)uitter ? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
-msgstr "Corrigez l'erreur d'abord\n"
+msgstr "Veuillez d'abord corriger l'erreur\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 msgstr ""
-"Vous avez besoin d'une phrase de passe pour protéger votre clé\n"
-"secrète.\n"
+"Une phrase de passe est nécessaire pour protéger votre clef secrète.\n"
 "\n"
 
-#: g10/keygen.c:2276
-#, fuzzy
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
-msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+msgstr ""
+"Veuillez entrer une phrase de passe pour protéger la sauvegarde hors carte "
+"de la nouvelle clef de chiffrement."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
 "using this program with the option \"--edit-key\".\n"
 "\n"
 msgstr ""
-"Vous ne voulez pas de phrase de passe - c'est sûrement une *mauvaise*\n"
-"idée !\n"
-"Je l'accepte quand-même. Vous pouvez changer votre phrase de passe\n"
-"quand vous le désirez, en utilisant ce programme avec l'option\n"
-"« --edit-key ».\n"
+"Vous ne voulez pas de phrase de passe — c'est sans doute une *mauvaise*\n"
+"idée. C'est possible quand même. Vous pouvez modifier la phrase de passe\n"
+"à tout moment en utilisant ce programme avec l'option « --edit-key ».\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
-"Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire\n"
-"autre-chose (taper au clavier, déplacer la souris, utiliser les disques)\n"
-"pendant la génération de nombres premiers; cela donne au générateur de\n"
-"nombres aléatoires une meilleure chance d'avoir assez d'entropie.\n"
+"De nombreux octets aléatoires doivent être générés. Vous devriez faire\n"
+"autre chose (taper au clavier, déplacer la souris, utiliser les disques)\n"
+"pendant la génération de nombres premiers ; cela donne au générateur de\n"
+"nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
-msgstr "La génération de clé a été annulée.\n"
+msgstr "La génération de clef a été annulée.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
-msgstr "écriture de la clé publique dans `%s'\n"
+msgstr "écriture de la clef publique dans « %s »\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
-msgstr "écriture d'une clé secrète partielle dans `%s'\n"
+msgstr "écriture de la clef secrète partielle dans « %s »\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
-msgstr "écriture de la clé secrète dans `%s'\n"
+msgstr "écriture de la clef secrète dans « %s »\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
-msgstr ""
-"aucun portes-clés public n'a été trouvé avec des droits d'écriture : %s\n"
+msgstr "aucun porte-clefs public accessible en écriture n'a été trouvé : %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
-msgstr ""
-"aucun portes-clés secret n'a été trouvé avec des droits d'écriture : %s\n"
+msgstr "aucun porte-clefs secret accessible en écriture n'a été trouvé : %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
-msgstr "erreur durant l'écriture du porte-clés public `%s': %s\n"
+msgstr "erreur d'écriture du porte-clefs public « %s » : %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
-msgstr "erreur durant l'écriture du porte-clés secret `%s': %s\n"
+msgstr "erreur d'écriture du porte-clefs secret « %s » : %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
-msgstr "les clés publique et secrète ont été créées et signées.\n"
+msgstr "les clefs publique et secrète ont été créées et signées.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
 msgstr ""
-"Notez que cette clé ne peut être utilisée pour chiffrer. Vous pouvez\n"
-"utiliser la commande «--edit-key» pour générer une sous-clé à\n"
-"cette fin.\n"
+"Remarquez que cette clef ne peut pas être utilisée pour chiffrer. Vous "
+"pouvez\n"
+"utiliser la commande « --edit-key » pour générer une sous-clef à cette fin.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
-msgstr "La génération de clé a échoué: %s\n"
+msgstr "Échec de génération de la clef : %s\n"
 
-# on s'amuse comme on peut...
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
-"la clé a été créée %lu seconde dans le futur (rupture spatio-temporelle ou\n"
-"problème d'horloge)\n"
+"la clef a été créée %lu seconde dans le futur (faille temporelle ou\n"
+"problème d'horloge)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
-"la clé a été créée %lu secondes dans le futur (rupture spatio-temporelle ou\n"
-"problème d'horloge\n"
+"la clef a été créée %lu secondes dans le futur (faille temporelle ou\n"
+"problème d'horloge)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
-"NOTE: créer des sous-clés pour des clés v3 n'est pas conforme à OpenPGP\n"
+"Remarque : la création de sous-clefs pour des clefs v3 n'est pas compatible\n"
+"           avec OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
-msgstr "Créer vraiment ? (o/N) "
+msgstr "Faut-il vraiment la créer ? (o/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
-msgstr "le stockage de la clé dans la carte a échoué: %s\n"
+msgstr "impossible de stocker la clef sur la carte : %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
-msgstr "impossible de créer le fichier de sauvegarde `%s': %s\n"
+msgstr "impossible de créer le fichier de sauvegarde « %s » : %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
-msgstr "NOTE: sauvegarde de la clé de la carte dans `%s'\n"
+msgstr "Remarque : sauvegarde de la clef de la carte dans « %s »\n"
 
 #: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
 msgid "never     "
@@ -4959,68 +4899,68 @@ msgstr "jamais    "
 
 #: g10/keylist.c:273
 msgid "Critical signature policy: "
-msgstr "Politique de signature critique: "
+msgstr "Politique de signature critique : "
 
 #: g10/keylist.c:275
 msgid "Signature policy: "
-msgstr "Politique de signature: "
+msgstr "Politique de signature : "
 
 #: g10/keylist.c:314
 msgid "Critical preferred keyserver: "
-msgstr "Serveur de clés critique favori: "
+msgstr "Serveur de clefs critique favori : "
 
 #: g10/keylist.c:367
 msgid "Critical signature notation: "
-msgstr "Notation de signature critique: "
+msgstr "Notation de signature critique : "
 
 #: g10/keylist.c:369
 msgid "Signature notation: "
-msgstr "Notation de signature: "
+msgstr "Notation de signature : "
 
 #: g10/keylist.c:479
 msgid "Keyring"
-msgstr "Porte-clés"
+msgstr "Porte-clefs"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
-msgstr "Empreinte de clé principale:"
+msgstr "Empreinte de clef principale :"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
-msgstr "   Empreinte de la sous-clé:"
+msgstr "   Empreinte de la sous-clef :"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
-msgstr " Empreinte de la clé principale:"
+msgstr "Empreinte clef princip. :"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
-msgstr "       Empreinte de la sous-clé:"
+msgstr " Empreinte de sous-clef :"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
-msgstr "    Empreinte de la clé ="
+msgstr " Empreinte de la clef ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
-msgstr "N° de série de la carte ="
+msgstr " Nº de série de carte ="
 
 #: g10/keyring.c:1297
 #, c-format
 msgid "renaming `%s' to `%s' failed: %s\n"
-msgstr "renommer `%s' en `%s' a échoué: %s \n"
+msgstr "impossible de renommer « %s » en « %s » : %s\n"
 
 #: g10/keyring.c:1326
 msgid "WARNING: 2 files with confidential information exists.\n"
 msgstr ""
-"ATTENTION: 2 fichiers avec des informations confidentielles existent.\n"
+"Attention : deux fichiers existent avec des informations confidentielles.\n"
 
 #: g10/keyring.c:1327
 #, c-format
 msgid "%s is the unchanged one\n"
-msgstr "%s est le fichier original\n"
+msgstr "%s est le fichier d'origine\n"
 
 #: g10/keyring.c:1328
 #, c-format
@@ -5029,554 +4969,547 @@ msgstr "%s est le nouveau\n"
 
 #: g10/keyring.c:1329
 msgid "Please fix this possible security flaw\n"
-msgstr "Réparez ce problème de sécurité possible\n"
+msgstr "Veuillez corriger cet éventuel problème de sécurité\n"
 
 #: g10/keyring.c:1430
 #, c-format
 msgid "caching keyring `%s'\n"
-msgstr "mise en antémémoire du porte-clés `%s'\n"
+msgstr "mise en cache du porte-clefs « %s »\n"
 
 #: g10/keyring.c:1489
 #, c-format
 msgid "%lu keys cached so far (%lu signatures)\n"
-msgstr "%lu clés en antémémoire vérifiées pour l'instant (%lu signatures)\n"
+msgstr "%lu clefs mises en cache pour l'instant (%lu signatures)\n"
 
 #: g10/keyring.c:1501
 #, c-format
 msgid "%lu keys cached (%lu signatures)\n"
-msgstr "%lu clés en antémémoire (%lu signatures)\n"
+msgstr "%lu clefs mises en cache (%lu signatures)\n"
 
 #: g10/keyring.c:1573
 #, c-format
 msgid "%s: keyring created\n"
-msgstr "%s: porte-clés créé\n"
+msgstr "%s : porte-clefs créé\n"
 
 #: g10/keyserver.c:74
 msgid "include revoked keys in search results"
-msgstr ""
+msgstr "inclure les clefs révoquées dans les résultats de recherche"
 
 #: g10/keyserver.c:75
 msgid "include subkeys when searching by key ID"
-msgstr ""
+msgstr "inclure les sous-clefs en cherchant par identifiant de clef"
 
 #: g10/keyserver.c:77
 msgid "use temporary files to pass data to keyserver helpers"
 msgstr ""
+"utiliser des fichiers temporaires pour passer les données aux assistants de\n"
+"serveurs de clefs"
 
 #: g10/keyserver.c:79
 msgid "do not delete temporary files after using them"
-msgstr ""
+msgstr "ne pas supprimer les fichiers temporaires après les avoir utilisés"
 
 #: g10/keyserver.c:83
 msgid "automatically retrieve keys when verifying signatures"
-msgstr ""
+msgstr "récupérer les clefs automatiquement en vérifiant les signatures"
 
 #: g10/keyserver.c:85
-#, fuzzy
 msgid "honor the preferred keyserver URL set on the key"
-msgstr "Entrez l'URL de votre serveur de clés favori: "
+msgstr "respecter l'URL de serveur de clefs favori indiqué dans la clef"
 
 #: g10/keyserver.c:87
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
+"respecter l'enregistrement PKA positionné sur une clef en récupérant les "
+"clefs"
 
 #: g10/keyserver.c:153
 #, c-format
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
-"AVERTISSEMENT: les options de serveur de clés `%s' ne sont pas\n"
-"utilisées dans cette plateforme\n"
+"Attention : l'option de serveur de clefs « %s » n'est pas\n"
+"            utilisée sur cette plateforme\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
-msgstr "désactivé"
+msgstr "désactivée"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
-msgstr "Entrez le(s) nombre(s), S)uivant, ou Q)uitter > "
+msgstr "Entrez le ou les nombres, (S)uivant, ou (Q)uitter > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
-msgstr "protocole serveur de clés invalide (nous %d!=gestionnaire %d)\n"
+msgstr "protocole de serveur de clefs incorrect (nous %d!=gestionnaire %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
-msgstr "clé « %s » introuvable dans le serveur de clés\n"
+msgstr "clef « %s » introuvable sur le serveur de clefs\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
-msgstr "clé non trouvée dans le serveur de clés\n"
+msgstr "clef introuvable sur le serveur de clefs\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
-msgstr "requête de la clé %s du serveur %s %s\n"
+msgstr "demande de la clef %s sur le serveur %s %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
-msgstr "requête de la clé %s de %s\n"
+msgstr "requête de la clef %s sur %s\n"
 
-#: g10/keyserver.c:1205
-#, fuzzy, c-format
+#: g10/keyserver.c:1293
+#, c-format
 msgid "searching for names from %s server %s\n"
-msgstr "recherche de « %s » du serveur %s %s\n"
+msgstr "recherche de noms sur le serveur %s %s\n"
 
-#: g10/keyserver.c:1208
-#, fuzzy, c-format
+#: g10/keyserver.c:1296
+#, c-format
 msgid "searching for names from %s\n"
-msgstr "recherche de « %s » de %s\n"
+msgstr "recherche de noms sur %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
-msgstr "envoi de la clé %s au serveur %s %s\n"
+msgstr "envoi de la clef %s au serveur %s %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
-msgstr "envoi de la clé %s à %s\n"
+msgstr "envoi de la clef %s à %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
-msgstr "recherche de « %s » du serveur %s %s\n"
+msgstr "recherche de « %s » sur le serveur %s %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
-msgstr "recherche de « %s » de %s\n"
+msgstr "recherche de « %s » sur %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
-msgstr "pas d'action pour le serveur de clés !\n"
+msgstr "pas d'action pour le serveur de clefs.\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
-"AVERTISSEMENT: le gestionnaire de serveurs de clés provient d'une\n"
-"version différente de GnuPG (%s)\n"
+"Attention : le gestionnaire de serveurs de clefs provient d'une\n"
+"            version différente de GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
-msgstr "le serveurs de clés n'a pas envoyé son numéro de VERSION\n"
+msgstr "le serveurs de clefs n'a pas envoyé sa VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
-msgstr "pas de serveur de clés connu (utilisez l'option --keyserver)\n"
+msgstr "pas de serveur de clefs connu (utilisez l'option --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
-"les appels externes à un serveur de clé ne sont pas supportés dans\n"
+"les appels externes à un serveur de clef ne sont pas pris en charge dans\n"
 "cette compilation\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
-msgstr "pas de gestionnaire pour le type de serveurs de clés `%s'\n"
+msgstr "pas de gestionnaire pour le type de serveurs de clefs « %s »\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
-"l'action `%s' n'est pas supportée avec le type de serveurs\n"
-"de clés `%s'\n"
+"l'action « %s » n'est pas prise en charge avec le type de serveurs\n"
+"de clefs « %s »\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
-msgstr "%s ne supporte pas le gestionnaire de version %d\n"
+msgstr "%s ne prend pas en charge pas le gestionnaire de version %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
-msgstr "le délai d'attente du serveur de clés a expiré\n"
+msgstr "le délai d'attente du serveur de clefs a expiré\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
-msgstr "erreur interne du serveur de clés\n"
+msgstr "erreur interne du serveur de clefs\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
-msgstr "erreur de communication avec le serveur de clés: %s\n"
+msgstr "erreur de communication avec le serveur de clefs : %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
-msgstr "« %s » n'est pas une ID de clé: ignoré\n"
+msgstr "« %s » n'est pas un identifiant de clef : ignoré\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
-"AVERTISSEMENT: impossible de rafraîchir la clé %s\n"
-"via %s: %s\n"
+"Attention : impossible de rafraîchir la clef %s\n"
+"            avec %s : %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
-msgstr "rafraîchissement d'une clé depuis %s\n"
+msgstr "rafraîchissement d'une clef à partir de %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
-msgstr "rafraîchissement de %d clés depuis %s\n"
+msgstr "rafraîchissement de %d clefs à partir de %s\n"
 
-#: g10/keyserver.c:1987
-#, fuzzy, c-format
+#: g10/keyserver.c:2089
+#, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
-msgstr ""
-"AVERTISSEMENT: impossible de rafraîchir la clé %s\n"
-"via %s: %s\n"
+msgstr "Attention : impossible de récupérer l'URI %s : %s\n"
 
-#: g10/keyserver.c:1993
-#, fuzzy, c-format
+#: g10/keyserver.c:2095
+#, c-format
 msgid "WARNING: unable to parse URI %s\n"
-msgstr ""
-"AVERTISSEMENT: impossible de rafraîchir la clé %s\n"
-"via %s: %s\n"
+msgstr "Attention : impossible d'analyser l'URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
-msgstr "taille étonnante pour une clé de session chiffrée (%d)\n"
+msgstr "taille étonnante pour une clef de session chiffrée (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
-msgstr "clé de session chiffrée %s\n"
+msgstr "clef de session chiffrée %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
-msgstr "phrase de passe générée avec l'algorithme de hachage %d inconnu\n"
+msgstr "phrase de passe générée avec l'algorithme de hachage %d inconnu\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
-msgstr "la clé publique est %s\n"
+msgstr "la clef publique est %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
-msgstr "données chiffrées par clé publique: bonne clé de chiffrement (DEK)\n"
+msgstr ""
+"données chiffrées par clef publique : bonne clef de chiffrement (DEK)\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
-msgstr "chiffré avec une clé de %u bits %s, ID %s, créée le %s\n"
+msgstr ""
+"chiffré avec une clef %2$s de %1$u bits, identifiant %3$s, créée le %4$s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
-msgstr "      « %s »\n"
+msgstr "      Â«Â %s »\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
-msgstr "chiffré avec une clé %s, ID %s\n"
+msgstr "chiffré avec une clef %s, identifiant %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
-msgstr "le déchiffrement par clé publique a échoué: %s\n"
+msgstr "échec du déchiffrement par clef publique : %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
-msgstr "chiffré avec %lu phrases de passe\n"
+msgstr "chiffré avec %lu phrases de passe\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
-msgstr "chiffré avec 1 phrase de passe\n"
+msgstr "chiffré avec 1 phrase de passe\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
-msgstr "on suppose des données chiffrées avec %s\n"
+msgstr "les données sont supposées chiffrées avec %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
-"L'algorithme IDEA n'est pas disponible, avec un peu de chance %s marchera\n"
-"peut-être\n"
+"L'algorithme IDEA n'est pas disponible, essai avec %s\n"
+"qui fonctionnera peut-être avec un peu de chance\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
-msgstr "le déchiffrement a réussi\n"
+msgstr "le déchiffrement a réussi\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
-msgstr "AVERTISSEMENT: l'intégrité du message n'était pas protégée\n"
+msgstr "Attention : l'intégrité du message n'était pas protégée\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
-msgstr "AVERTISSEMENT: le message chiffré a été manipulé !\n"
+msgstr "Attention : le message chiffré a été manipulé.\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
-msgstr ""
+msgstr "phrase de passe effacée mise en cache avec l'identifiant : %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
-msgstr "le déchiffrement a échoué: %s\n"
+msgstr "échec du déchiffrement : %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
-msgstr "NOTE: l'expéditeur a demandé «pour vos yeux seulement»\n"
+msgstr "Remarque : l'expéditeur a demandé Â«Â Ã  votre seule attention »\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
-msgstr "nom de fichier original: '%.*s'\n"
+msgstr "nom de fichier original : « %.*s »\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
-msgstr ""
+msgstr "Attention : plusieurs textes en clair ont été vus\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
-msgstr "révocation autonome - utilisez «gpg --import» pour l'appliquer\n"
+msgstr "révocation autonome â\80\94 utilisez Â«Â gpg --import » pour l'appliquer\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
-#, fuzzy
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
-msgstr "Bonne signature de « %s »"
+msgstr "aucune signature trouvée\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
-msgstr "vérification de signature supprimée\n"
+msgstr "vérification de signature supprimée\n"
 
-#: g10/mainproc.c:1587
-#, fuzzy
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
-msgstr "le traitement de ces signatures multiples est impossible\n"
+msgstr "impossible de traiter ces données ambiguës de signature\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature faite le %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
-msgstr "               en utilisant la clé %s %s\n"
+msgstr "               avec la clef %s %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
-msgstr "Signature faite le %s avec la clé %s ID %s\n"
+msgstr "Signature faite le %s avec la clef %s d'identifiant %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
-msgstr "Clé disponible sur: "
+msgstr "Clef disponible sur : "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
-msgstr "MAUVAISE signature de « %s »"
+msgstr "MAUVAISE signature de Â«Â %s »"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
-msgstr "Signature expirée de « %s »"
+msgstr "Signature expirée de Â«Â %s »"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
-msgstr "Bonne signature de « %s »"
+msgstr "Bonne signature de Â«Â %s »"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
-msgstr "[incertain]"
+msgstr "[doute]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
-msgstr "                alias « %s »"
+msgstr "                alias Â«Â %s »"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
-msgstr "La signature a expiré le %s\n"
+msgstr "La signature a expiré le %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "La signature expire le %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "signature %s, algorithme de hachage %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binaire"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
-msgstr "modetexte"
+msgstr "mode texte"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "inconnu"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
-msgstr "Impossible de vérifier la signature: %s\n"
+msgstr "Impossible de vérifier la signature : %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
-msgstr "la signature n'est pas détachée\n"
+msgstr "la signature n'est pas détachée\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
-"AVERTISSEMENT: plusieurs signatures ont été détéctées. Seulement la "
-"première\n"
-"sera vérifiée.\n"
+"Attention : plusieurs signatures ont été détectées.\n"
+"            Seule la première sera vérifiée.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "signature autonome de classe 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
-msgstr "signature d'un ancien style (PGP 2.x)\n"
+msgstr "signature d'un ancien type (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
-msgstr "paquet racine invalide détecté dans proc_tree()\n"
+msgstr "paquet racine incorrect détecté dans proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
-msgstr "fstat de `%s' échoué dans %s: %s\n"
+msgstr "échec du fstat de « %s » dans %s : %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
-msgstr "fstat(%d) échoué dans %s: %s\n"
+msgstr "échec de fstat(%d) dans %s : %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
-"AVERTISSEMENT: utilisation de l'algorithme expérimental à clé\n"
-"publique %s\n"
+"Attention : utilisation de l'algorithme expérimental à clef publique %s\n"
 
-#: g10/misc.c:302
-#, fuzzy
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
-msgstr "AVERTISSEMENT: l'algorithme de hachage %s est déconseillé\n"
+msgstr ""
+"Attention : Les clefs de signature et chiffrement Elgamal sont "
+"déconseillées\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr ""
-"AVERTISSEMENT: utilisation de l'algorithme expérimental de chiffrement\n"
-"%s\n"
+"Attention : utilisation de l'algorithme expérimental de chiffrement %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
-msgstr ""
-"AVERTISSEMENT: utilisation de l'algorithme de hachage\n"
-"expérimental %s\n"
+msgstr "Attention : utilisation de l'algorithme expérimental de hachage %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
-msgstr "AVERTISSEMENT: l'algorithme de hachage %s est déconseillé\n"
+msgstr "Attention : l'algorithme de hachage %s est déconseillé\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
-msgstr "le module de chiffrement IDEA n'est pas présent\n"
+msgstr "le module de chiffrement IDEA n'est pas présent\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
-#, fuzzy, c-format
+#: g10/misc.c:549 g10/sig-check.c:107
+#, c-format
 msgid "please see %s for more information\n"
-msgstr "voir http://www.gnupg.org/fr/faq.html pour plus d'informations\n"
+msgstr "veuillez consulter %s pour plus de renseignements\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
-msgstr "%s:%d: option déconseillée \"%s\"\n"
+msgstr "%s : %d : option « %s » déconseillée\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
-msgstr "AVERTISSEMENT: \"%s\" est une option déconseillée.\n"
+msgstr "Attention : « %s » est une option déconseillée\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
-msgstr "utilisez \"%s%s\" à la place\n"
+msgstr "veuillez plutôt utiliser « %s%s »\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
-msgstr ""
-"AVERTISSEMENT: \"%s\" est une commande déconseillée - ne\n"
-"l'utilisez pas\n"
+msgstr "Attention : « %s » est une commande déconseillée — ne l'utilisez pas\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
-msgstr ""
+msgstr "%s : %u : option « %s » obsolète — non prise en compte\n"
 
-#: g10/misc.c:787
-#, fuzzy, c-format
+#: g10/misc.c:849
+#, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
-msgstr "AVERTISSEMENT: \"%s\" est une option déconseillée.\n"
+msgstr "Attention : « %s » est une option obsolète — non prise en compte\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
-msgstr "Non-compressé"
+msgstr "Non compressé"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
-msgstr "noncompressé|non"
+msgstr "non compressé|non|sans"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "ce message ne sera pas utilisable par %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
-msgstr "option ambiguë `%s'\n"
+msgstr "option « %s » ambiguë\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
-msgstr "option `%s' inconnue\n"
+msgstr "option « %s » inconnue\n"
 
 #: g10/openfile.c:89
 #, c-format
 msgid "File `%s' exists. "
-msgstr "Le fichier `%s' existe. "
+msgstr "Le fichier « %s » existe. "
 
 #: g10/openfile.c:93
 msgid "Overwrite? (y/N) "
-msgstr "Réécrire par-dessus ? (o/N) "
+msgstr "Faut-il réécrire par-dessus ? (o/N) "
 
 #: g10/openfile.c:126
 #, c-format
 msgid "%s: unknown suffix\n"
-msgstr "%s: suffixe inconnu\n"
+msgstr "%s : suffixe inconnu\n"
 
 #: g10/openfile.c:150
 msgid "Enter new filename"
@@ -5584,52 +5517,52 @@ msgstr "Entrez le nouveau nom de fichier"
 
 #: g10/openfile.c:195
 msgid "writing to stdout\n"
-msgstr "écriture vers la sortie standard\n"
+msgstr "écriture vers la sortie standard\n"
 
 #: g10/openfile.c:316
 #, c-format
 msgid "assuming signed data in `%s'\n"
-msgstr "les données signées sont supposées être dans `%s'\n"
+msgstr "les données signées sont supposées être dans « %s »\n"
 
 #: g10/openfile.c:395
 #, c-format
 msgid "new configuration file `%s' created\n"
-msgstr " nouveau fichier de configuration `%s' créé\n"
+msgstr "nouveau fichier de configuration « %s » créé\n"
 
 #: g10/openfile.c:397
 #, c-format
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
-"AVERTISSEMENT: les options de `%s' ne sont pas encore actives cette fois\n"
+"Attention : les options de « %s » ne sont pas encore actives cette fois\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
-msgstr "impossible de gérer l'algorithme à clé publique %d\n"
+msgstr "impossible de gérer l'algorithme à clef publique %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
-"AVERISSEMENT: la clé de session chiffrée de manière symétrique est\n"
-"potentiellement non sûre\n"
+"Attention : la clef de session chiffrée de manière symétrique risque\n"
+"            de ne pas être sécurisée\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
-msgstr "un sous-paquet de type %d possède un bit critique\n"
+msgstr "un sous-paquet de type %d possède un bit critique\n"
 
 #: g10/passphrase.c:75 g10/passphrase.c:418 g10/passphrase.c:481
-#, fuzzy, c-format
+#, c-format
 msgid "problem with the agent: %s\n"
-msgstr "problème avec l'agent - arrêt d'utilisation de l'agent\n"
+msgstr "problème avec l'agent : %s\n"
 
 #: g10/passphrase.c:344 g10/passphrase.c:613
 #, c-format
 msgid " (main key ID %s)"
-msgstr " (ID clé principale %s)"
+msgstr " (identifiant de clef principale %s)"
 
 #: g10/passphrase.c:358
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the OpenPGP "
 "certificate:\n"
@@ -5637,10 +5570,12 @@ msgid ""
 "%u-bit %s key, ID %s,\n"
 "created %s%s.\n"
 msgstr ""
-"Vous avez besoin d'une phrase de passe pour déverrouiller la clé\n"
-"secrète pour l'utilisateur:\n"
-"\"%.*s\"\n"
-"clé %u bits %s, ID %s, créée %s%s\n"
+"Veuillez entrer la phrase de passe pour déverrouiller la clef secrète pour "
+"le\n"
+"certificat OpenPGP :\n"
+"« %2$.*1$s »\n"
+"clef %4$s de %3$u bits, identifiant %5$s,\n"
+"créée le %6$s%7$s.\n"
 
 #: g10/passphrase.c:384
 msgid "Enter passphrase\n"
@@ -5648,7 +5583,7 @@ msgstr "Entrez la phrase de passe\n"
 
 #: g10/passphrase.c:412
 msgid "cancelled by user\n"
-msgstr "annulé par l'utilisateur\n"
+msgstr "annulé par l'utilisateur\n"
 
 #: g10/passphrase.c:592
 #, c-format
@@ -5656,20 +5591,20 @@ msgid ""
 "You need a passphrase to unlock the secret key for\n"
 "user: \"%s\"\n"
 msgstr ""
-"Vous avez besoin d'une phrase de passe pour déverrouiller la\n"
-"clé secrète pour l'utilisateur: « %s »\n"
+"Une phrase de passe est nécessaire pour déverrouiller la clef secrète de\n"
+"l'utilisateur : Â«Â %s »\n"
 
 #: g10/passphrase.c:600
 #, c-format
 msgid "%u-bit %s key, ID %s, created %s"
-msgstr "clé de %u bits %s, ID %s, créée le %s"
+msgstr "clef %2$s de %1$u bits, identifiant %3$s, créée le %4$s"
 
 #: g10/passphrase.c:609
 #, c-format
 msgid "         (subkey on main key ID %s)"
-msgstr "        (sous-clé de la clé principale ID %s)"
+msgstr "        (sous-clef de la clef principale d'identifiant %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5678,95 +5613,104 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 "\n"
-"Choisissez une image à utiliser pour votre photo d'identité. L'image\n"
-"doit être un fichier JPEG. Rappelez-vous que cette image est stockée\n"
-"dans votre clé publique. Si vous utilisez une image très grosse, il\n"
-"en sera de même pour votre clé !\n"
-"La meilleure taille à utiliser est 240x288.\n"
+"Choisissez une image pour votre photo d'identité. L'image doit être\n"
+"un fichier JPEG. Rappelez-vous que cette image est stockée dans la\n"
+"clef publique. Si l'image est très grosse, la clef le sera aussi.\n"
+"Une taille de l'ordre de 240x288 est conseillée.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
-msgstr "Entrez le nom du fichier JPEG pour la photo d'identité: "
+msgstr "Entrez le nom du fichier JPEG pour la photo d'identité : "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
-msgstr "impossible d'ouvrir le fichier JPEG `%s': %s\n"
+msgstr "impossible d'ouvrir le fichier JPEG « %s » : %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
-msgstr "Ce JPEG est vraiment trés grand (%d octets) !\n"
+msgstr "Ce JPEG est vraiment très grand (%d octets).\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
-msgstr "Êtes-vous sûr de vouloir l'utiliser ? (o/N) "
+msgstr "Voulez-vous vraiment l'utiliser ? (o/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
-msgstr "`%s' n'est pas un fichier JPEG\n"
+msgstr "« %s » n'est pas un fichier JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
-msgstr "Cette photo est-elle correcte (o/N/q) ? "
+msgstr "Cette photo est-elle correcte (o/N/q) ? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
-msgstr "impossible d'afficher la photo d'identité !\n"
+msgstr "impossible d'afficher la photo d'identité.\n"
 
 #: g10/pkclist.c:60 g10/revoke.c:621
 msgid "No reason specified"
-msgstr "Aucune raison spécifiée"
+msgstr "Aucune raison indiquée"
 
 #: g10/pkclist.c:62 g10/revoke.c:623
 msgid "Key is superseded"
-msgstr "La clé a été remplacée"
+msgstr "La clef a été remplacée"
 
 #: g10/pkclist.c:64 g10/revoke.c:622
 msgid "Key has been compromised"
-msgstr "La clé a été compromise"
+msgstr "La clef a été compromise"
 
 #: g10/pkclist.c:66 g10/revoke.c:624
 msgid "Key is no longer used"
-msgstr "La clé n'est plus utilisée"
+msgstr "La clef n'est plus utilisée"
 
 #: g10/pkclist.c:68 g10/revoke.c:625
 msgid "User ID is no longer valid"
-msgstr "Le nom d'utilisateur n'est plus valide"
+msgstr "L'identité n'est plus valable"
 
 #: g10/pkclist.c:72
 msgid "reason for revocation: "
-msgstr "cause de révocation: "
+msgstr "cause de révocation : "
 
 #: g10/pkclist.c:89
 msgid "revocation comment: "
-msgstr "commentaire de révocation: "
+msgstr "commentaire de révocation : "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
-msgstr "iImMqQsS"
+msgstr "rRmMqQiI"
 
 #: g10/pkclist.c:212
 msgid "No trust value assigned to:\n"
-msgstr "Pas de valeur de confiance définie pour :\n"
+msgstr "Pas de valeur de confiance définie pour :\n"
 
 #: g10/pkclist.c:245
 #, c-format
 msgid "  aka \"%s\"\n"
-msgstr "  alias « %s »\n"
+msgstr "  alias Â«Â %s »\n"
 
 #: g10/pkclist.c:255
 msgid ""
 "How much do you trust that this key actually belongs to the named user?\n"
 msgstr ""
-"Jusqu'à quel point avez-vous confiance au fait que cette clé\n"
-"appartient rééllement à l'utilisateur nommé ?\n"
+"Quelle confiance portez-vous au fait que cette\n"
+"clef appartienne bien à l'utilisateur nommé ?\n"
 
 #: g10/pkclist.c:270
 #, c-format
 msgid "  %d = I don't know or won't say\n"
-msgstr "  %d = ne sais pas ou ne dirai pas\n"
+msgstr "  %d = je ne sais pas ou n'ai pas d'avis\n"
 
 #: g10/pkclist.c:272
 #, c-format
@@ -5776,7 +5720,7 @@ msgstr "  %d = je ne fais PAS confiance\n"
 #: g10/pkclist.c:278
 #, c-format
 msgid "  %d = I trust ultimately\n"
-msgstr "  %d = je donne une confiance ultime\n"
+msgstr "  %d = j'attribue une confiance ultime\n"
 
 #: g10/pkclist.c:284
 msgid "  m = back to the main menu\n"
@@ -5784,7 +5728,7 @@ msgstr "  m = retour au menu principal\n"
 
 #: g10/pkclist.c:287
 msgid "  s = skip this key\n"
-msgstr "  s = sauter cette clé\n"
+msgstr "  i = ignorer cette clef\n"
 
 #: g10/pkclist.c:288
 msgid "  q = quit\n"
@@ -5796,42 +5740,43 @@ msgid ""
 "The minimum trust level for this key is: %s\n"
 "\n"
 msgstr ""
-"Le niveau de confiance minimal pour cette clé est: %s\n"
+"Le niveau de confiance minimal pour cette clef est : %s\n"
 "\n"
 
 #: g10/pkclist.c:298 g10/revoke.c:650
 msgid "Your decision? "
-msgstr "Votre décision ? "
+msgstr "Quelle est votre décision ? "
 
 #: g10/pkclist.c:319
 msgid "Do you really want to set this key to ultimate trust? (y/N) "
-msgstr "Voulez-vous vraiment donner une confiance ultime à cette clé ? (o/N) "
+msgstr ""
+"Voulez-vous vraiment attribuer une confiance ultime à cette clef ? (o/N) "
 
 #: g10/pkclist.c:333
 msgid "Certificates leading to an ultimately trusted key:\n"
-msgstr "Certificats conduisant vers une clé à confiance ultime:\n"
+msgstr "Certificats conduisant vers une clef de confiance ultime :\n"
 
 #: g10/pkclist.c:418
 #, c-format
 msgid "%s: There is no assurance this key belongs to the named user\n"
 msgstr ""
-"%s: Rien ne dit que la clé appartient vraiment à l'utilisateur\n"
-"nommé.\n"
+"%s : aucune assurance que la clef appartienne vraiment à l'utilisateur "
+"nommé.\n"
 
 #: g10/pkclist.c:423
 #, c-format
 msgid "%s: There is limited assurance this key belongs to the named user\n"
 msgstr ""
-"%s: Il n'est pas vraiment sûr que la clé appartient vraiment\n"
-"à l'utilisateur nommé.\n"
+"%s : faible assurance que la clef appartienne vraiment à l'utilisateur "
+"nommé.\n"
 
 #: g10/pkclist.c:429
 msgid "This key probably belongs to the named user\n"
-msgstr "Cette clé appartient probablement à l'utilisateur nommé\n"
+msgstr "Cette clef appartient sans doute à l'utilisateur nommé\n"
 
 #: g10/pkclist.c:434
 msgid "This key belongs to us\n"
-msgstr "Cette clé nous appartient\n"
+msgstr "Cette clef nous appartient\n"
 
 #: g10/pkclist.c:460
 msgid ""
@@ -5839,203 +5784,202 @@ msgid ""
 "in the user ID.  If you *really* know what you are doing,\n"
 "you may answer the next question with yes.\n"
 msgstr ""
-"Il n'est PAS certain que la clé appartient à la personne nomée dans\n"
-"le nom d'utilisateur. Si vous savez *vraiment* ce que vous faites,\n"
-"vous pouvez répondre oui à la prochaine question.\n"
+"La clef n'appartient PAS forcément à la personne nommée\n"
+"dans l'identité. Si vous savez *vraiment* ce que vous\n"
+"faites, vous pouvez répondre oui à la prochaine question.\n"
 "\n"
 
 #: g10/pkclist.c:479
 msgid "Use this key anyway? (y/N) "
-msgstr "Utiliser cette clé quand même ? (o/N) "
+msgstr "Faut-il quand même utiliser cette clef ? (o/N) "
 
 #: g10/pkclist.c:513
 msgid "WARNING: Using untrusted key!\n"
-msgstr "ATTENTION: Utilisation d'une clé sans confiance !\n"
+msgstr "Attention : utilisation d'une clef sans confiance.\n"
 
 #: g10/pkclist.c:520
 msgid "WARNING: this key might be revoked (revocation key not present)\n"
 msgstr ""
-"AVERTISSEMENT: cette clé est peut-être révoquée (clé de révocation\n"
-"absente)\n"
+"Attention : cette clef est peut-être révoquée (clef de révocation absente)\n"
 
 #: g10/pkclist.c:529
 msgid "WARNING: This key has been revoked by its designated revoker!\n"
-msgstr "AVERTISSEMENT: Cette clé à été révoquée par son révocateur désigné !\n"
+msgstr "Attention : cette clef a été révoquée par son révocateur désigné.\n"
 
 #: g10/pkclist.c:532
 msgid "WARNING: This key has been revoked by its owner!\n"
-msgstr "ATTENTION: Cette clé à été révoquée par son propriétaire !\n"
+msgstr "Attention : cette clef à été révoquée par son propriétaire.\n"
 
 #: g10/pkclist.c:533
 msgid "         This could mean that the signature is forged.\n"
-msgstr "           Cela pourrait signifier que la signature est fausse.\n"
+msgstr ""
+"            Cela pourrait signifier que la signature est contrefaite.\n"
 
 #: g10/pkclist.c:539
 msgid "WARNING: This subkey has been revoked by its owner!\n"
-msgstr "ATTENTION: Cette sous-clé à été révoquée par son propriétaire !\n"
+msgstr "Attention : cette sous-clef à été révoquée par son propriétaire.\n"
 
 #: g10/pkclist.c:544
 msgid "Note: This key has been disabled.\n"
-msgstr "Note: cette clé a été désactivée.\n"
+msgstr "Remarque : cette clef a été désactivée.\n"
 
 #: g10/pkclist.c:564
 #, c-format
 msgid "Note: Verified signer's address is `%s'\n"
-msgstr ""
+msgstr "Remarque : l'adresse vérifiée du signataire est « %s »\n"
 
 #: g10/pkclist.c:571
 #, c-format
 msgid "Note: Signer's address `%s' does not match DNS entry\n"
 msgstr ""
+"Remarque : l'adresse du signataire « %s » ne correspond pas à l'entrée DNS\n"
 
 #: g10/pkclist.c:583
 msgid "trustlevel adjusted to FULL due to valid PKA info\n"
-msgstr ""
+msgstr "confiance ajustée à TOTALE car les renseignements PKA sont conformes\n"
 
 #: g10/pkclist.c:591
 msgid "trustlevel adjusted to NEVER due to bad PKA info\n"
-msgstr ""
+msgstr "confiance ajustée à JAMAIS à cause de mauvais renseignements PKA\n"
 
 #: g10/pkclist.c:602
 msgid "Note: This key has expired!\n"
-msgstr "Note: Cette clé a expiré !\n"
+msgstr "Remarque : cette clef a expiré.\n"
 
 #: g10/pkclist.c:613
 msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgstr ""
-"ATTENTION: Cette clé n'est pas certifiée avec une signature de confiance !\n"
+"Attention : cette clef n'est pas certifiée avec une signature de confiance.\n"
 
 #: g10/pkclist.c:615
 msgid ""
 "         There is no indication that the signature belongs to the owner.\n"
 msgstr ""
-"           Rien ne dit que la signature appartient à son propriétaire.\n"
+"            Rien n'indique que la signature appartient à son propriétaire.\n"
 
 #: g10/pkclist.c:623
 msgid "WARNING: We do NOT trust this key!\n"
-msgstr "ATTENTION: Nous ne faisons PAS confiance à cette clé !\n"
+msgstr "Attention : nous n'avons PAS confiance en cette clef.\n"
 
 #: g10/pkclist.c:624
 msgid "         The signature is probably a FORGERY.\n"
-msgstr "           La signature est certainement FAUSSE.\n"
+msgstr "            La signature est sans doute CONTREFAITE.\n"
 
 #: g10/pkclist.c:632
 msgid ""
 "WARNING: This key is not certified with sufficiently trusted signatures!\n"
 msgstr ""
-"ATTENTION: Les signatures de cette clé n'ont pas une confiance suffisante !\n"
+"Attention : cette clef n'a pas suffisamment de signatures de confiance.\n"
 
 #: g10/pkclist.c:634
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr ""
-"            Il n'est pas sûr que la signature appartient à son "
-"propriétaire.\n"
+"            Aucune certitude que la signature appartienne à son "
+"propriétaire.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
-msgstr "%s: ignoré: %s\n"
+msgstr "%s : ignoré : %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
-msgstr "%s: ignoré: clé publique déjà présente\n"
+msgstr "%s : ignoré : clef publique déjà présente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
-msgstr ""
-"Vous n'avez pas spécifié de nom d'utilisateur. (vous pouvez\n"
-"utiliser «-r»)\n"
-"\n"
+msgstr "Vous n'avez pas indiqué d'identité (vous pouvez utiliser « -r »).\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
-msgstr "Récipients actuels:\n"
+msgstr "Destinataires actuels :\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
 "\n"
-"Entrez le nom d'utilisateur, en terminant par une ligne vide: "
+"Entrez l'identité, en terminant par une ligne vide : "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
-msgstr "Pas d'utilisateur de ce nom.\n"
+msgstr "Cette identité n'existe pas.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
-msgstr "ignoré: la clé publique est déjà le destinataire par défaut\n"
+msgstr ""
+"ignoré : la clef publique est déjà définie en destinataire par défaut\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
-msgstr "La clé publique est désactivée.\n"
+msgstr "La clef publique est désactivée.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
-msgstr "ignoré: clé publique déjà activée\n"
+msgstr "ignoré : clef publique déjà activée\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
-msgstr "destinataire par défaut « %s » inconnu\n"
+msgstr "destinataire par défaut Â«Â %s » inconnu\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
-msgstr "%s: ignoré: la clé publique est désactivée\n"
+msgstr "%s : ignoré : la clef publique est désactivée\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
-msgstr "pas de destinataire valide\n"
+msgstr "pas de destinataire valable\n"
 
-#: g10/pkclist.c:1503
-#, fuzzy, c-format
+#: g10/pkclist.c:1513
+#, c-format
 msgid "Note: key %s has no %s feature\n"
-msgstr "clé %s: pas de nom d'utilisateur\n"
+msgstr "Remarque : la clef %s n'a pas de fonctionnalité %s\n"
 
-#: g10/pkclist.c:1528
-#, fuzzy, c-format
+#: g10/pkclist.c:1538
+#, c-format
 msgid "Note: key %s has no preference for %s\n"
-msgstr "clé %s: pas de nom d'utilisateur\n"
+msgstr "Remarque : la clef %s n'a pas de préférence pour %s\n"
 
 #: g10/plaintext.c:95
 msgid "data not saved; use option \"--output\" to save it\n"
 msgstr ""
-"les données ne sont pas enregistrées; utilisez l'option «--output» pour\n"
+"les données ne sont pas enregistrées ; utilisez l'option Â«Â --output » pour\n"
 "les enregistrer\n"
 
 #: g10/plaintext.c:480
 msgid "Detached signature.\n"
-msgstr "Signature détachée.\n"
+msgstr "Signature détachée.\n"
 
 #: g10/plaintext.c:487
 msgid "Please enter name of data file: "
-msgstr "Entrez le nom du fichier de données: "
+msgstr "Entrez le nom du fichier de données : "
 
 #: g10/plaintext.c:519
 msgid "reading stdin ...\n"
-msgstr "lecture de l'entrée standard...\n"
+msgstr "lecture de l'entrée standard…\n"
 
 #: g10/plaintext.c:557
 msgid "no signed data\n"
-msgstr "pas de données signées\n"
+msgstr "pas de données signées\n"
 
 #: g10/plaintext.c:573
 #, c-format
 msgid "can't open signed data `%s'\n"
-msgstr "impossible d'ouvir les données signées `%s'\n"
+msgstr "impossible d'ouvrir les données signées « %s »\n"
 
 #: g10/plaintext.c:607
-#, fuzzy, c-format
+#, c-format
 msgid "can't open signed data fd=%d: %s\n"
-msgstr "impossible d'ouvir les données signées `%s'\n"
+msgstr "impossible d'ouvrir les données signées fd=%d : %s\n"
 
 #: g10/pubkey-enc.c:105
 #, c-format
 msgid "anonymous recipient; trying secret key %s ...\n"
-msgstr "destinataire anonyme; essai de la clé secrète %s...\n"
+msgstr "destinataire anonyme ; essai avec clef secrète %s…\n"
 
 #: g10/pubkey-enc.c:136
 msgid "okay, we are the anonymous recipient.\n"
@@ -6043,87 +5987,89 @@ msgstr "d'accord, nous sommes le destinataire anonyme.\n"
 
 #: g10/pubkey-enc.c:225
 msgid "old encoding of the DEK is not supported\n"
-msgstr "l'ancien codage de la clé de chiffrement (DEK) n'est pas supporté\n"
+msgstr ""
+"l'ancien encodage de la clef de chiffrement (DEK) n'est pas pris en charge\n"
 
 #: g10/pubkey-enc.c:246
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
-msgstr "l'algorithme de chiffrement %d%s est inconnu ou désactivé\n"
+msgstr "l'algorithme de chiffrement %d%s est inconnu ou désactivé\n"
 
 #: g10/pubkey-enc.c:284
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
-"AVERTISSEMENT: l'algorithme de chiffrement %s n'a pas été trouvé\n"
-"dans les préférences du destinataire\n"
+"Attention : l'algorithme de chiffrement %s est introuvable\n"
+"            dans les préférences du destinataire\n"
 
 #: g10/pubkey-enc.c:304
 #, c-format
 msgid "NOTE: secret key %s expired at %s\n"
-msgstr "NOTE: la clé secrète %s a expiré le %s\n"
+msgstr "Remarque : la clef secrète %s a expiré le %s\n"
 
 #: g10/pubkey-enc.c:310
 msgid "NOTE: key has been revoked"
-msgstr "NOTE: la clé a été révoquée"
+msgstr "Remarque : la clef a été révoquée"
 
 #: g10/revoke.c:102 g10/revoke.c:116 g10/revoke.c:128 g10/revoke.c:174
 #: g10/revoke.c:186 g10/revoke.c:585
 #, c-format
 msgid "build_packet failed: %s\n"
-msgstr "build_packet a échoué: %s\n"
+msgstr "échec de build_packet : %s\n"
 
 #: g10/revoke.c:145
 #, c-format
 msgid "key %s has no user IDs\n"
-msgstr "clé %s: pas de nom d'utilisateur\n"
+msgstr "la clef %s n'a pas d'identité\n"
 
 #: g10/revoke.c:306
 msgid "To be revoked by:\n"
-msgstr "Doit être révoqué par:\n"
+msgstr "À révoquer par :\n"
 
 #: g10/revoke.c:310
 msgid "(This is a sensitive revocation key)\n"
-msgstr "(c'est une clé de révocation sensible)\n"
+msgstr "(c'est une clef de révocation sensible)\n"
 
 #: g10/revoke.c:314
 msgid "Create a designated revocation certificate for this key? (y/N) "
-msgstr "Générer un certificat de révocation désignée pour cette clé ? (o/N) "
+msgstr ""
+"Faut-il créer un certificat de révocation désigné pour cette clef ? (o/N) "
 
 #: g10/revoke.c:327 g10/revoke.c:551
 msgid "ASCII armored output forced.\n"
-msgstr "sortie avec armure ASCII forcée.\n"
+msgstr "sortie forcée avec armure ASCII.\n"
 
 #: g10/revoke.c:342 g10/revoke.c:565
 #, c-format
 msgid "make_keysig_packet failed: %s\n"
-msgstr "make_keysig_packet a échoué: %s\n"
+msgstr "échec de make_keysig_packet : %s\n"
 
 #: g10/revoke.c:405
 msgid "Revocation certificate created.\n"
-msgstr "Certificat de révocation créé.\n"
+msgstr "Certificat de révocation créé.\n"
 
 #: g10/revoke.c:411
 #, c-format
 msgid "no revocation keys found for \"%s\"\n"
-msgstr "aucune clé de révocation trouvée pour « %s »\n"
+msgstr "aucune clef de révocation trouvée pour Â«Â %s »\n"
 
 #: g10/revoke.c:470
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
-msgstr "la clé secrète « %s » n'a pas été trouvée: %s\n"
+msgstr "clef secrète « %s » introuvable : %s\n"
 
 #: g10/revoke.c:497
 #, c-format
 msgid "no corresponding public key: %s\n"
-msgstr "pas de clé publique correspondante: %s\n"
+msgstr "pas de clef publique correspondante : %s\n"
 
 #: g10/revoke.c:508
 msgid "public key does not match secret key!\n"
-msgstr "la clé publique ne correspond pas à la clé secrète !\n"
+msgstr "la clef publique ne correspond pas à la clef secrète.\n"
 
 #: g10/revoke.c:515
 msgid "Create a revocation certificate for this key? (y/N) "
-msgstr "Générer un certificat de révocation pour cette clé ? (o/N) "
+msgstr "Faut-il créer un certificat de révocation pour cette clef ? (o/N) "
 
 #: g10/revoke.c:532
 msgid "unknown protection algorithm\n"
@@ -6131,7 +6077,7 @@ msgstr "algorithme de protection inconnu\n"
 
 #: g10/revoke.c:540
 msgid "NOTE: This key is not protected!\n"
-msgstr "NOTE: Cette clé n'est pas protégée !\n"
+msgstr "Remarque : cette clef n'est pas protégée.\n"
 
 #: g10/revoke.c:591
 msgid ""
@@ -6143,19 +6089,19 @@ msgid ""
 "your media become unreadable.  But have some caution:  The print system of\n"
 "your machine might store the data and make it available to others!\n"
 msgstr ""
-"Certificat de révocation créé.\n"
+"Certificat de révocation créé.\n"
 "\n"
-"Déplacez-le dans un support que vous pouvez cacher ; si Mallory a\n"
-"accès à ce certificat il peut l'utiliser pour rendre votre clé\n"
+"Veuillez le déplacer sur un support que vous pouvez cacher ; toute personne\n"
+"accédant à ce certificat peut l'utiliser pour rendre votre clef "
 "inutilisable.\n"
-"Une bonne idée consiste à imprimer ce certificat puis à le stocker\n"
-"ailleurs, au cas où le support devient illisible. Mais attention :\n"
-"le système d'impression de votre machine pourrait stocker ces\n"
-"données et les rendre accessibles à d'autres personnes !\n"
+"Imprimer ce certificat et le stocker ailleurs est une bonne idée, au cas où "
+"le\n"
+"support devienne illisible. Attention quand même : le système d'impression\n"
+"utilisé pourrait stocker ces données et les rendre accessibles à d'autres.\n"
 
 #: g10/revoke.c:633
 msgid "Please select the reason for the revocation:\n"
-msgstr "choisissez la cause de la révocation:\n"
+msgstr "choisissez la cause de la révocation :\n"
 
 #: g10/revoke.c:643
 msgid "Cancel"
@@ -6164,171 +6110,178 @@ msgstr "Annuler"
 #: g10/revoke.c:645
 #, c-format
 msgid "(Probably you want to select %d here)\n"
-msgstr "(Vous devriez sûrement sélectionner %d ici)\n"
+msgstr "(Vous devriez sûrement sélectionner %d ici)\n"
 
 #: g10/revoke.c:686
 msgid "Enter an optional description; end it with an empty line:\n"
-msgstr "Entrez une description optionnelle ; terminez-là par une ligne vide:\n"
+msgstr ""
+"Entrez une description facultative, en terminant par une ligne vide :\n"
 
 #: g10/revoke.c:714
 #, c-format
 msgid "Reason for revocation: %s\n"
-msgstr "Cause de révocation: %s\n"
+msgstr "Cause de révocation : %s\n"
 
 #: g10/revoke.c:716
 msgid "(No description given)\n"
-msgstr "(Aucune description donnée)\n"
+msgstr "(Aucune description donnée)\n"
 
 #: g10/revoke.c:721
 msgid "Is this okay? (y/N) "
-msgstr "Est-ce d'accord ? (o/N) "
+msgstr "Est-ce d'accord ? (o/N) "
 
 #: g10/seckey-cert.c:55
 msgid "secret key parts are not available\n"
-msgstr "les parties secrètes ne sont pas disponibles\n"
+msgstr "des parties de la clef secrète ne sont pas disponibles\n"
 
 #: g10/seckey-cert.c:61
 #, c-format
 msgid "protection algorithm %d%s is not supported\n"
-msgstr "l'algorithme de protection %d%s n'est pas supporté\n"
+msgstr "l'algorithme de protection %d%s n'est pas pris en charge\n"
 
 #: g10/seckey-cert.c:72
 #, c-format
 msgid "protection digest %d is not supported\n"
-msgstr "le hachage de protection %d n'est pas supporté\n"
+msgstr "le hachage de protection %d n'est pas pris en charge\n"
 
 #: g10/seckey-cert.c:291
 msgid "Invalid passphrase; please try again"
-msgstr "Phrase de passe invalide ; réessayez"
+msgstr "Phrase de passe incorrecte ; veuillez réessayer"
 
 #: g10/seckey-cert.c:292
 #, c-format
 msgid "%s ...\n"
-msgstr "%s ...\n"
+msgstr "%s\n"
 
 #: g10/seckey-cert.c:361
 msgid "WARNING: Weak key detected - please change passphrase again.\n"
-msgstr "ATTENTION: Clé faible détectée - changez encore la phrase de passe.\n"
+msgstr ""
+"Attention : clef faible détectée — modifiez encore la phrase de passe.\n"
 
 #: g10/seckey-cert.c:404
 msgid "generating the deprecated 16-bit checksum for secret key protection\n"
 msgstr ""
-"génération de la somme de contrôle de 16 bits (dépréciée) pour protéger\n"
-"la clé secrète\n"
+"génération de la somme de contrôle de 16 bits (obsolète) pour protéger\n"
+"la clef secrète\n"
 
 #: g10/seskey.c:61 sm/encrypt.c:119
 msgid "weak key created - retrying\n"
-msgstr "clé faible générée - nouvel essai\n"
+msgstr "clef faible générée — nouvel essai\n"
 
 #: g10/seskey.c:65
 #, c-format
 msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
 msgstr ""
-"impossible d'éviter une clé faible pour le chiffrement symétrique:\n"
-"%d essais ont eu lieu !\n"
+"impossible d'éviter une clef faible pour le chiffrement symétrique :\n"
+"%d essais ont eu lieu.\n"
 
 #: g10/seskey.c:227 sm/certcheck.c:85
 msgid "DSA requires the hash length to be a multiple of 8 bits\n"
-msgstr ""
+msgstr "DSA nécessite que la longueur du hachage soit un multiple de 8 bits\n"
 
 #: g10/seskey.c:240
 #, c-format
 msgid "DSA key %s uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "la clef DSA %s utilise un hachage non sûr (%u bits)\n"
 
 #: g10/seskey.c:252
 #, c-format
 msgid "DSA key %s requires a %u bit or larger hash\n"
-msgstr ""
+msgstr "la clef DSA %s nécessite un hachage d'au moins %u bits\n"
 
 #: g10/sig-check.c:80
 msgid "WARNING: signature digest conflict in message\n"
-msgstr "AVERTISSEMENT: conflit de hachage de signature dans le message\n"
+msgstr "Attention : conflit de hachage de signature dans le message\n"
 
 #: g10/sig-check.c:105
 #, c-format
 msgid "WARNING: signing subkey %s is not cross-certified\n"
 msgstr ""
-"AVERTISSEMENT: la sous-clé de signature %s n'a pas de certificat\n"
-"croisé\n"
+"Attention : la sous-clef de signature %s n'a pas de certificat croisé\n"
 
 #: g10/sig-check.c:117
 #, c-format
 msgid "WARNING: signing subkey %s has an invalid cross-certification\n"
 msgstr ""
-"AVERTISSEMENT: la sous-clé de signature %s a un certificat croisé\n"
-"invalide\n"
+"Attention : la sous-clef de signature %s a un certificat croisé incorrect\n"
 
 #: g10/sig-check.c:211
 #, c-format
 msgid "public key %s is %lu second newer than the signature\n"
-msgstr "la clé publique %s est plus récente de %lu seconde que la signature\n"
+msgstr "la clef publique %s est plus récente de %lu seconde que la signature\n"
 
 #: g10/sig-check.c:212
 #, c-format
 msgid "public key %s is %lu seconds newer than the signature\n"
-msgstr "la clé publique %s est plus récente de %lu secondes que la signature\n"
+msgstr ""
+"la clef publique %s est plus récente de %lu secondes que la signature\n"
 
-# on s'amuse comme on peut...
 #: g10/sig-check.c:223
 #, c-format
 msgid ""
 "key %s was created %lu second in the future (time warp or clock problem)\n"
 msgstr ""
-"la clé %s a été créée %lu seconde dans le futur (rupture\n"
-"spatio-temporelle ou problème d'horloge)\n"
+"la clef %s a été créée %lu seconde dans le futur\n"
+"(faille temporelle ou problème d'horloge)\n"
 
 #: g10/sig-check.c:225
 #, c-format
 msgid ""
 "key %s was created %lu seconds in the future (time warp or clock problem)\n"
 msgstr ""
-"la clé %s a été créée %lu secondes dans le futur (rupture\n"
-"spatio-temporelle ou problème d'horloge)\n"
+"la clef %s a été créée %lu secondes dans le futur\n"
+"(faille temporelle ou problème d'horloge)\n"
 
 #: g10/sig-check.c:239
 #, c-format
 msgid "NOTE: signature key %s expired %s\n"
-msgstr "NOTE: la clé de signature %s a expiré le %s\n"
+msgstr "Remarque : la clef de signature %s a expiré le %s\n"
 
 #: g10/sig-check.c:252
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: signature key %s has been revoked\n"
-msgstr "NOTE: la clé a été révoquée"
+msgstr "Remarque : la clef de signature %s a été révoquée\n"
+
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "signature %s, algorithme de hachage %s\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
-"la signature de la clé %s est supposée être fausse car un bit\n"
+"la signature de la clef %s est supposée être fausse car un bit\n"
 "critique est inconnu\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
-msgstr "clé %s: pas de sous-clé pour la signature de révocation de sous-clé\n"
+msgstr ""
+"clef %s : pas de sous-clef pour la signature de révocation de sous-clef\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
-msgstr ""
-"clé %s: pas de sous-clé pour la signature de liaison à la\n"
-"sous-clé\n"
+msgstr "clef %s : pas de sous-clef pour la signature de lien à la sous-clef\n"
 
 #: g10/sign.c:89
 #, c-format
 msgid "WARNING: unable to %%-expand notation (too large).  Using unexpanded.\n"
 msgstr ""
-"AVERTISSEMENT: impossible de faire une expansion à base de %%\n"
-"(chaîne trop grande). Utilisation de la version non expansée.\n"
+"Attention : impossible de faire une expansion à base de %% de\n"
+"            la notation (chaîne trop grande).\n"
+"            Utilisation de la version non expansée.\n"
 
 #: g10/sign.c:115
 #, c-format
 msgid ""
 "WARNING: unable to %%-expand policy URL (too large).  Using unexpanded.\n"
 msgstr ""
-"AVERTISSEMENT: impossible de faire une expansion à base de %% de l'URL\n"
-"de politique (trop grande). Utilisation de la version non expansée.\n"
+"Attention : impossible de faire une expansion à base de %% de\n"
+"            l'URL de politique (chaîne trop grande).\n"
+"            Utilisation de la version non expansée.\n"
 
 #: g10/sign.c:138
 #, c-format
@@ -6336,78 +6289,79 @@ msgid ""
 "WARNING: unable to %%-expand preferred keyserver URL (too large).  Using "
 "unexpanded.\n"
 msgstr ""
-"AVERTISSEMENT: impossible de faire une expansion à base de %% de l'URL\n"
-"de politique (trop grande). Utilisation de la version non expansée.\n"
+"Attention : impossible de faire une expansion à base de %% de\n"
+"            l'URL du serveur de clef favori (chaîne trop grande).\n"
+"            Utilisation de la version non expansée.\n"
 
 #: g10/sign.c:311
 #, c-format
 msgid "checking created signature failed: %s\n"
-msgstr "Impossible de vérifier la signature créée: %s\n"
+msgstr "échec de vérification de la signature créée : %s\n"
 
 #: g10/sign.c:320
 #, c-format
 msgid "%s/%s signature from: \"%s\"\n"
-msgstr "%s/%s signature de: « %s »\n"
+msgstr "%s/%s signature de : Â«Â %s »\n"
 
 #: g10/sign.c:761
 msgid "you can only detach-sign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
-"il n'est possible générer une signature détachée avec des clés de\n"
-"style PGP 2.x qu'en mode --pgp2\n"
+"une signature détachée avec des clefs de type\n"
+"PGP 2.x n'est possible qu'en mode --pgp2\n"
 
 #: g10/sign.c:837
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
-"AVERTISSEMENT: forcer l'algorithme de hachage %s (%d) entre en\n"
-"désaccord avec les préférences du destinataire\n"
+"Attention : forcer l'algorithme de hachage %s (%d) est en\n"
+"            désaccord avec les préférences du destinataire\n"
 
 #: g10/sign.c:964
 msgid "signing:"
-msgstr "signature:"
+msgstr "signature :"
 
 #: g10/sign.c:1079
 msgid "you can only clearsign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
-"il n'est possible de faire une signature en texte clair avec des clés\n"
-"de style PGP 2.x qu'en mode --pgp2\n"
+"une signature en texte clair avec des clefs de type\n"
+"PGP 2.x n'est possible qu'en mode --pgp2\n"
 
 #: g10/sign.c:1263
 #, c-format
 msgid "%s encryption will be used\n"
-msgstr "le chiffrement %s sera utilisé\n"
+msgstr "le chiffrement %s sera utilisé\n"
 
 #: g10/skclist.c:140 g10/skclist.c:217
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
-"la clé n'est pas marquée comme non-sûre; on ne peut pas l'utiliser avec le\n"
-"pseudo-générateur de nombres aléatiores !\n"
+"la clef n'est pas marquée comme non sécurisée — elle ne peut pas être\n"
+"utilisée avec le soi-disant générateur de nombres aléatoires.\n"
 
 #: g10/skclist.c:174
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
-msgstr "« %s » a été ignoré: dupliqué\n"
+msgstr "« %s » a été ignorée : en double\n"
 
 #: g10/skclist.c:182 g10/skclist.c:195 g10/skclist.c:207
 #, c-format
 msgid "skipped \"%s\": %s\n"
-msgstr "« %s » a été ignoré: %s\n"
+msgstr "« %s » a été ignorée : %s\n"
 
 #: g10/skclist.c:190
 msgid "skipped: secret key already present\n"
-msgstr "ignoré: clé secrète déjà présente\n"
+msgstr "ignoré : clef secrète déjà présente\n"
 
 #: g10/skclist.c:208
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
-"c'est une clé ElGamal générée par PGP qui n'est pas sûre pour\n"
-"les signatures !"
+"c'est une clef Elgamal générée par PGP qui n'est pas sûre pour les "
+"signatures."
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
-msgstr "enregistrement de confiance %lu, type %d: l'écriture a échoué: %s\n"
+msgstr "enregistrement de confiance %lu, type %d : échec d'écriture : %s\n"
 
 #: g10/tdbdump.c:106
 #, c-format
@@ -6415,13 +6369,13 @@ msgid ""
 "# List of assigned trustvalues, created %s\n"
 "# (Use \"gpg --import-ownertrust\" to restore them)\n"
 msgstr ""
-"# Liste des valeurs de confiance assignées, créée le %s\n"
-"# (Utilisez « gpg --import-ownertrust » pour les restaurer)\n"
+"# Liste de valeurs de confiance définies, créée le %s\n"
+"# (utilisez Â«Â gpg --import-ownertrust » pour les restaurer)\n"
 
 #: g10/tdbdump.c:161 g10/tdbdump.c:169 g10/tdbdump.c:174 g10/tdbdump.c:179
 #, c-format
 msgid "error in `%s': %s\n"
-msgstr "erreur dans `%s': %s\n"
+msgstr "erreur dans « %s » : %s\n"
 
 #: g10/tdbdump.c:161
 msgid "line too long"
@@ -6429,355 +6383,358 @@ msgstr "ligne trop longue"
 
 #: g10/tdbdump.c:169
 msgid "colon missing"
-msgstr "symbole deux-points manquant"
+msgstr "deux-points manquant"
 
 #: g10/tdbdump.c:175
 msgid "invalid fingerprint"
-msgstr "empreinte invalide"
+msgstr "empreinte incorrecte"
 
 #: g10/tdbdump.c:180
 msgid "ownertrust value missing"
-msgstr "valeur de confiance au propriétaire manquante"
+msgstr "valeur de confiance au propriétaire manquante"
 
 #: g10/tdbdump.c:216
 #, c-format
 msgid "error finding trust record in `%s': %s\n"
-msgstr ""
-"erreur pendant la recherche de l'enregistrement de confiance\n"
-"dans `%s': %s\n"
+msgstr "impossible de trouver l'enregistrement de confiance dans « %s » : %s\n"
 
 #: g10/tdbdump.c:220
 #, c-format
 msgid "read error in `%s': %s\n"
-msgstr "erreur de lecture dans `%s': %s\n"
+msgstr "erreur de lecture dans « %s » : %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
-msgstr "base de confiance: la synchronisation a échoué: %s\n"
+msgstr "base de confiance : échec de synchronisation : %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
-msgstr "enregistrement de base de confiance %lu: lseek a échoué: %s\n"
+msgstr "enregistrement de base de confiance %lu : échec de lseek : %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
-"enregistrement de la base de confiance %lu: l'écriture a échoué (n=%d): %s\n"
+"enregistrement de base de confiance %lu : échec d'écriture (n=%d) : %s\n"
 
 #: g10/tdbio.c:245
 msgid "trustdb transaction too large\n"
-msgstr "transaction de base de confiance trop volumineuse\n"
+msgstr "transaction de base de confiance trop grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
-msgstr "impossible d'accéder à `%s': %s\n"
+msgstr "impossible d'accéder à « %s » : %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
-msgstr "%s: le répertoire n'existe pas !\n"
+msgstr "%s : le répertoire n'existe pas.\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
-msgstr "impossible de créer un verrou pour `%s'\n"
+msgstr "impossible de créer un verrou pour « %s »\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
-msgstr "impossible de verrouiller `%s'\n"
+msgstr "impossible de verrouiller « %s »\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
-msgstr "%s: impossible de créer un enregistrement de version: %s"
+msgstr "%s : impossible de créer un enregistrement de version : %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
-msgstr "%s: base de confiance invalide créée\n"
+msgstr "%s : base de confiance incorrecte créée\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
-msgstr "%s: base de confiance créée\n"
+msgstr "%s : base de confiance créée\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
-msgstr "NOTE: la base de confiance n'a pas les permissions d'écriture\n"
+msgstr "Remarque : la base de confiance n'est pas accessible en écriture\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
-msgstr "%s: base de confiance invalide\n"
+msgstr "%s : base de confiance incorrecte\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
-msgstr "%s: la création de la table de hachage a échoué: %s\n"
+msgstr "%s : échec de création de la table de hachage : %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
-msgstr "%s: erreur pendant la mise à jour de l'enregistrement de version: %s\n"
+msgstr "%s : erreur de mise à jour de l'enregistrement de version : %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
-msgstr "%s: erreur pendant la lecture de l'enregistrement de version: %s\n"
+msgstr "%s : erreur de lecture d'enregistrement de version : %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
-msgstr "%s: erreur pendant l'écriture de l'enregistrement de version: %s\n"
+msgstr "%s : erreur d'écriture de l'enregistrement de version : %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
-msgstr "base de confiance: «lseek()» a échoué: %s\n"
+msgstr "base de confiance : échec de lseek : %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
-msgstr "base de confiance: la lecture a échoué (n=%d): %s\n"
+msgstr "base de confiance : échec de lecture (n=%d) : %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
-msgstr "%s: ce n'est pas un fichier de base de confiance\n"
+msgstr "%s : ce n'est pas un fichier de base de confiance\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
-msgstr "%s: enregistrement de version avec un numéro %lu\n"
+msgstr "%s : enregistrement de version avec le numéro %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
-msgstr "%s: version %d du fichier invalide\n"
+msgstr "%s : version %d du fichier incorrecte\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
-msgstr "%s: erreur pendant la lecture de l'enregistrement libre: %s\n"
+msgstr "%s : erreur de lecture d'enregistrement libre : %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
-msgstr ""
-"%s: erreur pendant l'écriture de l'enregistrement de\n"
-"répertoire: %s\n"
+msgstr "%s : erreur d'écriture de l'enregistrement de répertoire: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
-msgstr "%s: n'a pu mettre un enregistrement à zéro: %s\n"
+msgstr "%s : échec de mise à zéro d'un enregistrement : %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
-msgstr "%s: impossible d'ajouter un enregistrement: %s\n"
+msgstr "%s : impossible d'ajouter un enregistrement : %s\n"
 
-#: g10/tdbio.c:1512
-#, fuzzy
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
-msgstr "%s: base de confiance créée\n"
+msgstr "Erreur : la base de confiance est corrompue\n"
 
 #: g10/textfilter.c:147
 #, c-format
 msgid "can't handle text lines longer than %d characters\n"
-msgstr "impossible de traiter les lignes plus longues que %d caractères\n"
+msgstr "impossible de traiter les lignes plus longues que %d caractères\n"
 
 #: g10/textfilter.c:247
 #, c-format
 msgid "input line longer than %d characters\n"
-msgstr "la ligne d'entrée est plus longue que %d caractères\n"
+msgstr "la ligne d'entrée est plus longue que %d caractères\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
-msgstr "`%s' n'est pas une identification de clé longue valide\n"
+msgstr "« %s » n'est pas un identifiant valable de clef longue\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
-msgstr "clé %s: acceptée comme clé de confiance.\n"
+msgstr "clef %s : acceptée comme clef de confiance\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
-msgstr "la clé %s apparaît plusieurs fois dans la base de confiance\n"
+msgstr "la clef %s apparaît plusieurs fois dans la base de confiance\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
-msgstr "clé %s: pas de clé publique pour la clé de confiance - ignorée\n"
+msgstr "clef %s : pas de clef publique pour la clef de confiance — ignorée\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
-msgstr "clé %s marquée comme ayant une confiance ultime.\n"
+msgstr "clef %s marquée de confiance ultime.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
-"enregistrement de confiance %lu, type de requête %d: la lecture a échoué: %"
-"s\n"
+"enregistrement de confiance %lu, type de requête %d : échec de lecture : %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
-msgstr "l'enregistrement de confiance %lu: n'est pas du type demandé %d\n"
+msgstr "l'enregistrement de confiance %lu n'est pas du type %d demandé\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
+"Vous pourriez essayer de recréer la base de confiance avec les commandes :\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
-msgstr ""
+msgstr "Si cela ne fonctionne pas, veuillez consulter le mode d'emploi\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
-"impossible d'utiliser ce modèle de confiance inconnu (%d) -\n"
-"on utilise à la place le modèle de confiance %s\n"
+"impossible d'utiliser ce modèle de confiance inconnu (%d) —\n"
+"     utilisation du modèle de confiance %s à la place\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
-msgstr "utilisation du modèle de confiance %s\n"
-
-#: g10/trustdb.c:520
+msgstr "utilisation du modèle de confiance %s\n"
+
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "11 le traducteur a bien lu ce qu'il fallait :)"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
-msgstr "[ revoquée]"
+msgstr "[ révoquée]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
-msgstr "[ expirée ]"
+msgstr "[ expirée ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[ inconnue]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
-msgstr "[indéfinie]"
+msgstr "[indéfinie]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[marginale]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
-msgstr "[ entière ]"
+msgstr "[  totale ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[  ultime ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
-msgstr "indéfinie"
+msgstr "indéfinie"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "jamais"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginale"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
-msgstr "entière"
+msgstr "totale"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "ultime"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
-msgstr "vérification de la base de confiance inutile\n"
+msgstr "inutile de vérifier la base de confiance\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
-msgstr "la prochaine vérification de la base de confiance aura lieu le %s\n"
+msgstr "la prochaine vérification de la base de confiance aura lieu le %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
-"vérification de la base de confiance inutile avec le modèle de\n"
-"confiance `%s'\n"
+"inutile de vérifier la base de confiance avec le modèle de\n"
+"     confiance « %s »\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
-"mise à jour de la base de confiance inutile avec le modèle de\n"
-"confiance `%s'\n"
+"inutile de mettre à jour la base de confiance avec le modèle de\n"
+"     confiance « %s »\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
-msgstr "clé publique %s non trouvée : %s\n"
+msgstr "clef publique %s introuvable : %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
-msgstr "faites un --check-trustdb\n"
+msgstr "veuillez faire un --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
-msgstr "vérifier la base de confiance\n"
+msgstr "vérification de la base de confiance\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
-msgstr "%d clés traitées (%d comptes de validité réinitialisés)\n"
+msgstr "%d clefs traitées (%d comptes de validité réinitialisés)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
-msgstr "aucune clé de confiance ultime n'a été trouvée\n"
+msgstr "aucune clef de confiance ultime n'a été trouvée\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
-msgstr "la clé publique de la clé de confiance ultime %s est introuvable\n"
+msgstr "la clef publique de la clef de confiance ultime %s est introuvable\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
-"%d marginale(s) nécessaires, %d complète(s) nécessaires, modèle\n"
-"de confiance %s\n"
+"%d marginale(s) nécessaire(s), %d complète(s) nécessaire(s),\n"
+"     modèle de confiance %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"profondeur: %d  valide: %3d  signé: %3d\n"
-"confiance: %d-. %dg. %dn. %dm. %df. %du\n"
+"profondeur : %d  valables : %3d  signées : %3d\n"
+"     confiance : %d i., %d n.d., %d j., %d m., %d t., %d u.\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
-"impossible de mettre à jour l'enregistrement de version de la\n"
-"base de confiance: l'écriture a échoué: %s\n"
+"impossible de mettre à jour l'enregistrement de version de la\n"
+"base de confiance : échec d'écriture : %s\n"
 
 #: g10/verify.c:118
 msgid ""
@@ -6785,838 +6742,842 @@ msgid ""
 "Please remember that the signature file (.sig or .asc)\n"
 "should be the first file given on the command line.\n"
 msgstr ""
-"impossible de vérifier la signature.\n"
-"Rappelez-vous bien que le fichier de signature (.sig ou .asc)\n"
-"doit être le premier fichier indiqué sur la ligne de commande.\n"
+"impossible de vérifier la signature.\n"
+"Veuillez vérifier que le fichier de signature (.sig ou .asc)\n"
+"est bien le premier fichier indiqué sur la ligne de commande.\n"
 
 #: g10/verify.c:205
 #, c-format
 msgid "input line %u too long or missing LF\n"
 msgstr ""
-"la ligne d'entrée %u est trop longue ou il manque un caractère de saut\n"
-"de ligne\n"
+"la ligne d'entrée %u est trop longue ou un caractère de changement de\n"
+"ligne manque\n"
 
 #: g10/verify.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "can't open fd %d: %s\n"
-msgstr "impossible d'ouvrir `%s': %s\n"
+msgstr "impossible d'ouvrir le descripteur %d : %s\n"
 
-#: jnlib/argparse.c:180
-#, fuzzy
+#: jnlib/argparse.c:194
 msgid "argument not expected"
-msgstr "Les commandes d'administration ne sont pas permises\n"
+msgstr "argument inattendu"
 
-#: jnlib/argparse.c:182
-#, fuzzy
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: jnlib/argparse.c:184
-#, fuzzy
+#: jnlib/argparse.c:198
 msgid "keyword too long"
-msgstr "ligne trop longue"
+msgstr "mot-clef trop long"
 
-#: jnlib/argparse.c:186
-#, fuzzy
+#: jnlib/argparse.c:200
 msgid "missing argument"
-msgstr "argument invalide"
+msgstr "argument manquant"
 
-#: jnlib/argparse.c:188
-#, fuzzy
+#: jnlib/argparse.c:202
 msgid "invalid command"
-msgstr "La commande n'est utilisable qu'en mode administration\n"
+msgstr "commande incorrecte"
 
-#: jnlib/argparse.c:190
-#, fuzzy
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
-msgstr "options de liste invalides\n"
+msgstr "définition d'alias incorrecte"
 
-#: jnlib/argparse.c:192
-#, fuzzy
+#: jnlib/argparse.c:206
 msgid "out of core"
-msgstr "non forcé"
+msgstr "hors limite"
 
-#: jnlib/argparse.c:194
-#, fuzzy
+#: jnlib/argparse.c:208
 msgid "invalid option"
-msgstr "options de liste invalides\n"
+msgstr "option incorrecte"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
-msgstr ""
+msgstr "argument manquant pour l'option « %.50s »\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
-msgstr ""
+msgstr "l'option « %.50s » n'attend pas d'argument\n"
 
-#: jnlib/argparse.c:207
-#, fuzzy, c-format
+#: jnlib/argparse.c:221
+#, c-format
 msgid "invalid command \"%.50s\"\n"
-msgstr "Commande invalide  (essayez «help»)\n"
+msgstr "commande « %.50s » incorrecte\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "l'option « %.50s » est ambiguë\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "la commande « %.50s » est ambiguë\n"
 
-#: jnlib/argparse.c:213
-#, fuzzy
+#: jnlib/argparse.c:227
 msgid "out of core\n"
-msgstr "non forcé"
+msgstr "hors limite\n"
 
-#: jnlib/argparse.c:215
-#, fuzzy, c-format
+#: jnlib/argparse.c:229
+#, c-format
 msgid "invalid option \"%.50s\"\n"
-msgstr "options de liste invalides\n"
+msgstr "option « %.50s » incorrecte\n"
 
 #: jnlib/logging.c:647
 #, c-format
 msgid "you found a bug ... (%s:%d)\n"
-msgstr "vous avez trouvé un bug... (%s:%d)\n"
-
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "vous avez trouvé un bogue… (%s : %d)\n"
 
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
-msgstr ""
+msgstr "conversion de « %s » vers « %s » non disponible\n"
 
-#: jnlib/utf8conv.c:131
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:76
+#, c-format
 msgid "iconv_open failed: %s\n"
-msgstr "la signature a échoué: %s\n"
+msgstr "échec de iconv_open : %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
+#, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
-msgstr "renommer `%s' en `%s' a échoué: %s \n"
+msgstr "impossible de convertir « %s » en « %s » : %s\n"
 
 #: jnlib/dotlock.c:234
-#, fuzzy, c-format
+#, c-format
 msgid "failed to create temporary file `%s': %s\n"
-msgstr "impossible de créer le répertoire `%s': %s\n"
+msgstr "impossible de créer le fichier temporaire « %s » : %s\n"
 
 #: jnlib/dotlock.c:269
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to `%s': %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture sur « %s » : %s\n"
 
 #: jnlib/dotlock.c:453
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
-msgstr ""
+msgstr "suppression du vieux fichier verrou (créé par %d)\n"
 
 #: jnlib/dotlock.c:459
 msgid " - probably dead - removing lock"
-msgstr ""
+msgstr " — sans doute mort — suppression du verrou"
 
 #: jnlib/dotlock.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
-msgstr "écriture de la clé secrète dans `%s'\n"
+msgstr "attente du verrou (appartenant à %d%s) %s…\n"
 
 #: jnlib/dotlock.c:470
 msgid "(deadlock?) "
-msgstr ""
+msgstr "(peut-être un verrou mort) "
 
 #: jnlib/dotlock.c:493
-#, fuzzy, c-format
+#, c-format
 msgid "lock `%s' not made: %s\n"
-msgstr "clé publique %s non trouvée : %s\n"
+msgstr "verrou « %s » non effectif : %s\n"
 
 #: jnlib/dotlock.c:501
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock %s...\n"
-msgstr "écriture de la clé secrète dans `%s'\n"
+msgstr "attente du verrou %s…\n"
 
 #: kbx/kbxutil.c:92
 msgid "set debugging flags"
-msgstr ""
+msgstr "activer les options de débogage"
 
 #: kbx/kbxutil.c:93
 msgid "enable full debugging"
-msgstr ""
+msgstr "activer le débogage complet"
 
 #: kbx/kbxutil.c:117
-#, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : kbxutil [options] [fichiers] (-h pour l'aide)"
 
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
+"Syntaxe : kbxutil [options] [fichiers]\n"
+"Afficher, exporter, importer les données de trousseau local\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
-msgstr "le module RSA est manquant ou bien sa taille n'est pas %d bits\n"
+msgstr "le module RSA est manquant ou sa taille n'est pas de %d bits\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
-msgstr "l'exposant public RSA est manquant ou trop élevé (plus de %d bits)\n"
+msgstr "l'exposant public RSA est manquant ou plus grand que %d bits\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
-msgstr "l'appel du PIN a retourné une erreur: %s\n"
+msgstr "le rappel du code personnel a renvoyé une erreur : %s\n"
 
 #: scd/app-nks.c:834
 msgid "the NullPIN has not yet been changed\n"
-msgstr ""
+msgstr "le code personnel nul n'a pas encore été modifié\n"
 
 #: scd/app-nks.c:1092
-#, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "|N|Veuillez entrer un nouveau code personnel pour les clefs standards."
 
 #: scd/app-nks.c:1093
-#, fuzzy
 msgid "||Please enter the PIN for the standard keys."
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "||Veuillez entrer le code personnel pour les clefs standards."
 
 #: scd/app-nks.c:1099
-#, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr ""
+"|NP|Veuillez entrer un nouveau code de déblocage personnel (CDP) pour les "
+"clefs standards."
 
 #: scd/app-nks.c:1101
-#, fuzzy
 msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr ""
+"|P|Veuillez entrer le code de déblocage personnel (CDP) pour les clefs "
+"standards."
 
 #: scd/app-nks.c:1109
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
+"|N|Veuillez entrer un nouveau code personnel pour permettre à la clef de "
+"créer des signatures qualifiées."
 
 #: scd/app-nks.c:1111
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
+"||Veuillez entrer le code personnel pour permettre à la clef de créer des "
+"signatures qualifiées."
 
 #: scd/app-nks.c:1119
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|NP|Veuillez entrer un nouveau code de déblocage personnel (CDP) pour "
+"permettre à la clef de créer des signatures qualifiées."
 
 #: scd/app-nks.c:1121
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|P|Veuillez entrer le code de déblocage personnel (CDP) pour permettre à la "
+"clef de créer des signatures qualifiées."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
-msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
+msgstr "erreur de lecture du nouveau code personnel : %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
-msgstr "impossible de stocker l'empreinte: %s\n"
+msgstr "impossible de stocker l'empreinte : %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
-msgstr "impossible de stocker la date de création: %s\n"
+msgstr "impossible de stocker la date de création : %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
-msgstr "la lecture de la clé publique a échoué: %s\n"
+msgstr "échec de lecture de clef publique : %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
-msgstr "la réponse ne contient pas les données de clé publique\n"
+msgstr "la réponse ne contient pas les données de clef publique\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
-msgstr "la réponse ne contient pas le modulo RSA\n"
+msgstr "la réponse ne contient pas le module RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
-msgstr "la réponse ne contient pas l'exposant public RSA\n"
+msgstr "la réponse ne contient pas l'exposant public RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
-msgstr ""
+msgstr "utilisation du code personnel par défaut en tant que %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
+"impossible d'utiliser le code personnel par défaut en tant que %s :\n"
+"%s — désactivation de la prochaine utilisation par défaut\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "||Veuillez entrer le code personnel%%0A[signatures faites : %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
-#, fuzzy
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "||Veuillez entrer le code personnel"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
-"Le code PIN pour CHV%d est trop court ; la longueur minimale\n"
+"le code personnel pour CHV%d est trop court ; la longueur minimale\n"
 "est %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
-msgstr "la vérification CHV%d a échoué: %s\n"
+msgstr "échec de vérification CHV%d : %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
-msgstr "erreur pendant la récupération de l'état CHV de la carte\n"
+msgstr "erreur de récupération de l'état CHV de la carte\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
-msgstr "la carte est irrémédiablement bloquée !\n"
+msgstr "la carte est irrémédiablement bloquée.\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
-"%d tentatives de PIN admin restent jusqu'à ce que la carte\n"
-"soit irrémédiablement bloquée\n"
+"il reste %d tentatives de code personnel d'administration\n"
+"avant que la carte ne soit irrémédiablement bloquée\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1775
+#, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr ""
+"|A|Veuillez entrer le code personnel d'administration%%0A[tentatives "
+"restantes : %d]"
 
-#: scd/app-openpgp.c:1680
-#, fuzzy
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "|A|Veuillez entrer le code personnel d'administration"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
-msgstr "l'accès aux commandes d'administration n'est pas configuré\n"
+msgstr "l'accès aux commandes d'administration n'est pas configuré\n"
 
-#: scd/app-openpgp.c:2035
-#, fuzzy
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
-msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+msgstr "||Veuillez entrer le code de réinitialisation pour la carte"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
-#, fuzzy, c-format
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
+#, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
-"Le code PIN pour CHV%d est trop court ; la longueur minimale\n"
+"Le code de réinitialisation est trop court ; la longueur minimale\n"
 "est %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
-msgstr ""
+msgstr "|RN|Nouveau code de réinitialisation"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
-msgstr "|AN|Nouveau code PIN d'administration"
+msgstr "|AN|Nouveau code personnel d'administration"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
-msgstr "|N|Nouveau code PIN"
+msgstr "|N|Nouveau code personnel"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr ""
+"||Veuillez entrer le code personnel d'administration et le nouveau code "
+"personnel d'administration"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Veuillez entrer le code personnel et le nouveau code personnel"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
-msgstr "erreur pendant la lecture de données d'application\n"
+msgstr "erreur de lecture des données d'application\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
-msgstr "erreur pendant la lecture de l'empreinte DO\n"
+msgstr "erreur de lecture de l'empreinte DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
-msgstr "la clé existe déjà\n"
+msgstr "la clef existe déjà\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
-msgstr "la clé existante sera remplacée\n"
+msgstr "la clef existante sera remplacée\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
-msgstr "générer une nouvelle clé\n"
+msgstr "génération d'une nouvelle clef\n"
 
-#: scd/app-openpgp.c:2202
-#, fuzzy
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
-msgstr "générer une nouvelle clé\n"
+msgstr "écriture d'une nouvelle clef\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
-msgstr "l'horodatage de création est manquant\n"
+msgstr "la date de création est manquant\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
-"le nombre premier RSA %s est manquant ou bien sa taille n'est pas\n"
-"%d bits\n"
+"le nombre premier RSA %s est manquant ou sa taille n'est pas de\n"
+"%d bits\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
-msgstr "le stockage de la clé a échoué: %s\n"
+msgstr "impossible de stocker la clef : %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
-msgstr "attendez que la clé se génère...\n"
+msgstr "veuillez patienter pendant la génération de la clef…\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
-msgstr "la génération de la clé a échoué\n"
+msgstr "échec de génération de la clef\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
-msgstr "la génération de clé a été effectuée (%d secondes)\n"
+msgstr "la génération de clef est terminé (%d secondes)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
-msgstr "structure de carte OpenPGP invalide (DO 0x93)\n"
+msgstr "structure de carte OpenPGP incorrecte (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
-msgstr ""
+msgstr "l'empreinte de la carte ne correspond pas à celle demandée\n"
 
-#: scd/app-openpgp.c:3099
-#, fuzzy, c-format
+#: scd/app-openpgp.c:3297
+#, c-format
 msgid "card does not support digest algorithm %s\n"
-msgstr "signature %s, algorithme de hachage %s\n"
+msgstr "la carte ne gère pas l'algorithme de hachage %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
-msgstr "signatures créées jusqu'ici: %lu\n"
+msgstr "signatures créées jusqu'à présent : %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
-"la vérification du code PIN d'administration est actuellement interdite\n"
-"au travers de cette commande\n"
+"la vérification du code personnel d'administration est actuellement\n"
+"interdite avec cette commande\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
-msgstr "impossible d'accéder à %s - carte OpenPGP invalide ?\n"
+msgstr ""
+"impossible d'accéder à %s — la carte OpenPGP n'est peut-être pas valable\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr ""
+"||Veuillez entrer votre code personnel sur le pavé numérique du lecteur"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
 #: scd/app-dinsig.c:529
-#, fuzzy
 msgid "|N|Initial New PIN"
-msgstr "|N|Nouveau code PIN"
+msgstr "|N|Nouveau code personnel initial"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
-msgstr ""
+msgstr "exécuter en mode multiserveur (premier plan)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
-msgstr ""
+msgstr "|NIVEAU|définir le niveau de débogage à NIVEAU"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
-#, fuzzy
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
-msgstr "lire les options de `%s'\n"
+msgstr "|FICHIER|écrire un journal dans le FICHIER"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
-msgstr ""
+msgstr "|N|se connecter au lecteur par le port N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
-msgstr ""
+msgstr "|NOM|utiliser NOM comme pilote ct-API"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
-msgstr ""
+msgstr "|NOM|utiliser NOM comme pilote PC/SC"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
-msgstr ""
-
-#: scd/scdaemon.c:139
-msgid "|N|disconnect the card after N seconds of inactivity"
-msgstr ""
+msgstr "ne pas utiliser le pilote CCID interne"
 
 #: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr ""
+msgid "|N|disconnect the card after N seconds of inactivity"
+msgstr "|N|déconnecter la carte après N secondes d'inactivité "
 
 #: scd/scdaemon.c:144
-#, fuzzy
+msgid "do not use a reader's pinpad"
+msgstr "ne pas utiliser de pavé numérique du lecteur"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
-msgstr "indiquer les commandes d'administration"
+msgstr "refus d'utiliser les commandes d'administration de la carte"
 
-#: scd/scdaemon.c:259
-#, fuzzy
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : scdaemon [options] (-h pour l'aide)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
+"Syntaxe : scdaemon [options] [commande [arguments]]\n"
+"Démon de carte à puce pour GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
+"veuillez utiliser l'option « --daemon » pour exécuter le programme\n"
+"en arrière-plan\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
-msgstr ""
+msgstr "gestionnaire pour le descripteur %d démarré\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
-msgstr ""
+msgstr "gestionnaire pour le descripteur %d terminé\n"
 
 #: sm/base64.c:325
-#, fuzzy, c-format
+#, c-format
 msgid "invalid radix64 character %02x skipped\n"
-msgstr "caractère %02X invalide en radix64 ignoré\n"
+msgstr "caractère %02x incorrect en radix64, ignoré\n"
 
 #: sm/call-agent.c:137
 #, c-format
 msgid "failed to proxy %s inquiry to client\n"
-msgstr ""
+msgstr "échec de transfert de la demande %s au client\n"
 
 #: sm/call-dirmngr.c:252
 #, c-format
 msgid "no running dirmngr - starting `%s'\n"
-msgstr ""
+msgstr "pas d'instance de dirmngr en cours d'exécution — démarrage de « %s »\n"
 
 #: sm/call-dirmngr.c:285
-#, fuzzy
 msgid "malformed DIRMNGR_INFO environment variable\n"
-msgstr "la variable d'environnement GPG_AGENT_INFO est mal définie\n"
+msgstr "la variable d'environnement DIRMNGR_INFO est mal définie\n"
 
 #: sm/call-dirmngr.c:297
-#, fuzzy, c-format
+#, c-format
 msgid "dirmngr protocol version %d is not supported\n"
-msgstr "le protocole gpg-agent version %d n'est pas supporté\n"
+msgstr "le protocole dirmngr version %d n'est pas pris en charge\n"
 
 #: sm/call-dirmngr.c:317
 msgid "can't connect to the dirmngr - trying fall back\n"
 msgstr ""
+"impossible de se connecter au dirmngr — essai avec la solution de repli\n"
 
 #: sm/certchain.c:196
 #, c-format
 msgid "validation model requested by certificate: %s"
-msgstr ""
+msgstr "modèle de validation demandé par le certificat : %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
-msgstr ""
+msgstr "chaîne"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
-msgstr ""
+msgstr "invite"
 
 #: sm/certchain.c:258
-#, fuzzy, c-format
+#, c-format
 msgid "critical certificate extension %s is not supported"
-msgstr "le protocole gpg-agent version %d n'est pas supporté\n"
+msgstr "l'extension de certificat critique %s n'est pas prise en charge"
 
 #: sm/certchain.c:297
 msgid "issuer certificate is not marked as a CA"
 msgstr ""
+"le certificat d'émetteur n'est pas marqué comme une autorité de certification"
 
 #: sm/certchain.c:335
 msgid "critical marked policy without configured policies"
-msgstr ""
+msgstr "politique de signature marquée critique sans politiques configurées"
 
 #: sm/certchain.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "failed to open `%s': %s\n"
-msgstr "Impossible d'ouvrir `%s': %s\n"
+msgstr "échec d'ouverture de « %s » : %s\n"
 
 #: sm/certchain.c:353 sm/certchain.c:382
 msgid "note: non-critical certificate policy not allowed"
-msgstr ""
+msgstr "remarque : politique de certificat non critique non autorisée"
 
 #: sm/certchain.c:357 sm/certchain.c:386
-#, fuzzy
 msgid "certificate policy not allowed"
-msgstr "il est interdit d'exporter les clé secrètes\n"
+msgstr "politique de certificat non autorisée"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
-msgstr ""
+msgstr "recherche d'émetteur à l'extérieur\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
-msgstr ""
+msgstr "nombre d'émetteurs correspondants : %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
-msgstr ""
+msgstr "recherche d'émetteur dans le cache du Dirmngr\n"
 
-#: sm/certchain.c:585
-#, fuzzy, c-format
+#: sm/certchain.c:614
+#, c-format
 msgid "number of matching certificates: %d\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "nombre de certificats correspondants : %d\n"
 
-#: sm/certchain.c:587
-#, fuzzy, c-format
+#: sm/certchain.c:616
+#, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
-msgstr "la lecture de la clé publique a échoué: %s\n"
+msgstr "échec de recherche de clef seulement dans le cache du dirmngr : %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-#, fuzzy
-msgid "failed to allocated keyDB handle\n"
-msgstr "le stockage de la clé a échoué: %s\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "impossible d'allouer la gestion de base de clefs\n"
 
-#: sm/certchain.c:925
-#, fuzzy
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
-msgstr "NOTE: la clé a été révoquée"
+msgstr "le certificat a été révoquée"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
-msgstr ""
+msgstr "l'état du certificat est inconnu"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
-msgstr ""
+msgstr "veuillez vous assurer que le « dirmngr » est correctement installé\n"
 
-#: sm/certchain.c:953
-#, fuzzy, c-format
+#: sm/certchain.c:1009
+#, c-format
 msgid "checking the CRL failed: %s"
-msgstr "Impossible de vérifier la signature créée: %s\n"
+msgstr "échec de vérification de la liste de révocations de certificats : %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
-msgstr ""
+msgstr "certificat avec validité incorrecte : %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
-msgstr ""
+msgstr "certificat pas encore valable"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
-#, fuzzy
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
-msgstr "il est interdit d'exporter les clé secrètes\n"
+msgstr "certificat racine pas encore valable"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
-msgstr ""
+msgstr "certificat intermédiaire pas encore valable"
 
-#: sm/certchain.c:1012
-#, fuzzy
+#: sm/certchain.c:1068
 msgid "certificate has expired"
-msgstr "Cette clé a expiré !"
+msgstr "le certificat a expiré"
 
-#: sm/certchain.c:1013
-#, fuzzy
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
-msgstr "Cette clé a expiré !"
+msgstr "le certificat racine a expiré"
 
-#: sm/certchain.c:1014
-#, fuzzy
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
-msgstr "Cette clé a expiré !"
+msgstr "le certificat intermédiaire a expiré"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
-msgstr ""
+msgstr "des attributs nécessaires du certificat sont manquants : %s%s%s"
 
-#: sm/certchain.c:1065
-#, fuzzy
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
-msgstr "Cette clé a expiré !"
+msgstr "certificat avec validité incorrecte"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
-msgstr ""
+msgstr "signature non créée pendant la durée de vie du certificat"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
-msgstr ""
+msgstr "certificat non créé pendant la durée de vie de l'émetteur"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
+"certificat intermédiaire non créé pendant la durée de vie de l'émetteur"
 
-#: sm/certchain.c:1109
-#, fuzzy
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
-msgstr "          signatures nettoyées: %lu\n"
+msgstr "  (       signature créée le "
 
-#: sm/certchain.c:1110
-#, fuzzy
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
-msgstr "Certificat de révocation créé.\n"
+msgstr "  (       certificat créé le "
 
-#: sm/certchain.c:1113
-#, fuzzy
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
-msgstr "mauvais certificat"
+msgstr "  (certificat valable depuis "
 
-#: sm/certchain.c:1114
-#, fuzzy
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
-msgstr "N° de série de la carte ="
+msgstr "  (  émetteur valable depuis "
 
-#: sm/certchain.c:1144
-#, fuzzy, c-format
+#: sm/certchain.c:1200
+#, c-format
 msgid "fingerprint=%s\n"
-msgstr "empreinte de l'autorité de certification: "
+msgstr "empreinte=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
-msgstr ""
+msgstr "le certificat racine a maintenant été marqué de confiance\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
-msgstr ""
+msgstr "marquage de confiance interactif non activé dans gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
-msgstr ""
+msgstr "marquage de confiance interactif désactivé pour cette session\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
+"Attention : date de création de la signature inconnue — date supposée "
+"actuelle"
 
-#: sm/certchain.c:1293
-#, fuzzy
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
-msgstr "générer un certificat de révocation"
+msgstr "aucun émetteur trouvé dans le certificat"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
-msgstr ""
+msgstr "certificat autosigné avec une mauvaise signature"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
-msgstr ""
+msgstr "le certificat racine n'est pas marqué de confiance"
 
-#: sm/certchain.c:1448
-#, fuzzy, c-format
+#: sm/certchain.c:1504
+#, c-format
 msgid "checking the trust list failed: %s\n"
-msgstr "Impossible de vérifier la signature créée: %s\n"
+msgstr "échec de vérification de la liste de confiance : %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
-msgstr ""
+msgstr "chaîne de certificats trop longue\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
-msgstr ""
+msgstr "certificat d'émetteur introuvable"
 
-#: sm/certchain.c:1522
-#, fuzzy
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
-msgstr "vérifier une signature"
+msgstr "certificat avec une mauvaise signature"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
+"un autre certificat d'autorité de certification pouvant correspondre a été "
+"trouvé — nouvel essai"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
+"chaîne de certificats plus longue que celle autorisée par l'autorité de "
+"certification (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
-#, fuzzy
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
-msgstr "préférence `%s' dupliquée\n"
+msgstr "le certificat est correct\n"
 
-#: sm/certchain.c:1645
-#, fuzzy
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
-msgstr "Certificat de révocation créé.\n"
+msgstr "le certificat intermédiaire est correct\n"
 
-#: sm/certchain.c:1646
-#, fuzzy
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
-msgstr "mauvais certificat"
+msgstr "le certificat racine est correct\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
-msgstr ""
+msgstr "basculement en modèle chaîne"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
-msgstr ""
+msgstr "modèle de validation utilisé : %s"
 
 #: sm/certcheck.c:97
 #, c-format
 msgid "%s key uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "la clef %s utilise un hachage non sûr (%u bits)\n"
 
 #: sm/certcheck.c:107
 #, c-format
 msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
+"un hachage de %1$u bits n'est pas valable pour une clef %3$s de %2$u bits\n"
 
 #: sm/certcheck.c:244 sm/verify.c:201
 msgid "(this is the MD2 algorithm)\n"
-msgstr ""
+msgstr "(c'est l'algorithme MD2)\n"
 
 #: sm/certdump.c:60 sm/certdump.c:143
-#, fuzzy
 msgid "none"
-msgstr "non"
+msgstr "aucun"
 
 #: sm/certdump.c:564 sm/certdump.c:609 sm/certdump.c:674 sm/certdump.c:732
-#, fuzzy
 msgid "[Error - invalid encoding]"
-msgstr "Erreur: réponse invalide.\n"
+msgstr "[Erreur — encodage incorrecte]"
 
 #: sm/certdump.c:572 sm/certdump.c:617
 msgid "[Error - out of core]"
-msgstr ""
+msgstr "[Erreur — hors limite]"
 
 #: sm/certdump.c:654 sm/certdump.c:710
 msgid "[Error - No name]"
-msgstr ""
+msgstr "[Erreur — pas de nom]"
 
 #: sm/certdump.c:679 sm/certdump.c:738
-#, fuzzy
 msgid "[Error - invalid DN]"
-msgstr "Erreur: réponse invalide.\n"
+msgstr "[Erreur — DN incorrect]"
 
 #: sm/certdump.c:948
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the X.509 "
 "certificate:\n"
@@ -7624,174 +7585,176 @@ msgid ""
 "S/N %s, ID 0x%08lX,\n"
 "created %s, expires %s.\n"
 msgstr ""
-"Vous avez besoin d'une phrase de passe pour déverrouiller la clé\n"
-"secrète pour l'utilisateur:\n"
-"\"%.*s\"\n"
-"clé %u bits %s, ID %s, créée %s%s\n"
+"Veuillez entrer la phrase de passe pour déverrouiller la clef secrète pour "
+"le\n"
+"certificat X.509 :\n"
+"« %s »\n"
+"numéro de série %s, identifiant 0x%08lX,\n"
+"créé le %s, expire le %s.\n"
 
 #: sm/certlist.c:122
 msgid "no key usage specified - assuming all usages\n"
 msgstr ""
+"aucune utilisation de clef indiquée — toutes les utilisations sont "
+"supposées\n"
 
 #: sm/certlist.c:132 sm/keylist.c:272
-#, fuzzy, c-format
+#, c-format
 msgid "error getting key usage information: %s\n"
-msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+msgstr "erreur de lecture des renseignements d'utilisation de clef : %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
-msgstr ""
+msgid "certificate should not have been used for certification\n"
+msgstr "le certificat n'aurait pas dû être utilisé pour la certification\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
+"le certificat n'aurait pas dû être utilisé pour la signature de réponse "
+"OCSP\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
-msgstr ""
+msgid "certificate should not have been used for encryption\n"
+msgstr "le certificat n'aurait pas dû être utilisé pour le chiffrement\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr ""
+msgid "certificate should not have been used for signing\n"
+msgstr "le certificat n'aurait pas dû être utilisé pour la signature\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
-msgstr ""
+msgstr "le certificat n'est pas utilisable pour le chiffrement\n"
 
 #: sm/certlist.c:168
 msgid "certificate is not usable for signing\n"
-msgstr ""
+msgstr "le certificat n'est pas utilisable pour la signature\n"
 
 #: sm/certreqgen.c:474
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: invalid algorithm\n"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "ligne %d : algorithme incorrect\n"
 
 #: sm/certreqgen.c:487
 #, c-format
 msgid "line %d: invalid key length %u (valid are %d to %d)\n"
-msgstr ""
+msgstr "ligne %d : longueur %u de clef incorrecte (%d à %d possible)\n"
 
 #: sm/certreqgen.c:505
 #, c-format
 msgid "line %d: no subject name given\n"
-msgstr ""
+msgstr "ligne %d : aucun nom de sujet donné\n"
 
 #: sm/certreqgen.c:514
 #, c-format
 msgid "line %d: invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "ligne %d : étiquette de nom de sujet « %.*s » incorrecte\n"
 
 #: sm/certreqgen.c:517
 #, c-format
 msgid "line %d: invalid subject name `%s' at pos %d\n"
-msgstr ""
+msgstr "ligne %d : nom de sujet « %s » incorrect à la position %d\n"
 
 #: sm/certreqgen.c:534
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: not a valid email address\n"
-msgstr "Ce n'est pas une adresse e-mail valide\n"
+msgstr "ligne %d : ce n'est pas une adresse électronique valable\n"
 
 #: sm/certreqgen.c:546
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error reading key `%s' from card: %s\n"
-msgstr "erreur durant la création du porte-clés `%s' : %s\n"
+msgstr "ligne %d : erreur de lecture de la clef « %s » sur la carte : %s\n"
 
 #: sm/certreqgen.c:558
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error getting key by keygrip `%s': %s\n"
-msgstr "erreur durant la création du porte-clés `%s' : %s\n"
+msgstr "ligne %d : erreur de lecture de clef par keygrip « %s » : %s\n"
 
 #: sm/certreqgen.c:574
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: key generation failed: %s <%s>\n"
-msgstr "La génération de clé a échoué: %s\n"
+msgstr "ligne %d : échec de génération de la clef : %s <%s>\n"
 
 #: sm/certreqgen.c:806
 msgid ""
 "To complete this certificate request please enter the passphrase for the key "
 "you just created once more.\n"
 msgstr ""
+"Pour terminer cette demande de certificat, veuillez entrer encore une fois "
+"la phrase de passe pour la clef que vous venez de créer.\n"
 
 #: sm/certreqgen-ui.c:158
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) RSA\n"
-msgstr "   (%d) RSA (signature seule)\n"
+msgstr "   (%d) RSA\n"
 
 #: sm/certreqgen-ui.c:159
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) Existing key\n"
-msgstr "   (2) Clé de chiffrement\n"
+msgstr "   (%d) Clef existante\n"
 
 #: sm/certreqgen-ui.c:160
 #, c-format
 msgid "   (%d) Existing key from card\n"
-msgstr ""
+msgstr "   (%d) Clef existante sur la carte\n"
 
 #: sm/certreqgen-ui.c:202
-#, fuzzy
 msgid "Enter the keygrip: "
-msgstr "Notation de signature: "
+msgstr "Entrez le keygrip : "
 
 #: sm/certreqgen-ui.c:210
 msgid "Not a valid keygrip (expecting 40 hex digits)\n"
-msgstr ""
+msgstr "Ce n'est pas un keygrip valable (40 chiffres hexadécimaux attendus)\n"
 
 #: sm/certreqgen-ui.c:212
-#, fuzzy
 msgid "No key with this keygrip\n"
-msgstr "Pas de sous-clé avec l'index %d\n"
+msgstr "Pas de clef avec ce keygrip\n"
 
 #: sm/certreqgen-ui.c:230 sm/certreqgen-ui.c:239
-#, fuzzy, c-format
+#, c-format
 msgid "error reading the card: %s\n"
-msgstr "%s: erreur pendant la lecture de l'enregistrement libre: %s\n"
+msgstr "erreur de lecture de la carte : %s\n"
 
 #: sm/certreqgen-ui.c:233
-#, fuzzy, c-format
+#, c-format
 msgid "Serial number of the card: %s\n"
-msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
+msgstr "Numéro de série de la carte : %s\n"
 
 #: sm/certreqgen-ui.c:245
-#, fuzzy
 msgid "Available keys:\n"
-msgstr "désactiver la clé"
+msgstr "Clefs disponibles :\n"
 
 #: sm/certreqgen-ui.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "Possible actions for a %s key:\n"
-msgstr "Actions possibles pour une clé %s: "
+msgstr "Actions possibles pour une clef %s :\n"
 
 #: sm/certreqgen-ui.c:277
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign, encrypt\n"
-msgstr "   (%d) DSA (signature seule)\n"
+msgstr "   (%d) signer, chiffrer\n"
 
 #: sm/certreqgen-ui.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign\n"
-msgstr "   (%d) DSA (signature seule)\n"
+msgstr "   (%d) signer\n"
 
 #: sm/certreqgen-ui.c:279
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) encrypt\n"
-msgstr "   (%d) RSA (chiffrement seul)\n"
+msgstr "   (%d) chiffrer\n"
 
 #: sm/certreqgen-ui.c:303
 msgid "Enter the X.509 subject name: "
-msgstr ""
+msgstr "Entrez le nom de sujet X.509 : "
 
 #: sm/certreqgen-ui.c:307
-#, fuzzy
 msgid "No subject name given\n"
-msgstr "(Aucune description donnée)\n"
+msgstr "Aucun nom de sujet donné\n"
 
 #: sm/certreqgen-ui.c:311
 #, c-format
 msgid "Invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "Étiquette de nom de sujet « %.*s » incorrecte\n"
 
 #. TRANSLATORS: The 22 in the second string is the
 #. length of the first string up to the "%s".  Please
@@ -7799,389 +7762,357 @@ msgstr ""
 #. second string is merely passed to atoi so you can
 #. drop everything after the number.
 #: sm/certreqgen-ui.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid subject name `%s'\n"
-msgstr "algorithme de hachage `%s' invalide\n"
+msgstr "Nom de sujet « %s » incorrect\n"
 
 #: sm/certreqgen-ui.c:322
 msgid "22 translator: see certreg-ui.c:gpgsm_gencertreq_tty"
-msgstr ""
+msgstr "15"
 
 #: sm/certreqgen-ui.c:334
-#, fuzzy
 msgid "Enter email addresses"
-msgstr "Adresse e-mail: "
+msgstr "Entrez l'adresse électronique"
 
 #: sm/certreqgen-ui.c:335
-#, fuzzy
 msgid " (end with an empty line):\n"
-msgstr ""
-"\n"
-"Entrez le nom d'utilisateur, en terminant par une ligne vide: "
+msgstr " (terminez par une ligne vide) :\n"
 
 #: sm/certreqgen-ui.c:339
-#, fuzzy
 msgid "Enter DNS names"
-msgstr "Entrez le nouveau nom de fichier"
+msgstr "Entrez les noms de DNS"
 
 #: sm/certreqgen-ui.c:340 sm/certreqgen-ui.c:345
-#, fuzzy
 msgid " (optional; end with an empty line):\n"
-msgstr "Entrez une description optionnelle ; terminez-là par une ligne vide:\n"
+msgstr " (facultatif, terminez par une ligne vide) :\n"
 
 #: sm/certreqgen-ui.c:344
-#, fuzzy
 msgid "Enter URIs"
-msgstr "Entrez le code PIN: "
+msgstr "Entrez les URI"
 
 #: sm/certreqgen-ui.c:371
 msgid "Parameters to be used for the certificate request:\n"
-msgstr ""
+msgstr "Paramètres à utiliser pour la demande de certificat :\n"
 
 #: sm/certreqgen-ui.c:389
 msgid "Now creating certificate request.  This may take a while ...\n"
 msgstr ""
+"Création de la demande de certificat. Cela risque de prendre un peu de "
+"temps…\n"
 
 #: sm/certreqgen-ui.c:398
 msgid "Ready.  You should now send this request to your CA.\n"
 msgstr ""
+"Prêt. Vous devriez maintenant envoyer cette demande à l'autorité de "
+"certification.\n"
 
 #: sm/certreqgen-ui.c:403
 msgid "resource problem: out of core\n"
-msgstr ""
+msgstr "problème de ressources : hors limite\n"
 
 #: sm/decrypt.c:330
 msgid "(this is the RC2 algorithm)\n"
-msgstr ""
+msgstr "(c'est l'algorithme RC2)\n"
 
 #: sm/decrypt.c:332
 msgid "(this does not seem to be an encrypted message)\n"
-msgstr ""
+msgstr "(ça ne ressemble pas à un message chiffré)\n"
 
 #: sm/delete.c:51 sm/delete.c:112
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' not found: %s\n"
-msgstr "la clé secrète « %s » n'a pas été trouvée: %s\n"
+msgstr "certificat « %s » introuvable : %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
-#, fuzzy, c-format
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
+#, c-format
 msgid "error locking keybox: %s\n"
-msgstr "erreur pendant la lecture du bloc de clé : %s\n"
+msgstr "erreur de verrouillage du trousseau local : %s\n"
 
 #: sm/delete.c:143
-#, fuzzy, c-format
+#, c-format
 msgid "duplicated certificate `%s' deleted\n"
-msgstr "Certificat de révocation créé.\n"
+msgstr "certificat en double « %s » supprimé\n"
 
 #: sm/delete.c:145
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' deleted\n"
-msgstr "préférence `%s' dupliquée\n"
+msgstr "certificat « %s » supprimé\n"
 
 #: sm/delete.c:175
-#, fuzzy, c-format
+#, c-format
 msgid "deleting certificate \"%s\" failed: %s\n"
-msgstr "la suppression du bloc de clés a échoué : %s\n"
+msgstr "échec de suppression du certificat « %s » : %s\n"
 
 #: sm/encrypt.c:321
-#, fuzzy
 msgid "no valid recipients given\n"
-msgstr "(Aucune description donnée)\n"
+msgstr "aucune destinataire valable donnée\n"
 
 #: sm/gpgsm.c:197
-#, fuzzy
 msgid "list external keys"
-msgstr "lister les clés secrètes"
+msgstr "afficher les clefs externes"
 
 #: sm/gpgsm.c:199
-#, fuzzy
 msgid "list certificate chain"
-msgstr "mauvais certificat"
+msgstr "afficher la chaîne de certificats"
 
 #: sm/gpgsm.c:206
-#, fuzzy
 msgid "import certificates"
-msgstr "mauvais certificat"
+msgstr "importer les certificats"
 
 #: sm/gpgsm.c:207
-#, fuzzy
 msgid "export certificates"
-msgstr "mauvais certificat"
+msgstr "exporter les certificats"
 
 #: sm/gpgsm.c:209
-#, fuzzy
 msgid "register a smartcard"
-msgstr "ajouter une clé à une carte à puce"
+msgstr "enregistrer une carte à puce"
 
 #: sm/gpgsm.c:212
 msgid "pass a command to the dirmngr"
-msgstr ""
+msgstr "passer une commande au dirmngr"
 
 #: sm/gpgsm.c:214
 msgid "invoke gpg-protect-tool"
-msgstr ""
+msgstr "appeler gpg-protect-tool"
 
 #: sm/gpgsm.c:230
-#, fuzzy
 msgid "create base-64 encoded output"
-msgstr "créer une sortie ascii avec armure"
+msgstr "créer une sortie encodée en base-64"
 
 #: sm/gpgsm.c:235
 msgid "assume input is in PEM format"
-msgstr ""
+msgstr "entrée supposée au format PEM"
 
 #: sm/gpgsm.c:237
 msgid "assume input is in base-64 format"
-msgstr ""
+msgstr "entrée supposée au format base-64"
 
 #: sm/gpgsm.c:239
 msgid "assume input is in binary format"
-msgstr ""
+msgstr "entrée supposée au format binaire"
 
 #: sm/gpgsm.c:244
 msgid "use system's dirmngr if available"
-msgstr ""
+msgstr "utiliser le dirmngr du système si disponible"
 
 #: sm/gpgsm.c:247
 msgid "never consult a CRL"
-msgstr ""
+msgstr "ne pas consulter liste de révocations de cert."
 
 #: sm/gpgsm.c:257
 msgid "check validity using OCSP"
-msgstr ""
+msgstr "vérifier la validité avec OCSP"
 
 #: sm/gpgsm.c:262
 msgid "|N|number of certificates to include"
-msgstr ""
+msgstr "|N|nombre de certificats à inclure"
 
 #: sm/gpgsm.c:265
 msgid "|FILE|take policy information from FILE"
-msgstr ""
+msgstr "|FICHIER|prendre renseignements de politique du FICHIER"
 
 #: sm/gpgsm.c:268
 msgid "do not check certificate policies"
-msgstr ""
+msgstr "ne pas vérifier les politiques de certificat"
 
 #: sm/gpgsm.c:272
 msgid "fetch missing issuer certificates"
-msgstr ""
+msgstr "récupérer certificats d'émetteur manquants"
 
 #: sm/gpgsm.c:283
 msgid "don't use the terminal at all"
-msgstr ""
+msgstr "ne pas utiliser du tout le terminal"
 
 #: sm/gpgsm.c:285
 msgid "|FILE|write a server mode log to FILE"
-msgstr ""
+msgstr "|FICHIER|écrire un journal serveur dans le FICHIER"
 
 #: sm/gpgsm.c:290
-#, fuzzy
 msgid "|FILE|write an audit log to FILE"
-msgstr "lire les options de `%s'\n"
+msgstr "|FICHIER|écrire un journal d'audit dans le FICHIER"
 
 #: sm/gpgsm.c:293
 msgid "batch mode: never ask"
-msgstr ""
+msgstr "mode automatique : aucune question"
 
 #: sm/gpgsm.c:294
 msgid "assume yes on most questions"
-msgstr ""
+msgstr "oui comme réponse à la plupart des questions"
 
 #: sm/gpgsm.c:295
 msgid "assume no on most questions"
-msgstr ""
+msgstr "non comme réponse à la plupart des questions"
 
 #: sm/gpgsm.c:298
-#, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
-msgstr "enlever les clés de ce porte-clés"
+msgstr "|FICHIER|ajouter le trousseau à la liste de trousseaux"
 
 #: sm/gpgsm.c:301
 msgid "|USER-ID|use USER-ID as default secret key"
-msgstr ""
+msgstr "|IDENTITÉ|utiliser IDENTITÉ comme clef secr. par défaut"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
-msgstr ""
+msgstr "|SPEC|utiliser ce serveur pour rechercher les clefs"
 
 #: sm/gpgsm.c:329
-#, fuzzy
 msgid "|NAME|use cipher algorithm NAME"
-msgstr "algorithme de chiffrement inconnu"
+msgstr "|NOM|utiliser l'algorithme de chiffrement NOM"
 
 #: sm/gpgsm.c:331
-#, fuzzy
 msgid "|NAME|use message digest algorithm NAME"
-msgstr "signature %s, algorithme de hachage %s\n"
+msgstr "|NOM|utiliser l'algorithme de hachage NOM"
 
 #: sm/gpgsm.c:522
-#, fuzzy
 msgid "Usage: gpgsm [options] [files] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpgsm [options] [fichiers] (-h pour l'aide)"
 
 #: sm/gpgsm.c:525
-#, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"Syntaxe: gpg [options] [fichiers]\n"
-"signer, vérifier, chiffrer ou déchiffrer\n"
-"l'opération par défaut dépend des données entrées\n"
+"Syntaxe : gpgsm [options] [fichiers]\n"
+"Signer, vérifier, chiffrer ou déchiffrer en utilisant le protocole S/MIME\n"
+"L'opération par défaut dépend des données entrées\n"
 
 #: sm/gpgsm.c:617
-#, fuzzy
 msgid "usage: gpgsm [options] "
-msgstr "utilisation: gpg [options] "
+msgstr "utilisation : gpgsm [options] "
 
 #: sm/gpgsm.c:739
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: won't be able to encrypt to `%s': %s\n"
-msgstr "impossible de se connecter à `%s': %s\n"
+msgstr "Remarque : ne sera pas capable de chiffrer à « %s » : %s\n"
 
 #: sm/gpgsm.c:750
-#, fuzzy, c-format
+#, c-format
 msgid "unknown validation model `%s'\n"
-msgstr "option `%s' inconnue\n"
+msgstr "modèle de validation « %s » inconnu\n"
 
 #: sm/gpgsm.c:801
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: no hostname given\n"
-msgstr "(Aucune description donnée)\n"
+msgstr "%s : %u : aucun nom d'hôte donné\n"
 
 #: sm/gpgsm.c:820
 #, c-format
 msgid "%s:%u: password given without user\n"
-msgstr ""
+msgstr "%s : %u : mot de passe donné sans utilisateur\n"
 
 #: sm/gpgsm.c:841
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: skipping this line\n"
-msgstr "  s = sauter cette clé\n"
+msgstr "%s : %u : ignorer cette ligne\n"
 
-#: sm/gpgsm.c:1376
-#, fuzzy
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
-msgstr "impossible d'interpréter l'URL du serveur de clés\n"
+msgstr "impossible d'analyser le serveur de clefs\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
-msgstr ""
+msgstr "Attention : exécution avec un système de temps contrefait : "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
-msgstr ""
+msgstr "importation des certificats commun « %s »\n"
 
-#: sm/gpgsm.c:1597
-#, fuzzy, c-format
+#: sm/gpgsm.c:1600
+#, c-format
 msgid "can't sign using `%s': %s\n"
-msgstr "impossible d'accéder à `%s': %s\n"
+msgstr "impossible de signer en utilisant « %s » : %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
-msgstr ""
+msgstr "commande incorrecte (il n'y a pas de commande implicite)\n"
 
 #: sm/import.c:111
-#, fuzzy, c-format
+#, c-format
 msgid "total number processed: %lu\n"
-msgstr "       Quantité totale traitée: %lu\n"
+msgstr "quantité totale traitée : %lu\n"
 
 #: sm/import.c:230
-#, fuzzy
 msgid "error storing certificate\n"
-msgstr "générer un certificat de révocation"
+msgstr "erreur de stockage du certificat\n"
 
 #: sm/import.c:238
 msgid "basic certificate checks failed - not imported\n"
-msgstr ""
-
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "le stockage de la clé a échoué: %s\n"
+msgstr "échec des vérifications de base du certificat — non importé\n"
 
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
-#, fuzzy, c-format
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
+#, c-format
 msgid "error getting stored flags: %s\n"
-msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
+msgstr "erreur de lecture des options stockées : %s\n"
 
 #: sm/import.c:551 sm/import.c:583
-#, fuzzy, c-format
+#, c-format
 msgid "error importing certificate: %s\n"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "erreur d'importation du certificat : %s\n"
 
 #: sm/import.c:684 tools/gpg-connect-agent.c:1346
-#, fuzzy, c-format
+#, c-format
 msgid "error reading input: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de lecture de l'entrée : %s\n"
 
-#: sm/keydb.c:187
-#, fuzzy, c-format
+#: sm/keydb.c:216
+#, c-format
 msgid "error creating keybox `%s': %s\n"
-msgstr "erreur durant la création du porte-clés `%s' : %s\n"
-
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
+msgstr "erreur de création du trousseau local « %s » : %s\n"
 
-#: sm/keydb.c:195
-#, fuzzy, c-format
+#: sm/keydb.c:223
+#, c-format
 msgid "keybox `%s' created\n"
-msgstr "le porte-clés `%s` a été créé\n"
+msgstr "le trousseau local « %s » a été créé\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
-#, fuzzy
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
-msgstr "impossible de stocker l'empreinte: %s\n"
+msgstr "impossible d'obtenir l'empreinte\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
-msgstr ""
+msgstr "problème de recherche de certificat existant : %s\n"
 
-#: sm/keydb.c:1348
-#, fuzzy, c-format
+#: sm/keydb.c:1525
+#, c-format
 msgid "error finding writable keyDB: %s\n"
-msgstr ""
-"erreur pendant la recherche de l'enregistrement de confiance\n"
-"dans `%s': %s\n"
+msgstr "impossible de trouver une base de clefs inscriptible : %s\n"
 
-#: sm/keydb.c:1356
-#, fuzzy, c-format
+#: sm/keydb.c:1533
+#, c-format
 msgid "error storing certificate: %s\n"
-msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+msgstr "erreur de stockage du certificat : %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
-msgstr ""
+msgstr "problème de nouvelle recherche de certificat : %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
-#, fuzzy, c-format
+#: sm/keydb.c:1606 sm/keydb.c:1699
+#, c-format
 msgid "error storing flags: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de stockage des options : %s\n"
 
 #: sm/keylist.c:642
 msgid "Error - "
-msgstr ""
+msgstr "Erreur — "
 
 #: sm/misc.c:55
 msgid "GPG_TTY has not been set - using maybe bogus default\n"
 msgstr ""
+"GPG_TTY n'a pas été définie — utilisation de défauts peut-être défectueux\n"
 
 #: sm/qualified.c:105
-#, fuzzy, c-format
+#, c-format
 msgid "invalid formatted fingerprint in `%s', line %d\n"
-msgstr "Erreur: empreinte mal formatée.\n"
+msgstr "formatage incorrect de l'empreinte dans « %s », ligne %d\n"
 
 #: sm/qualified.c:123
 #, c-format
 msgid "invalid country code in `%s', line %d\n"
-msgstr ""
+msgstr "code de pays incorrect dans « %s », ligne %d\n"
 
 #: sm/qualified.c:202
 #, c-format
@@ -8193,12 +8124,21 @@ msgid ""
 "\n"
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
+"Vous êtes sur le point de créer une signature en utilisant votre "
+"certificat :\n"
+"« %s »\n"
+"Cela va créer une signature qualifiée équivalente légalement à une signature "
+"à la main.\n"
+"\n"
+"%s%sVoulez-vous vraiment faire cela ?"
 
 #: sm/qualified.c:211 sm/verify.c:616
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
 "signatures.\n"
 msgstr ""
+"Remarquez que ce programme n'est pas officiellement approuvé pour créer ou "
+"vérifier de telles signatures.\n"
 
 #: sm/qualified.c:278
 #, c-format
@@ -8207,331 +8147,323 @@ msgid ""
 "\"%s\"\n"
 "Note, that this certificate will NOT create a qualified signature!"
 msgstr ""
+"Vous êtes sur le point de créer une signature en utilisant votre "
+"certificat :\n"
+"« %s »\n"
+"Remarquez que ce certificat ne va pas créer de signature qualifiée."
 
 #: sm/sign.c:449
-#, fuzzy, c-format
+#, c-format
 msgid "hash algorithm %d (%s) for signer %d not supported; using %s\n"
-msgstr "l'algorithme de protection %d%s n'est pas supporté\n"
+msgstr ""
+"l'algorithme de hachage %d (%s) pour le signataire %d n'est pas pris en "
+"charge ; utilisation de %s\n"
 
 #: sm/sign.c:463
 #, c-format
 msgid "hash algorithm used for signer %d: %s (%s)\n"
-msgstr ""
+msgstr "algorithme de hachage utilisé pour le signataire %d : %s (%s)\n"
 
 #: sm/sign.c:513
-#, fuzzy, c-format
+#, c-format
 msgid "checking for qualified certificate failed: %s\n"
-msgstr "Impossible de vérifier la signature créée: %s\n"
+msgstr "échec de vérification de certificat qualifié : %s\n"
 
 #: sm/verify.c:449
-#, fuzzy
 msgid "Signature made "
-msgstr "Signature faite le %s\n"
+msgstr "Signature faite le "
 
 #: sm/verify.c:453
 msgid "[date not given]"
-msgstr ""
+msgstr "[date non donnée]"
 
 #: sm/verify.c:454
-#, fuzzy, c-format
+#, c-format
 msgid " using certificate ID 0x%08lX\n"
-msgstr ""
-"erreur durant la lecture des informations contenues actuellement\n"
-"dans la clé: %s\n"
+msgstr " en utilisant le certificat d'identifiant 0x%08lX\n"
 
 #: sm/verify.c:473
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
+"signature incorrecte : l'attribut de hachage du message ne correspond pas à "
+"celui calculé\n"
 
 #: sm/verify.c:594
-#, fuzzy
 msgid "Good signature from"
-msgstr "Bonne signature de « %s »"
+msgstr "Bonne signature de"
 
 #: sm/verify.c:595
-#, fuzzy
 msgid "                aka"
-msgstr "                alias « %s »"
+msgstr "                alias"
 
 #: sm/verify.c:613
-#, fuzzy
 msgid "This is a qualified signature\n"
-msgstr "Ceci sera une auto-signature.\n"
+msgstr "C'est une signature qualifiée\n"
 
 #: tools/gpg-connect-agent.c:70 tools/gpgconf.c:81 tools/symcryptrun.c:167
-#, fuzzy
 msgid "quiet"
-msgstr "quitter"
+msgstr "silencieux"
 
 #: tools/gpg-connect-agent.c:71
 msgid "print data out hex encoded"
-msgstr ""
+msgstr "afficher les données encodées au format hexadécimal"
 
 #: tools/gpg-connect-agent.c:72
 msgid "decode received data lines"
-msgstr ""
+msgstr "décoder les lignes de données reçues"
 
 #: tools/gpg-connect-agent.c:74
 msgid "|NAME|connect to Assuan socket NAME"
-msgstr ""
+msgstr "|NOM|se connecter à la socket Assuan NOM"
 
 #: tools/gpg-connect-agent.c:76
 msgid "run the Assuan server given on the command line"
-msgstr ""
+msgstr "exécuter le serveur Assuan donné en ligne de commande"
 
 #: tools/gpg-connect-agent.c:78
 msgid "do not use extended connect mode"
-msgstr ""
+msgstr "ne pas utiliser le mode de connexion étendu"
 
 #: tools/gpg-connect-agent.c:80
-#, fuzzy
 msgid "|FILE|run commands from FILE on startup"
-msgstr "lire les options de `%s'\n"
+msgstr "|FICHIER|exécuter les commandes du FICHIER au démarrage"
 
 #: tools/gpg-connect-agent.c:81
 msgid "run /subst on startup"
-msgstr ""
+msgstr "exécuter /subst au démarrage"
 
 #: tools/gpg-connect-agent.c:184
-#, fuzzy
 msgid "Usage: gpg-connect-agent [options] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpg-connect-agent [options] (-h pour l'aide)"
 
 #: tools/gpg-connect-agent.c:187
 msgid ""
 "Syntax: gpg-connect-agent [options]\n"
 "Connect to a running agent and send commands\n"
 msgstr ""
+"Syntaxe : gpg-connect-agent [options]\n"
+"Se connecter à un agent en fonctionnement et envoyer des commandes\n"
 
 #: tools/gpg-connect-agent.c:1201
 #, c-format
 msgid "option \"%s\" requires a program and optional arguments\n"
-msgstr ""
+msgstr "l'option « %s » nécessite un programme et des arguments facultatifs\n"
 
 #: tools/gpg-connect-agent.c:1210
 #, c-format
 msgid "option \"%s\" ignored due to \"%s\"\n"
-msgstr ""
+msgstr "option « %s » ignorée à cause de « %s »\n"
 
 #: tools/gpg-connect-agent.c:1281 tools/gpg-connect-agent.c:1771
-#, fuzzy, c-format
+#, c-format
 msgid "receiving line failed: %s\n"
-msgstr "la lecture de la clé publique a échoué: %s\n"
+msgstr "échec de réception de ligne : %s\n"
 
 #: tools/gpg-connect-agent.c:1371
-#, fuzzy
 msgid "line too long - skipped\n"
-msgstr "ligne trop longue"
+msgstr "ligne trop longue — ignorée\n"
 
 #: tools/gpg-connect-agent.c:1375
 msgid "line shortened due to embedded Nul character\n"
-msgstr ""
+msgstr "ligne raccourcie à cause de caractère NULL inclus\n"
 
 #: tools/gpg-connect-agent.c:1743
-#, fuzzy, c-format
+#, c-format
 msgid "unknown command `%s'\n"
-msgstr "option `%s' inconnue\n"
+msgstr "commande « %s » inconnue\n"
 
 #: tools/gpg-connect-agent.c:1761
-#, fuzzy, c-format
+#, c-format
 msgid "sending line failed: %s\n"
-msgstr "la signature a échoué: %s\n"
+msgstr "échec d'envoi de ligne : %s\n"
 
 #: tools/gpg-connect-agent.c:2208
-#, fuzzy, c-format
+#, c-format
 msgid "error sending %s command: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur d'envoi de commande %s : %s\n"
 
 #: tools/gpg-connect-agent.c:2223
-#, fuzzy, c-format
+#, c-format
 msgid "error sending standard options: %s\n"
-msgstr ""
-"erreur pendant la recherche de l'enregistrement de confiance\n"
-"dans `%s': %s\n"
+msgstr "erreur d'envoi d'options standards : %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
-msgstr ""
+msgstr "Options contrôlant la sortie de diagnostique"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
-msgstr ""
+msgstr "Options contrôlant la configuration"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
-msgstr ""
+msgstr "Options pratiques pour le débogage"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
-msgstr ""
+msgstr "|FICHIER|écrire les journaux serveur dans le FICHIER"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
-msgstr ""
+msgstr "Options contrôlant la sécurité"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
-msgstr ""
+msgstr "|N|oublier les clefs SSH après N secondes"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
-msgstr ""
+msgstr "|N|durée max. cache de code pers. : N secondes"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
-msgstr ""
+msgstr "|N|durée max. du cache de clef SSH : N secondes"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
-msgstr ""
+msgstr "Options d'application d'une politique de phrase de passe"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
-msgstr ""
+msgstr "pas de contournement de politique de phrase de passe"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
-msgstr ""
+msgstr "|N|définir longueur minimale des nouvelles phrases de passe à N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
-msgstr ""
+msgstr "|N|au moins N caractères non alphab. pour nouv. phrase de passe"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
-msgstr ""
+msgstr "|FICHIER|vérifier nouv. phrase de passe par rapport motifs du FICHIER"
 
-#: tools/gpgconf-comp.c:557
-#, fuzzy
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
-msgstr "révoquer la clé ou les sous-clés sélectionnées"
+msgstr "|N|la phrase de passe expire après N jours"
 
-#: tools/gpgconf-comp.c:561
-#, fuzzy
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
-msgstr "erreur pendant la création de la phrase de passe: %s\n"
+msgstr "ne pas autoriser réutilisation d'anciennes phrase de passe"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
-msgstr ""
+msgstr "|NOM|utiliser le NOM comme clef secrète par défaut"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
-#, fuzzy
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
-msgstr "|NOM|chiffrer pour NOM"
+msgstr "|NOM|chiffrer aussi pour l'identité NOM"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
-msgstr ""
+msgstr "|SPEC|configurer les alias d'adresse"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
-msgstr ""
+msgstr "Configuration pour les serveurs de clefs"
 
-#: tools/gpgconf-comp.c:688
-#, fuzzy
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
-msgstr "impossible d'interpréter l'URL du serveur de clés\n"
+msgstr "|URL|utiliser le serveur de clefs à l'URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
-msgstr ""
+msgstr "permettre les recherches PKA (requêtes DNS)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
-msgstr ""
+msgstr "|MÉCANISMES|utiliser MÉCANISMES pour localiser les clefs"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
-msgstr ""
+msgstr "désactiver tous les accès au dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
-msgstr ""
+msgstr "|NOM|utiliser encodage NOM pour phr. passe PKCS#12"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
-msgstr ""
+msgstr "ne pas vérifier listes révoc. de cert. racines"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
-msgstr ""
+msgstr "Options contrôlant le format de sortie"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
-msgstr ""
+msgstr "Options contrôlant l'interactivité et la mise en application"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
-msgstr ""
+msgstr "Configuration pour les serveurs HTTP"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
-msgstr ""
+msgstr "utiliser la configuration de serveur mandataire (proxy) du système"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
-msgstr ""
+msgstr "Configuration des serveurs LDAP à utiliser"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
-msgstr ""
+msgstr "liste de serveurs LDAP"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
-msgstr ""
+msgstr "Configuration pour OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
-msgstr ""
+msgstr "Échec de vérification externe du composant %s"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
-msgstr ""
+msgstr "Remarquez que les spécifications de groupe sont ignorées\n"
 
 #: tools/gpgconf.c:62
 msgid "list all components"
-msgstr ""
+msgstr "afficher tous les composants"
 
 #: tools/gpgconf.c:63
 msgid "check all programs"
-msgstr ""
+msgstr "vérifier tous les programmes"
 
 #: tools/gpgconf.c:64
 msgid "|COMPONENT|list options"
-msgstr ""
+msgstr "|COMPOSANT|afficher les options"
 
 #: tools/gpgconf.c:65
 msgid "|COMPONENT|change options"
-msgstr ""
+msgstr "|COMPOSANT|modifier les options"
 
 #: tools/gpgconf.c:66
 msgid "|COMPONENT|check options"
-msgstr ""
+msgstr "|COMPOSANT|vérifier les options"
 
 #: tools/gpgconf.c:68
 msgid "apply global default values"
-msgstr ""
+msgstr "appliquer les valeurs par défaut globales"
 
 #: tools/gpgconf.c:70
 msgid "get the configuration directories for gpgconf"
-msgstr ""
+msgstr "aff. répertoires de configuration pour gpgconf"
 
 #: tools/gpgconf.c:72
-#, fuzzy
 msgid "list global configuration file"
-msgstr "élément de configuration `%s' inconnu\n"
+msgstr "afficher le fichier de configuration globale"
 
 #: tools/gpgconf.c:74
-#, fuzzy
 msgid "check global configuration file"
-msgstr "élément de configuration `%s' inconnu\n"
+msgstr "vérifier le fichier de configuration globale"
 
 #: tools/gpgconf.c:79
 msgid "use as output file"
@@ -8539,79 +8471,73 @@ msgstr "utiliser comme fichier de sortie"
 
 #: tools/gpgconf.c:83
 msgid "activate changes at runtime, if possible"
-msgstr ""
+msgstr "activer modif. pendant l'exécution si possible"
 
 #: tools/gpgconf.c:105
-#, fuzzy
 msgid "Usage: gpgconf [options] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpgconf [options] (-h pour l'aide)"
 
 #: tools/gpgconf.c:108
 msgid ""
 "Syntax: gpgconf [options]\n"
 "Manage configuration options for tools of the GnuPG system\n"
 msgstr ""
+"Syntaxe : gpgconf [options]\n"
+"Gérer les options de configuration pour les outils du système GnuPG\n"
 
 #: tools/gpgconf.c:214 tools/gpgconf.c:282
-#, fuzzy
 msgid "usage: gpgconf [options] "
-msgstr "utilisation: gpg [options] "
+msgstr "utilisation : gpgconf [options] "
 
 #: tools/gpgconf.c:216
 msgid "Need one component argument"
-msgstr ""
+msgstr "Un argument de composant nécessaire"
 
 #: tools/gpgconf.c:225 tools/gpgconf.c:258
-#, fuzzy
 msgid "Component not found"
-msgstr "clé publique non trouvée"
+msgstr "Composant introuvable"
 
 #: tools/gpgconf.c:284
-#, fuzzy
 msgid "No argument allowed"
-msgstr "Les commandes d'administration ne sont pas permises\n"
+msgstr "Aucun argument permis"
 
 #: tools/symcryptrun.c:154
-#, fuzzy
 msgid ""
 "@\n"
 "Commands:\n"
 " "
 msgstr ""
-"@Commandes:\n"
+"@\n"
+"Commandes :\n"
 " "
 
 #: tools/symcryptrun.c:156
-#, fuzzy
 msgid "decryption modus"
-msgstr "le déchiffrement a réussi\n"
+msgstr "mode déchiffrement"
 
 #: tools/symcryptrun.c:157
-#, fuzzy
 msgid "encryption modus"
-msgstr "le déchiffrement a réussi\n"
+msgstr "mode chiffrement"
 
 #: tools/symcryptrun.c:161
 msgid "tool class (confucius)"
-msgstr ""
+msgstr "classe d'outils (confucius)"
 
 #: tools/symcryptrun.c:162
-#, fuzzy
 msgid "program filename"
-msgstr "--store [nom du fichier]"
+msgstr "nom de fichier du programme"
 
 #: tools/symcryptrun.c:164
 msgid "secret key file (required)"
-msgstr ""
+msgstr "fichier de clef secrète (nécessaire)"
 
 #: tools/symcryptrun.c:165
 msgid "input file name (default stdin)"
-msgstr ""
+msgstr "nom de fichier d'entrée (entrée standard par défaut)"
 
 #: tools/symcryptrun.c:209
-#, fuzzy
 msgid "Usage: symcryptrun [options] (-h for help)"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : symcryptrun [options] (-h pour l'aide)"
 
 #: tools/symcryptrun.c:212
 msgid ""
@@ -8619,208 +8545,261 @@ msgid ""
 "[options...] COMMAND [inputfile]\n"
 "Call a simple symmetric encryption tool\n"
 msgstr ""
+"Syntax : symcryptrun --class CLASSE --program PROGRAMME --keyfile CLEF "
+"[options...] COMMANDE [entrée]\n"
+"Appeler un simple outil de chiffrement symétrique\n"
 
 #: tools/symcryptrun.c:281
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s aborted with status %i\n"
-msgstr "%s n'est pas permis avec %s !\n"
+msgstr "interruption de %s sur %s avec l'état %i\n"
 
 #: tools/symcryptrun.c:288
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s failed with status %i\n"
-msgstr "fstat de `%s' échoué dans %s: %s\n"
+msgstr "échec de %s sur %s avec l'état %i\n"
 
 #: tools/symcryptrun.c:314
-#, fuzzy, c-format
+#, c-format
 msgid "can't create temporary directory `%s': %s\n"
-msgstr "impossible de créer le répertoire `%s': %s\n"
+msgstr "impossible de créer le répertoire temporaire « %s » : %s\n"
 
 #: tools/symcryptrun.c:354 tools/symcryptrun.c:371
 #, c-format
 msgid "could not open %s for writing: %s\n"
-msgstr ""
+msgstr "impossible d'ouvrir %s en écriture : %s\n"
 
 #: tools/symcryptrun.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to %s: %s\n"
-msgstr "erreur durant l'écriture du porte-clés `%s': %s\n"
+msgstr "erreur d'écriture sur %s : %s\n"
 
 #: tools/symcryptrun.c:389
-#, fuzzy, c-format
+#, c-format
 msgid "error reading from %s: %s\n"
-msgstr "erreur pendant la lecture de `%s': %s\n"
+msgstr "erreur de lecture de %s : %s\n"
 
 #: tools/symcryptrun.c:396 tools/symcryptrun.c:403
-#, fuzzy, c-format
+#, c-format
 msgid "error closing %s: %s\n"
-msgstr "erreur dans `%s': %s\n"
+msgstr "erreur de fermeture de %s : %s\n"
 
 #: tools/symcryptrun.c:488
-#, fuzzy
 msgid "no --program option provided\n"
-msgstr "aucun programme d'exécution distante n'est supporté\n"
+msgstr "aucune option --program fournie\n"
 
 #: tools/symcryptrun.c:494
 msgid "only --decrypt and --encrypt are supported\n"
-msgstr ""
+msgstr "seuls --decrypt et --encrypt sont pris en charge\n"
 
 #: tools/symcryptrun.c:500
 msgid "no --keyfile option provided\n"
-msgstr ""
+msgstr "aucune option --keyfile fournie\n"
 
 #: tools/symcryptrun.c:511
 msgid "cannot allocate args vector\n"
-msgstr ""
+msgstr "impossible d'allouer le vecteur d'arguments\n"
 
 #: tools/symcryptrun.c:529
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pipe: %s\n"
-msgstr "impossible de créer `%s': %s\n"
+msgstr "impossible de créer un tube : %s\n"
 
 #: tools/symcryptrun.c:536
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pty: %s\n"
-msgstr "impossible de créer `%s': %s\n"
+msgstr "impossible de créer le pty : %s\n"
 
 #: tools/symcryptrun.c:552
 #, c-format
 msgid "could not fork: %s\n"
-msgstr ""
+msgstr "impossible de créer un processus fils : %s\n"
 
 #: tools/symcryptrun.c:580
-#, fuzzy, c-format
+#, c-format
 msgid "execv failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec d'execv : %s\n"
 
 #: tools/symcryptrun.c:609
-#, fuzzy, c-format
+#, c-format
 msgid "select failed: %s\n"
-msgstr "la suppression du bloc de clés a échoué : %s\n"
+msgstr "échec de select : %s\n"
 
 #: tools/symcryptrun.c:626
-#, fuzzy, c-format
+#, c-format
 msgid "read failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec de read : %s\n"
 
 #: tools/symcryptrun.c:678
-#, fuzzy, c-format
+#, c-format
 msgid "pty read failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec de lecture du pty : %s\n"
 
 #: tools/symcryptrun.c:730
-#, fuzzy, c-format
+#, c-format
 msgid "waitpid failed: %s\n"
-msgstr "la mise à jour a échoué: %s\n"
+msgstr "échec de waitpid : %s\n"
 
 #: tools/symcryptrun.c:744
 #, c-format
 msgid "child aborted with status %i\n"
-msgstr ""
+msgstr "interruption du fils avec l'état %i\n"
 
 #: tools/symcryptrun.c:799
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate infile string: %s\n"
-msgstr "impossible de créer le fichier de sauvegarde `%s': %s\n"
+msgstr "impossible d'allouer la chaîne infile : %s\n"
 
 #: tools/symcryptrun.c:812
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate outfile string: %s\n"
-msgstr "impossible de créer le fichier de sauvegarde `%s': %s\n"
+msgstr "impossible d'allouer la chaîne outfile : %s\n"
 
 #: tools/symcryptrun.c:986
 #, c-format
 msgid "either %s or %s must be given\n"
-msgstr ""
+msgstr "soit %s, soit %s doit être donné\n"
 
 #: tools/symcryptrun.c:1013
 msgid "no class provided\n"
-msgstr ""
+msgstr "aucune classe fournie\n"
 
 #: tools/symcryptrun.c:1022
-#, fuzzy, c-format
+#, c-format
 msgid "class %s is not supported\n"
-msgstr "le hachage de protection %d n'est pas supporté\n"
+msgstr "la classe %s n'est pas prise en charge\n"
 
 #: tools/gpg-check-pattern.c:145
-#, fuzzy
 msgid "Usage: gpg-check-pattern [options] patternfile (-h for help)\n"
-msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
+msgstr "Utilisation : gpg-check-pattern [options] ficmotif (-h pour l'aide)\n"
 
 #: tools/gpg-check-pattern.c:148
 msgid ""
 "Syntax: gpg-check-pattern [options] patternfile\n"
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
+"Syntaxe : gpg-check-pattern [options] ficmotif\n"
+"Vérifier une phrase de passe donnée sur l'entrée standard par rapport à "
+"ficmotif\n"
 
-#~ msgid "Command> "
-#~ msgstr "Commande> "
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "vous pourriez d'abord démarrer l'agent GPG\n"
 
-#~ msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
-#~ msgstr "la base de confiance est corrompue; exécutez «gpg --fix-trustdb».\n"
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "erreur de chargement de « %s » : %s\n"
 
-#, fuzzy
-#~ msgid "Please report bugs to <"
-#~ msgstr ""
-#~ "Signaler toutes anomalies à <gnupg-bugs@gnu.org> (en anglais)\n"
-#~ "et tout problème de traduction à <traduc@traduc.org>.\n"
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "impossible d'allouer la gestion de base de clefs\n"
 
-#, fuzzy
-#~ msgid "Please report bugs to "
+#~ msgid "can't gen prime with pbits=%u qbits=%u\n"
+#~ msgstr "impossible de générer un nombre premier avec pbits=%u qbits=%u\n"
+
+#~ msgid "can't generate a prime with less than %d bits\n"
+#~ msgstr "impossible de générer un nombre premier avec moins de %d bits\n"
+
+#~ msgid "no entropy gathering module detected\n"
+#~ msgstr "aucun module de récupération d'entropie n'a été trouvé\n"
+
+#~ msgid "can't lock `%s': %s\n"
+#~ msgstr "impossible de verrouiller « %s » : %s\n"
+
+#~ msgid "can't stat `%s': %s\n"
+#~ msgstr "impossible d'accéder à « %s » : %s\n"
+
+#~ msgid "`%s' is not a regular file - ignored\n"
+#~ msgstr "« %s » n'est pas un fichier régulier — ignoré\n"
+
+#~ msgid "note: random_seed file is empty\n"
+#~ msgstr "remarque : le fichier random_seed est vide\n"
+
+#~ msgid "WARNING: invalid size of random_seed file - not used\n"
 #~ msgstr ""
-#~ "Signaler toutes anomalies à <gnupg-bugs@gnu.org> (en anglais)\n"
-#~ "et tout problème de traduction à <traduc@traduc.org>.\n"
+#~ "Attention : la taille du fichier random_seed est incorrecte.\n"
+#~ "            Il ne sera pas utilisé.\n"
 
-#~ msgid "DSA keypair will have %u bits.\n"
-#~ msgstr "La paire de clés DSA fera %u bits.\n"
+#~ msgid "can't read `%s': %s\n"
+#~ msgstr "impossible de lire « %s » : %s\n"
 
-#~ msgid "Repeat passphrase\n"
-#~ msgstr "Répétez la phrase de passe\n"
+#~ msgid "note: random_seed file not updated\n"
+#~ msgstr "remarque : le fichier random_seed n'a pas été mis à jour\n"
 
-#, fuzzy
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
+#~ msgid "can't write `%s': %s\n"
+#~ msgstr "impossible d'écrire « %s » : %s\n"
 
-#~ msgid "|A|Admin PIN"
-#~ msgstr "|A|code PIN d'administration"
+#~ msgid "can't close `%s': %s\n"
+#~ msgstr "impossible de fermer « %s » : %s\n"
 
-#, fuzzy
-#~ msgid "read options from file"
-#~ msgstr "lire les options de `%s'\n"
+#~ msgid "WARNING: using insecure random number generator!!\n"
+#~ msgstr ""
+#~ "Attention : utilisation d'un générateur de nombres aléatoires non sûr.\n"
 
-#~ msgid "generate PGP 2.x compatible messages"
-#~ msgstr "générer des messages compatibles avec PGP 2.x"
+#~ msgid ""
+#~ "The random number generator is only a kludge to let\n"
+#~ "it run - it is in no way a strong RNG!\n"
+#~ "\n"
+#~ "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Le générateur de nombres aléatoires n'est qu'un artifice visant à "
+#~ "exécuter\n"
+#~ "GnuPG — ce n'est en aucune manière un générateur (RNG) fort.\n"
+#~ "\n"
+#~ "N'UTILISEZ PAS LES DONNÉES GÉNÉRÉES PAR CE PROGRAMME.\n"
+#~ "\n"
 
-#, fuzzy
-#~ msgid "|[FILE]|make a signature"
-#~ msgstr "|[fichier]|faire une signature"
+#~ msgid ""
+#~ "Please wait, entropy is being gathered. Do some work if it would\n"
+#~ "keep you from getting bored, because it will improve the quality\n"
+#~ "of the entropy.\n"
+#~ msgstr ""
+#~ "Veuillez patienter pendant la récupération de l'entropie. Vous devriez\n"
+#~ "faire autre chose sur la machine pour éviter de vous ennuyer, car cela\n"
+#~ "améliorera la qualité de l'entropie.\n"
 
-#, fuzzy
-#~ msgid "|[FILE]|make a clear text signature"
-#~ msgstr "|[fichier]|faire une signature en texte clair"
+#~ msgid ""
+#~ "\n"
+#~ "Not enough random bytes available.  Please do some other work to give\n"
+#~ "the OS a chance to collect more entropy! (Need %d more bytes)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Il n'y a pas suffisamment d'octets aléatoires disponibles. Veuillez "
+#~ "faire\n"
+#~ "autre chose pour que le système d'exploitation puisse rassembler plus\n"
+#~ "d'entropie (%d octets supplémentaires sont nécessaires).\n"
 
-#, fuzzy
-#~ msgid "use the default key as default recipient"
-#~ msgstr "ignoré: la clé publique est déjà le destinataire par défaut\n"
+#~ msgid "card reader not available\n"
+#~ msgstr "lecteur de cartes indisponible\n"
 
-#, fuzzy
-#~ msgid "force v3 signatures"
-#~ msgstr "vérifier les signatures"
+#~ msgid "Please insert the card and hit return or enter 'c' to cancel: "
+#~ msgstr ""
+#~ "Veuillez insérer la carte et appuyer sur entrée ou entrer « c » pour\n"
+#~ "annuler : "
 
-#, fuzzy
-#~ msgid "add this secret keyring to the list"
-#~ msgstr "Il faut la clé secrète pour faire cela.\n"
+#~ msgid "Hit return when ready or enter 'c' to cancel: "
+#~ msgstr "Appuyez sur entrée un fois prêt ou entrez « c » pour annuler : "
 
-#, fuzzy
-#~ msgid "|NAME|set terminal charset to NAME"
-#~ msgstr "|NOM|chiffrer pour NOM"
+#~ msgid "Enter New Admin PIN: "
+#~ msgstr "Entrez le nouveau code personnel d'administration : "
 
-#, fuzzy
-#~ msgid "|N|use compress algorithm N"
-#~ msgstr "algorithme de compression inconnu"
+#~ msgid "Enter New PIN: "
+#~ msgstr "Entrez le nouveau code personnel : "
 
-#, fuzzy
-#~ msgid "remove key from the public keyring"
-#~ msgstr "enlever les clés du porte-clés public"
+#~ msgid "Enter Admin PIN: "
+#~ msgstr "Entrez le code personnel d'administration : "
+
+#~ msgid "generate PGP 2.x compatible messages"
+#~ msgstr "générer des messages compatibles avec PGP 2.x"
+
+#~ msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
+#~ msgstr ""
+#~ "l'extension de chiffrement « %s » n'a pas été chargée car ses\n"
+#~ "droits ne sont pas sûrs\n"
+
+#~ msgid "NOTE: %s is not available in this version\n"
+#~ msgstr "Remarque : %s n'est pas disponible dans cette version\n"
+
+#~ msgid "-k[v][v][v][c] [user-id] [keyring]"
+#~ msgstr "-k[v][v][v][c] [identité] [porte-clefs]"
 
 #~ msgid ""
 #~ "It's up to you to assign a value here; this value will never be exported\n"
@@ -8828,10 +8807,10 @@ msgstr ""
 #~ "nothing\n"
 #~ "to do with the (implicitly created) web-of-certificates."
 #~ msgstr ""
-#~ "C'est à vous d'assigner une valeur ici; cette valeur ne sera jamais\n"
-#~ "envoyée à une tierce personne. Nous en avons besoin pour créer le réseau\n"
-#~ "de confiance (web-of-trust); cela n'a rien à voir avec le réseau des\n"
-#~ "certificats (créé implicitement)"
+#~ "Il est de votre responsabilité d'affecter une valeur ici ; cette valeur\n"
+#~ "ne sera jamais communiquée à autrui. Elle est nécessaire pour créer le\n"
+#~ "réseau de confiance (web-of-trust) ; cela n'a rien à voir avec le réseau\n"
+#~ "des certificats (créé implicitement)."
 
 #~ msgid ""
 #~ "To build the Web-of-Trust, GnuPG needs to know which keys are\n"
@@ -8839,20 +8818,21 @@ msgstr ""
 #~ "access to the secret key.  Answer \"yes\" to set this key to\n"
 #~ "ultimately trusted\n"
 #~ msgstr ""
-#~ "Pour mettre en place le Réseau de confiance (Web of Trust), GnuPG a\n"
-#~ "besoin de savoir en quelles clés votre confiance est ultime - ce sont\n"
-#~ "en général les clés dont vous avez accès à la clé secrète. Répondez\n"
-#~ "\"oui\" pour indiquer que votre confiance en cette clé est ultime\n"
+#~ "Pour mettre en place le réseau de confiance (web-of-trust), GnuPG doit\n"
+#~ "savoir en quelles clefs votre confiance est ultime — ce sont "
+#~ "généralement\n"
+#~ "les clefs dont vous possédez la clef secrète. Répondez « oui » pour\n"
+#~ "indiquer que votre confiance en cette clef est ultime\n"
 
 #~ msgid "If you want to use this untrusted key anyway, answer \"yes\"."
 #~ msgstr ""
-#~ "Si vous voulez utiliser cette clé peu sûre quand-même, répondez «oui»."
+#~ "Si vous voulez utiliser cette clef sans confiance quand même, répondez\n"
+#~ "« oui »."
 
 #~ msgid ""
 #~ "Enter the user ID of the addressee to whom you want to send the message."
 #~ msgstr ""
-#~ "Entrez le nom d'utilisateur de la personne à qui vous voulez envoyer\n"
-#~ "le message."
+#~ "Entrez l'identité de la personne à qui vous voulez envoyer le message."
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
@@ -8866,33 +8846,31 @@ msgstr ""
 #~ "\n"
 #~ "The first (primary) key must always be a key which is capable of signing."
 #~ msgstr ""
-#~ "Sélectionnez l'algorithme à utiliser.\n"
+#~ "Sélectionnez l'algorithme à utiliser.\n"
 #~ "\n"
-#~ "DSA (connu également sous le nom de DSS) est un algorithme de signature\n"
-#~ "digitale et ne peut être utilisé que pour des signatures.\n"
+#~ "DSA (connu également sous le nom de DSS) est un algorithme de signature\n"
+#~ "numérique qui ne sert qu'à signer.\n"
 #~ "\n"
-#~ "Elgamal est un algorithme pour le chiffrement seul.\n"
+#~ "Elgamal est un algorithme qui ne sert qu'à chiffrer.\n"
 #~ "\n"
-#~ "RSA peut être utilisé pour les signatures et le chiffrement.\n"
+#~ "RSA permet de signer et chiffrer.\n"
 #~ "\n"
-#~ "La première clé (clé principale) doit toujours être une clé capable\n"
-#~ "de signer."
+#~ "La première clef (principale) doit toujours permettre de signer."
 
 #~ msgid ""
 #~ "In general it is not a good idea to use the same key for signing and\n"
 #~ "encryption.  This algorithm should only be used in certain domains.\n"
 #~ "Please consult your security expert first."
 #~ msgstr ""
-#~ "En général ce n'est pas une bonne idée d'utiliser la même clé pour\n"
-#~ "signer et pour chiffrer. Cet algorithme ne doit être utilisé que\n"
-#~ "pour certains domaines.\n"
-#~ "Consultez votre expert en sécurité d'abord."
+#~ "En général, il est déconseillé d'utiliser la même clef pour signer\n"
+#~ "et chiffrer. Cet algorithme ne devrait servir que dans certains cas.\n"
+#~ "Consultez d'abord votre expert en sécurité."
 
 #~ msgid "Enter the size of the key"
-#~ msgstr "Entrez la taille de la clé"
+#~ msgstr "Entrez la taille de la clef"
 
 #~ msgid "Answer \"yes\" or \"no\""
-#~ msgstr "Répondez «oui» ou «non»"
+#~ msgstr "Répondez Â«Â oui » ou Â«Â non »"
 
 #~ msgid ""
 #~ "Enter the required value as shown in the prompt.\n"
@@ -8900,19 +8878,23 @@ msgstr ""
 #~ "get a good error response - instead the system tries to interpret\n"
 #~ "the given value as an interval."
 #~ msgstr ""
-#~ "Entrez la valeur demandée comme indiqué dans la ligne de commande.\n"
-#~ "On peut entrer une date ISO (AAAA-MM-JJ) mais le résultat d'erreur sera\n"
-#~ "mauvais - le système essaierait d'interpréter la valeur donnée comme un\n"
+#~ "Entrez la valeur demandée comme indiqué dans l'invite de commande.\n"
+#~ "Une date ISO (AAAA-MM-JJ) peut être indiquée mais le message d'erreur "
+#~ "sera\n"
+#~ "inadéquat — le système essaye alors d'interpréter la valeur donnée comme "
+#~ "un\n"
 #~ "intervalle."
 
 #~ msgid "Enter the name of the key holder"
-#~ msgstr "Entrez le nom du propriétaire de la clé"
+#~ msgstr "Entrez le nom du détenteur de la clef"
 
 #~ msgid "please enter an optional but highly suggested email address"
-#~ msgstr "entrez une adresse e-mail optionnelle mais hautement recommandée"
+#~ msgstr ""
+#~ "veuillez entrer une adresse électronique facultative mais\n"
+#~ "sérieusement recommandée"
 
 #~ msgid "Please enter an optional comment"
-#~ msgstr "Entrez un commentaire optionnel"
+#~ msgstr "Veuillez entrer un commentaire facultatif"
 
 #~ msgid ""
 #~ "N  to change the name.\n"
@@ -8921,15 +8903,15 @@ msgstr ""
 #~ "O  to continue with key generation.\n"
 #~ "Q  to to quit the key generation."
 #~ msgstr ""
-#~ "N pour changer le nom.\n"
-#~ "C pour changer le commentaire.\n"
-#~ "E pour changer l'adresse e-mail.\n"
-#~ "O pour continuer à générer la clé.\n"
-#~ "Q pour arrêter de générer de clé."
+#~ "N pour modifier le nom.\n"
+#~ "C pour modifier le commentaire.\n"
+#~ "E pour modifier l'adresse électronique.\n"
+#~ "O pour continuer à générer la clef.\n"
+#~ "Q pour arrêter de générer de clef."
 
 #~ msgid ""
 #~ "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
-#~ msgstr "Répondez «oui» (ou simplement «o») pour générer la sous-clé"
+#~ msgstr "Répondez « oui » (ou simplement « o ») pour générer la sous-clef."
 
 #~ msgid ""
 #~ "When you sign a user ID on a key, you should first verify that the key\n"
@@ -8974,56 +8956,62 @@ msgstr ""
 #~ "\n"
 #~ "If you don't know what the right answer is, answer \"0\"."
 #~ msgstr ""
-#~ "Quand vous signez un nom d'utilisateur d'une clé, vous devriez d'abord\n"
-#~ "vérifier que la clé appartient à la personne nommée. Il est utile que\n"
-#~ "les autres personnes sachent avec quel soin vous l'avez vérifié.\n"
+#~ "Quand vous signez une identité de clef, vous devriez d'abord vérifier si\n"
+#~ "la clef appartient à la personne identifiée. Il est utile aux autres de\n"
+#~ "savoir avec quel soin vous l'avez vérifié.\n"
 #~ "\n"
-#~ "\"0\" signifie que vous n'avez pas d'opinon.\n"
+#~ "« 0 » signifie que vous êtes sans opinion.\n"
 #~ "\n"
-#~ "\"1\" signifie que vous croyez que la clé appartient à la personne qui\n"
-#~ "dit la posséder mais vous n'avez pas pu vérifier du tout la clé.\n"
-#~ "C'est utile lorsque vous signez la clé d'un pseudonyme.\n"
+#~ "« 1 » signifie que vous estimez que la clef appartient à la personne qui\n"
+#~ "      prétend la posséder mais vous n'avez pas pu vérifier du tout la\n"
+#~ "      clef. C'est utile pour signer la clef d'un pseudonyme.\n"
 #~ "\n"
-#~ "\"2\" signifie que vous avez un peu vérifié la clé. Par exemple, cela\n"
-#~ "pourrait être un vérification de l'empreinte et du nom de\n"
-#~ "l'utilisateur avec la photo.\n"
+#~ "« 2 » signifie que vous avez partiellement vérifié la clef. Par exemple,\n"
+#~ "      cela pourrait être une vérification de l'empreinte et de "
+#~ "l'identité\n"
+#~ "      avec la photo d'identité.\n"
 #~ "\n"
-#~ "\"3\" signifie que vous avez complètement vérifié la clé. Par exemple,\n"
-#~ "cela pourrait être une vérification de l'empreinte, du nom de\n"
-#~ "l'utilisateur avec un document difficile à contrefaire (comme un\n"
-#~ "passeport) et de son adresse e-mail (vérifié par un échange de\n"
-#~ "courrier électronique).\n"
+#~ "« 3 » signifie que vous avez complètement vérifié la clef. Par exemple,\n"
+#~ "      cela pourrait être une vérification de l'empreinte avec son "
+#~ "propriétaire\n"
+#~ "      en personne, une vérification d'identité avec un document difficile "
+#~ "à\n"
+#~ "      contrefaire contenant une photo (comme un passeport) et une "
+#~ "vérification\n"
+#~ "      de son adresse électronique (à l'aide d'un échange de courriers).\n"
 #~ "\n"
-#~ "Notez bien que les exemples donnés ci-dessus pour les niveaux 2 et\n"
-#~ "3 ne sont *que* des exemples.\n"
-#~ "C'est à vous de décider quelle valeur mettre quand vous signez\n"
-#~ "les clés des autres personnes.\n"
+#~ "Remarquez que les exemples ci-dessus pour les niveaux 2 et 3 ne sont "
+#~ "*que*\n"
+#~ "des exemples. C'est à vous de décider ce que signifie « partiellement » "
+#~ "et\n"
+#~ "« complètement » quand vous signez les clefs d'autres personnes.\n"
 #~ "\n"
-#~ "Si vous ne savez pas quelle réponse est la bonne, répondez \"0\"."
+#~ "Si vous ne savez pas quoi répondre, utilisez « 0 »."
 
 #~ msgid "Answer \"yes\" if you want to sign ALL the user IDs"
-#~ msgstr "Répondez «oui» si vous voulez signer TOUS les noms d'utilisateurs"
+#~ msgstr "Répondez « oui » si vous voulez signer TOUTES les identités"
 
 #~ msgid ""
 #~ "Answer \"yes\" if you really want to delete this user ID.\n"
 #~ "All certificates are then also lost!"
 #~ msgstr ""
-#~ "Répondez «oui» si vous voulez vraiment supprimer ce nom\n"
-#~ "d'utilisateur. Tous les certificats seront alors perdus en même temps !"
+#~ "Répondez « oui » si vous voulez vraiment supprimer cette identité.\n"
+#~ "Tous les certificats seront alors aussi perdus."
 
 #~ msgid "Answer \"yes\" if it is okay to delete the subkey"
-#~ msgstr "Répondez «oui» s'il faut vraiment supprimer la sous-clé"
+#~ msgstr "Répondez « oui » pour supprimer la sous-clef"
 
 #~ msgid ""
 #~ "This is a valid signature on the key; you normally don't want\n"
 #~ "to delete this signature because it may be important to establish a\n"
 #~ "trust connection to the key or another key certified by this key."
 #~ msgstr ""
-#~ "C'est une signature valide dans la clé; vous n'avez pas normalement\n"
-#~ "intérêt à supprimer cette signature car elle peut être importante pour\n"
-#~ "établir une connection de confiance vers la clé ou une autre clé "
-#~ "certifiée\n"
-#~ "par celle-là."
+#~ "C'est une signature valable dans la clef ; vous n'avez normalement pas\n"
+#~ "intérêt à supprimer cette signature car elle pourrait être importante "
+#~ "pour\n"
+#~ "établir une connexion de confiance vers la clef ou une autre clef "
+#~ "certifiée\n"
+#~ "par cette clef."
 
 #~ msgid ""
 #~ "This signature can't be checked because you don't have the\n"
@@ -9031,18 +9019,17 @@ msgstr ""
 #~ "know which key was used because this signing key might establish\n"
 #~ "a trust connection through another already certified key."
 #~ msgstr ""
-#~ "Cette signature ne peut pas être vérifiée parce que vous n'avez pas la\n"
-#~ "clé correspondante. Vous devriez remettre sa supression jusqu'à ce que\n"
-#~ "vous soyez sûr de quelle clé a été utilisée car cette clé de signature\n"
-#~ "peut établir une connection de confiance vers une autre clé déjà "
-#~ "certifiée."
+#~ "Cette signature ne peut pas être vérifiée parce que vous n'avez pas la\n"
+#~ "clef correspondante. Vous ne devriez pas la supprimer avant de connaître\n"
+#~ "la clef qui a été utilisée, car cette clef de signature pourrait établir\n"
+#~ "une connexion de confiance vers une autre clef déjà certifiée."
 
 #~ msgid ""
 #~ "The signature is not valid.  It does make sense to remove it from\n"
 #~ "your keyring."
 #~ msgstr ""
-#~ "Cette signature n'est pas valide. Vous devriez la supprimer de votre\n"
-#~ "porte-clés."
+#~ "Cette signature n'est pas valable. Vous devriez la supprimer de votre\n"
+#~ "porte-clefs."
 
 #~ msgid ""
 #~ "This is a signature which binds the user ID to the key. It is\n"
@@ -9051,44 +9038,41 @@ msgstr ""
 #~ "only if this self-signature is for some reason not valid and\n"
 #~ "a second one is available."
 #~ msgstr ""
-#~ "Cette signature relie le nom d'utilisateur à la clé. Habituellement\n"
-#~ "enlever une telle signature n'est pas une bonne idée. En fait GnuPG peut\n"
-#~ "ne plus être capable d'utiliser cette clé. Donc faites ceci uniquement "
-#~ "si\n"
-#~ "cette auto-signature est invalide pour une certaine raison et si une "
-#~ "autre\n"
-#~ "est disponible."
+#~ "Cette signature lie l'identité à la clef. Enlever une telle signature\n"
+#~ "est généralement déconseillé. En fait GnuPG pourrait ne plus être "
+#~ "capable\n"
+#~ "d'utiliser cette clef. Donc ne faites cela que si cette autosignature "
+#~ "est\n"
+#~ "incorrecte pour une bonne raison et qu'une autre est disponible."
 
 #~ msgid ""
 #~ "Change the preferences of all user IDs (or just of the selected ones)\n"
 #~ "to the current list of preferences.  The timestamp of all affected\n"
 #~ "self-signatures will be advanced by one second.\n"
 #~ msgstr ""
-#~ "Changer les préférences de tous les noms d'utilisateurs (ou juste\n"
-#~ "ceux qui sont sélectionnés) vers la liste actuelle. La date de toutes\n"
-#~ "les auto-signatures affectées seront avancées d'une seconde.\n"
-
-#~ msgid "Please enter the passhrase; this is a secret sentence \n"
-#~ msgstr "Entrez le mot de passe ; c'est une phrase secrète \n"
+#~ "Modifier les préférences de toutes les identités (ou seulement\n"
+#~ "celles sélectionnées) vers la liste actuelle de préférences.\n"
+#~ "La date de chaque autosignature affectée sera avancée d'une seconde.\n"
 
 #~ msgid ""
 #~ "Please repeat the last passphrase, so you are sure what you typed in."
 #~ msgstr ""
-#~ "Répétez la dernière phrase de passe pour être sûr de ce que vous\n"
-#~ "avez tapé."
+#~ "Veuillez répéter la dernière phrase de passe pour vous assurer d'avoir\n"
+#~ "tapé correctement."
 
 #~ msgid "Give the name of the file to which the signature applies"
 #~ msgstr "Donnez le nom du fichier auquel la signature se rapporte"
 
 #~ msgid "Answer \"yes\" if it is okay to overwrite the file"
-#~ msgstr "Répondez «oui» s'il faut vraiment réécrire le fichier"
+#~ msgstr "Répondez « oui » s'il faut vraiment réécrire le fichier"
 
 #~ msgid ""
 #~ "Please enter a new filename. If you just hit RETURN the default\n"
 #~ "file (which is shown in brackets) will be used."
 #~ msgstr ""
-#~ "Entrez le nouveau nom de fichier. Si vous tapez simplement ENTRÉE le\n"
-#~ "fichier par défaut (indiqué entre crochets) sera utilisé."
+#~ "Veuillez entrer le nouveau nom de fichier. Si vous appuyez simplement "
+#~ "sur\n"
+#~ "Entrée, le fichier par défaut (indiqué entre crochets) sera utilisé."
 
 #~ msgid ""
 #~ "You should specify a reason for the certification.  Depending on the\n"
@@ -9104,352 +9088,209 @@ msgstr ""
 #~ "      Use this to state that the user ID should not longer be used;\n"
 #~ "      this is normally used to mark an email address invalid.\n"
 #~ msgstr ""
-#~ "Vous devriez donner une raison pour la certification. Selon le contexte\n"
-#~ "vous pouvez choisir dans cette liste:\n"
-#~ "  «La clé a été compromise»\n"
+#~ "Vous devriez indiquer une raison pour la certification. Suivant le "
+#~ "contexte,\n"
+#~ "vous pouvez choisir dans cette liste :\n"
+#~ "  « La clef a été compromise »\n"
 #~ "      Utilisez cette option si vous avez une raison de croire que des\n"
-#~ "      personnes ont pu accéder à votre clé secrète sans autorisation.\n"
-#~ "  «La clé a été remplacée»\n"
-#~ "      Utilisez cette option si vous avez remplacé la clé par une "
+#~ "      personnes ont pu accéder à votre clef secrète sans autorisation.\n"
+#~ "  Â«Â La clef a Ã©té remplacée »\n"
+#~ "      Utilisez cette option si vous avez remplacé cette clef par une "
 #~ "nouvelle.\n"
-#~ "  «La clé n'est plus utilisée»\n"
-#~ "      Utilisez cette option si cette clé n'a plus d'utilité.\n"
-#~ "  «Le nom d'utilisateur n'est plus valide»\n"
-#~ "      Utilisez cette option si le nom d'utilisateur ne doit plus être\n"
-#~ "      utilisé. Cela sert généralement à indiquer qu'une adresse e-mail\n"
-#~ "      est invalide.\n"
+#~ "  Â«Â La clef n'est plus utilisée »\n"
+#~ "      Utilisez cette option si cette clef n'a plus d'utilité.\n"
+#~ "  Â«Â L'identité n'est plus valable »\n"
+#~ "      Utilisez cette option si l'identité ne doit plus être utilisé. Cela "
+#~ "sert\n"
+#~ "      généralement à indiquer qu'une adresse électronique est obsolète.\n"
 
 #~ msgid ""
 #~ "If you like, you can enter a text describing why you issue this\n"
 #~ "revocation certificate.  Please keep this text concise.\n"
 #~ "An empty line ends the text.\n"
 #~ msgstr ""
-#~ "Si vous le désirez, vous pouvez entrer un texte qui explique pourquoi "
+#~ "Si vous le désirez, vous pouvez entrer un texte qui explique pourquoi "
 #~ "vous\n"
-#~ "avez émis ce certificat de révocation. Essayez de garder ce texte "
+#~ "avez émis ce certificat de révocation. Essayez de garder ce texte "
 #~ "concis.\n"
-#~ "Une ligne vide délimite la fin du texte.\n"
-
-#~ msgid "can't put notation data into v3 (PGP 2.x style) signatures\n"
-#~ msgstr ""
-#~ "impossible de mettre des données de notation dans des signatures v3\n"
-#~ "(de style PGP 2.x)\n"
-
-#~ msgid "can't put notation data into v3 (PGP 2.x style) key signatures\n"
-#~ msgstr ""
-#~ "impossible de mettres des données de notation dans des signatures de\n"
-#~ "clés v3 (de style PGP 2.x)\n"
-
-#~ msgid "can't put a policy URL into v3 (PGP 2.x style) signatures\n"
-#~ msgstr ""
-#~ "impossible de mettre une URL de politique dans des signatures v3\n"
-#~ "(de style PGP 2.x)\n"
-
-#~ msgid "can't put a policy URL into v3 key (PGP 2.x style) signatures\n"
-#~ msgstr ""
-#~ "impossible de mettre une URL de politique dans des signatures de clé v3\n"
-#~ "(de style PGP 2.x)\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "please see http://www.gnupg.org/download/iconv.html for more information\n"
-#~ msgstr "voir http://www.gnupg.org/fr/faq.html pour plus d'informations\n"
-
-#, fuzzy
-#~ msgid "key generation is not available from the commandline\n"
-#~ msgstr "gpg-agent n'est pas disponible dans cette session\n"
-
-#, fuzzy
-#~ msgid "please use the script \"%s\" to generate a new key\n"
-#~ msgstr "Sélectionnez le type de clé à générer:\n"
-
-#~ msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
-#~ msgstr ""
-#~ "l'extension de chiffrement `%s' n'a pas été chargée car ses\n"
-#~ "permissions sont peu sûres\n"
+#~ "Une ligne vide indique la fin du texte.\n"
 
-#~ msgid "DSA requires the use of a 160 bit hash algorithm\n"
-#~ msgstr ""
-#~ "DSA nécessite l'utilisation d'un algorithme de hachage de 160 bits\n"
+#~ msgid "         algorithms on these user IDs:\n"
+#~ msgstr "            algorithmes indisponibles pour ces identités :\n"
 
-#, fuzzy
-#~ msgid ".\n"
-#~ msgstr "%s.\n"
+#~ msgid "NOTE: This feature is not available in %s\n"
+#~ msgstr "Remarque : cette fonctionnalité n'est pas disponible dans %s\n"
 
-#~ msgid "problem with the agent - disabling agent use\n"
-#~ msgstr "problème avec l'agent - arrêt d'utilisation de l'agent\n"
+#~ msgid "Repeat passphrase\n"
+#~ msgstr "Répétez la phrase de passe\n"
 
 #~ msgid "can't query passphrase in batch mode\n"
 #~ msgstr "impossible de demander la phrase de passe en mode automatique\n"
 
 #~ msgid "Enter passphrase: "
-#~ msgstr "Entrez la phrase de passe: "
+#~ msgstr "Entrez la phrase de passe : "
 
 #~ msgid "Repeat passphrase: "
-#~ msgstr "Répétez la phrase de passe: "
-
-#~ msgid "-k[v][v][v][c] [user-id] [keyring]"
-#~ msgstr "-k[v][v][v][c] [utilisateur] [porte-clés]"
-
-#~ msgid "can't gen prime with pbits=%u qbits=%u\n"
-#~ msgstr "impossible de générer un nombre premier avec pbits=%u qbits=%u\n"
+#~ msgstr "Répétez la phrase de passe : "
 
-#~ msgid "can't generate a prime with less than %d bits\n"
-#~ msgstr "impossible de générer un nombre premier avec moins de %d bits\n"
-
-#~ msgid "no entropy gathering module detected\n"
-#~ msgstr "aucun module de récupération d'entropie n'a été trouvé.\n"
-
-#, fuzzy
-#~ msgid "can't lock `%s': %s\n"
-#~ msgstr "impossible de verrouiller `%s'\n"
-
-#~ msgid "can't stat `%s': %s\n"
-#~ msgstr "impossible d'accéder à `%s': %s\n"
-
-#~ msgid "`%s' is not a regular file - ignored\n"
-#~ msgstr "`%s' n'est pas un fichier régulier - ignoré\n"
-
-#~ msgid "note: random_seed file is empty\n"
-#~ msgstr "note: le fichier `random_seed' est vide\n"
-
-#~ msgid "WARNING: invalid size of random_seed file - not used\n"
-#~ msgstr ""
-#~ "AVERTISSEMENT: la taille du fichier `random_seed' est invalide.\n"
-#~ "Celui-ci ne sera pas utilisé.\n"
-
-#~ msgid "can't read `%s': %s\n"
-#~ msgstr "impossible de lire `%s': %s\n"
-
-#~ msgid "note: random_seed file not updated\n"
-#~ msgstr "note: le fichier `random_seed' n'a pas été mis à jour\n"
-
-#~ msgid "can't write `%s': %s\n"
-#~ msgstr "impossible d'écrire `%s': %s\n"
-
-#~ msgid "can't close `%s': %s\n"
-#~ msgstr "impossible de fermer `%s': %s\n"
-
-#~ msgid "WARNING: using insecure random number generator!!\n"
-#~ msgstr ""
-#~ "ATTENTION: utilisation d'un générateur de nombres aléatoires peu sûr !!\n"
-
-#~ msgid ""
-#~ "The random number generator is only a kludge to let\n"
-#~ "it run - it is in no way a strong RNG!\n"
-#~ "\n"
-#~ "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Le générateur de nombres aléatoires n'est qu'un artifice visant à "
-#~ "exécuter\n"
-#~ "GnuPG - ce n'est en aucune manière un générateur (RNG) fort!\n"
-#~ "\n"
-#~ "N'UTILISEZ PAS LES DONNÉES GÉNÉRÉES PAR CE PROGRAMME !!\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Please wait, entropy is being gathered. Do some work if it would\n"
-#~ "keep you from getting bored, because it will improve the quality\n"
-#~ "of the entropy.\n"
-#~ msgstr ""
-#~ "Attendez s'il vous plaît que l'entropie soit récupérée. Vous pouvez\n"
-#~ "faire autre chose pour ne pas vous ennuyer, car cela donnera une\n"
-#~ "meilleure qualité à l'entropie.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Not enough random bytes available.  Please do some other work to give\n"
-#~ "the OS a chance to collect more entropy! (Need %d more bytes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Il n'y a pas assez d'octets aléatoires disponibles. Faites autre chose\n"
-#~ "pour que l'OS puisse amasser plus d'entropie ! (il faut %d octets de "
-#~ "plus)\n"
-
-#, fuzzy
-#~ msgid "card reader not available\n"
-#~ msgstr "la clé secrète n'est pas disponible"
-
-#~ msgid "Please insert the card and hit return or enter 'c' to cancel: "
-#~ msgstr "Insérez la carte et tapez entrée ou entrez 'c' pour annuler: "
-
-#~ msgid "Hit return when ready or enter 'c' to cancel: "
-#~ msgstr "Tapez entrée quand vous êtes prêt ou entrez 'c' pour annuler: "
-
-#~ msgid "Enter New Admin PIN: "
-#~ msgstr "Entrez le nouveau code PIN admin: "
-
-#~ msgid "Enter New PIN: "
-#~ msgstr "Entrez le nouveau code PIN: "
-
-#~ msgid "Enter Admin PIN: "
-#~ msgstr "Entrez le code PIN admin: "
-
-#~ msgid "NOTE: %s is not available in this version\n"
-#~ msgstr "NOTE: %s n'est pas disponible dans cette version\n"
-
-#, fuzzy
-#~ msgid "         algorithms on these user IDs:\n"
-#~ msgstr "algorithmes indisponibles sur ces noms d'utilisateurs:\n"
+#~ msgid "no photo viewer set\n"
+#~ msgstr "aucun afficheur de photos n'a été choisi\n"
 
 #~ msgid "general error"
-#~ msgstr "erreur générale"
+#~ msgstr "erreur générale"
 
 #~ msgid "unknown packet type"
 #~ msgstr "type de paquet inconnu"
 
 #~ msgid "unknown pubkey algorithm"
-#~ msgstr "algorithme à clé publique inconnu"
+#~ msgstr "algorithme de clef publique inconnu"
 
 #~ msgid "unknown digest algorithm"
 #~ msgstr "algorithme de hachage inconnu"
 
 #~ msgid "bad public key"
-#~ msgstr "mauvaise clé publique"
+#~ msgstr "mauvaise clef publique"
 
 #~ msgid "bad secret key"
-#~ msgstr "mauvaise clé secrète"
+#~ msgstr "mauvaise clef secrète"
 
 #~ msgid "bad signature"
 #~ msgstr "mauvaise signature"
 
 #~ msgid "checksum error"
-#~ msgstr "somme de contrôle erronée"
+#~ msgstr "erreur de somme de contrôle"
 
 #~ msgid "can't open the keyring"
-#~ msgstr "impossible d'ouvrir le porte-clés"
+#~ msgstr "impossible d'ouvrir le porte-clefs"
 
 #~ msgid "invalid packet"
-#~ msgstr "paquet invalide"
+#~ msgstr "paquet incorrect"
 
 #~ msgid "invalid armor"
-#~ msgstr "armure invalide"
+#~ msgstr "armure incorrecte"
 
 #~ msgid "no such user id"
-#~ msgstr "pas d'utilisateur de ce nom"
-
-#~ msgid "secret key not available"
-#~ msgstr "la clé secrète n'est pas disponible"
+#~ msgstr "cette identité n'existe pas"
 
 #~ msgid "wrong secret key used"
-#~ msgstr "mauvaise clé secrète utilisée"
-
-#~ msgid "not supported"
-#~ msgstr "non supporté"
+#~ msgstr "mauvaise clef secrète utilisée"
 
 #~ msgid "bad key"
-#~ msgstr "mauvaise clé"
+#~ msgstr "mauvaise clef"
 
 #~ msgid "file write error"
-#~ msgstr "erreur d'écriture"
+#~ msgstr "erreur d'écriture de fichier"
+
+#~ msgid "unknown compress algorithm"
+#~ msgstr "algorithme de compression inconnu"
 
 #~ msgid "file open error"
 #~ msgstr "erreur d'ouverture de fichier"
 
 #~ msgid "file create error"
-#~ msgstr "erreur de création de fichier"
+#~ msgstr "erreur de création de fichier"
 
 #~ msgid "invalid passphrase"
-#~ msgstr "phrase de passe invalide"
+#~ msgstr "phrase de passe incorrecte"
 
 #~ msgid "unimplemented pubkey algorithm"
-#~ msgstr "algorithme à clé publique non implanté"
+#~ msgstr "algorithme de clef publique non implémenté"
 
 #~ msgid "unimplemented cipher algorithm"
-#~ msgstr "algorithme de chiffrement non implanté"
+#~ msgstr "algorithme de chiffrement non implémenté"
 
 #~ msgid "unknown signature class"
 #~ msgstr "classe de signature inconnue"
 
 #~ msgid "trust database error"
-#~ msgstr "erreur dans la base de confiance"
+#~ msgstr "erreur de base de confiance"
+
+#~ msgid "bad MPI"
+#~ msgstr "mauvais entier en précision multiple (MPI)"
 
 #~ msgid "resource limit"
 #~ msgstr "limite de ressources atteinte"
 
 #~ msgid "invalid keyring"
-#~ msgstr "porte-clés invalide"
+#~ msgstr "porte-clefs incorrect"
 
 #~ msgid "malformed user id"
-#~ msgstr "nom d'utilisateur malformé"
+#~ msgstr "identité mal définie"
 
 #~ msgid "file close error"
-#~ msgstr "erreur de fermeture de fichier"
+#~ msgstr "erreur de fermeture du fichier"
 
 #~ msgid "file rename error"
-#~ msgstr "erreur pendant le changement de nom du fichier"
+#~ msgstr "erreur de modification du nom du fichier"
 
 #~ msgid "file delete error"
-#~ msgstr "erreur pendant la suppression du fichier"
+#~ msgstr "erreur de suppression du fichier"
 
 #~ msgid "unexpected data"
-#~ msgstr "données inattendues"
+#~ msgstr "données inattendues"
 
 #~ msgid "timestamp conflict"
-#~ msgstr "conflit de dates"
+#~ msgstr "conflit de date"
 
 #~ msgid "unusable pubkey algorithm"
-#~ msgstr "algorithme de clés publiques inutilisable"
+#~ msgstr "algorithme de clef publique inutilisable"
 
 #~ msgid "file exists"
 #~ msgstr "le fichier existe"
 
 #~ msgid "weak key"
-#~ msgstr "clé faible"
+#~ msgstr "clef faible"
 
 #~ msgid "bad URI"
-#~ msgstr "mauvaise adresse (URI)"
+#~ msgstr "mauvais URI"
 
 #~ msgid "unsupported URI"
-#~ msgstr "URI non supportée"
+#~ msgstr "URI non pris en charge"
 
 #~ msgid "network error"
-#~ msgstr "erreur de réseau"
+#~ msgstr "erreur de réseau"
 
 #~ msgid "not processed"
-#~ msgstr "non traité"
+#~ msgstr "non traité"
 
 #~ msgid "unusable public key"
-#~ msgstr "clé publique inutilisable"
+#~ msgstr "clef publique inutilisable"
 
 #~ msgid "unusable secret key"
-#~ msgstr "clé secrète inutilisable"
+#~ msgstr "clef secrète inutilisable"
 
 #~ msgid "keyserver error"
-#~ msgstr "erreur du serveur de clés"
+#~ msgstr "erreur du serveur de clefs"
 
 #~ msgid "no card"
 #~ msgstr "pas de carte"
 
-#, fuzzy
 #~ msgid "no data"
-#~ msgstr "pas de données signées\n"
+#~ msgstr "pas de données"
 
 #~ msgid "ERROR: "
-#~ msgstr "ERREUR: "
+#~ msgstr "Erreur : "
 
 #~ msgid "WARNING: "
-#~ msgstr "AVERTISSEMENT: "
+#~ msgstr "Attention : "
 
 #~ msgid "... this is a bug (%s:%d:%s)\n"
-#~ msgstr "... c'est un bug (%s:%d:%s)\n"
+#~ msgstr "… c'est un bogue (%s : %d : %s)\n"
 
 #~ msgid "WARNING: using insecure memory!\n"
-#~ msgstr "AVERTISSEMENT: l'utilisation de la mémoire n'est pas sûre !\n"
+#~ msgstr "Attention : utilisation de mémoire non sécurisée.\n"
 
-#~ msgid "operation is not possible without initialized secure memory\n"
+# FIXME: s#http://www.gnupg.org/faq.html#http://www.gnupg.org/documentation/faqs.html#
+#~ msgid "please see http://www.gnupg.org/faq.html for more information\n"
 #~ msgstr ""
-#~ "l'opération n'est pas possible tant que la mémoire sûre n'est pas\n"
-#~ "initialisée\n"
-
-#~ msgid "(you may have used the wrong program for this task)\n"
-#~ msgstr "(vous avez peut-être utilisé un programme non adapté à cette fin)\n"
+#~ "veuillez consulter <http://www.gnupg.org/documentation/faqs.fr.html> "
+#~ "pour\n"
+#~ "de plus amples renseignements\n"
 
-#~ msgid ""
-#~ "please see http://www.gnupg.org/why-not-idea.html for more information\n"
+#~ msgid "operation is not possible without initialized secure memory\n"
 #~ msgstr ""
-#~ "voir http://www.gnupg.org/fr/why-not-idea.html pour plus d'informations\n"
+#~ "l'opération n'est pas possible tant que la mémoire sûre n'est pas\n"
+#~ "initialisée\n"
 
-#~ msgid "expired: %s)"
-#~ msgstr "expirée: %s)"
+#~ msgid "(you may have used the wrong program for this task)\n"
+#~ msgstr "(vous avez peut-être utilisé un programme non adapté à cette fin)\n"
index 1cd9f2a..805097a 100644 (file)
Binary files a/po/gl.gmo and b/po/gl.gmo differ
index ad473b3..596e1fd 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,15 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.4\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2003-12-04 11:39+0100\n"
 "Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
+"Language: gl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
@@ -24,21 +25,21 @@ msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -48,164 +49,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "liña longa de máis\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "contrasinal demasiado longo\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Caracter non válido no nome\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI erróneo"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "contrasinal erróneo"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "contrasinal erróneo"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "o algoritmo de protección %d%s non está soportado\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "non se pode crear `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "non se puido abrir `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "non se atopou un chaveiro privado no que se poida escribir: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: fallo ao crear unha táboa hash: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -226,7 +230,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -333,7 +337,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Necesita un contrasinal para protexe-la súa chave secreta.\n"
 "\n"
@@ -343,7 +347,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -354,110 +358,118 @@ msgstr ""
 "Opcións:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "lareto"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "ser un pouquiño máis calado"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "buscar chaves nun servidor de chaves"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "actualiza-la base de datos de confianza"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "non está soportado"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "non está soportado"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
@@ -466,175 +478,176 @@ msgstr ""
 "Por favor, informe dos erros no programa a <gnupg-bugs@gnu.org>,\n"
 "e dos erros na traducción a <proxecto@trasno.net>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: non existe o ficheiro de opcións por defecto `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "ficheiro de opcións `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "lendo as opcións de `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "non se pode crea-lo directorio `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "non foi posible crear %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, fuzzy, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "Revocación de certificado válida"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent non está dispoñible nesta sesión\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "a actualización fallou: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: directorio creado\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "base de datos de confianza: fallou a lectura (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: non foi posible crear un directorio: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "o segredo da actualización fallou: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu chaves omitidas\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent non está dispoñible nesta sesión\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variable de ambiente GPG_AGENT_INFO mal formada\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "a versión %d do protocolo de gpg-agent non está soportada\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -643,7 +656,7 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -655,51 +668,51 @@ msgstr ""
 "Opcións:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "contrasinal erróneo"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Cancelar"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -814,8 +827,8 @@ msgstr "cambia-lo contrasinal"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -855,12 +868,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "%s: usuario non atopado\n"
@@ -893,17 +906,17 @@ msgstr "cancelado polo usuario\n"
 msgid "problem with the agent\n"
 msgstr "problema co axente: o axente voltou coa resposta 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "non é posible deshabilita-los volcados de 'core': %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
@@ -1142,12 +1155,12 @@ msgstr ""
 "Non se atoparon certificados con confianza non definida.\n"
 "\n"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "Certificado correcto"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Chave dispoñible en: "
@@ -1229,7 +1242,7 @@ msgstr "armadura inesperada:"
 msgid "invalid dash escaped line: "
 msgstr "liña escapada cunha barra non válida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "carácter radix64 non válido %02x omitido\n"
@@ -1246,7 +1259,7 @@ msgstr "fin de ficheiro prematura (no CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC mal formado\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Erro de CRC; %06lx - %06lx\n"
@@ -1260,16 +1273,16 @@ msgstr "fin de ficheiro prematura (nas li
 msgid "error in trailer line\n"
 msgstr "error nunha liña adicional\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "non se atoparon datos OpenPGP válidos.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armadura incorrecta: liña máis longa ca %d caracteres\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1305,7 +1318,7 @@ msgstr "AVISO: atop
 msgid "not human readable"
 msgstr "non lexible por humanos"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "a chave secreta non está dispoñible"
@@ -1315,8 +1328,8 @@ msgstr "a chave secreta non est
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "non se pode facer iso no modo por lotes\n"
@@ -1326,224 +1339,224 @@ msgstr "non se pode facer iso no modo por lotes\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Non se admite este comando no modo %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "hai partes da chave secreta non dispoñibles\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "¿A súa selección? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Non se especificou un motivo"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "non procesado"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "non hai unha chave pública correspondente: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferencias actualizadas"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "caracter non válido na cadea de preferencias\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "caracter non válido na cadea de preferencias\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Pegada dactilar:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "A xeración da chave fallou: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "non se atoparon datos OpenPGP válidos.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "redondeado a %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1551,145 +1564,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor, seleccione o tipo de chave que quere:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Selección non válida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Por favor, escolla o motivo da revocación:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "algoritmo de protección descoñecido\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "as partes secretas da chave primaria non están dispoñibles.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "saír deste menú"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "amosar esta axuda"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Chave dispoñible en: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "cambia-la fecha de expiración"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "cambia-la confianza sobre o dono"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "amosar fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "xerar un novo par de chaves"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando incorrecto (tente \"help\")\n"
 
@@ -1697,18 +1710,18 @@ msgstr "Comando incorrecto (tente \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output non traballa con este comando\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "non se puido abrir `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1814,7 +1827,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "forza-la cifra simétrica %s (%d) viola as preferencias do destinatario\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "non se pode empregar %s no modo %s\n"
@@ -1824,77 +1837,77 @@ msgstr "non se pode empregar %s no modo %s\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s cifrado para: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "datos cifrados con %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado cun algoritmo descoñecido %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "AVISO: cifrouse a mensaxe cunha chave feble no cifrado simétrico.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problema ao manexa-lo paquete cifrado\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "non se soporta a execución remota de programas\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "as chamadas a programas externos están desactivadas debido a opcións de "
 "permisos de ficheiros non seguras\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "esta plataforma precisa de ficheiros temporais ao chamar a programas "
 "externos\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "non se puido executar %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "non se puido executar %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "erro do sistema ao chamar a un programa externo: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "saída non natural do programa externo\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "non se puido executar un programa externo\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "non se puido le-la resposta do programa externo: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "AVISO: non se puido elimina-lo directorio temporal `%s': %s\n"
@@ -1996,202 +2009,202 @@ msgstr "erro ao crear `%s': %s\n"
 msgid "No fingerprint"
 msgstr "Pegada dactilar:"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Chave %08lX non válida convertida en válida por --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "non hai unha sub-chave secreta para a sub-chave pública %08lX - ignórase\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "emprégase a chave secundaria %08lX no canto da primaria %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "chave %08lX: chave secreta sen chave pública - omitida\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "facer unha sinatura separada"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[ficheiro]|facer unha sinatura en texto claro"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "facer unha sinatura separada"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "cifrar datos"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "cifrar só con cifrado simétrico"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "descifrar datos (por defecto)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verificar unha sinatura"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "ve-la lista de chaves"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "ve-la lista de chaves e sinaturas"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "verifica-las sinaturas das chaves"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "ve-la lista de chaves e pegadas dactilares"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "ve-la lista de chaves secretas"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "xerar un certificado de revocación"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "borrar chaves do chaveiro público"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "borrar chaves do chaveiro secreto"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "asinar unha chave"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "asinar unha chave localmente"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "asinar ou editar unha chave"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportar chaves"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportar chaves a un servidor de chaves"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importar chaves dun servidor de chaves"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "buscar chaves nun servidor de chaves"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "actualizar tódalas chaves dun servidor de chaves"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importar/mesturar chaves"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "actualiza-la base de datos de confianza"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [ficheiros]|visualizar resumos de mensaxes"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "crear saída con armadura en ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|cifrar para NOME"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "empregar este id de usuario para asinar ou descifrar"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|axusta-lo nivel de compresión a N (0 desactiva)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usar modo de texto canónico"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "non facer ningún cambio"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "avisar antes de sobrescribir"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2199,7 +2212,7 @@ msgstr ""
 "@\n"
 "(Vexa a páxina man para un listado completo de comandos e opcións)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2219,21 +2232,26 @@ msgstr ""
 " --list-keys [nomes]        amosa-las chaves\n"
 " --fingerprint [nomes]      amosa-las pegadas dactilares\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opcións] [ficheiros]\n"
 "asinar, verificar, cifrar ou descifrar\n"
 "a operación por defecto depende dos datos de entrada\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2241,565 +2259,565 @@ msgstr ""
 "\n"
 "Algoritmos soportados:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Pública: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cifra: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compresión: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opcións] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "non se atopou un signo = na definición do grupo \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr " creouse un novo ficheiro de configuración `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "amosar en que chaveiro está unha chave listada"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTA: ignórase o antigo ficheiro de opcións por defecto `%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: ¡%s non é para uso normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opcións de importación non válidas\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opcións de importación non válidas\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "non se puido estabrecer exec-path a %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVISO: ¡o programa pode crear un ficheiro 'core'!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s fai que se ignore %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "¡%s non se admite con %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "¡%s non ten sentido empregándoo con %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "só pode crear sinaturas separadas ou en claro no modo --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "non pode asinar e cifrar ao mesmo tempo no modo --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "debe empregar ficheiros (e non canalizacións) ao traballar con --pgp2 "
 "activado.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "para cifrar unha mensaxe en modo --pgp2 precísase da cifra IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "o algoritmo de cifrado seleccionado non é válido\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "o algoritmo de resumo seleccionado non é válido\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "o algoritmo de cifrado seleccionado non é válido\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "o algoritmo de resumo de certificación seleccionado non é válido\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed debe ser superior a 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed debe ser superior a 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth debe valer entre 1 e 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 #, fuzzy
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nivel de comprobación por defecto non válido; debe ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 #, fuzzy
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nivel de comprobación por defecto non válido; debe ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: desaconséllase encarecidamente o modo S2K simple (0)\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K non válido; debe ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferencias por defecto non válidas\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferencias de cifrado personais non válidas\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferencias de resumo personais non válidas\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferencias de compresión personais non válidas\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "¡%s aínda non traballa con %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "non se pode empregar o algoritmo de cifrado \"%s\" no modo %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "non se pode empregar o algoritmo de resumo \"%s\" no modo %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "non se pode empregar o algoritmo de compresión \"%s\" no modo %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVISO: deronse destinatarios (-r) sen empregar cifrado de chave pública\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [ficheiro]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [ficheiro]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "o descifrado fallou: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [ficheiro]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [ficheiro]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "non se pode empregar %s no modo %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [ficheiro]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [ficheiro]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [ficheiro]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "non se pode empregar %s no modo %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [ficheiro]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [ficheiro]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [ficheiro]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-de-usuario"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-de-usuario"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-de-usuario [comandos]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id-de-usuario"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "o envío ao servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "a recepción do servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "a exportación da chave fallou: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "a busca no servidor de chaves fallou fallou: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "a actualización no servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "non se puido quita-la armadura: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "non se puido poñe-la armadura: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo de hash non válido `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[ficheiro]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Escriba a súa mensaxe ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "o URL de normativa de certificación dado non é válido\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
@@ -2839,488 +2857,502 @@ msgstr "Non hai axuda dispo
 msgid "No help available for `%s'"
 msgstr "Non hai axuda dispoñible para `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "actualiza-la base de datos de confianza"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "¡a chave pública con coincide coa chave secreta!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "chave secreta non utilizable"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "pasando por alto un bloque de tipo %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chaves procesadas hasta polo momento\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Número total procesado: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "novas chaves omitidas: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "   sin IDs de usuario: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "           importadas: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          sin cambios: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr " novos IDs de usuario: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "     novas sub-chaves: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "         novas sinaturas: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr " novas revocacións de chaves: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "chaves secretas lidas: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "chaves secretas importadas: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "chaves secretas sin cambios: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "       non importadas: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         novas sinaturas: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "chaves secretas lidas: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chave %08lX: non hai ID de usuario\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "omítese `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chave %08lX: arranxouse a corrupción da sub-chave HKP\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chave %08lX: aceptouse o ID de usuario '%s' sen auto-sinatura\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chave %08lX: non hai IDs de usuario válidos\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "isto pode ser causado por unha auto-sinatura que falta\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chave %08lX: chave pública non atopada: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chave %08lX: nova chave - omitida\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "non se atopou un chaveiro no que se poida escribir: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "escribindo a `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chave %08lX: chave pública \"%s\" importada\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chave %08lX: non coincide coa nosa copia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr ""
 "chave %08lX: non foi posible localiza-lo bloque de chaves original:\n"
 "%s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr ""
 "chave %08lX: non foi posible le-lo bloque de chaves original:\n"
 "%s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chave %08lX: \"%s\" 1 novo ID de usuario\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chave %08lX: \"%s\" 1 nova sinatura\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chave %08lX: \"%s\" 1 nova sub-chave\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chave %08lX: \"%s\" %d novas sub-chaves\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chave %08lX: \"%s\" sen cambios\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "chave %08lX: chave secreta cunha cifra %d non válida - omitida\n"
+msgid "secret key %s: %s\n"
+msgstr "non se atopou a chave secreta `%s': %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "chave %08lX: chave secreta cunha cifra %d non válida - omitida\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "non hai un chaveiro privado por defecto: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chave %08lX: chave secreta importada\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "chave %08lX: xa estaba no chaveiro secreto\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "chave %08lX: chave secreta non atopada: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chave %08lX: non hai chave pública - non se pode aplica-lo\n"
 "certificado de revocación\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 "chave %08lX: certificado de revocación incorrecto:\n"
 "%s - rechazado\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chave %08lX: \"%s\" certificado de revocación importado\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chave %08lX: non hai ID de usuario para a sinatura\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: algoritmo de chave pública non soportado no ID de usuario \"%s"
 "\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: auto-sinatura non válida no identificadr de usuario \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chave %08lX: algoritmo de chave pública non soportado\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chave %08lX: engadiuse unha sinatura de chave directa\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chave %08lX: non hai sub-chave para a ligazón da chave\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chave %08lX: ligazón de sub-chave incorrecta\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chave %08lX: eliminouse unha ligazón de sub-chave múltiple\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chave %08lX: non hai unha sub-chave para a revocación da chave\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chave %08lX: revocación de sub-chave non válida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chave %08lX: eliminouse a revocación de sub-chaves múltiples\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chave %08lX: omitido o ID de usuario '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chave %08lX: omitida a sub-chave\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chave %08lX: sinatura non exportable (clase %02x) - omitida\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revocación no lugar erróneo - omitido\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chave %08lX: certificado de revocación incorrecto: %s - omitido\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chave %08lX: sinatura da sub-chave nun lugar incorrecto - omitida\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chave %08lX: clase de sinatura non esperada (0x%02X) - omitida\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chave %08lX: ID de usuario duplicado detectado - mesturado\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"AVISO: a chave %08lX pode estar revocada: obtendo a chave de revocación %"
-"08lX\n"
+"AVISO: a chave %08lX pode estar revocada: obtendo a chave de revocación "
+"%08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: chave de revocación %08lX "
 "ausente.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chave %08lX: \"%s\" certificado de revocación engadido\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chave %08lX: engadiuse unha sinatura de chave directa\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "¡a chave pública con coincide coa chave secreta!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "chaveiro `%s' creado\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "fallo ao reconstruí-la caché de chaveiros: %s\n"
@@ -3408,12 +3440,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "O ID de usuario \"%s\" está revocado."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "¿Está seguro de que quere asinalo? (s/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr " Non se puido asinar.\n"
 
@@ -3623,8 +3655,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "¿Asinar de verdade? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "fallou a sinatura: %s\n"
@@ -3633,20 +3665,20 @@ msgstr "fallou a sinatura: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Esta chave non está protexida.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "as partes secretas da chave primaria non están dispoñibles.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "as partes secretas da chave primaria non están dispoñibles.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "A chave está protexida.\n"
 
@@ -3663,7 +3695,7 @@ msgstr ""
 "Introduza o novo contrasinal para esta chave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "o contrasinal non se repetiu correctamente; ténteo de novo"
 
@@ -3863,24 +3895,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "erro ao le-lo bloque de chave secreta `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "A chave secreta está disponible.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Cómpre a chave secreta para facer isto.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Por favor, empregue o comando \"toggle\" antes.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3888,244 +3920,244 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "A chave está revocada."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "¿Seguro de que quere asinar tódolos IDs de usuario? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Pista: seleccione os IDs de usuario que desexa asinar\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "clase de sinatura descoñecida"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Non se admite este comando no modo %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Debe seleccionar alomenos un ID de usuario.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "¡Non pode borra-lo último ID de usuario!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "¿Seguro de que quere borrar tódolos IDs de usuario seleccionados? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "¿Seguro de que quere borrar este ID de usuario? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "¿Seguro de que quere borrar este ID de usuario? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Debe seleccionar alomenos unha chave.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "non se puido abrir `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Debe seleccionar alomenos unha chave.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "¿Seguro de que quere borra-las chaves seleccionadas? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "¿Seguro de que quere borrar esta chave? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "¿Seguro de que quere revocar tódolos IDs de usuario seleccionados? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "¿Seguro de que quere revocar este ID de usuario? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "¿Realmente quere revocar esta chave? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "¿Realmente quere revoca-las chaves seleccionadas? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "¿Realmente quere revocar esta chave? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "estabrece-la lista de preferencias"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "¿Realmente desexa actualiza-las preferencias? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "¿Garda-los cambios? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "¿Saír sin gardar? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "a actualización fallou: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "o segredo da actualización fallou: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "A chave non cambiou, polo que non fai falla actualizar.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Resumo: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notación: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Non hai preferencias nun ID de usuario estilo PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Esta chave pode estar revocada por %s chave "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta chave pode estar revocada por %s chave "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensible)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "non foi posible crear %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revocada] "
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " confianza: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confianza: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Esta chave está desactivada"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4133,19 +4165,19 @@ msgstr ""
 "Teña en conta que a validez da chave amosada non é necesariamente\n"
 "correcta a menos que reinicie o programa.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[revocada] "
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4153,7 +4185,7 @@ msgstr ""
 "AVISO: non se marcou ningún ID de usuario coma primario. Esta orde pode\n"
 "              facer que un ID de usuario diferente se converta no primario.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4162,77 +4194,77 @@ msgstr ""
 "AVISO: Esta é unha chave de estilo PGP2. Se engade unha identificación\n"
 "       fotográfica algunhas versións de PGP han rexeitar esta chave.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "¿Está seguro de que quere engadila? (s/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Non pode engadir unha identificación fotográfica a unha chave de estilo "
 "PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura correcta? (s/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura incorrecta? (s/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura descoñecida? (s/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "¿Realmente quere borrar esta auto-sinatura? (s/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Borrada %d sinatura.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Borradas %d sinaturas.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Non se borrou nada.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "armadura non válida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4242,283 +4274,283 @@ msgstr ""
 "designado\n"
 "       pode facer que algunhas versións de PGP rexeiten esta chave.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Non pode engadir un revocador designado a unha chave de estilo PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduza o ID de usuario do revocador designado: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "non se pode nomear unha chave estilo PGP 2.x coma revocador designado\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "non se pode nomear unha chave coma o seu propio revocador designado\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVISO: ¡Esta chave está revocada polo propietario!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVISO: ¡o nomeamento dunha chave coma o seu propio revocador designado non "
 "se pode desfacer!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "¿Está seguro de que quere nomear esta chave coma revocador designado? (s/N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Por favor, quite as seleccións das chaves secretas.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Por favor, seleccione como máximo unha chave secundaria.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Cambiando a data de expiración para a chave secundaria.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambiando a data de expiración da chave primaria.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Non pode cambia-la data de expiración dunha chave v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVISO: ¡o nomeamento dunha chave coma o seu propio revocador designado non "
 "se pode desfacer!\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Escolla exactamente un ID de usuario.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "omitindo a auto-sinatura v3 do id de usuario \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "¿Está seguro de que quere empregala (s/N)? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "¿Está seguro de que quere empregala (s/N)? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notación de sinaturas: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "¿Sobrescribir? (s/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de usuario: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   asinada por %08lX no %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (non exportable)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta sinatura caducou o %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "¿Está seguro de que quere revocala? (s/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "¿Crear un certificado de revocación para esta sinatura? (s/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   asinada por %08lX no %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Asinou estes IDs de usuario: \n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (non exportable)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revocada por %08lX no %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Está a punto de revocar estas sinaturas:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "¿Realmente desexa crea-los certificados de revocación? (s/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "non hai chave secreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVISO: unha sinatura de ID de usuario ten unha data %d segundos no futuro\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "Amosando a id. fotográfica %s de tamaño %ld da chave 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferencia %c%lu duplicada\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "demasiadas preferencias `%c'\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "demasiadas preferencias `%c'\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "demasiadas preferencias `%c'\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "caracter non válido na cadea de preferencias\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "escribindo unha sinatura directa\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "escribindo a propia sinatura\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "escribindo unha sinatura que liga a chave\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "tamaño de chave non válido; empregando %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "tamaño de chave redondeado a %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "cifrar datos"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4532,104 +4564,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (só cifrar)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor, seleccione o tipo de chave que quere:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA e ElGamal (por defecto)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA e ElGamal (por defecto)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (só asinar)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (só asinar)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (só cifrar)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "O tamaño de chave requerido son %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4645,7 +4677,7 @@ msgstr ""
 "      <n>m = a chave caduca en n meses\n"
 "      <n>y = a chave caduca en n anos\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4661,40 +4693,40 @@ msgstr ""
 "      <n>m = a sinatura caduca en n meses\n"
 "      <n>y = a sinatura caduca en n anos\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "¿Por canto tempo é válida a chave? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "¿Por canto tempo é válida a sinatura? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valor non válido\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s non caduca nunca\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s non caduca nunca\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s caduca o %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "A sinatura caduca o %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4702,12 +4734,12 @@ msgstr ""
 "O seu sistema non pode amosar datas máis aló do 2038.\n"
 "Aínda así, hase tratar correctamente ata o 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "¿Isto é correcto? (s/n) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4718,7 +4750,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4735,44 +4767,44 @@ msgstr ""
 "     \"Heinrich Heime (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nome: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Caracter non válido no nome\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "O nome non pode comezar cun díxito\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "O nome debe ter alomenos 5 caracteres\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Enderezo de E-mail: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Non é un enderezo de e-mail válido\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentario: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Carácter non válido no comentario\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Está a usa-lo xogo de caracteres `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4783,12 +4815,12 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Por favor, non poña o enderezo de correo no nome real ou no comentario\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4803,23 +4835,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeAaSs"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "¿Cambia-lo (N)ome, (C)omentario, (E)-mail ou (S)aír? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "¿Cambiar (N)ome, (C)omentario, (E)-mail ou (A)ceptar/(S)aír? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Por favor, corrixa antes o erro\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4827,19 +4859,19 @@ msgstr ""
 "Necesita un contrasinal para protexe-la súa chave secreta.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4851,7 +4883,7 @@ msgstr ""
 "momento, empregando este programa coa opción \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4863,50 +4895,50 @@ msgstr ""
 "mentres se xeran os números primos; isto proporciónalle ao xerador de\n"
 "números aleatorios unha opoertunidade de acumular entropía de abondo.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Cancelouse a xeración de chaves.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "gravando a chave pública en `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "non se atopou un chaveiro público no que se poida escribir: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "non se atopou un chaveiro privado no que se poida escribir: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "erro escribindo no chaveiro público `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "creáronse e asináronse as chaves pública e secreta.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4916,12 +4948,12 @@ msgstr ""
 "queira emprega-lo comando \"--edit-key\" para xerar unha chave secundaria\n"
 "con esa finalidade.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "A xeración da chave fallou: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4929,7 +4961,7 @@ msgstr ""
 "creouse a chave %lu segundo no futuro (salto no tempo ou problemas co "
 "reloxo)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4937,26 +4969,26 @@ msgstr ""
 "creouse a chave %lu segundos no futuro (salto no tempo ou problemas co "
 "reloxo)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTA: a creación de subchaves para chaves v3 non cumpre OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "¿Crear realmente? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "non se pode crear `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTA: a chave secreta %08lX caducou o %s\n"
@@ -4989,30 +5021,30 @@ msgstr "Notaci
 msgid "Keyring"
 msgstr "Chaveiro"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Pegada dactilar da chave primaria:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Pegada dactilar da sub-chave:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "Pegada dactilar da chave primaria:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "     Pegada dactilar da sub-chave:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Pegada dactilar ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5093,468 +5125,468 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "AVISO: as opcións de `%s' aínda non están activas nesta execución\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "asinado coa súa chave %08lX no %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 "non hai un servidor de chaves coñecido (empregue a opción --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "erro do servidor de chaves"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "erro do servidor de chaves"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "a recepción do servidor de chaves fallou: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: non é un ID de chave válido\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "tamaño moi estraño para unha chave de sesión cifrada (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "chave de sesión cifrada con %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "cifrado cun algoritmo descoñecido %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "a chave pública é %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "datos cifrados coa chave pública: DEK correcto\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado cunha chave de %u bits, %s, ID %08lX, creado o %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "               alias \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado cunha chave %s, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "fallou o descifrado de chave pública: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifrado con %lu contrasinais\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifrado con 1 contrasinal\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "supoñendo datos cifrados con %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "A cifra IDEA non está dispoñible, téntase empregar %s no seu canto\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "descifrado correcto\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVISO: a mensaxe non tiña protección de integridade\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVISO: ¡a mensaxe cifrada foi manipulada!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "o descifrado fallou: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: o remitente pediu \"confidencial\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome do ficheiro orixinal='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocación independente - empregue \"gpg --import\" para aplicar\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Sinatura correcta de \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verificación de sinatura suprimida\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "non se poden manexar estas sinaturas múltiples\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "               alias \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Sinatura feita o %.*s usando %s coa chave de ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Chave dispoñible en: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Sinatura INCORRECTA de\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Sinatura caducada de \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Sinatura correcta de \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[incerto]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "               alias \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "A sinatura caduca o %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binario"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "modo texto"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "descoñecido"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Non foi posible verifica-la sinatura: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "non é unha sinatura separada\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVISO: detectáronse sinaturas múltiples. Só se ha comproba-la primeira.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "sinatura independiente de clase 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Sinatura ó vello estilo (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "paquete raíz incorrecto detectado en proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr ""
 "a actualización da base de datos de confianza fallou:\n"
 "%s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "base de datos de confianza: fallou a lectura (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "non é posible manexa-lo algoritmo de chave pública %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "forza-lo algoritmo de resumo %s (%d) viola as preferencias do destinatario\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "algoritmo de cifrado non implementado"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "forza-lo algoritmo de resumo %s (%d) viola as preferencias do destinatario\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "o plugin de cifra IDEA non está presente\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = amosar máis información\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: opción a extinguir \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "empregue \"%s%s\" no seu canto\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Sen comprimir"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Sen comprimir"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "esta mensaxe pode non ser utilizable por %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "lendo as opcións de `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "destinatario por defecto `%s' descoñecido\n"
@@ -5597,17 +5629,17 @@ msgstr " creouse un novo ficheiro de configuraci
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "AVISO: as opcións de `%s' aínda non están activas nesta execución\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "non é posible manexa-lo algoritmo de chave pública %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "AVISO: chave de sesión cifrada simetricamente potencialmente insegura\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "un subpaquete de tipo %d ten o bit crítico posto\n"
@@ -5663,7 +5695,7 @@ msgstr "%u-bits, chave %s, ID %08lX, creada %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5677,35 +5709,35 @@ msgstr ""
 "pública. Se emprega unha imaxe moi grande, a súa chave tamén se ha volver\n"
 "moi grande. Un bo tamaño para empregar é un semellante a 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Introduza o nome do ficheiro JPEG: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "non se puido abrir un ficheiro: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "¿Está seguro de que quere empregala (s/N)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" non é un ficheiro JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "¿É esta foto correcta (s/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "¡non se pode amosa-la identificación fotográfica!\n"
 
@@ -5737,6 +5769,16 @@ msgstr "motivo para a revocaci
 msgid "revocation comment: "
 msgstr "comentario de revocación: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMsSoO"
@@ -5931,25 +5973,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "       Non é seguro que a sinatura pertenza ao seu propietario.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: omitido: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: omitido: a chave pública xa está presente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Non especificou un ID de usuario. (pode empregar \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5957,43 +5999,43 @@ msgstr ""
 "\n"
 "Introduza o ID de usuario. Remate cunha liña en branco: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Non hai tal ID de usuario.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 "omitido: a chave pública xa está estabrecida coma destinatario por defecto\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "A chave pública está desactivada.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "omitido: chave pública xa estabrecida\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "destinatario por defecto `%s' descoñecido\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: omitido: a chave pública está desactivada\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "non hai enderezos válidos\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "chave %08lX: non hai ID de usuario\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "chave %08lX: non hai ID de usuario\n"
@@ -6290,21 +6332,27 @@ msgstr "NOTA: a chave de sinatura %08lX caducou o %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTA: a chave está revocada"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "Sinatura %s, algoritmo de resumo %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "asumindo unha sinatura incorrecta da chave %08lX debido a un bit crítico "
 "descoñecido\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 "chave %08lX: non hai unha sub-chave para o paquete de a revocación de "
 "subchave\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "chave %08lX: non hai sub-chave para a sinatura da ligazón da chave\n"
@@ -6392,7 +6440,7 @@ msgstr ""
 "omítese `%s': ¡esta é unha chave ElGamal xerada por PGP que non é segura "
 "para sinaturas!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "rexistro de confianza %lu, tipo %d: fallou a escritura: %s\n"
@@ -6440,17 +6488,17 @@ msgstr "erro ao buscar un rexistro de confianza: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "erro de lectura: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de datos de confianza: fallou a sincronización: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "rexistro da base de datos de confianza %lu: lseek fallou: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -6460,117 +6508,117 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr "transacción da base de datos de confianza demasiado grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "non se pode pechar `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: ¡o directorio non existe!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "non se pode crear `%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "non se puido abrir `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: non se puido crea-lo rexistro de versión: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: creouse unha base de datos de confianza incorrecta\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: creouse a base de datos de confianza\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTA: non se pode escribir na base de datos de confianza\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: base de datos de confianza non válida\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: fallo ao crear unha táboa hash: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: erro ao actualiza-lo rexistro de versión: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: erro ao le-lo rexistro de versión: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: erro ao escribi-lo rexistro de versión: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de datos de confianza: lseek fallou: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "base de datos de confianza: fallou a lectura (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: non é un ficheiro de base de datos de confianza\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: rexistro de versión con número de rexistro %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versión do ficheiro incorrecta %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: erro ao ler un rexistro libre: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: erro ao escribi-lo rexistro de directorios: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: non se puido pór a cero un rexistro: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: non se puido engadir un rexistro: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: creouse a base de datos de confianza\n"
@@ -6585,174 +6633,182 @@ msgstr "non 
 msgid "input line longer than %d characters\n"
 msgstr "a liña de entrada contén máis de %d caracteres\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' non é un ID longo de chave válido\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "chave %08lX: aceptada como chave de confianza\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "a chave %08lX aparece máis dunha vez na base de datos de confianza\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "chave %08lX: non hai unha chave pública para a chave de confianza - omitida\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "chave marcada coma de confianza absoluta.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "rexistro de confianza %lu, tipo da petición %d: fallou a lectura: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "o rexistro de confianza %lu non é do tipo %d solicitado\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revocada] "
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[caducada ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "descoñecido"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "nunca     "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "non se precisa comproba-la base de datos de confianza\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "hase comproba-la base de datos de confianza o %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "non se precisa comproba-la base de datos de confianza\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "non se precisa comproba-la base de datos de confianza\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "non se atopou a chave pública %08lX: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "por favor, execute con --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "comprobando a base de datos de confianza\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "procesáronse %d chaves (marcáronse %d contas de validez)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "non se atoparon chaves de confianza absoluta\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "non se atopou a chave pública da clave de confianza absoluta %08lX\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "rexistro de confianza %lu, tipo %d: fallou a escritura: %s\n"
@@ -6778,77 +6834,77 @@ msgstr ""
 msgid "can't open fd %d: %s\n"
 msgstr "non se puido abrir `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "erro de lectura de ficheiro"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "liña longa de máis\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argumento non válido"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "comandos conflictivos\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opcións de importación non válidas\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "non procesado"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opcións de importación non válidas\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Comando incorrecto (tente \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "non procesado"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opcións de importación non válidas\n"
@@ -6858,22 +6914,17 @@ msgstr "opci
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "atopou un erro ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "erro lendo `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "non se puido abrir un ficheiro: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "non se puido poñe-la armadura: %s\n"
@@ -6930,24 +6981,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6996,208 +7048,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "fallo ao reconstruí-la caché de chaveiros: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "o envío ao servidor de chaves fallou: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Por favor, escolla o motivo da revocación:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "cambia-lo contrasinal"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "cambia-lo contrasinal"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "erro ao le-lo bloque de chaves: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: erro ao ler un rexistro libre: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' xa está comprimido\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "xerar un novo par de chaves"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "xerar un novo par de chaves"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "A xeración da chave fallou: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "non se atoparon datos OpenPGP válidos.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "cambia-lo contrasinal"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7207,72 +7273,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "Introduza o ID de usuario: "
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "non usa-la terminal en absoluto"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandos conflictivos\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7311,11 +7381,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "axuda"
@@ -7347,220 +7417,221 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "NOTA: a chave está revocada"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "fallou a comprobación da sinatura creada: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, fuzzy, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "problema de lectura do certificado: %s\n"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 #, fuzzy
 msgid "certificate not yet valid"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 #, fuzzy
 msgid "intermediate certificate not yet valid"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "problema de lectura do certificado: %s\n"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "problema de lectura do certificado: %s\n"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "problema de lectura do certificado: %s\n"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "problema de lectura do certificado: %s\n"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "         novas sinaturas: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Creouse o certificado de revocación.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "Pegada dactilar:"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 #, fuzzy
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 "Non se atoparon certificados con confianza non definida.\n"
 "\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "Certificado correcto"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 #, fuzzy
 msgid "root certificate is not marked trusted"
 msgstr ""
 "Non se atoparon certificados con confianza non definida.\n"
 "\n"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "fallou a comprobación da sinatura creada: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 #, fuzzy
 msgid "issuer certificate not found"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verificar unha sinatura"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "Revocación de certificado válida"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "certificado duplicado - borrado"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr ""
 "Non se atoparon certificados con confianza non definida.\n"
 "\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7625,19 +7696,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7847,7 +7918,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erro ao le-lo bloque de chaves: %s\n"
@@ -7984,7 +8055,7 @@ msgstr "engadir este chaveiro 
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|empregar este servidor de chaves para buscar chaves"
@@ -8006,8 +8077,8 @@ msgstr "Uso: gpg [opci
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opcións] [ficheiros]\n"
 "asinar, verificar, cifrar ou descifrar\n"
@@ -8043,26 +8114,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " o = omitir esta chave\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "escribindo a `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "non se pode pechar `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8080,12 +8151,7 @@ msgstr "Certificado correcto"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -8100,46 +8166,42 @@ msgstr "erro ao crea-lo contrasinal: %s\n"
 msgid "error reading input: %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "chaveiro `%s' creado\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problema ao comproba-la revocación: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "erro lendo `%s': %s\n"
@@ -8327,150 +8389,150 @@ msgstr "erro ao enviar a `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 #, fuzzy
 msgid "Options useful for debugging"
 msgstr "habilitar depuración total"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|emprega-lo modo de contrasinal N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|cifrar para NOME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOME|emprega-lo algoritmo de cifrado NOME para os contrasinais"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8733,6 +8795,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "erro lendo `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Comando> "
 
@@ -9286,9 +9356,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "empregouse unha chave secreta errónea"
 
-#~ msgid "not supported"
-#~ msgstr "non está soportado"
-
 #~ msgid "bad key"
 #~ msgstr "chave incorrecta"
 
@@ -9961,8 +10028,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "comprobando con profundidade %d asinadas=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%"
-#~ "d/%d\n"
+#~ "comprobando con profundidade %d asinadas=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/"
+#~ "%d/%d\n"
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
index ae577bd..f4136a4 100644 (file)
@@ -6,18 +6,19 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.0.19\n"
+"Project-Id-Version: GNU gnupg 2.0.26\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr ""
@@ -27,21 +28,21 @@ msgstr ""
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -51,156 +52,159 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr ""
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr ""
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr ""
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr ""
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr ""
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr ""
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr ""
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr ""
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -220,7 +224,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -319,293 +323,298 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr ""
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
 " "
 msgstr ""
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr ""
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr ""
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr ""
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr ""
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr ""
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
 msgstr ""
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr ""
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr ""
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
 " "
 msgstr ""
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -614,45 +623,45 @@ msgid ""
 " "
 msgstr ""
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr ""
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr ""
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr ""
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr ""
@@ -765,8 +774,8 @@ msgstr ""
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr ""
@@ -806,12 +815,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr ""
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr ""
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr ""
 
@@ -840,17 +849,17 @@ msgstr ""
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr ""
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr ""
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr ""
@@ -1065,11 +1074,11 @@ msgstr ""
 msgid "Root certificate trustworthy"
 msgstr ""
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr ""
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr ""
 
@@ -1143,7 +1152,7 @@ msgstr ""
 msgid "invalid dash escaped line: "
 msgstr ""
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr ""
@@ -1160,7 +1169,7 @@ msgstr ""
 msgid "malformed CRC\n"
 msgstr ""
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr ""
@@ -1173,16 +1182,16 @@ msgstr ""
 msgid "error in trailer line\n"
 msgstr ""
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr ""
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr ""
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1213,7 +1222,7 @@ msgstr ""
 msgid "not human readable"
 msgstr ""
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr ""
@@ -1223,8 +1232,8 @@ msgstr ""
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr ""
 
@@ -1232,210 +1241,210 @@ msgstr ""
 msgid "This command is only available for version 2 cards\n"
 msgstr ""
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr ""
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr ""
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr ""
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr ""
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr ""
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr ""
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr ""
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr ""
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr ""
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr ""
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr ""
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr ""
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr ""
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr ""
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr ""
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr ""
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1443,129 +1452,129 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr ""
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr ""
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr ""
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr ""
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr ""
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr ""
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr ""
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr ""
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr ""
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr ""
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr ""
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr ""
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr ""
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr ""
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr ""
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr ""
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr ""
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr ""
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr ""
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr ""
 
@@ -1573,18 +1582,18 @@ msgstr ""
 msgid "--output doesn't work for this command\n"
 msgstr ""
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr ""
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr ""
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1680,7 +1689,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr ""
@@ -1690,72 +1699,72 @@ msgstr ""
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr ""
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr ""
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr ""
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr ""
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr ""
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr ""
@@ -1847,197 +1856,197 @@ msgstr ""
 msgid "No fingerprint"
 msgstr ""
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr ""
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr ""
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr ""
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr ""
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr ""
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr ""
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr ""
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr ""
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr ""
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr ""
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr ""
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr ""
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr ""
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr ""
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr ""
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr ""
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr ""
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr ""
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr ""
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr ""
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr ""
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr ""
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr ""
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr ""
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr ""
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr ""
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr ""
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr ""
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr ""
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr ""
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr ""
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr ""
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr ""
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr ""
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2049,560 +2058,560 @@ msgid ""
 " --fingerprint [names]      show fingerprints\n"
 msgstr ""
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr ""
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
 msgstr ""
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr ""
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr ""
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr ""
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr ""
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr ""
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr ""
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr ""
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr ""
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr ""
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr ""
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr ""
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr ""
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr ""
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr ""
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr ""
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr ""
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr ""
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr ""
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr ""
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr ""
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr ""
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr ""
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr ""
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr ""
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr ""
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr ""
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr ""
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr ""
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr ""
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr ""
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr ""
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr ""
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr ""
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr ""
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr ""
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr ""
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr ""
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr ""
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr ""
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr ""
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr ""
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr ""
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr ""
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr ""
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr ""
 
@@ -2637,466 +2646,480 @@ msgstr ""
 msgid "No help available for `%s'"
 msgstr ""
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr ""
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr ""
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr ""
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr ""
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr ""
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr ""
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr ""
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr ""
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr ""
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr ""
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr ""
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr ""
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr ""
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr ""
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, c-format
+msgid "key %s: %s\n"
+msgstr ""
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr ""
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr ""
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr ""
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr ""
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr ""
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr ""
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr ""
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr ""
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr ""
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr ""
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr ""
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr ""
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr ""
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr ""
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr ""
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr ""
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr ""
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr ""
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr ""
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr ""
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr ""
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr ""
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr ""
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgid "secret key %s: %s\n"
 msgstr ""
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr ""
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr ""
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr ""
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr ""
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr ""
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr ""
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr ""
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr ""
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr ""
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr ""
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr ""
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr ""
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr ""
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr ""
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr ""
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr ""
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr ""
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr ""
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr ""
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr ""
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr ""
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr ""
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr ""
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr ""
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr ""
@@ -3180,12 +3203,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr ""
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr ""
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -3357,8 +3380,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr ""
@@ -3367,19 +3390,19 @@ msgstr ""
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr ""
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr ""
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr ""
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr ""
 
@@ -3394,7 +3417,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr ""
 
@@ -3564,24 +3587,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr ""
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr ""
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr ""
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3589,578 +3612,578 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr ""
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr ""
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr ""
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr ""
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr ""
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr ""
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr ""
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr ""
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr ""
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr ""
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr ""
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr ""
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr ""
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr ""
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr ""
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr ""
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr ""
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr ""
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr ""
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr ""
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr ""
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr ""
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr ""
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr ""
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr ""
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr ""
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr ""
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr ""
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr ""
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr ""
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr ""
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr ""
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr ""
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr ""
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr ""
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr ""
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr ""
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr ""
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr ""
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr ""
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr ""
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr ""
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr ""
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr ""
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr ""
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr ""
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr ""
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr ""
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr ""
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr ""
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4174,104 +4197,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr ""
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr ""
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr ""
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr ""
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr ""
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr ""
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr ""
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr ""
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr ""
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr ""
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr ""
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr ""
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr ""
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4281,7 +4304,7 @@ msgid ""
 "      <n>y = key expires in n years\n"
 msgstr ""
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4291,48 +4314,48 @@ msgid ""
 "      <n>y = signature expires in n years\n"
 msgstr ""
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr ""
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr ""
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr ""
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr ""
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr ""
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr ""
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr ""
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr ""
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4343,7 +4366,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4353,44 +4376,44 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr ""
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr ""
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr ""
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr ""
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr ""
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr ""
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr ""
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr ""
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr ""
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4398,11 +4421,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4417,40 +4440,40 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr ""
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr ""
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr ""
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr ""
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr ""
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4458,7 +4481,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4466,91 +4489,91 @@ msgid ""
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr ""
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr ""
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr ""
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr ""
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr ""
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr ""
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
 msgstr ""
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr ""
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr ""
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr ""
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr ""
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr ""
@@ -4583,29 +4606,29 @@ msgstr ""
 msgid "Keyring"
 msgstr ""
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr ""
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr ""
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr ""
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -4685,451 +4708,451 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr ""
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr ""
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr ""
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr ""
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr ""
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr ""
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr ""
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr ""
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr ""
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr ""
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr ""
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr ""
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr ""
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr ""
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr ""
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr ""
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr ""
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr ""
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr ""
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr ""
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr ""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr ""
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr ""
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr ""
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr ""
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr ""
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr ""
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr ""
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr ""
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr ""
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr ""
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr ""
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr ""
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr ""
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr ""
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr ""
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr ""
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr ""
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr ""
@@ -5171,16 +5194,16 @@ msgstr ""
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr ""
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr ""
@@ -5230,7 +5253,7 @@ msgstr ""
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5239,34 +5262,34 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr ""
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr ""
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr ""
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr ""
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr ""
 
@@ -5298,6 +5321,16 @@ msgstr ""
 msgid "revocation comment: "
 msgstr ""
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr ""
@@ -5467,66 +5500,66 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr ""
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr ""
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr ""
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr ""
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr ""
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr ""
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr ""
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr ""
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr ""
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr ""
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr ""
@@ -5801,17 +5834,22 @@ msgstr ""
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr ""
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr ""
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -5889,7 +5927,7 @@ msgstr ""
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr ""
@@ -5932,17 +5970,17 @@ msgstr ""
 msgid "read error in `%s': %s\n"
 msgstr ""
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -5951,117 +5989,117 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr ""
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr ""
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr ""
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr ""
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr ""
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr ""
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr ""
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr ""
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr ""
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr ""
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr ""
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr ""
 
@@ -6075,169 +6113,177 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr ""
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr ""
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr ""
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr ""
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr ""
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr ""
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr ""
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr ""
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr ""
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr ""
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6259,68 +6305,68 @@ msgstr ""
 msgid "can't open fd %d: %s\n"
 msgstr ""
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr ""
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr ""
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr ""
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr ""
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr ""
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr ""
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr ""
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr ""
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr ""
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr ""
@@ -6330,22 +6376,17 @@ msgstr ""
 msgid "you found a bug ... (%s:%d)\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr ""
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr ""
@@ -6403,22 +6444,22 @@ msgstr ""
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6463,198 +6504,209 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr ""
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr ""
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr ""
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr ""
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -6664,66 +6716,70 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr ""
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr ""
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr ""
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr ""
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr ""
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr ""
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -6761,11 +6817,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr ""
 
@@ -6795,193 +6851,194 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr ""
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr ""
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr ""
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr ""
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr ""
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr ""
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr ""
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr ""
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr ""
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr ""
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr ""
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr ""
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr ""
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr ""
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr ""
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr ""
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7040,19 +7097,19 @@ msgid "error getting key usage information: %s\n"
 msgstr ""
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7251,7 +7308,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr ""
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr ""
@@ -7379,7 +7436,7 @@ msgstr ""
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
 
@@ -7398,8 +7455,8 @@ msgstr ""
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 
 #: sm/gpgsm.c:617
@@ -7431,25 +7488,25 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr ""
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr ""
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr ""
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7466,11 +7523,7 @@ msgstr ""
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr ""
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr ""
@@ -7485,45 +7538,41 @@ msgstr ""
 msgid "error reading input: %s\n"
 msgstr ""
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr ""
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr ""
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr ""
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr ""
@@ -7701,144 +7750,144 @@ msgstr ""
 msgid "error sending standard options: %s\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr ""
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr ""
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr ""
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr ""
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
index 26bd973..0531f0c 100644 (file)
Binary files a/po/hu.gmo and b/po/hu.gmo differ
index 19c68ef..eefb82c 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,15 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.5\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2004-06-19 21:53+0200\n"
 "Last-Translator: Nagy Ferenc László <nfl@nfllab.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
@@ -24,21 +25,21 @@ msgstr "Bizalmi adatb
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -48,164 +49,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "A sor túl hosszú!\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "A jelszó túl hosszú!\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Érvénytelen karakter a névben!\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "hibás MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "rossz jelszó"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "rossz jelszó"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "%d%s védõ algoritmus nem támogatott.\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "Nem írható titkoskulcs-karikát találtam: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "jelszóváltoztatás"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: Hashtábla létrehozása sikertelen: %s.\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -225,7 +229,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -332,7 +336,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Most szükség van egy jelszóra (vagy mondatra), amely a titkos kulcsát védi.\n"
 "\n"
@@ -342,7 +346,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "jelszóváltoztatás"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -353,283 +357,292 @@ msgstr ""
 "Opciók:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "bõbeszédû mód"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "még szûkszavúbb mód"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|fájl|bõvítõ modul betöltése"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "kulcsok keresése kulcsszerveren"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "bizalmi adatbázis frissítése"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "nem támogatott"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "nem támogatott"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "A hibákat (angolul) a <gnupg-bugs@gnu.org> címre írja meg!\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "MEGJEGYZÉS: Nincs alapértelmezett opciós fájl (%s).\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "\"%s\" opciós fájl: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Az opciókat a \"%s\" állományból olvasom.\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "Nem tudom a \"%s\" könyvtárat létrehozni: %s.\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s nem hozható létre: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "GPG ügynök nem elérhetõ ebben a munkafolyamatban.\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "Frissítés sikertelen: %s.\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: Könyvtárat létrehoztam.\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "Bizalmi adatbázis: olvasás sikertelen (n=%d): %s.\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: Nem tudom a könyvtárat létrehozni: %s.\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "Titkoskulcs-blokk frissítése sikertelen: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: kihagyva: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "GPG ügynök nem elérhetõ ebben a munkafolyamatban.\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "Nem megfelelõ formájú GPG_AGENT_INFO környezeti változó!\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "%d gpg-agent protokollverzió nem támogatott!\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -638,7 +651,7 @@ msgstr ""
 "@Parancsok:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -650,51 +663,51 @@ msgstr ""
 "Opciók:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "rossz jelszó"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Mégsem"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -809,8 +822,8 @@ msgstr "jelsz
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -850,12 +863,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[ismeretlen kulcs]"
@@ -888,17 +901,17 @@ msgstr "A felhaszn
 msgid "problem with the agent\n"
 msgstr "Probléma az ügynökkel: ügynök válasza: 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "Nem tudom letiltani a core fájlokat: %s.\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
@@ -1133,12 +1146,12 @@ msgstr "Ez a kulcs lej
 msgid "Root certificate trustworthy"
 msgstr "rossz igazolás"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "rossz igazolás"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Kulcs található: "
@@ -1220,7 +1233,7 @@ msgstr "V
 msgid "invalid dash escaped line: "
 msgstr "Érvénytelen kötõjeles sor: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "Kihagytam a %02x kódú érvénytelen radix64 karaktert.\n"
@@ -1237,7 +1250,7 @@ msgstr "Korai 
 msgid "malformed CRC\n"
 msgstr "Hibás formájú CRC.\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC hiba; %06lx - %06lx\n"
@@ -1251,16 +1264,16 @@ msgstr "Korai 
 msgid "error in trailer line\n"
 msgstr "Hiba a záró sorban!\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "Nem találtam érvényes OpenPGP adatot.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "Érvénytelen páncél: %d karakternél hosszabb sor.\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1295,7 +1308,7 @@ msgstr "FIGYELEM: 
 msgid "not human readable"
 msgstr "nem olvasható forma"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "titkos kulcs nem áll rendelkezésre"
@@ -1305,8 +1318,8 @@ msgstr "titkos kulcs nem 
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "Nem tudom ezt megcsinálni kötegelt módban!\n"
@@ -1316,224 +1329,224 @@ msgstr "Nem tudom ezt megcsin
 msgid "This command is only available for version 2 cards\n"
 msgstr "Ez a parancs %s módban nem engedélyezett.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "Titkos kulcsrészek nem állnak rendelkezésre.\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Mit választ? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Nincs megadva ok."
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "nem feldolgozott"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "Nincs hozzá tartozó nyilvános kulcs: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferenciák frissítése"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Érvénytelen karakter a preferenciák között!\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Érvénytelen karakter a preferenciák között!\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Kulcsgenerálás sikertelen: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "Nem találtam érvényes OpenPGP adatot.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "Felkerekítve %u bitre.\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1541,145 +1554,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Érvénytelen választás.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Kérem, válassza ki a visszavonás okát:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "Ismeretlen védelmi algoritmus!\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Az elsõdleges kulcs titkos részei nem elérhetõk.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "kilépés ebbõl a menübõl"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "megmutatja ezt a súgót"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Kulcs található: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "lejárat megváltoztatása"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "kulcstulajdonos megbízhatóságának beállítása"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "új kulcspár létrehozása"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Érvénytelen parancs! (Próbálja a súgót: \"help\".)\n"
 
@@ -1687,18 +1700,18 @@ msgstr "
 msgid "--output doesn't work for this command\n"
 msgstr "Az --output opció nem mûködik ehhez a parancshoz.\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "Nem tudom megnyitni %s-t!\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1798,7 +1811,7 @@ msgstr "A %s (%d) t
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "A %s (%d) rejtjelezõ használata sérti a címzett preferenciáit!\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
@@ -1808,78 +1821,78 @@ msgstr "Lehet, hogy nem haszn
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s titkosítva \"%s\" számára\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s titkosított adat.\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "Ismeretlen algoritmussal (%d) titkosítva.\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "FIGYELEM: Az üzenet szimmetrikus titkosítását gyenge kulccsal végezték.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "Probléma a titkosított csomag kezelésekor!\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "Külsõ program meghívása nem támogatott.\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "A külsõ programok hívása tiltott, mert az \"options\" állomány engedélyei\n"
 "nem biztonságosak.\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "Ez a platform átmeneti állományokat igényel külsõ programok hívásához.\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "Nem tudom végrehajtani a következõ \"%s\"-t: \"%s\": %s.\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "Nem tudom végrehajtani a következõ \"%s\"-t: \"%s\": %s.\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "Rendszerhiba külsõ program hívásakor: %s.\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "A külsõ program nem természetes módon ért véget.\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "Nem tudom a végrehajtani a külsõ programot.\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "Nem tudom beolvasni a külsõ program válaszát: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "FIGYELEM: nem tudom törölni a \"%s\" átmeneti könyvtárat: %s\n"
@@ -1980,203 +1993,203 @@ msgstr "Hiba \"%s\" l
 msgid "No fingerprint"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "%08lX érvénytelen kulcsot érvényesítettük az\n"
 "--allow-non-selfsigned-uid opcióval.\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "Nincs titkos alkulcs a %08lX nyilvános alkulcshoz - figyelmen kívül hagyom.\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "A %08lX másodlagos kulcsot használjuk a %08lX elsõdleges helyett.\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "%08lX kulcs: titkos kulcs nyilvános kulcs nélkül - kihagytam.\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "különálló aláírás készítése"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fájl]|olvasható szöveg aláírása"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "különálló aláírás készítése"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "adat titkosítása"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "titkosítás csak szimmetrikus rejtjelezõvel"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "adat visszafejtése (alapértelmezés)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "aláírás ellenõrzése"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "kulcsok listázása"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "kulcsok és aláírások listázása"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kulcsaláírások ellenõrzése"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "kulcsok és ujjlenyomatok listázása"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "titkos kulcsok listázása"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "visszavonási igazolás készítése"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "kulcsok eltávolítása a nyilvánoskulcs-karikáról"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "kulcsok eltávolítása a titkoskulcs-karikáról"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "kulcs aláírása"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "kulcs aláírása helyileg"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "kulcs aláírása vagy szerkesztése"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "jelszóváltoztatás"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "kulcsok exportálása"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "kulcsok exportálása kulcsszerverre"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "kulcsok importálása kulcsszerverrõl"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "kulcsok keresése kulcsszerveren"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "minden kulcs frissítése kulcsszerverrõl"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "kulcsok importálása/összefûzése"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "bizalmi adatbázis frissítése"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fájlok]|üzenet kivonatának kiírása"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "ascii páncélozott kimenet létrehozása"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NÉV|titkosítás NÉV részére"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "felh. azonosító aláíráshoz és visszafejtéshez"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|tömörítési szint beállítása N-re (0: tiltás)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "kanonikus szöveges mód használata"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|fájl|bõvítõ modul betöltése"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "ne csináljon semmi változtatást"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "felülírás elõtt rákérdezés"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2184,7 +2197,7 @@ msgstr ""
 "@\n"
 "(A parancsok és opciók teljes listáját a man oldalon tekintheti meg.)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2204,21 +2217,26 @@ msgstr ""
 " --list-keys [nevek]        kulcsok kiíratása\n"
 " --fingerprint [nevek]      ujjlenyomatok kiíratása\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Szintaxis: gpg [opciók] [fájlok]\n"
 "Aláírás, ellenõrzés, titkosítás vagy visszafejtés.\n"
 "Az alapértelmezett mûvelet a bemeneti adattól függ.\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2226,563 +2244,563 @@ msgstr ""
 "\n"
 "Támogatott algoritmusok:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Nyilvános kulcsú (pubkey): "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Rejtjelezõ (cipher): "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Kivonatoló (hash): "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Tömörítõ (compression): "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "Használat: gpg [opciók] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "Nem találtam = jelet a \"%s\" csoportdefinícióban!\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "\"%s\": ismeretlen konfigurációs elem.\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nincs megfelelõ aláírás a titkoskulcs-karikán.\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mutatja a kilistázott kulcs kulcskarikáját is"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nincs megfelelõ aláírás a titkoskulcs-karikán.\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "MEGJEGYZÉS: Figyelmen kívül hagytam a régi opciókat (%s).\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "MEGJEGYZÉS: %s nem normál használatra van!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "Nem tudom a végrehajtási elérési utat %s értékre állítani!\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "FIGYELEM: A program core állományt hozhat létre!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "FIGYELEM: %s hatástalanítja %s-t!\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s és %s nem használható együtt!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s értelmetlen %s mellett!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "Csak különálló és olvashatószöveg-aláírást készíthet --pgp2 módban!\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "Nem írhat alá és titkosíthat egyszerre --pgp2 módban!\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "Csak állományokat (pipe-ot nem) használhat --pgp2 módban!\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "Üzenet titkosítása --pgp2 módban IDEA rejtjelezõt igényel!\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "A kiválasztott rejtjelezõ algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "A kiválasztott kivonatoló algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "A kiválasztott rejtjelezõ algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "Az igazoláshoz kiválasztott kivonatoló algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed nagyobb kell legyen 0-nál!\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed nagyobb kell legyen 1-nél!\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth 1 és 255 közé kell essen!\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "Érvénytelen default-cert-level; 0, 1, 2 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "Érvénytelen min-cert-level; 0, 1, 2 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "MEGJEGYZÉS: Egyszerû S2K mód (0) erõsen ellenjavallt!\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "Érvénytelen S2K mód; 0, 1 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "Érvénytelen alapértelmezett preferenciák!\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "Érvénytelen személyes rejtjelezõ-preferenciák!\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "Érvénytelen személyes kivonatolópreferenciák!\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "Érvénytelen személyes tömörítõpreferenciák!\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s és %s egyelõre nem használható együtt!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 "Lehet, hogy nem használhatja \"%s\" rejtjelezõ algoritmust %s módban!\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 "Lehet, hogy nem használhatja \"%s\" kivonatoló algoritmust %s módban!\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "Lehet, hogy nem használhatja \"%s\" tömörítõ algoritmust %s módban!\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "FIGYELEM: Címzett megadva (-r), de nincs nyilvános kulcsú titkosítás!\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [fájlnév]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [fájlnév]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "Visszafejtés sikertelen: %s.\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [fájlnév]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [fájlnév]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [fájlnév]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [fájlnév]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [fájlnév]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [fájlnév]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [fájlnév]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [fájlnév]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key felh-azonosító"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key felh-azonosító"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key felh-azonosító [parancsok]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key felh-azonosító"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Küldés a kulcsszerverre sikertelen: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Vétel a kulcsszerverrõl sikertelen: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Kulcsexportálás sikertelen: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Keresés a kulcsszerveren sikertelen: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Frissítés a kulcsszerverrõl sikertelen: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Páncél eltávolítása nem sikerült: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Páncélozás nem sikerült: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "Érvénytelen kivonatoló algoritmus: %s\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[fájlnév]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Kezdheti gépelni az üzenetet...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "A megadott igazolási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
@@ -2822,480 +2840,494 @@ msgstr "Nem 
 msgid "No help available for `%s'"
 msgstr "Nem áll rendelkezésre segítség \"%s\" témához."
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "bizalmi adatbázis frissítése"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "A nyilvános kulcs nem passzol a titkos kulcshoz!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "használhatatlan titkos kulcs"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "%d típusú blokkot kihagyom.\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "Eddig %lu kulcsot dolgoztam fel.\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "     Összesen feldolgoztam: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "       új kulcsok kihagyva: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "    felh. azonosító nélkül: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                importálva: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "               változatlan: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       új felh. azonosítók: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              új alkulcsok: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              új aláírások: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "     új kulcsvisszavonások: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   olvasott titkos kulcsok: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  importált titkos kulcsok: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "változatlan titkos kulcsok: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             nem importált: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "              új aláírások: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "   olvasott titkos kulcsok: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító.\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "Kihagytam \"%s\"-t: %s.\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "%08lX kulcs: HKP alkulcssérülés kijavítva.\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "%08lX kulcs: Nem önaláírt felh. azonosító (\"%s\") elfogadva.\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "%08lX kulcs: Nincs érvényes felhasználói azonosító.\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "Ezt okozhatja egy hiányzó önaláírás.\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "%08lX kulcs: Nyilvános kulcs nem található: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "%08lX kulcs: új kulcs - kihagytam.\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "Nem írható kulcskarikát találtam: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "Írok a \"%s\" állományba.\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "%08lX kulcs: \"%s\" nyilvános kulcs importálva.\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "%08lX kulcs: Nem egyezik a mi másolatunkkal!\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "%08lX kulcs: Nem találom az eredeti kulcsblokkot: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "%08lX kulcs: Nem tudom beolvasni az eredeti kulcsblokkot: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "%08lX kulcs: \"%s\" 1 új felhasználói azonosító.\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "%08lX kulcs: \"%s\" 1 új aláírás.\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "%08lX kulcs: \"%s\" 1 új alkulcs.\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "%08lX kulcs: \"%s\" %d új alkulcs.\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "%08lX kulcs: \"%s\" nem változott.\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr ""
-"%08lX kulcs: Titkos kulcs érvénytelen (%d) rejtjelezõvel - kihagytam.\n"
+msgid "secret key %s: %s\n"
+msgstr "\"%s\" titkos kulcs nem található: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr ""
+"%08lX kulcs: Titkos kulcs érvénytelen (%d) rejtjelezõvel - kihagytam.\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "Nincs alapértelmezett titkoskulcs-karika: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "%08lX kulcs: Titkos kulcs importálva.\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "%08lX kulcs: Már szerepel a titkoskulcs-karikán.\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "%08lX kulcs: Titkos kulcs nem található: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "%08lX kulcs: Nincs nyilvános kulcs - nem tudok visszavonni.\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "%08lX kulcs: Érvénytelen visszavonó igazolás: %s - visszautasítva.\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "%08lX kulcs: \"%s\" visszavonó igazolást importáltam.\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító ehhez az aláíráshoz!\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "%08lX kulcs: Nem támogatott nyilvános kulcsú alg. a \"%s\" felh. "
 "azonosítón!\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "%08lX kulcs: Érvénytelen önaláírás a \"%s\" felh. azonosítón!\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "%08lX kulcs: Nem támogatott nyilvános kulcsú algoritmus!\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "%08lX kulcs: Kulcsaláírást hozzáadtam.\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "%08lX kulcs: Nincs alkulcs a kulcskötéshez!\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "%08lX kulcs: Érvénytelen alkulcskötés!\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "%08lX kulcs: Eltávolítottam a többszörös alkulcskötést.\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "%08lX kulcs: Nincs alkulcs a kulcsvisszavonáshoz.\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "%08lX kulcs: Érvénytelen alkulcsvisszavonás.\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "%08lX kulcs: Eltávolítottam a többszörös alkulcsvisszavonást.\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "%08lX kulcs: Kihagytam a felh. azonosítót: '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "%08lX kulcs: Alkulcsot kihagytam.\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "%08lX kulcs: Nem exportálható aláírás (%02x. osztály) - kihagytam.\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "%08lX kulcs: Visszavonó igazolás rossz helyen - kihagytam.\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "%08lX kulcs: Érvénytelen visszavonó igazolás: %s - kihagytam.\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "%08lX kulcs: Alkulcsaláírás rossz helyen - kihagytam.\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "%08lX kulcs: Váratlan aláírásosztály (0x%02X) - kihagytam.\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "%08lX kulcs: Duplázott felh. azonosítót találtam - összefûztem.\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "FIGYELEM: %08lX kulcsot visszavonhatták:\n"
 "lehívom a %08lX visszavonó kulcsot.\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "FIGYELEM: %08lX kulcsot visszavonhatták:\n"
 "visszavonó kulcs (%08lX) nincs jelen.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "%08lX kulcs: \"%s\" visszavonó igazolást hozzáadtam.\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "%08lX kulcs: Kulcsaláírást hozzáadtam.\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "A nyilvános kulcs nem passzol a titkos kulcshoz!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "\"%s\" kulcskarikát létrehoztam.\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "Nem tudtam újraépíteni a kulcskarika cache-ét: %s\n"
@@ -3384,12 +3416,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Biztos abban, hogy továbbra is alá akarja írni? (i/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Nem tudom aláírni.\n"
 
@@ -3599,8 +3631,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Valóban aláírja? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Aláírás sikertelen: %s\n"
@@ -3609,20 +3641,20 @@ msgstr "Al
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Ez a kulcs nem védett.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Az elsõdleges kulcs titkos részei nem elérhetõk.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Az elsõdleges kulcs titkos részei nem elérhetõk.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "A kulcs védett.\n"
 
@@ -3639,7 +3671,7 @@ msgstr ""
 "Írja be az új jelszót ehhez a titkos kulcshoz!\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "Nem ismételte meg helyesen a jelszót! Próbálja újra!"
 
@@ -3833,24 +3865,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "Hiba \"%s\" titkoskulcs-blokk olvasásakor: %s.\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Titkos kulcs rendelkezésre áll.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Ehhez szükség van a titkos kulcsra.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Kérem, használja elõbb a \"toggle\" parancsot!\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3858,242 +3890,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "A kulcsot visszavonták."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Valóban aláírja az összes felhasználóazonosítót? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Javaslat: Válassza ki az aláírni kívánt felhasználóazonosítókat!\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "ismeretlen aláírásosztály"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Ez a parancs %s módban nem engedélyezett.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Legalább egy felhasználóazonosítót ki kell választania!\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Nem törölheti az utolsó felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Valóban eltávolítja az összes kijelölt felhasználóazonosítót? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Valóban eltávolítja ezt a felhasználóazonosítót? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Valóban eltávolítja ezt a felhasználóazonosítót? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Legalább egy kulcsot ki kell választania!\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Legalább egy kulcsot ki kell választania!\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Valóban törli a kiválasztott kulcsokat? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Valóban törli ezt a kulcsot? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Valóban visszavonja az összes kijelölt felhasználóazonosítót? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Valóban visszavonja ezt a felhasználóazonosítót? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Valóban visszavonja ezt a kulcsot? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Valóban visszavonja a kijelölt kulcsokat? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Valóban visszavonja ezt a kulcsot? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "preferencialista beállítása"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Valóban frissítsem a preferenciákat? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Mentsem a változtatásokat? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Kilépjek mentés nélkül? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Frissítés sikertelen: %s.\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "Titkoskulcs-blokk frissítése sikertelen: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "A kulcs nem változott, nincs szükség frissítésre.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Kivonat: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Jellemzõk: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Jelölés: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Nincsenek preferenciák egy PGP 2.x felhasználóazonosítón!\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Ezt a kulcsot a következõ %s kulcs visszavonhatja: "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Ezt a kulcsot a következõ %s kulcs visszavonhatja: "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (érzékeny)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s nem hozható létre: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[visszavont] "
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [lejár: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [lejár: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " bizalom: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " bizalom: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Ez a kulcs tiltott."
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4101,19 +4133,19 @@ msgstr ""
 "Kérem, vegye figyelembe, hogy az itt látható kulcs érvényessége nem\n"
 "feltétlenül helyes, amíg újra nem indítja a programot!\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[visszavont] "
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4121,7 +4153,7 @@ msgstr ""
 "FIGYELEM: Nincs kijelölt elsõdleges felhasználóazonosító. Ez a parancs\n"
 " azt okozhatja, hogy egy másik azonosító lesz elsõdlegesként használva.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4131,75 +4163,75 @@ msgstr ""
 "okozhatja,\n"
 "          hogy a PGP egyes verziói visszautasítják ezt a kulcsot.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Továbbra is hozzá akarja adni? (i/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Lehet, hogy nem adhat fotóazonosítót egy PGP2 stílusú kulcshoz!\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Törli ezt a jó aláírást? (i/N/k)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Törli ezt az érvénytelen aláírást? (i/N/k)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Törli ezt az ismeretlen aláírást? (i/N/k)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Valóban törli ezt az önaláírást? (i/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Töröltem %d aláírást.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Töröltem %d aláírást.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nem töröltem semmit.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "érvénytelen páncél"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4209,277 +4241,277 @@ msgstr ""
 "          azt okozhatja, hogy egyes PGP verziók visszautasítják ezt a "
 "kulcsot!\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Lehet, hogy nem adhat kijelölt visszavonót egy PGP 2.x-stílusú kulcshoz.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Írja be a kijelölt visszavonó felhasználóazonosítóját: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "Nem adhat meg PGP 2.x stílusú kulcsot kijelölt visszavonónak!\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "Nem adhat meg egy kulcsot saját kijelölt visszavonójának!\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "FIGYELEM: Ezt a kulcsot a kijelölt visszavonó visszavonta!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "FIGYELEM: A kijelölt visszavonó kulcs megadása nem csinálható vissza!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Biztosan ez a kulcs legyen a kijelölt visszavonó? (i/N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Kérem, távolítsa el a kijelöléseket a titkos kulcsokról!\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Maximum egy másodlagos kulcsot jelöljön ki, kérem!\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Másodlagos kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Elsõdleges kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nem változtathatja meg egy v3 kulcs lejárati dátumát!\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Nincs megfelelõ aláírás a titkoskulcs-karikán.\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "FIGYELEM: %08lX aláíró alkulcs nem kereszthitelesített.\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Kérem, válasszon ki pontosan egy felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "Kihagyom a v3 önaláírást a \"%s\" felhasználóazonosítón.\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Biztos abban, hogy használni akarja (i/N)? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Biztos abban, hogy használni akarja (i/N)? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Aláírás-jelölés: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Felülírjam (i/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nincs %d indexû felhasználóazonosító!\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nincs %d indexû felhasználóazonosító!\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nincs %d indexû felhasználóazonosító!\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Felhasználóazonosító: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   aláírva %08lX által %s%s%s idõpontban.\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (nem exportálható)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Ez az aláírás lejárt %s idõpontban.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Biztos benne, hogy mégis visszavonja? (i/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Csináljunk egy visszavonó igazolást ehhez az aláíráshoz? (i/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   aláírva %08lX által %s%s idõpontban.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Ön aláírta a következõ felhasználóazonosítókat:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (nem exportálható)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   visszavonva %08lX által %s idõpontban.\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "A következõ aláírásokat fogja visszavonni:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Valóban létrehozzam a visszavonó igazolást? (i/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "Nincs titkos kulcs.\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "FIGYELEM: A felhasználóazonosítót %d másodperccel a jövõben írták alá.\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "%s fotóazonosító (méret: %ld, kulcs: 0x%08lX, felh: %d) mutatása.\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "%c%lu preferencia kétszer szerepel!\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "Túl sok \"%c\" preferencia.\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "Túl sok \"%c\" preferencia.\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "Túl sok \"%c\" preferencia.\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "Érvénytelen karakter a preferenciák között!\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "Sima aláírást írok.\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "Önaláírást írok.\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "Összefûzõ aláírást írok.\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "Kulcsméret érvénytelen; %u bitet használok.\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "Kulcsméretet felkerekítettem %u bitre.\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "adat titkosítása"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4493,104 +4525,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (csak titkosítás)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA és ElGamal (alapértelmezés)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA és ElGamal (alapértelmezés)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (csak aláírás)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (csak aláírás)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (csak titkosítás)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "A kívánt kulcsméret %u bit.\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4606,7 +4638,7 @@ msgstr ""
 "      <n>m = a kulcs n hónapig érvényes\n"
 "      <n>y = a kulcs n évig érvényes\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4622,40 +4654,40 @@ msgstr ""
 "      <n>m = az aláírás n hónapig érvényes\n"
 "      <n>y = az aláírás n évig érvényes\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Meddig érvényes a kulcs? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Meddig érvényes az aláírás? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "Érvénytelen érték!\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s soha nem jár le.\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s soha nem jár le.\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s lejár: %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Az aláírás lejár: %s.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4663,12 +4695,12 @@ msgstr ""
 "Az Ön rendszere nem tud megjeleníteni 2038 utáni dátumokat.\n"
 "Azonban kezelni helyesen tudja õket egészen 2106-ig.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Ez így helyes (i/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4679,7 +4711,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4696,44 +4728,44 @@ msgstr ""
 "    \"Heinrich Heine (a költõ) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Teljes név: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Érvénytelen karakter a névben!\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "A név lehet, hogy nem kezdõdhet számmal!\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "A név legalább 5 karakter kell legyen!\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-mail cím: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Ez nem érvényes e-mail cím.\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Megjegyzés: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Érvénytelen karakter a megjegyzésben!\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Ön a(z) %s karakterkódolást használja.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4744,11 +4776,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Kérem, ne rakja az e-mail címet a teljes névbe vagy a megjegyzésbe!\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4763,24 +4795,24 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnMmEeRrKk"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "(N)év, (M)egjegyzés, (E)-mail megváltoztatása vagy (K)ilépés? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "(N)év, (M)egjegyzés, (E)-mail megváltoztatása vagy (R)endben/(K)ilépés? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Kérem, elõbb javítsa ki a hibát!\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4788,19 +4820,19 @@ msgstr ""
 "Most szükség van egy jelszóra (vagy mondatra), amely a titkos kulcsát védi.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4812,7 +4844,7 @@ msgstr ""
 "az \"--edit-key\" opcióval.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4824,50 +4856,50 @@ msgstr ""
 "a lemezeket) a prímszám generálása alatt. Ez segíti a véletlenszám-\n"
 "generátort, hogy entrópiát tudjon gyûjteni.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Kulcs létrehozása megszakítva.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "Írom a kulcsot a %s állományba.\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "Nem írható nyilvánoskulcs-karikát találtam: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "Nem írható titkoskulcs-karikát találtam: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "Hiba a(z) \"%s\" nyilvánoskulcs-karika írásakor: %s.\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "A nyilvános és titkos kulcsokat létrehoztam és aláírtam.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4877,46 +4909,46 @@ msgstr ""
 "kíván ilyen célra létrehozni, azt az \"--edit-key\" parancs segítségével\n"
 "teheti meg.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Kulcsgenerálás sikertelen: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "A kulcs %lu másodperccel a jövõben készült. (Idõugrás vagy óraprobléma.)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 "A kulcs %lu másodperccel a jövõben készült. (Idõugrás vagy óraprobléma.)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 "MEGJEGYZÉS: Alkulcsok létrehozása v3 kulcsokhoz nem OpenPGP-megfelelõ.\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Valóban létrehozzam? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "MEGJEGYZÉS: %08lX titkos kulcs %s-kor lejárt.\n"
@@ -4949,30 +4981,30 @@ msgstr "Al
 msgid "Keyring"
 msgstr "Kulcskarika"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Elsõdlegeskulcs-ujjlenyomat:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "         Alkulcsujjlenyomat:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "Elsõdlegeskulcs-ujjlenyomat:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "         Alkulcsujjlenyomat:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr " Kulcs ujjlenyomata ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5054,472 +5086,472 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "FIGYELEM: \"%s\" opciói csak a következõ futáskor lesznek érvényesek!\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverrõl.\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverrõl.\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "Aláírva az Ön %08lX kulcsával %s idõpontban.\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "kulcsszerverhiba"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "kulcsszerverhiba"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "Vétel a kulcsszerverrõl sikertelen: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverrõl.\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverrõl.\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "Furcsa méretû (%d) titkosított munkafolyamatkulcs.\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s titkosított munkafolyamatkulcs\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "Ismeretlen algoritmussal (%d) titkosítva.\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "Nyilvános kulcs: %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "Nyilvános kulccsal titkosított adat: jó DEK.\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "Titkosítva %u bites %s kulccsal, azonosító: %08lX, létrehozva: %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "               azaz \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "Titkosítva %s kulccsal, azonosító: %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Nyilvános kulcsú visszafejtés sikertelen: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "%lu jelszóval rejtjelezve\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "1 jelszóval rejtjelezve\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "%s titkosított adatot feltételezek.\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA rejtjelezõ nem áll rendelkezésre, optimista módon megpróbálok\n"
 "%s-t használni helyette.\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "Visszafejtés rendben.\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "FIGYELEM: Az üzenetet nem látták el integritásvédelemmel.\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "FIGYELEM: A titkosított üzenetet manipulálták!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Visszafejtés sikertelen: %s.\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "MEGJEGYZÉS: A feladó kérése: \"csak az Ön szemeinek\".\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Eredeti fájlnév: '%.*s'.\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "Különálló visszavonás. Használja a \"gpg --import\"-ot az alkalmazásához!\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Jó aláírás a következõtõl: \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "Aláírás-ellenõrzés elnyomva.\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "Nem tudom kezelni ezeket a többszörös aláírásokat!\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "               azaz \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Aláírva: %.*s; kulcs: %s, %08lX.\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Kulcs található: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ROSSZ aláírás a következõtõl: \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Lejárt aláírás a következõtõl: \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Jó aláírás a következõtõl: \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[bizonytalan]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "               azaz \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Az aláírás lejár: %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "Bináris"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "Szövegmódú"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "Ismeretlen módú"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nem tudom ellenõrizni az aláírást: %s.\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "Nem különálló aláírás.\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "FIGYELEM: Többszörös aláírást érzékeltem. Csak az elsõt ellenõrzöm.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "0x%02x osztályú különálló aláírás.\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Régi stílusú (PGP 2.x) aláírás.\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "Érvénytelen gyökércsomagot találtam a proc_tree() függvényben!\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "Nem tudom megnyitni az állományt: %s.\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "Bizalmi adatbázis: olvasás sikertelen (n=%d): %s.\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "Nem tudom kezelni a(z) %d. számú nyilvános kulcsú algoritmust!\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "%s (%d) kivonatoló algoritmus használatának erõltetése ellentétes\n"
 "a címzett preferenciáival.\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "nem megvalósított rejtjelezõ algoritmus"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "%s (%d) kivonatoló algoritmus használatának erõltetése ellentétes\n"
 "a címzett preferenciáival.\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "Az IDEA rejtjelezõ bõvítés nincs jelen!\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = további információkat kérek\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: Elavult opció: \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "FIGYELEM: \"%s\" elavult opció!\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "Kérem, ezt használja helyette: \"%s%s\"\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "FIGYELEM: \"%s\" elavult opció!\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "FIGYELEM: \"%s\" elavult opció!\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "tömörítetlen"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "tömörítetlen"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "Lehet, hogy ez az üzenet használhatatlan a %s számára!\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "Az opciókat a \"%s\" állományból olvasom.\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "Ismeretlen alapértelmezett címzett: \"%s\"\n"
@@ -5563,17 +5595,17 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "FIGYELEM: \"%s\" opciói csak a következõ futáskor lesznek érvényesek!\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "Nem tudom kezelni a(z) %d. számú nyilvános kulcsú algoritmust!\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "FIGYELEM: A rejtjelezett munkafolyamat-kulcs lehet, hogy nem biztonságos!\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "A %d típusú alcsomag kritikus bitje beállított.\n"
@@ -5633,7 +5665,7 @@ msgstr "%u bites %s kulcs, azonos
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5647,35 +5679,35 @@ msgstr ""
 "képet használ, a kulcsa is nagyon nagy lesz!\n"
 "A 240x288 körüli képméret jól használható.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Adja meg egy JPEG fájl nevét a fotóazonosítóhoz: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "Nem tudom megnyitni az állományt: %s.\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Biztos abban, hogy használni akarja (i/N)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" nem JPEG állomány.\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Ez a fotó megfelelõ (i/N/k)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "Nem tudom megjeleníteni a fotóazonosítót!\n"
 
@@ -5707,6 +5739,16 @@ msgstr "Visszavon
 msgid "revocation comment: "
 msgstr "Megjegyzés a visszavonáshoz: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iIfFkKhH"
@@ -5896,26 +5938,26 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Nem biztos, hogy az aláírás a tulajdonoshoz tartozik.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: kihagyva: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: kihagyva: nyilvános kulcs már szerepel\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Nem adott meg felhasználói azonosítót! (Használhatja a \"-r\" opciót.)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5923,43 +5965,43 @@ msgstr ""
 "\n"
 "Adja meg a felhasználói azonosítót! Üres sorral fejezze be: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Nincs ilyen felhasználói azonosító.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 "Kihagyva: Nyilvános kulcs már be lett állítva alapértelmezett címzettnek.\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Nyilvános kulcs nincs engedélyezve.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "Kihagyva: Nyilvános kulcs már be lett állítva.\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "Ismeretlen alapértelmezett címzett: \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: Kihagyva: Nyilvános kulcs nincs engedélyezve.\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "Nincsenek érvényes címzettek!\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító.\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító.\n"
@@ -6251,19 +6293,25 @@ msgstr "MEGJEGYZ
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "MEGJEGYZÉS: A kulcsot visszavonták."
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "Rossz aláírást feltételezek a %08lX kulcstól egy ismeretlen\n"
 "kritikus bit miatt.\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "%08lX kulcs: Nincs alkulcs az alkulcsvisszavonó csomaghoz.\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "%08lX kulcs: Nincs alkulcs az alkulcskötõ aláíráshoz!\n"
@@ -6358,7 +6406,7 @@ msgstr ""
 "Kihagytam \"%s\"-t: ez egy PGP által létrehozott ElGamal kulcs, amely nem\n"
 "biztonságos aláírásokhoz!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "%lu bizalmi rekord, %d típus: írás sikertelen: %s.\n"
@@ -6406,17 +6454,17 @@ msgstr "Hiba bizalmi rekord keres
 msgid "read error in `%s': %s\n"
 msgstr "Olvasási hiba: %s.\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "Bizalmi adatbázis: szinkronizáció sikertelen: %s.\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "Bizalmi adatbázis %lu. rekord: lseek sikertelen: %s.\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "Bizalmi adatbázis %lu. rekord: írás sikertelen (n=%d): %s.\n"
@@ -6425,117 +6473,117 @@ msgstr "Bizalmi adatb
 msgid "trustdb transaction too large\n"
 msgstr "Bizalmi adatbázis tranzakciója túl nagy.\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "Nem tudom bezárni a(z) \"%s\" állományt: %s.\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: Könyvtár nem létezik!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "Nem tudom megnyitni %s-t!\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: Nem sikerült verziórekordot létrehoznom: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: Érvénytelen bizalmi adatbázis jött létre.\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: Bizalmi adatbázis létrejött.\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "MEGJEGYZÉS: Bizalmi adatbázis nem írható.\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: Érvénytelen bizalmi adatbázis.\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: Hashtábla létrehozása sikertelen: %s.\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: Hiba a verziórekord frissítésekor: %s.\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: Hiba a verziórekord olvasásakor: %s.\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: Hiba a verziórekord írásakor: %s.\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "Bizalmi adatbázis: lseek sikertelen: %s.\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "Bizalmi adatbázis: olvasás sikertelen (n=%d): %s.\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: Nem bizalmi adatbázis.\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: Verziórekord, rekordszám: %lu.\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: Érvénytelen állományverzió (%d).\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: Hiba szabad rekord olvasásakor: %s.\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: Hiba könyvtárrekord írásakor: %s.\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: Nem sikerült egy rekord nullázása: %s.\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: Nem sikerült egy rekord hozzáadása: %s.\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: Bizalmi adatbázis létrejött.\n"
@@ -6550,174 +6598,182 @@ msgstr "Nem tudok %d karaktern
 msgid "input line longer than %d characters\n"
 msgstr "A bemeneti sor hosszabb, mint %d karakter.\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "\"%s\" nem egy érvényes hosszú kulcsazonosító.\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "%08lX kulcs: Elfogadva megbízható kulcsként.\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "A(z) %08lX kulcs egynél többször szerepel a bizalmi adatbázisban.\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "%08lX kulcs: Nincs nyilvános kulcs a megbízható kulcshoz - kihagytam.\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "A kulcsot alapvetõen megbízhatónak jelöltem.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "%lu bizalmi rekord, %d kéréstípus: olvasás sikertelen: %s.\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "%lu bizalmi rekord nem a kért típusú (%d).\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[visszavont] "
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[lejárt]     "
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "Ismeretlen módú"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "soha      "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "Nincs szükség a bizalmi adatbázis ellenõrzésére.\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "A bizalmi adatbázis következõ ellenõrzése: %s.\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "Nincs szükség a bizalmi adatbázis ellenõrzésére.\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "Nincs szükség a bizalmi adatbázis ellenõrzésére.\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "A(z) %08lX nyilvános kulcsot nem találom: %s.\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "Kérem, hajtson végre egy --check-trustdb parancsot!\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "Ellenõrzöm a bizalmi adatbázist.\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d kulcsot feldolgoztam (%d érvényességszámlálót töröltem)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "Nem találtam alapvetõen megbízható kulcsot.\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "Nem találom az alapvetõen megbízható %08lX kulcs nyilvános kulcsát!\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "%lu bizalmi rekord, %d típus: írás sikertelen: %s.\n"
@@ -6742,77 +6798,77 @@ msgstr "A bemeneti sor (%u) t
 msgid "can't open fd %d: %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "állományolvasási hiba"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "A sor túl hosszú!\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "érvénytelen argumentum"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "Érvénytelen import opciók!\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "nem feldolgozott"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "Érvénytelen import opciók!\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Érvénytelen parancs! (Próbálja a súgót: \"help\".)\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "nem feldolgozott"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "Érvénytelen import opciók!\n"
@@ -6822,22 +6878,17 @@ msgstr "
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Talált egy programhibát... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "Hiba \"%s\" olvasásakor: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "Nem tudom megnyitni az állományt: %s.\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "Páncélozás nem sikerült: %s\n"
@@ -6894,24 +6945,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6960,208 +7012,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "Nem tudtam újraépíteni a kulcskarika cache-ét: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Küldés a kulcsszerverre sikertelen: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Kérem, válassza ki a visszavonás okát:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "jelszóváltoztatás"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "jelszóváltoztatás"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "Hiba a kulcsblokk olvasásakor: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: Hiba szabad rekord olvasásakor: %s.\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "\"%s\" már tömörített.\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "új kulcspár létrehozása"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "új kulcspár létrehozása"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Kulcsgenerálás sikertelen: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Nem találtam érvényes OpenPGP adatot.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "jelszóváltoztatás"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7170,72 +7236,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|fájl|bõvítõ modul betöltése"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "ne használja a terminált egyáltalán"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7274,11 +7344,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7310,208 +7380,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "MEGJEGYZÉS: A kulcsot visszavonták."
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "A létrehozott aláírás ellenõrzése sikertelen: %s.\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Ez a kulcs lejárt!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Ez a kulcs lejárt!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Ez a kulcs lejárt!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Ez a kulcs lejárt!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "              új aláírások: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Visszavonó igazolás létrehozva.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "rossz igazolás"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "visszavonási igazolás készítése"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "A létrehozott aláírás ellenõrzése sikertelen: %s.\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "aláírás ellenõrzése"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "%c%lu preferencia kétszer szerepel!\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Visszavonó igazolás létrehozva.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "rossz igazolás"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7577,19 +7648,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7798,7 +7869,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "Hiba a kulcsblokk olvasásakor: %s\n"
@@ -7935,7 +8006,7 @@ msgstr "kulcskarika hozz
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|GÉPNÉV|kulcsszerver beállítása kulcsok kereséséhez"
@@ -7957,8 +8028,8 @@ msgstr "Haszn
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Szintaxis: gpg [opciók] [fájlok]\n"
 "Aláírás, ellenõrzés, titkosítás vagy visszafejtés.\n"
@@ -7994,26 +8065,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " h = kulcs kihagyása\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "Írok a \"%s\" állományba.\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "Nem tudom bezárni a(z) \"%s\" állományt: %s.\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8031,12 +8102,7 @@ msgstr "visszavon
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -8051,46 +8117,42 @@ msgstr "Hiba a jelsz
 msgid "error reading input: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "\"%s\" kulcskarikát létrehoztam.\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? Nem tudom ellenõrizni a visszavonást: %s.\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -8278,149 +8340,149 @@ msgstr "Hiba %s-ra/-re k
 msgid "error sending standard options: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|N. sorszámú jelszómód használata"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NÉV|titkosítás NÉV részére"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NÉV|NÉV rejtjelezõ algoritmus haszn. jelszavakhoz"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8681,6 +8743,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "Hiba \"%s\" olvasásakor: %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
+
 #~ msgid "Command> "
 #~ msgstr "Parancs> "
 
@@ -9223,9 +9293,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "rossz titkos kulcs használata"
 
-#~ msgid "not supported"
-#~ msgstr "nem támogatott"
-
 #~ msgid "bad key"
 #~ msgstr "rossz kulcs"
 
index 242052c..297ed10 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index c5e367f..2471607 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -10,16 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-id\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2004-06-17 16:32+0700\n"
 "Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.3\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
@@ -29,21 +30,21 @@ msgstr "gagal inisialisasi TrustDB: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -53,164 +54,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "baris terlalu panjang\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "passphrase terlalu panjang\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Karakter tidak valid dalam nama\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI yang buruk"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "passphrase yang buruk"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "passphrase yang buruk"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritma proteksi %d%s tidak didukung\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "tidak dapat membuka `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "tidak ditemukan keyring rahasia yang dapat ditulisi: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "ubah passphrase"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: gagal membuat hashtable: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -230,7 +234,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -337,7 +341,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Anda perlu sebuah passphrase untuk melindungi kunci rahasia anda.\n"
 "\n"
@@ -347,7 +351,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "ubah passphrase"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -358,283 +362,292 @@ msgstr ""
 "Pilihan:\n"
 "  "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "detil"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "lebih diam"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "cari kunci di key server"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "perbarui database trust"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "tidak didukung"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "tidak didukung"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Laporkan bug ke <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "CATATAN: tidak ada file pilihan baku `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "file pilihan `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "membaca pilihan dari `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "tidak dapat membuat direktori `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent tidak tersedia untuk sesi ini\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "gagal memperbarui: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: direktori tercipta\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: tidak dapat membuat direktori: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "gagal perbarui rahasia: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: dilewati: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent tidak tersedia untuk sesi ini\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variabel lingkungan GPG_AGENT_INFO salah bentuk\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "protokol gpg-agent versi %d tidak didukung\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -643,7 +656,7 @@ msgstr ""
 "@Perintah:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -655,51 +668,51 @@ msgstr ""
 "Pilihan:\n"
 "  "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "passphrase yang buruk"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Batal"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -814,8 +827,8 @@ msgstr "ubah passphrase"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -855,12 +868,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[User id tidak ditemukan]"
@@ -893,17 +906,17 @@ msgstr "dibatalkan oleh user\n"
 msgid "problem with the agent\n"
 msgstr "masalah dengan agen: agen mengembalikan 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "tidak dapat meniadakan core dump: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
@@ -1138,12 +1151,12 @@ msgstr "Kunci ini telah berakhir!"
 msgid "Root certificate trustworthy"
 msgstr "sertifikat yang buruk"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "sertifikat yang buruk"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Kunci tersedia di:"
@@ -1225,7 +1238,7 @@ msgstr "armor tidak terduga:"
 msgid "invalid dash escaped line: "
 msgstr "dash escaped line tidak valid: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "karakter radix64 tidak valid %02x dilewati\n"
@@ -1242,7 +1255,7 @@ msgstr "eof prematur (dalam CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC tidak tepat\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "kesalahan CRC; %06lx - %06lx\n"
@@ -1256,16 +1269,16 @@ msgstr "eof prematur (dalam Trailer)\n"
 msgid "error in trailer line\n"
 msgstr "kesalahan dalam garis trailer\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "tidak ditemukan data OpenPGP yang valid.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armor tidak valid: baris melebihi %d karakter\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1301,7 +1314,7 @@ msgstr "PERINGATAN: ditemukan notasi data tidak valid\n"
 msgid "not human readable"
 msgstr "tidak dapat dibaca manusia"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "kunci rahasia tidak tersedia"
@@ -1311,8 +1324,8 @@ msgstr "kunci rahasia tidak tersedia"
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "tidak dapat melakukan hal itu dalam mode batch\n"
@@ -1322,224 +1335,224 @@ msgstr "tidak dapat melakukan hal itu dalam mode batch\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "bagian kunci rahasia tidak tersedia\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Pilihan anda? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Tidak ada alasan diberikan"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "tidak diproses"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "tidak ada kunci publik yang sesuai: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "perbarui preferensi"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Karakter tidak valid dalam string preferensi\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Karakter tidak valid dalam string preferensi\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "tampilkan fingerprint"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Pembuatan kunci gagal: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "tidak ditemukan data OpenPGP yang valid.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "dibulatkan hingga %u bit\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1547,145 +1560,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Silakan pilih kunci yang anda inginkan:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Pilihan tidak valid.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Silakan pilih alasan untuk pembatalan:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "algoritma proteksi tidak dikenal\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Bagian rahasia kunci primer tidak tersedia.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "berhenti dari menu ini"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "tampilkan bantuan"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Kunci tersedia di:"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "ubah tanggal kadaluarsa"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "ubah ownertrust"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "tampilkan fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "buat sepasang kunci baru"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Perintah tidak valid (coba \"help\")\n"
 
@@ -1693,18 +1706,18 @@ msgstr "Perintah tidak valid (coba \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output tidak berfungsi untuk perintah ini\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "tidak dapat membuka `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1806,7 +1819,7 @@ msgstr "memaksa algoritma kompresi %s (%d) melanggar preferensi penerima\n"
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "memaksa cipher simetrik %s (%d) melanggar preferensi penerima\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
@@ -1816,77 +1829,77 @@ msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s dienkripsi untuk: %s\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s data terenkripsi\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "dienkripsi dengan algoritma tidak dikenal %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "PERINGATAN: pesan dienkripsi dengan kunci lemah dalam cipher simetrik.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "masalah menangani paket terenkripsi\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "tidak ada eksekusi program remote yang didukung\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "pemanggilan program eksternal ditiadakan karena permisi opsi file tidak "
 "aman\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "platform ini membutuhkan file temp ketika memanggil program eksternal\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "tidak dapat mengeksekusi %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "tidak dapat mengeksekusi %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "kesalahan sistem ketika memanggil program eksternal: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "program eksternal berhenti secara tidak natual\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "tidak dapat mengeksekusi program eksternal\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "tidak dapat membaca tanggapan program eksternal: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus direktori temp `%s': %s\n"
@@ -1988,200 +2001,200 @@ msgstr "kesalahan penciptaan : `%s': %s\n"
 msgid "No fingerprint"
 msgstr "tampilkan fingerprint"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "kunci tidak valid %08lX dibuat valid oleh --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "tidak ada subkey rahasia untuk subkey publik %08lX. diabaikan\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "menggunakan kunci sekunder %08lX bukannya kunci primer %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "kunci %08lX: kunci rahasia tanpa kunci publik - dilewati\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "buat detached signature"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[file]|buat signature teks"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "buat detached signature"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "enkripsi data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "enkripsi hanya dengan symmetric cipher"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "dekripsi data (default)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifikasi signature"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "tampilkan kunci"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "tampilkan kunci dan signature"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "periksa signature kunci"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "tampilkan kunci dan fingerprint"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "tampilkan kunci rahasia"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "buat sertifikat revokasi"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "hapus kunci dari keyring publik"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "hapus kunci dari keyring pribadi"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "tandai kunci"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "tandai kunci secara lokal"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "tandai atau edit kunci"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "ubah passphrase"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "ekspor kunci"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "ekspor kunci ke key server"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "impor kunci dari key server"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "cari kunci di key server"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "update semua kunci dari keyserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "impor/gabung kunci"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "perbarui database trust"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [file]|cetak digest pesan"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "ciptakan output ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NAMA|enkripsi untuk NAMA"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "gunakan id-user ini untuk menandai/dekripsi"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set tingkat kompresi N (0 tidak ada)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "gunakan mode teks kanonikal"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "jangan buat perubahan"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "tanya sebelum menimpa"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2189,7 +2202,7 @@ msgstr ""
 "@\n"
 "(Lihat man page untuk daftar lengkap semua perintah dan option)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2209,21 +2222,26 @@ msgstr ""
 " --list-keys [nama]      tampilkan kunci\n"
 " --fingerprint [nama]    tampilkan fingerprint\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaks: gpg [pilihan] [file]\n"
 "tandai, cek, enkripsi atau dekripsi\n"
 "operasi baku tergantung pada data input\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2231,571 +2249,571 @@ msgstr ""
 "\n"
 "Algoritma yang didukung:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Kompresi: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "pemakaian: gpg [pilihan] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "tanda = tidak ditemukan dalam definisi grup \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "Item Konfigurasi tidak dikenal \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "tampilkan keyring tempat kunci yang dipilih berada"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "CATATAN: file pilihan baku lama `%s' diabaikan\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "CATATAN: %s tidak untuk pemakaian normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opsi impor tidak valid\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opsi impor tidak valid\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "tidak dapat menset path exec ke %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "PERINGATAN: program mungkin membuat file core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "PERINGATAN: %s menimpa %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s tidak dibolehkan dengan %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s tidak masuk akal dengan %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "anda hanya dapat membuat signature detached atau clear saat dalam mode --"
 "pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 "anda tidak dapat menandai dan mengenkripsi pada saat bersamaan dalam mode --"
 "pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "anda harus menggunakan file (dan bukan pipe) saat bekerja dengan opsi --"
 "pgpg2\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "mengenkripsi pesan dalam mode --pgp2 membutuhkan cipher IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "algoritma cipher yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "algoritma digest yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "algoritma cipher yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "algoritma sertifikasi digest yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed harus lebih dari 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed harus lebih dari 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth harus di antara 1 hingga 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "level cert default tidak valid; harus 0, 1, 2, atau 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "level cert min tidak valid; harus 0, 1, 2, atau 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "CATATAN: mode S2K sederhana (0) tidak dianjurkan\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mode S2K yang tidak valid; harus 0, 1 atau 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferensi baku tidak valid\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferensi cipher personal tidak valid\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferensi digest personal tidak valid\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferensi kompresi personal tidak valid\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s belum dapat dipakai dengan %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 "anda tidak boleh menggunakan algoritma cipher \"%s\" saat dalam mode %s.\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 "anda tidak boleh menggunakan algoritma digest \"%s\" saat dalam mode %s.\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "anda tidak boleh menggunakan algoritma kompresi \"%s\" saat dalam mode %s.\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "Peringatan: penerima yang disebutkan (-r) tanpa menggunakan enkripsi public "
 "key \n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [namafile]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [namafile]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "dekripsi gagal: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [namafile]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [namafile]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [namafile]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [namafile]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [namafile]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [namafile]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [namafile]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [namafile]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-user"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-user"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-user [perintah]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id-user"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Pengiriman keyserver gagal: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Penerimaan keyserver gagal: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Ekspor kunci gagal: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Pencarian keyserver gagal: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Refresh keyserver gagal: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "gagal dearmoring: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "gagal enarmoring: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritma hash tidak valid `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[namafile]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Teruskan dan ketikkan pesan anda ....\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL sertifikasi kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
@@ -2835,477 +2853,491 @@ msgstr "Tidak tersedia bantuan"
 msgid "No help available for `%s'"
 msgstr "Tidak tersedia bantuan untuk `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "perbarui database trust"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "kunci publik tidak cocok dengan kunci rahasia!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "kunci rahasia tidak dapat dipakai"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "melewati blok tipe %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kunci telah diproses\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Jumlah yang telah diproses: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        lewati kunci baru: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         tanpa ID user: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "             diimpor: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "            tidak berubah: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         ID user baru: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "          subkey baru: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "       signature baru: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "  pembatalan kunci baru: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     kunci rahasia dibaca: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  kunci rahasia diimpor: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " kunci rahasia tidak berubah: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "            tidak diimpor: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "       signature baru: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     kunci rahasia dibaca: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "kunci %08lX: tidak ada ID user\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "melewati `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "kunci %08lX: subkey HKP yang rusak diperbaiki\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "kunci %08lX: menerima ID user '%s' yang tidak self-signed\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "kunci %08lX: tidak ada ID user yang valid\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "mungkin disebabkan oleh self-signature yang tidak ada\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "kunci %08lX: kunci publik tidak ditemukan: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "kunci %08lX: kunci baru - dilewati\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "tidak ditemukan keyring yang dapat ditulisi: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "menulis ke `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "kunci %08lX: kunci publik \"%s\" diimpor\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "kunci %08lX: tidak cocok dengan duplikat kami\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "kunci %08lX: tidak dapat menemukan keyblock orisinal: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "kunci %08lX: tidak dapat membaca keyblok orisinal: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "kunci %08lX: 1 user ID baru \"%s\"\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "kunci %08lX: \"%s\" 1 signature baru\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "kunci %08lX: \"%s\" 1 subkey baru\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "kunci %08lX: \"%s\" %d subkey baru\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "kunci %08lX: \"%s\" tidak berubah\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "kunci %08lX: kunci rahasia dengan cipher tidak valid %d - dilewati\n"
+msgid "secret key %s: %s\n"
+msgstr "kunci rahasia `%s' tidak ditemukan: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "kunci %08lX: kunci rahasia dengan cipher tidak valid %d - dilewati\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "tidak ada keyring rahasia baku: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "kunci %08lX: kunci rahasia diimpor\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "kunci %08lX: sudah ada di keyring rahasia\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "kunci %08lX: kunci rahasia tidak ditemukan: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "kunci %08lX: tdk ada kunci publik-tdk dpt mengaplikasikan sertifikat "
 "pembatalan\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - ditolak\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "kunci %08lX: \"%s\" sertifikat pembatalan diimpor\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "kunci %08lX: tidak ada ID user untuk signature\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "kunci %08lX: algoritma publik key tidak didukung pada user id \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "kunci %08lX: self-signature tidak valid pada user id \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "kunci %08lX: algoritma publik key tidak didukung\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "kunci %08lX: signature kunci langsung ditambahkan\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "kunci %08lX: tidak ada subkey untuk key binding\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "kunci %08lX: subkey binding tidak valid\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "kunci %08lX: hapus subkey binding ganda\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "kunci %08lX: tidak ada subkey untuk pembatalan kunci\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "kunci %08lX: pembatalan subkey tidak valid\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "kunci %08lX: hapus pembatalan subkey ganda\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "kunci %08lX: melewati ID user "
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "kunci %08lX: melewati subkey\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "kunci %08lX: signature tidak dapat diekpor (kelas %02x) - dilewati\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "kunci %08lX: sertifikat pembatalan di tempat yang salah - dilewati\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - dilewati\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "kunci %08lX: signature subkey di tempat yang salah - dilewati\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "kunci %08lX: klas signature tidak diharapkan (0x%02x) - dilewati\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "kunci %08lX: terdeteksi ID user duplikat - digabungkan\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "Peringatan: kunci %08lX dapat dibatalkan: mengambil kunci pembatalan %08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "Peringatan: kunci %08lX dapat dibatalkan: kunci pembatalan %08lX tidak ada\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "kunci %08lX: \"%s\" penambahan sertifikat pembatalan\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "kunci %08lX: signature kunci langsung ditambahkan\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "kunci publik tidak cocok dengan kunci rahasia!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "%s: keyring tercipta\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "gagal membuat kembali cache keyring: %s\n"
@@ -3394,12 +3426,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User ID \"%s\" dibatalkan."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Apakah anda yakin masih ingin menandainya? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "..Tidak dapat menandai.\n"
 
@@ -3613,8 +3645,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Ditandai? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "gagal menandai: %s\n"
@@ -3623,20 +3655,20 @@ msgstr "gagal menandai: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Kunci ini tidak diproteksi.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Bagian rahasia kunci primer tidak tersedia.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Bagian rahasia kunci primer tidak tersedia.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Kunci diproteksi.\n"
 
@@ -3653,7 +3685,7 @@ msgstr ""
 "Masukkan passphrase baru untuk kunci rahasia ini.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "passphrase tidak diulang dengan benar; coba lagi"
 
@@ -3847,24 +3879,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "kesalahan membaca keyblock rahasia `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Kunci rahasia tersedia.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Perlu kunci rahasia untuk melakukan hal ini.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Silakan gunakan dulu perintah \"toogle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3872,242 +3904,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Kunci dibatalkan"
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Tandai ID seluruh user? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Petunjuk: Pilih ID user untuk ditandai\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "kelas signature tidak dikenal"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Anda harus memilih minimum satu ID user.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Anda tidak dapat menghapus ID user terakhir!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Hapus seluruh ID user terpilih? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Hapus ID user ini? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Hapus ID user ini? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Anda harus memilih minimum satu kunci.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "tidak dapat membuka `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Anda harus memilih minimum satu kunci.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Anda ingin menghapus kunci terpilih ini? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Anda ingin menghapus kunci ini? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Benar-benar hapus seluruh ID user terpilih? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Benar-benar hapus ID user ini? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Anda ingin membatalkan kunci ini? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Anda ingin membatalkan kunci terpilih ini? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Anda ingin membatalkan kunci ini? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "set daftar preferensi"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Update preferensi?"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Simpan perubahan? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Berhenti tanpa menyimpan? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "gagal memperbarui: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "gagal perbarui rahasia: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Kunci tidak berubah sehingga tidak perlu pembaharuan.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Fitur: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notasi: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Tidak ada preferensi pada user ID bergaya PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Kunci ini dapat dibatalkan oleh kunci %s"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Kunci ini dapat dibatalkan oleh kunci %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensitive)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revoked] "
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [berakhir: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [berakhir: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " trust: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " trust: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Kunci ini telah ditiadakan"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4115,19 +4147,19 @@ msgstr ""
 "Perhatikan bahwa validitas kunci yang ditampilkan belum tentu benar\n"
 "kecuali anda memulai kembali program.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[revoked] "
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4135,7 +4167,7 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4145,75 +4177,75 @@ msgstr ""
 "dapat menyebabkan beberapa versi\n"
 "          PGP menolak kunci ini.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Anda tetap ingin menambahkannya? (y/n) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Anda tidak boleh menambahkan sebuah photo ID ke kunci bergaya PGP2 \n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Hapus signature baik ini? (y/T/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Hapus signature tidak valid ini? (y/T/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Hapus signature tidak dikenal ini? (y/T/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Yakin ingin menghapus self-signature ini? (y/T)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Menghapus %d signature.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Menghapus %d signature.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Tidak ada yang dihapus.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "armor tidak valid"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4223,280 +4255,280 @@ msgstr ""
 "designated dapat\n"
 "............menyebabkan beberapa versi PGP menolak kunci ini.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Anda tidak boleh revoker designated ke kunci bergaya PGP2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Masukkan user ID pihak yang ingin dibatalkan: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "tidak dapat menunjuk kunci bergaya PGP 2.x sebagai pihak yang dibatalkan\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "anda tidak dapat menunjuk sebuah kunci sebagai pihak yang dibatalkan "
 "sendiri\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "PERINGATAN: Kunci ini telah dibatalkan oleh pihak yang berwenang\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "PERINGATAN: menunjuk sebuah kunci sebagai pihak yang dibatalkan tidak dapat "
 "dilakukan\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Anda yakin ingin menunjuk kunci inin sebagai pihak yang dibatalkan? (y/N):"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Silakan hapus pilihan dari kunci rahasia.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Silakan pilih maksimum satu kunci sekunder.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Merubah batas waktu untuk kunci sekunder.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Merubah batas waktu untuk kunci primer.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Anda tidak dapat merubah batas waktu kunci v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "PERINGATAN: subkey penandatangan %08lX tidak tersertifikasi silang\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Anda harus memilih minimum satu ID user.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "melewati self-signature v3 pada user id \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Apakah anda yakin ingin menggunakannya? (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Apakah anda yakin ingin menggunakannya? (y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notasi signature: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Ditimpa (y/T)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID user: "
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   ditandai oleh %08lX pada %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (tidak dapat diekspor)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Kunci ini akan kadaluarsa pada %s \n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Anda tetap ingin membatalkannya? (y/n) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Membuat sertifikat pembatalan untuk signature ini? (y/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   ditandai oleh %08lX pada %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Anda telah menandai ID user ini:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (tidak dapat diekspor)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   dibatalkan oleh %08lX pada %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Anda akan membatalkan signature ini:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Ingin membuat sertifikat pembatalan? (y/T)"
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "tidak ada kunci rahasia\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "PERINGATAN: signature user ID bertanggal %d detik di masa depan\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Menampilkan photo ID %s berukuran %ld untuk kunci 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferensi %c%lu ganda \n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "terlalu banyak preferensi `%c'\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "terlalu banyak preferensi `%c'\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "terlalu banyak preferensi `%c'\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "Karakter tidak valid dalam string preferensi\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "menulis signature direct\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "menulis self signature\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "menulis key binding signature\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "keysize tidak valid; menggunakan %u bit\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "keysize dibulatkan hingga %u bit\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "tandai"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "enkripsi data"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4510,104 +4542,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "  (%d) ElGamal (hanya enkripsi)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Silakan pilih kunci yang anda inginkan:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "  (%d) DSA dan ElGamal (baku)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "  (%d) DSA dan ElGamal (baku)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "  (%d) DSA (hanya menandai)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "  (%d) RSA (hanya menandai)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "  (%d) ElGamal (hanya enkripsi)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Keysize yang diminta adalah %u bit\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4623,7 +4655,7 @@ msgstr ""
 "     <n>m = kunci berakhir dalam n bulan\n"
 "     <n>y = kunci berakhir dalam n tahun\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4639,40 +4671,40 @@ msgstr ""
 "     <n>m = signature berakhir dalam n bulan\n"
 "     <n>y = signature berakhir dalam n tahun\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Kunci valid untuk? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Signature valid untuk? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "nilai yang tidak valid\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s tidak pernah berakhir\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s tidak pernah berakhir\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s berakhir pada %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signature kadaluarsa pada %s \n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4680,12 +4712,12 @@ msgstr ""
 "Sistem anda tidak dapat menampilkan tanggal melebihi 2038.\n"
 "Namun, ia dapat menanganinya secara benar hingga 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Benar (y/t)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4696,7 +4728,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4712,44 +4744,44 @@ msgstr ""
 "user-id dari Nama sebenarnya, Komentar dan Alamat email dalam bentuk:\n"
 "  \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nama sebenarnya: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Karakter tidak valid dalam nama\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Nama tidak boleh dimulai dengan digit\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Nama harus berukuran minimum 5 karakter\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Alamat email: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Bukan alamat email yang valid\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Komentar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Karakter tidak valid dalam komentar\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Anda menggunakan set karakter `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4759,11 +4791,11 @@ msgstr ""
 "Anda memilih USER-ID ini:\n"
 "   \"%s\"\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Jangan menaruh alamat email ke dalam nama sebenarnya atau komentar\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4778,23 +4810,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKkEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Ganti (N)ama, (K)omentar, (E)mail atau (Q)uit? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Ganti (N)ama, (K)omentar, (E)mail atau (O)ke/(Q)uit? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Silakan perbaiki kesalahan ini dulu\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4802,19 +4834,19 @@ msgstr ""
 "Anda perlu sebuah passphrase untuk melindungi kunci rahasia anda.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4827,7 +4859,7 @@ msgstr ""
 "menggunakan program ini dengan pilihan \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4839,50 +4871,50 @@ msgstr ""
 "selama pembuatan prima; ini akan memberi random number generator kesempatan\n"
 "yang baik untuk memperoleh entropi.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Pembuatan kunci dibatalkan.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "menulis kunci publik ke `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "tidak ditemukan keyring publik yang dapat ditulisi: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "tidak ditemukan keyring rahasia yang dapat ditulisi: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "kesalahan menulis keyring publik `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "kunci publik dan rahasia dibuat dan ditandai.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4892,45 +4924,45 @@ msgstr ""
 "mungkin ingin menggunakan perintah \"--edit-key\" untuk membuat kunci kedua "
 "untuk tujuan ini.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Pembuatan kunci gagal: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "kunci telah diciptakan dalam %lu detik mendatang (masalah waktu atau jam)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 "kunci telah diciptakan dalam %lu detik mendatang (masalah waktu atau jam)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "CATATAN: membuat subkey bagi kunci-kunci v3 tidak OpenPGP compliant\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Ingin diciptakan? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "CATATAN: kunci pribadi %08lX berakhir pada %s\n"
@@ -4963,30 +4995,30 @@ msgstr "Notasi signature: "
 msgid "Keyring"
 msgstr "Keyring"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Fingerprint kunci primer:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Fingerprint subkunci ="
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "     Fingerprint kunci primer ="
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "     Fingerprint subkunci ="
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Fingerprint kunci ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5067,463 +5099,463 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "PERINGATAN: opsi dalam `%s' belum aktif selama pelaksanaan ini\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "ditandai dengan kunci anda %08lX pada %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "kesalahan keyserver"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "kesalahan keyserver"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "Penerimaan keyserver gagal: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "ukuran aneh untuk kunci sesi terenkripsi (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s kunci sesi enkripsi\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "dienkripsi dengan algoritma tidak dikenal %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "kunci publik adalah %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "data terenkripsi dengan kunci publik: DEK baik\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "dienkripsi dengan %u-bit kunci %s, ID %08lX, tercipta %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "dienkripsi dengan kunci %s, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "gagal dekripsi kunci publik: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "dienkripsi dengan passphrase %lu\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "dienkripsi dengan 1 passphrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "asumsikan %s data terenkripsi\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cipher IDEA tidak tersedia, secara optimis berusaha menggunakan %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "dekripsi lancar\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "PERINGATAN: integritas pesan tidak terlindungi\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "PERINGATAN: pesan terenkripsi telah dimanipulasi!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekripsi gagal: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "CATATAN: pengirim meminta \"for-your-eyes-only\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "pembatalan mandiri - gunakan \"gpg --import\" untuk mengaplikasikan\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Signature baik dari \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verifikasi signature tidak diabaikan\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "tidak dapat menangani banyak signature ini\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature membuat %.*s menggunakan kunci %s ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Kunci tersedia di:"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "signature BURUK dari \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Signature kadaluarsa dari \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Signature baik dari \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "              alias \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature kadaluarsa pada %s \n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "biner"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "modeteks"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "tidak dikenal"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Tidak dapat memeriksa signature: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "bukan detached signature\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "PERINGATAN: multi signature terdeteksi. Hanya yang pertama akan diperiksa.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "kelas signature mandiri 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signature model lama (PGP 2.X)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "terdeteksi root paket tidak valid dalam proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "tidak dapat membuka file: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "tidak dapat menangani algoritma kunci publik %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "memaksa algoritma digest %s (%d) melanggar preferensi penerima\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "algoritma cipher belum diimplementasikan"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "memaksa algoritma digest %s (%d) melanggar preferensi penerima\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "plugin cipher IDEA tidak tersedia\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = beri saya informasi lebih banyak lagi\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: opsi tidak digunakan lagi \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "silakan gunakan \"%s%s\"\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Tidak dikompresi"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Tidak dikompresi"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "pesan ini mungkin tidak dapat digunakan oleh %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "membaca pilihan dari `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "penerima baku tidak dikenal `%s'\n"
@@ -5566,16 +5598,16 @@ msgstr "file konfigurasi baru `%s' tercipta\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "PERINGATAN: opsi dalam `%s' belum aktif selama pelaksanaan ini\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "tidak dapat menangani algoritma kunci publik %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "PERINGATAN: kunci sesi mungkin dienkripsi simetris secara tidak aman\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpaket tipe %d memiliki bit kritis terset\n"
@@ -5631,7 +5663,7 @@ msgstr "%u-bit kunci %s, ID %08lX, tercipta %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5647,35 +5679,35 @@ msgstr ""
 "gambar yang sangat besar, kunci anda akan menjadi semakin besar pula!\n"
 "Jagalah agar gambar mendekati ukuran 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Masukkan nama file JPEG sebagai ID foto: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "tidak dapat membuka file: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Apakah anda yakin ingin menggunakannya? (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" bukan sebuah file JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Apakah foto ini benar (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "tidak dapat menampilkan photo ID!\n"
 
@@ -5707,6 +5739,16 @@ msgstr "Alasan pembatalan:"
 msgid "revocation comment: "
 msgstr "Komentar pembatalan:"
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5897,25 +5939,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "        Tidak pasti signature milik pemilik.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: dilewati: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: dilewati: kunci publik telah ada\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Anda tidak menspesifikasikan ID user. (anda dapat gunakan \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5923,42 +5965,42 @@ msgstr ""
 "\n"
 "Masukkan user ID.  Akhiri dengan baris kosong: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Tidak ada ID user tersebut.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "dilewati: kunci publik telah diset sebagai penerima baku\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Kunci publik dimatikan.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "dilewati: kunci publik telah diset\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "penerima baku tidak dikenal `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: dilewati: kunci publik dimatikan\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "tidak ada alamat yang valid\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "kunci %08lX: tidak ada ID user\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "kunci %08lX: tidak ada ID user\n"
@@ -6251,19 +6293,25 @@ msgstr "CATATAN: kunci signature %08lX berakhir %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "CATATAN: kunci telah dibatalkan"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s signature, algoritma digest %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "mengasumsikan signature buruk dari kunci %08lX karena ada bit kritik tidak "
 "dikenal\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "kunci %08lX: tidak ada subkey untuk pembatalan paket\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "kunci %08lX: tidak ada subkey untuk key binding signature\n"
@@ -6356,7 +6404,7 @@ msgstr ""
 "melewati `%s': ini adalah kunci ElGamal yang dihasilkan PGP yang tidak aman "
 "untuk signature!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "trust record %lu, tipe %d: gagal menulis: %s\n"
@@ -6404,17 +6452,17 @@ msgstr "kesalahan: gagal menemukan catatan trust: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "kesalahan pembacaan: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: gagal sync: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek gagal: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
@@ -6423,117 +6471,117 @@ msgstr "trustdb rec %lu: write failed (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "transaksi trustdb terlalu besar\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "tidak dapat menutup `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: direktori tidak ada!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "tidak dapat membuka `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: gagal membuat catatan versi: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: tercipta trustdb tidak valid\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: tercipta trustdb\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "CATATAN: trustdb tidak dapat ditulisi\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: trustdb tidak valid\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: gagal membuat hashtable: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: kesalahan memperbaharui catatan versi: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: kesalahan membaca catatan versi: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: kesalahan menulis catatan versi: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek gagal: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: bukan file trustdb\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: catatan versi dengan recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versi file %d tidak valid\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: kesalahan membaca record bebas: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: kesalahan menulis dir record: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: gagal mengosongkan record: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: gagal menambahkan record: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: tercipta trustdb\n"
@@ -6548,173 +6596,181 @@ msgstr "tidak dapat menangani baris teks lebih dari %d karakter\n"
 msgid "input line longer than %d characters\n"
 msgstr "baris input lebih dari %d karakter\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' bukanlah keyID panjang yang valid\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "kunci %08lX: diterima sebagai kunci terpercaya.\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "kunci %08lX muncul lebih dari satu kali dalam trustdb\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "kunci %08lX: tidak ada kunci publik untuk trusted key- dilewati\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "kunci ditandai sebagai sangat dipercaya.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "trust record %lu, req tipe %d: gagal baca: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "trust record %lu tidak dalam jenis yang diminta %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revoked] "
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[expired] "
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "tidak dikenal"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "tidak pernah..."
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "tidak perlu memeriksa trustdb\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "pemeriksaan trustdb berikutnya pada %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "tidak perlu memeriksa trustdb\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "tidak perlu memeriksa trustdb\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "kunci publik %08lX tidak ditemukan: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "lakukanlah --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "memeriksa trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d kunci diproses (%d hitungan validitas dihapus)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "tidak ditemukan kunci yang benar-benar terpercaya\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "kunci publik yang sangat terpercaya %08lX tidak ditemukan\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "trust record %lu, tipe %d: gagal menulis: %s\n"
@@ -6739,77 +6795,77 @@ msgstr "baris input %u terlalu panjang atau hilang LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "tidak dapat membuka `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "kesalahan baca file"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "baris terlalu panjang\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argumen tidak valid"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "perintah saling konflik\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opsi impor tidak valid\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "tidak diproses"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opsi impor tidak valid\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Perintah tidak valid (coba \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "tidak diproses"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opsi impor tidak valid\n"
@@ -6819,22 +6875,17 @@ msgstr "opsi impor tidak valid\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "anda menemukan kesalahan ...(%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "kesalahan membaca `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "tidak dapat membuka file: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "gagal enarmoring: %s\n"
@@ -6891,24 +6942,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6957,208 +7009,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "gagal membuat kembali cache keyring: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Pengiriman keyserver gagal: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Silakan pilih alasan untuk pembatalan:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "ubah passphrase"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "ubah passphrase"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "gagal membaca keyblock: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: kesalahan membaca record bebas: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' sudah dikompresi\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "buat sepasang kunci baru"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "buat sepasang kunci baru"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Pembuatan kunci gagal: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "tidak ditemukan data OpenPGP yang valid.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "ubah passphrase"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7167,72 +7233,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "jangan menggunakan terminal"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "perintah saling konflik\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7271,11 +7341,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "bantuan"
@@ -7307,208 +7377,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "CATATAN: kunci telah dibatalkan"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Kunci ini telah berakhir!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Kunci ini telah berakhir!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Kunci ini telah berakhir!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Kunci ini telah berakhir!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "       signature baru: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Sertifikat pembatalan tercipta.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "sertifikat yang buruk"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "tampilkan fingerprint"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "buat sertifikat revokasi"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verifikasi signature"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "preferensi %c%lu ganda \n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Sertifikat pembatalan tercipta.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "sertifikat yang buruk"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7573,19 +7644,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7795,7 +7866,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "gagal membaca keyblock: %s\n"
@@ -7932,7 +8003,7 @@ msgstr "tambah keyring ini ke daftar keyring"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|gunakan keyserver ini utk lihat kunci"
@@ -7954,8 +8025,8 @@ msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaks: gpg [pilihan] [file]\n"
 "tandai, cek, enkripsi atau dekripsi\n"
@@ -7991,26 +8062,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = lewati kunci ini\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "menulis ke `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "tidak dapat menutup `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8028,12 +8099,7 @@ msgstr "buat sertifikat revokasi"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "gagal inisialisasi TrustDB: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -8048,46 +8114,42 @@ msgstr "kesalahan penciptaan passphrase: %s\n"
 msgid "error reading input: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "%s: keyring tercipta\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? masalah memeriksa pembatalan: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
@@ -8275,149 +8337,149 @@ msgstr "kesalahan mengirim ke `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|gunakan passphrase mode N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAMA|enkripsi untuk NAMA"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAMA|gunakan algoritma cipher NAMA untuk passphrase"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8678,6 +8740,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "kesalahan membaca `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "gagal inisialisasi TrustDB: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Perintah> "
 
@@ -9224,9 +9294,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "digunakan kunci rahasia yang salah"
 
-#~ msgid "not supported"
-#~ msgstr "tidak didukung"
-
 #~ msgid "bad key"
 #~ msgstr "kunci yang buruk"
 
index 8b19b1e..f54277b 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index f6041f4..a014696 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,15 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.1.92\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2008-05-26 12:02+0200\n"
 "Last-Translator: Marco d'Itri <md@linux.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
@@ -24,21 +25,21 @@ msgstr "inizializzazione del trustdb fallita: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -48,164 +49,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "riga troppo lunga\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "passphrase troppo lunga\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Carattere non valido nel nome\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI danneggiato"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "passphrase errata"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "passphrase errata"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "l'algoritmo di protezione %d%s non è gestito\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "impossibile creare `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "impossibile aprire `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "errore scrivendo il portachiavi segreto `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "non è stato trovato un portachiavi segreto scrivibile: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "cancellazione del keyblock fallita: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "errore scrivendo il portachiavi `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "cambia la passphrase"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: creazione della tabella hash fallita: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -225,7 +229,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -332,7 +336,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Ti serve una passphrase per proteggere la tua chiave segreta.\n"
 "\n"
@@ -342,7 +346,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "cambia la passphrase"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -353,283 +357,292 @@ msgstr ""
 "Opzioni:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "prolisso"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "meno prolisso"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|carica il modulo di estensione FILE"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "cerca delle chiavi su un key server"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Aggiorno davvero le preferenze per gli user ID selezionati? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "aggiorna il database della fiducia"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "non gestito"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "non gestito"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Per favore segnala i bug a <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: manca il file `%s' con le opzioni predefinite\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "file con le opzioni `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "lettura delle opzioni da `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "errore creando `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "impossibile creare la directory `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossibile creare %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent non è disponibile in questa sessione\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "aggiornamento fallito: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: directory creata\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: read fallita (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: impossibile creare la directory: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "aggiornamento della chiave segreta fallito: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: saltata: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent non è disponibile in questa sessione\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variabile di ambiente GPG_AGENT_INFO malformata\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "la versione %d del protocollo di gpg-agent non è gestita\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -638,7 +651,7 @@ msgstr ""
 "@Comandi:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -650,51 +663,51 @@ msgstr ""
 "Opzioni:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "passphrase errata"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Cancella"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
@@ -809,8 +822,8 @@ msgstr "cambia la passphrase"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
@@ -850,12 +863,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "errore creando `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[User ID non trovato]"
@@ -888,17 +901,17 @@ msgstr "interrotto dall'utente\n"
 msgid "problem with the agent\n"
 msgstr "problema con l'agent: ha restituito 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "impossibile disabilitare i core dump: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
@@ -1133,12 +1146,12 @@ msgstr "Questa chiave 
 msgid "Root certificate trustworthy"
 msgstr "certificato danneggiato"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "certificato danneggiato"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Chiave disponibile presso: "
@@ -1220,7 +1233,7 @@ msgstr "armatura inaspettata:"
 msgid "invalid dash escaped line: "
 msgstr "riga protetta con il trattino non valida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "Carattere radix64 non valido %02x saltato\n"
@@ -1237,7 +1250,7 @@ msgstr "eof prematura (nel CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC malformato\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "errore nel CRC; %06lx - %06lx\n"
@@ -1251,16 +1264,16 @@ msgstr "eof prematura (nella coda)\n"
 msgid "error in trailer line\n"
 msgstr "errore nella riga della coda\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "Non sono stati trovati dati OpenPGP validi.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armatura non valida: linea più lunga di %d caratteri\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1296,7 +1309,7 @@ msgstr "ATTENZIONE: trovati dati di una nota non validi\n"
 msgid "not human readable"
 msgstr "non leggibile"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "la chiave segreta non è disponibile"
@@ -1306,8 +1319,8 @@ msgstr "la chiave segreta non 
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "impossibile fare questo in modo batch\n"
@@ -1317,225 +1330,225 @@ msgstr "impossibile fare questo in modo batch\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Questo comando non è permesso in modalità %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "parti della chiave segreta non sono disponibili\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Cosa scegli? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "abilita"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "abilita"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Nessuna ragione specificata"
 
 # ??? (Md)
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "non esaminato"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "non c'è una chiave pubblica corrispondente: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "errore creando il portachiavi `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "errore scrivendo il portachiavi `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferenze aggiornate"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "carattere non valido nella stringa delle preferenze\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "carattere non valido nella stringa delle preferenze\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "errore: impronta digitale non valida\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "mostra le impronte digitali"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "errore: impronta digitale non valida\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Generazione della chiave fallita: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "Non sono stati trovati dati OpenPGP validi.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "errore scrivendo il portachiavi segreto `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Di che dimensioni vuoi la chiave? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Di che dimensioni vuoi la chiave? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Di che dimensioni vuoi la chiave? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arrotondate a %u bit\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "saltata: chiave pubblica già presente\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1543,145 +1556,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Per favore scegli che tipo di chiave vuoi:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Firma scaduta il %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (cifra solo)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Scelta non valida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Per favore scegli il motivo della revoca:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "algoritmo di protezione sconosciuto\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Parti della chiave segreta non sono disponibili.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "saltata: chiave pubblica già presente\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "errore scrivendo il portachiavi `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "abbandona questo menù"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandi in conflitto\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "mostra questo aiuto"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Chiave disponibile presso: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "cambia la data di scadenza"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "cambia il valore di fiducia"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra le impronte digitali"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "genera una nuova coppia di chiavi"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandi in conflitto\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandi in conflitto\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando non valido  (prova \"help\")\n"
 
@@ -1689,18 +1702,18 @@ msgstr "Comando non valido  (prova \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output non funziona con questo comando\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "impossibile aprire `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "chiave `%s' non trovata: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1810,7 +1823,7 @@ msgstr ""
 "forzare il cifrario simmetrico %s (%d) viola le preferenze\n"
 "del destinatario\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "non è possibile usare %s in modalità %s\n"
@@ -1820,79 +1833,79 @@ msgstr "non 
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s cifrato per: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "dati cifrati con %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrato con l'algoritmo sconosciuto %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ATTENZIONE: il messaggio era stato cifrato usando una chiave debole\n"
 "per il cifrario simmetrico\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problema nella gestione del pacchetto cifrato\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "l'esecuzione remota dei programmi non è gestita\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "le chiamate a programmi esterni sono disattivate a causa dei permessi non\n"
 "sicuri del file delle opzioni\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "questa piattaforma richiede file temporanei quando si chiamano programmi "
 "esterni\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "impossibile eseguire %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "impossibile eseguire %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "errore di sistema chiamando il programma esterno: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "uscita anormale del programma esterno\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "impossibile eseguire il programma esterno\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "impossibile leggere la risposta del programma esterno: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "ATTENZIONE: impossibile cancellare il file temporaneo (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "ATTENZIONE: impossibile rimuovere la directory temporanea `%s': %s\n"
@@ -1993,201 +2006,201 @@ msgstr "errore creando `%s': %s\n"
 msgid "No fingerprint"
 msgstr "mostra le impronte digitali"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Chiave %08lX non valida resa valida da --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "manca una subchiave segreta per la subchiave pubblica %08lX - ignorata\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "uso la chiave secondaria %08lX invece della chiave primaria %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "chiave %08lX: chiave segreta senza chiave pubblica - saltata\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "fai una firma separata"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[file]|fai una firma mantenendo il testo in chiaro"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "fai una firma separata"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "cifra dati"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "cifra solo con un cifrario simmetrico"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "decifra dati (predefinito)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "elenca le chiavi"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "elenca le chiavi e le firme"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "controlla le firme delle chiavi"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "elenca le chiavi e le impronte digitali"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "elenca le chiavi segrete"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "genera una nuova coppia di chiavi"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "genera un certificato di revoca"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "rimuove le chiavi dal portachiavi pubblico"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "rimuove le chiavi dal portachiavi privato"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "firma una chiave"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "firma una chiave localmente"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "firma o modifica una chiave"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "cambia la passphrase"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "esporta delle chiavi"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "esporta le chiavi a un key server"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importa le chiavi da un key server"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "cerca delle chiavi su un key server"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "aggiorna tutte le chiavi da un key server"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importa/aggiungi delle chiavi"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "aggiorna il database della fiducia"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [files]|stampa tutti i message digests"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "crea un output ascii con armatura"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|cifra per NOME"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "usa questo user-id per firmare o decifrare"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|imposta il livello di compressione (0 disab.)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usa il modo testo canonico"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|carica il modulo di estensione FILE"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "non fa cambiamenti"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "chiede prima di sovrascrivere"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2195,7 +2208,7 @@ msgstr ""
 "@\n"
 "(Vedi la man page per una lista completa di tutti i comandi e opzioni)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2215,21 +2228,26 @@ msgstr ""
 " --list-keys [nomi]         mostra le chiavi\n"
 " --fingerprint [nomi]       mostra le impronte digitali\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintassi: gpg [opzioni] [files]\n"
 "firma, controlla, cifra o decifra\n"
 "l'operazione predefinita dipende dai dati di input\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2237,566 +2255,566 @@ msgstr ""
 "\n"
 "Algoritmi gestiti:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "A chiave pubblica: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cifrari: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compressione: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opzioni] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "comandi in conflitto\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "non è stato trovato il segno = nella definizione del gruppo \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "ATTENZIONE: il proprietario \"%s\" di %s è insicuro\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "elemento della configurazione sconosciuto \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Manca la firma corrispondente nel portachiavi segreto\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "l'URL della politica di firma indicato non è valido\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mostra in quali portachiavi sono contenute le chiavi elencate"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Manca la firma corrispondente nel portachiavi segreto\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr ""
 "NOTA: il vecchio file `%s' con le opzioni predefinite è stato ignorato\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: %s normalmente non deve essere usato!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s non è un set di caratteri valido\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s non è un set di caratteri valido\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "impossibile fare il parsing dell'URI del keyserver\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opzioni di importazione non valide\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opzioni di importazione non valide\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opzioni di importazione non valide\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "opzioni di importazione non valide\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s non è un set di caratteri valido\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "l'URL della politica di firma indicato non è valido\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s non è un set di caratteri valido\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s non è un set di caratteri valido\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "impossibile impostare exec-path a %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "ATTENZIONE: il programma potrebbe creare un file core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ATTENZIONE: %s ha la precedenza su %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Non è permesso usare %s con %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "Non ha senso usare %s con %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "nella modalità --pgp2 puoi fare solo firme in chiaro o separate\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "nella modalità --pgp2 non puoi firmare e cifrare contemporaneamente\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "devi usare dei file (e non una pipe) quando lavori con --pgp2 attivo.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 "nella modalità --pgp2 è richiesto il cifrario IDEA per cifrare un messaggio\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algoritmo di cifratura selezionato non è valido\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "l'algoritmo di digest selezionato non è valido\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "l'algoritmo di cifratura selezionato non è valido\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "l'algoritmo di digest selezionato non è valido\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed deve essere maggiore di 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed deve essere maggiore di 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth deve essere tra 1 e 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level non valido; deve essere 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level non valido; deve essere 1, 2 o 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: l'uso del modo S2K semplice (0) è fortemente scoraggiato\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K non valido; deve essere 0, 1 o 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferenze predefinite non valide\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferenze personali del cifrario non valide\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferenze personali del digest non valide\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferenze personali di compressione non valide\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s non funziona ancora con %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "non è possibile usare l'algoritmo di cifratura \"%s\" in modalità %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "non è possibile usare l'algoritmo di digest \"%s\" in modalità %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "non è possibile usare l'algoritmo di compressione \"%s\" in modalità %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ATTENZIONE: sono stati indicati dei destinatari (-r) senza usare la\n"
 "crittografia a chiave pubblica\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nomefile]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nomefile]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "decifratura fallita: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nomefile]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [nomefile]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "non è possibile usare %s in modalità %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nomefile]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nomefile]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [nomefile]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "non è possibile usare %s in modalità %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [nomefile]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nomefile]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nomefile]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [comandi]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "invio al keyserver fallito: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "ricezione dal keyserver fallita: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "esportazione della chiave fallita: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "ricerca nel keyserver fallita: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "aggiornamento del keyserver fallito: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "rimozione dell'armatura fallita: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "creazione dell'armatura fallita: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo di hash non valido `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nomefile]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Vai avanti e scrivi il messaggio...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "l'URL della politica di certificazione indicato non è valido\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "l'URL della politica di firma indicato non è valido\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "l'URL della politica di firma indicato non è valido\n"
@@ -2836,480 +2854,494 @@ msgstr "Non 
 msgid "No help available for `%s'"
 msgstr "Non è disponibile un aiuto per `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "aggiorna il database della fiducia"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "la chiave pubblica non corrisponde alla chiave segreta!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "chiave segreta inutilizzabile"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "salto un blocco di tipo %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "Per ora sono state esaminate %lu chiavi\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Numero totale esaminato: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "  nuove chiavi saltate: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         senza user ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "             importate: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "        non modificate: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         nuovi user ID: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "       nuove subchiavi: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "           nuove firme: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "nuove revoche di chiavi: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "  chiavi segrete lette: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "chiavi segrete importate: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "chiavi segrete non cambiate: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             importate: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "           nuove firme: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "  chiavi segrete lette: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "Firma %s, algoritmo di digest %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chiave %08lX: nessun user ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "saltata `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chiave %08lX: riparati i danni di HKP alla subchiave\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chiave %08lX: accettato l'user ID non autofirmato '%s'\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chiave %08lX: nessun user ID valido\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "questo può essere causato da una autofirma mancante\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chiave %08lX: chiave pubblica non trovata: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chiave %08lX: nuova chiave - saltata\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "non è stato trovato un portachiavi scrivibile: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "scrittura in `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "errore scrivendo il portachiavi `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chiave %08lX: importata la chiave pubblica \"%s\"\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chiave %08lX: non corrisponde alla nostra copia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "chiave %08lX: impossibile individuare il keyblock originale: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "chiave %08lX: impossibile leggere il keyblock originale: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chiave %08lX: \"%s\" 1 nuovo user ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chiave %08lX: \"%s\" %d nuovi user ID\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chiave %08lX: \"%s\" una nuova firma\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chiave %08lX: \"%s\" %d nuove firme\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chiave %08lX: \"%s\" una nuova subchiave\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chiave %08lX: \"%s\" %d nuove subchiavi\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chiave %08lX: \"%s\" %d nuove firme\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chiave %08lX: \"%s\" %d nuove firme\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chiave %08lX: \"%s\" %d nuovi user ID\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chiave %08lX: \"%s\" %d nuovi user ID\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chiave %08lX: \"%s\" non cambiata\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "chiave %08lX: chiave segreta con cifrario %d non valido - saltata\n"
+msgid "secret key %s: %s\n"
+msgstr "chiave segreta `%s' non trovata: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "chiave %08lX: chiave segreta con cifrario %d non valido - saltata\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "nessun portachiavi segreto predefinito: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chiave %08lX: chiave segreta importata\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "chiave %08lX: già nel portachiavi segreto\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "chiave %08lX: chiave segreta non trovata: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chiave %08lX: manca la chiave pubblica - impossibile applicare il\n"
 "certificato di revoca\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "chiave %08lX: certificato di revoca non valido: %s - rifiutato\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chiave %08lX: \"%s\" certificato di revoca importato\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chiave %08lX: nessun user ID per la firma\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chiave %08lX: algoritmo a chiave pubblica non gestito sull'user ID \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "chiave %08lX: autofirma non valida sull'user ID \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chiave %08lX: algoritmo a chiave pubblica non gestito\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chiave %08lX: aggiunta una firma alla chiave diretta\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chiave %08lX: non ci sono subchiavi per il legame con la chiave\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chiave %08lX: legame con la subchiave non valido:\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chiave %08lX: rimossi i legami con subochiavi multiple\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chiave %08lX: non ci sono subchiavi per la revoca della chiave\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chiave %08lX: revoca della subchiave non valida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chiave %08lX: rimosse le revoche di subchiavi multiple\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chiave %08lX: saltato l'user ID '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chiave %08lX: saltata la subchiave\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chiave %08lX: firma non esportabile (classe %02x) - saltata\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chiave %08lX: certificato di revoca nel posto sbagliato - saltata\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chiave %08lX: certificato di revoca non valido: %s - saltata\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chiave %08lX: firma della subchiave nel posto sbagliato - saltata\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chiave %08lX: classe della firma inaspettata (0x%02x) - saltata\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chiave %08lX: trovato un user ID duplicato - unito\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "ATTENZIONE: la chiave %08lX può essere stata revocata: scarico la chiave\n"
 "di revoca %08lX.\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ATTENZIONE: la chiave %08lX può essere stata revocata: la chiave di\n"
 "revoca %08lX non è presente.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chiave %08lX: certificato di revoca \"%s\" aggiunto\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chiave %08lX: aggiunta una firma alla chiave diretta\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "la chiave pubblica non corrisponde alla chiave segreta!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "saltata: chiave pubblica già presente\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "saltata: chiave pubblica già presente\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "errore creando il portachiavi `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "portachiavi `%s' creato\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "errore creando `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "rebuild della cache del portachiavi fallito: %s\n"
@@ -3398,12 +3430,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "L'user ID \"%s\" è stato revocato."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Sei ancora sicuro di volerla firmare? (s/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Impossibile firmarla.\n"
 
@@ -3615,8 +3647,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Firmo davvero? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "firma fallita: %s\n"
@@ -3625,20 +3657,20 @@ msgstr "firma fallita: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Questa chiave non è protetta.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Parti della chiave segreta non sono disponibili.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Parti della chiave segreta non sono disponibili.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "La chiave è protetta.\n"
 
@@ -3655,7 +3687,7 @@ msgstr ""
 "Inserisci la nuova passphrase per questa chiave segreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "passphrase non ripetuta correttamente; prova ancora"
 
@@ -3849,24 +3881,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "errore leggendo il keyblock segreto `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "È disponibile una chiave segreta.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Per fare questo serve la chiave segreta.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Per favore usa prima il comando \"toggle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3874,242 +3906,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "La chiave è stata revocata."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Firmo davvero tutti gli user ID? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Suggerimento: seleziona gli user ID da firmare\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "classe della firma sconosciuta"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Questo comando non è permesso in modalità %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Devi selezionare almeno un user ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Non puoi cancellare l'ultimo user ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Tolgo davvero tutti gli user ID selezionati? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Tolgo davvero questo user ID? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Tolgo davvero questo user ID? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Devi selezionare almeno una chiave.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "impossibile aprire `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "errore creando il portachiavi `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Devi selezionare almeno una chiave.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vuoi davvero cancellare le chiavi selezionate? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vuoi davvero cancellare questa chiave? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Revoco davvero tutti gli user ID selezionati? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Revoco davvero questo user ID? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vuoi davvero revocare questa chiave? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Vuoi davvero revocare le chiavi selezionate? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Vuoi davvero revocare questa chiave? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "imposta la lista di preferenze"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Aggiorno davvero le preferenze per gli user ID selezionati? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Aggiorno davvero le preferenze? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Salvo i cambiamenti? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Esco senza salvare? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aggiornamento fallito: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "aggiornamento della chiave segreta fallito: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "La chiave non è cambiata quindi non sono necessari aggiornamenti.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Caratteristiche: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Nota: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Non esistono preferense su un user ID in stile PGP 2.x\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Questa chiave può essere revocata dalla chiave %s "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Questa chiave può essere revocata dalla chiave %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensibile)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "impossibile creare %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revocata]"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr "[scadenza: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr "[scadenza: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " fiducia: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " fiducia: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Questa chiave è stata disabilitata"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4118,19 +4150,19 @@ msgstr ""
 "corretta\n"
 "finchè non eseguirai di nuovo il programma.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[revocata]"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4139,7 +4171,7 @@ msgstr ""
 "            potrebbe fare diventare un altro user ID il primario "
 "predefinito.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4148,76 +4180,76 @@ msgstr ""
 "ATTENZIONE: Questa è una chiave in stile PGP2. Aggiungere un ID fotografico\n"
 "            può causarne il rifiuto da parte di alcune versioni di PGP.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Sei ancora sicuro di volerlo aggiungere? (s/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Non è possibile aggiungere un ID fotografico a una chiave in stile PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Cancellare questa firma corretta? (s/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Cancellare questa firma non valida? (s/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Cancellare questa firma sconosciuta? (s/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Cancellare davvero questa autofirma? (s/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Cancellata %d firma.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Cancellate %d firme.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Non è stato cancellato nulla.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "armatura non valida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "L'user ID \"%s\" è stato revocato."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "L'user ID \"%s\" è stato revocato."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "L'user ID \"%s\" è stato revocato."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4227,286 +4259,286 @@ msgstr ""
 "            designato può causarne il rifiuto da parte di alcune versioni\n"
 "            di PGP.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Non è possibile aggiungere un revocatore designato a una chiave in stile\n"
 "PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Inserisci l'user ID del revocatore designato: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "impossibile nominare come revocatore designato una chiave in stile PGP 2.x\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "impossibile nominare una chiave come revocatore designato di sè stessa\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 "ATTENZIONE: questa chiave è stata revocata dal suo revocatore designato!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ATTENZIONE: la nomina di una chiave a revocatrice designata non può essere\n"
 "annullata.\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Sei sicuro di volere nominare questa chiave revocatrice designata? (s/N):"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Togli le selezioni dalle chiavi segrete.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Seleziona al massimo una chiave secondaria.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Cambio la data di scadenza per una chiave secondaria.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambio la data di scadenza per la chiave primaria.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Non è possibile cambiare la data di scadenza di una chiave v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Manca la firma corrispondente nel portachiavi segreto\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "ATTENZIONE: la sottochiave per firme %08lX non ha una certificature "
 "incrociata\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Devi selezionare esattamente un user ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "salto una autofirma v3 sull'user ID \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Sei sicuro di volerla usare? (s/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Sei sicuro di volerla usare? (s/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Annotazione della firma: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Sovrascrivo (s/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nessun user ID con l'indice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nessun user ID con l'indice %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nessun user ID con l'indice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   firmata da %08lX il %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (non esportabile)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Questa chiave è scaduta il %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Sei ancora sicuro di volerlo aggiungere? (s/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Creare un certificato di revoca per questa firma? (s/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   firmata da %08lX il %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Non puoi cancellare l'ultimo user ID!\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (non esportabile)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revocata da %08lX il %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Stai per revocare queste firme:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Creare davvero i certificati di revoca? (s/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "manca la chiave segreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "ATTENZIONE: una firma dell'user ID ha la data di %d secondi nel futuro\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "Mostro %s ID fotografici di dimensioni %ld per la chaive 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "la preferenza %c%lu è doppia\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "ci sono troppe preferenze `%c'\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "ci sono troppe preferenze `%c'\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "ci sono troppe preferenze `%c'\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "carattere non valido nella stringa delle preferenze\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "scrittura della firma diretta\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "scrittura della autofirma\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "scrittura della firma di collegamento alla chiave\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "dimensione della chiave non valida; uso %u bit\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "dimensioni della chiave arrotondate a %u bit\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "cifra dati"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4520,104 +4552,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (cifra solo)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Per favore scegli che tipo di chiave vuoi:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA e ElGamal (default)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA e ElGamal (default)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (firma solo)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (firma solo)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (cifra solo)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (cifra solo)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (cifra solo)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (cifra solo)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Di che dimensioni vuoi la chiave? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Di che dimensioni vuoi la chiave? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "La dimensione richiesta della chiave è %u bit\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4633,7 +4665,7 @@ msgstr ""
 "      <n>m = la chiave scadrà dopo n mesi\n"
 "      <n>y = la chiave scadrà dopo n anni\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4649,40 +4681,40 @@ msgstr ""
 "      <n>m = la chiave scadrà dopo n mesi\n"
 "      <n>y = la chiave scadrà dopo n anni\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Chiave valida per? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Firma valida per? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valore non valido\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "%s non ha scadenza\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "%s non ha scadenza\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s scadrà il %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Questa firma scadrà il %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4690,12 +4722,12 @@ msgstr ""
 "Il tuo sistema non può mostrare date oltre il 2038.\n"
 "Comunque, sarà gestita correttamente fino al 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "È giusto (s/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4706,7 +4738,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4723,44 +4755,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nome e Cognome: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Carattere non valido nel nome\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Il nome non può iniziare con una cifra\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Il nome deve essere lungo almeno 5 caratteri\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Indirizzo di Email: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "L'indirizzo di email non è valido\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Commento: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Carattere non valido nel commento\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Stai usando il set di caratteri `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4771,11 +4803,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Per favore non mettere l'indirizzo di email nel nome o nel commento\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4790,23 +4822,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Modifica (N)ome, (C)ommento, (E)mail oppure (Q)uit? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Modifica (N)ome, (C)ommento, (E)mail oppure (O)kay/(Q)uit? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Per favore correggi prima l'errore\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4814,19 +4846,19 @@ msgstr ""
 "Ti serve una passphrase per proteggere la tua chiave segreta.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Inserisci la passphrase, cioè una frase segreta \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4838,7 +4870,7 @@ msgstr ""
 "programma con l'opzione \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4850,50 +4882,50 @@ msgstr ""
 "dischi) durante la generazione dei numeri primi; questo da al generatore di\n"
 "numeri casuali migliori possibilità di raccogliere abbastanza entropia.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Generazione della chiave annullata.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "scrittura della chiave pubblica in `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "non è stato trovato un portachiavi pubblico scrivibile: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "non è stato trovato un portachiavi segreto scrivibile: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "errore scrivendo il portachiavi pubblico `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "errore scrivendo il portachiavi segreto `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "chiavi pubbliche e segrete create e firmate.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4903,12 +4935,12 @@ msgstr ""
 "il comando \"--edit-key\" per generare una chiave secondaria per questo "
 "scopo.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Generazione della chiave fallita: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4916,7 +4948,7 @@ msgstr ""
 "la chiave è stata creata %lu secondo nel futuro (salto nel tempo o problema\n"
 "con l'orologio)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4924,26 +4956,26 @@ msgstr ""
 "la chiave è stata creata %lu secondi nel futuro (salto nel tempo o problema\n"
 "con l'orologio)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NB: la creazione di subchiavi per chiavi v3 non rispetta OpenPGP.\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Crea davvero? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "cancellazione del keyblock fallita: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "impossibile creare `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTA: chiave %08lX scaduta il %s\n"
@@ -4976,30 +5008,30 @@ msgstr "Annotazione della firma: "
 msgid "Keyring"
 msgstr "Portachiavi"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Impronta digitale della chiave primaria:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "    Impronta digitale della subchiave:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Impronta digitale della chiave primaria:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "     Impronta digitale della subchiave:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "     Impronta digitale ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5082,56 +5114,56 @@ msgstr ""
 "ATTENZIONE: le opzioni in `%s' non sono ancora attive durante questa\n"
 "esecuzione del programma\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "chiave `%s' non trovata: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "chiave `%s' non trovata: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "richiedo la chiave %08lX a %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "richiedo la chiave %08lX a %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "cerco \"%s\" sul server HKP %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "cerco \"%s\" sul server HKP %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "cerco \"%s\" sul server HKP %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
@@ -5139,408 +5171,408 @@ msgstr ""
 "firmata con la tua chiave %08lX il %s\n"
 "\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "cerco \"%s\" sul server HKP %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "cerco \"%s\" sul server HKP %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "errore del keyserver"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "errore del keyserver"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "ricezione dal keyserver fallita: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ATTENZIONE: impossibile cancellare il file temporaneo (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "richiedo la chiave %08lX a %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "richiedo la chiave %08lX a %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ATTENZIONE: impossibile cancellare il file temporaneo (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "ATTENZIONE: impossibile cancellare il file temporaneo (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "la chiave di sessione cifrata ha dimensioni strane (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "chiave di sessione cifrata con %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "cifrato con l'algoritmo sconosciuto %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "la chiave pubblica è %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dati cifrati con la chiave pubblica: DEK corretto\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrato con la chiave %2$s di %1$u bit, ID %3$08lX, creata il %4$s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                alias \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "Cifrato con la chiave %s con ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decifratura della chiave pubblica fallita: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifratto con %lu passphrase\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifratto con 1 passphrase\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "suppongo che i dati siano cifrati con %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cifrario IDEA non disponibile, ottimisticamente cerco di usare %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "decifratura corretta\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ATTENZIONE: l'integrità del messaggio non era protetta\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATTENZIONE: il messaggio cifrato è stato manipolato!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decifratura fallita: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: il mittente ha richiesto \"solo-per-i-tuoi-occhi\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome del file originale='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revoca solitaria - usa \"gpg --import\" per applicarla\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Firma valida da \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verifica della firma soppressa\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "impossibile gestire queste firme multiple\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Firma scaduta il %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                alias \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Firma fatta %.*s usando %s con ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Chiave disponibile presso: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Firma NON corretta da \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Firma scaduta da \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Firma valida da \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[incerta]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                alias \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Firma scaduta il %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Questa firma scadrà il %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "Firma %s, algoritmo di digest %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binario"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "modo testo"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "sconosciuto"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossibile controllare la firma: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "non è una firma separata\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "ATTENZIONE: trovate firme multiple. Sarà controllata solo la prima.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "firma solitaria di classe 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "firma vecchio stile (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "individuato un pacchetto radice non valido in proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "impossibile aprire il file: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "trustdb: read fallita (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "impossibile gestire l'algoritmo a chiave pubblica %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "forzare l'algoritmo di digest %s (%d) viola le preferenze del destinatario\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "algoritmo di cifratura non implementato"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "Firma %s, algoritmo di digest %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "forzare l'algoritmo di digest %s (%d) viola le preferenze del destinatario\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "il plugin per il cifrario IDEA non è presente\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = mostrami ulteriori informazioni\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d \"%s\" è una opzione deprecata\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ATTENZIONE: \"%s\" è una opzione deprecata\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "usa al suo posto \"%s%s\"\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "ATTENZIONE: \"%s\" è una opzione deprecata\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ATTENZIONE: \"%s\" è una opzione deprecata\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Non compresso"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Non compresso"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "questo messaggio può non essere utilizzabile da %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "lettura delle opzioni da `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "destinatario predefinito `%s' sconosciuto\n"
@@ -5585,18 +5617,18 @@ msgstr ""
 "ATTENZIONE: le opzioni in `%s' non sono ancora attive durante questa\n"
 "esecuzione del programma\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "impossibile gestire l'algoritmo a chiave pubblica %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "ATTENZIONE: la chiave di sessione cifrata simmetricamente è potenzialmente\n"
 "non sicura\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "il sottopacchetto di tipo %d ha un bit critico impostato\n"
@@ -5652,7 +5684,7 @@ msgstr "chiave %2$s di %1$u bit, ID %3$08lX, creata il %4$s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5669,35 +5701,35 @@ msgstr ""
 "molto\n"
 "grande! Dimensioni vicine a 240x288 sono una buona scelta.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Inserisci il nome del file JPEG per l'ID fotografico: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "impossibile aprire il file: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Sei sicuro di volerla usare? (s/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\": non è un file JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Questa foto è giusta? (s/N/q) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "impossibile mostrare l'ID fotografico\n"
 
@@ -5729,6 +5761,16 @@ msgstr "ragione della revoca: "
 msgid "revocation comment: "
 msgstr "commento alla revoca: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5921,25 +5963,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Non è sicuro che la firma appartenga al proprietario.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: saltata: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: saltata: chiave pubblica già presente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Non hai specificato un user ID. (puoi usare \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5947,42 +5989,42 @@ msgstr ""
 "\n"
 "Inserisci l'user ID. Termina con una riga vuota: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "User ID inesistente.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "saltata: chiave pubblica già impostata come destinatario predefinito\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "La chiave pubblica è disabilitata.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "saltata: chiave pubblica già impostata\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "destinatario predefinito `%s' sconosciuto\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: saltata: chiave pubblica disabilitata\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "nessun indirizzo valido\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "chiave %08lX: nessun user ID\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "chiave %08lX: nessun user ID\n"
@@ -6285,21 +6327,27 @@ msgstr "NOTA: chiave per firmare %08lX scaduta il %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTA: la chiave è stata revocata"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "Firma %s, algoritmo di digest %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "si suppone una firma non valida della chiave %08lX a causa di un\n"
 "bit critico sconosciuto\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 "chiave %08lX: non c'è una subchiave per il pacchetto di revoca della "
 "subchiave\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -6396,7 +6444,7 @@ msgstr ""
 "saltata %s: questa è una chiave ElGamal generata da PGP che NON è sicura per "
 "le firme!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "trust record %lu, req type %d: write fallita: %s\n"
@@ -6444,17 +6492,17 @@ msgstr "errore cercando il record della fiducia: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "errore di lettura: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync fallita: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek fallita: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: scrittura fallita (n=%d): %s\n"
@@ -6463,117 +6511,117 @@ msgstr "trustdb rec %lu: scrittura fallita (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "transazione del trustdb troppo grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "impossibile chiudere `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: la directory non esiste!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "impossibile creare `%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "impossibile aprire `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: creazione del record della versione fallita: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: è stato creato un trustdb non valido\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: creato il trustdb\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTA: il trustdb non è scrivibile\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: trustdb non valido\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: creazione della tabella hash fallita: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: errore durante l'aggiornamento del record di versione: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: errore durante la lettura del record di versione: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: errore durante la scrittura del record di versione: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek fallita: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read fallita (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: non è un file di trustdb\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: record di versione con recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versione %d del file non valida\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: errore durante la lettura del record libero: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: errore durante la scrittura del dir record: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: azzeramento di un record fallito: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: accodatura a un record fallita: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: creato il trustdb\n"
@@ -6588,174 +6636,182 @@ msgstr "impossibile gestire linee di testo pi
 msgid "input line longer than %d characters\n"
 msgstr "linea di input più lunga di %d caratteri\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' non è un key ID lungo valido\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "chiave %08lX: accettata come chiave affidabile\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "chiave %08lX: appare nel trustdb più di una volta\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "chiave %08lX: manca la chiave pubblica della chiave fidata - ignorata\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "chiavi marcate definitivamente affidabili.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "trust record %lu, tipo %d: read fallita: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "il trust record %lu non è del tipo richiesto %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revocata]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[scaduta]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "sconosciuto"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "mai       "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "non è necessario un controllo del trustdb\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "il prossimo controllo del trustdb sarà fatto il %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "non è necessario un controllo del trustdb\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "non è necessario un controllo del trustdb\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "chiave pubblica %08lX non trovata: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "per favore usa --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "controllo il trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d chiavi processate (%d conteggi di validità azzerati)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "non è stata trovata alcuna chiave definitivamente affidabile\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "chiave pubblica definitivamente affidabile %08lX non trovata\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "trust record %lu, req type %d: write fallita: %s\n"
@@ -6780,79 +6836,79 @@ msgstr "linea di input %u troppo lunga o LF mancante\n"
 msgid "can't open fd %d: %s\n"
 msgstr "impossibile aprire `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "errore durante la lettura del file"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "riga troppo lunga\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argomento non valido"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "comandi in conflitto\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opzioni di importazione non valide\n"
 
 # ??? (Md)
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "non esaminato"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opzioni di importazione non valide\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Comando non valido  (prova \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
 # ??? (Md)
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "non esaminato"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opzioni di importazione non valide\n"
@@ -6862,22 +6918,17 @@ msgstr "opzioni di importazione non valide\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "hai trovato un bug... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "errore leggendo `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "impossibile aprire il file: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "creazione dell'armatura fallita: %s\n"
@@ -6934,24 +6985,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -7000,208 +7052,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "rebuild della cache del portachiavi fallito: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "cancellazione del keyblock fallita: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "cambia la passphrase"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "invio al keyserver fallito: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "cambia la passphrase"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "cambia la passphrase"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Per favore scegli il motivo della revoca:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "cambia la passphrase"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "cambia la passphrase"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "errore leggendo il keyblock: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: errore durante la lettura del record libero: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' è già compresso\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "genera una nuova coppia di chiavi"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "genera una nuova coppia di chiavi"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "cancellazione del keyblock fallita: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Generazione della chiave fallita: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "Firma %s, algoritmo di digest %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Non sono stati trovati dati OpenPGP validi.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "cambia la passphrase"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7210,72 +7276,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|carica il modulo di estensione FILE"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOME|usa NOME come destinatario predefinito"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|usa NOME come destinatario predefinito"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "non usa per niente il terminale"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandi in conflitto\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7314,11 +7384,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7350,208 +7420,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "cancellazione del keyblock fallita: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "NOTA: la chiave è stata revocata"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "controllo della firma creata fallito: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "scrittura della chiave segreta in `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Questa chiave è scaduta!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Questa chiave è scaduta!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Questa chiave è scaduta!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Questa chiave è scaduta!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "           nuove firme: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Certificato di revoca creato.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "certificato danneggiato"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "mostra le impronte digitali"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "genera un certificato di revoca"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "controllo della firma creata fallito: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verifica una firma"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "la preferenza %c%lu è doppia\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Certificato di revoca creato.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "certificato danneggiato"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7616,19 +7687,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "errore scrivendo il portachiavi segreto `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7837,7 +7908,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "chiave `%s' non trovata: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "errore leggendo il keyblock: %s\n"
@@ -7974,7 +8045,7 @@ msgstr "aggiungi questo portachiavi alla lista"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|usa NOME come chiave segreta predefinita"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|cerca le chiavi in questo keyserver"
@@ -7996,8 +8067,8 @@ msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintassi: gpg [opzioni] [files]\n"
 "firma, controlla, cifra o decifra\n"
@@ -8033,26 +8104,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = salta questa chiave\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "impossibile fare il parsing dell'URI del keyserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "scrittura in `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "impossibile chiudere `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8070,12 +8141,7 @@ msgstr "genera un certificato di revoca"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "inizializzazione del trustdb fallita: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
@@ -8090,46 +8156,42 @@ msgstr "errore nella creazione della passhprase: %s\n"
 msgid "error reading input: %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "errore creando il portachiavi `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "portachiavi `%s' creato\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problema controllando la revoca: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "errore leggendo `%s': %s\n"
@@ -8317,149 +8379,149 @@ msgstr "errore leggendo `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "errore leggendo `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|usa il modo N per la passphrase"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "errore nella creazione della passhprase: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|usa NOME come chiave segreta predefinita"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|cifra per NOME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "impossibile fare il parsing dell'URI del keyserver\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOME|usa l'alg. di cifratura NOME per le passphrase"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8720,6 +8782,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "errore leggendo `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "inizializzazione del trustdb fallita: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Comando> "
 
@@ -9281,9 +9351,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "è stata usata la chiave segreta sbagliata"
 
-#~ msgid "not supported"
-#~ msgstr "non gestito"
-
 #~ msgid "bad key"
 #~ msgstr "chiave sbagliata"
 
index 4fa8aff..f672b44 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index f806035..72a4f91 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,5 +1,5 @@
 # Japanese messages for GnuPG
-# Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2004, 2013 Free Software Foundation, Inc.
 # IIDA Yosiaki <iida@gnu.org>, 1999, 2000, 2002, 2003, 2004.
 # Yoshihiro Kajiki <kajiki@ylug.org>, 1999.
 # This file is distributed under the same license as the GnuPG package.
@@ -7,44 +7,45 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg 1.3.92\n"
+"Project-Id-Version: GNU gnupg 2.0.25\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2004-11-23 11:14+0900\n"
-"Last-Translator: IIDA Yosiaki <iida@gnu.org>\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2014-08-08 10:06+0900\n"
+"Last-Translator: NIIBE Yutaka <gniibe@fsij.org>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: agent/call-pinentry.c:244
-#, fuzzy, c-format
+#: agent/call-pinentry.c:254
+#, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
-msgstr "»ØÌæ¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "pinentryのロックの獲得に失敗しました: %s\n"
 
 #. TRANSLATORS: These are labels for buttons etc used in
 #. Pinentries.  An underscore indicates that the next letter
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
-msgstr ""
+msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
-msgstr ""
+msgstr "|pinentry-label|_キャンセル"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
-msgstr ""
+msgstr "|pinentry-label|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
-#, fuzzy
+#: agent/call-pinentry.c:659
 msgid "Quality:"
-msgstr "Í­¸úÀ­: %s"
+msgstr "品質: %s"
 
 #. TRANSLATORS: This string is a tooltip, shown by pinentry when
 #. hovering over the quality bar.  Please use an appropriate
@@ -52,247 +53,236 @@ msgstr "ͭ
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
-msgstr ""
+msgstr "pinentry.qualitybar.tooltip"
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
+"あなたのPINを入力してください(このセッションで秘密鍵のロックを解除するために"
+"使われます)"
 
-#: agent/call-pinentry.c:719
-#, fuzzy
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr ""
+"あなたのパスフレーズを入力してください(このセッションで秘密鍵のロックを解除す"
+"るために使われます)"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
-msgstr ""
+msgstr "SETERROR %s (現在 %d / 最大 %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
-#, fuzzy
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
-msgstr "¹Ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+msgstr "PINが長すぎます"
 
-#: agent/call-pinentry.c:800
-#, fuzzy
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬Ä¹¤¹¤®¤Þ¤¹\n"
+msgstr "パスフレーズが長すぎます"
 
-#: agent/call-pinentry.c:808
-#, fuzzy
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
-msgstr "̾Á°¤Ë̵¸ú¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "PINに無効な文字があります"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
-msgstr ""
+msgstr "PINが短すぎます"
 
-#: agent/call-pinentry.c:825
-#, fuzzy
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
-msgstr "ÉÔÀµ¤ÊMPI¤Ç¤¹"
+msgstr "不正なPINです"
 
-#: agent/call-pinentry.c:826
-#, fuzzy
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬ÉÔÀµ¤Ç¤¹"
+msgstr "パスフレーズが不正です"
 
-#: agent/call-pinentry.c:863
-#, fuzzy
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬ÉÔÀµ¤Ç¤¹"
+msgstr "パスフレーズ"
 
-#: agent/command-ssh.c:531
-#, fuzzy, c-format
+#: agent/command-ssh.c:595
+#, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
-msgstr "ÊݸîÍ×Ìó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "ssh鍵で%dビットより大きいものはサポートされません\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
-msgstr "¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」が作成できません: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
-msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
+msgstr "「%s」が開けません: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
-#, fuzzy, c-format
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
+#, c-format
 msgid "error getting serial number of card: %s\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ã\82«ã\83¼ã\83\89ã\83»ã\82·ã\83ªã\82¢ã\83«ç\95ªå\8f·ã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
-msgstr ""
+msgstr "カードを検出しました。シリアル番号: %s\n"
 
-#: agent/command-ssh.c:1717
-#, fuzzy, c-format
+#: agent/command-ssh.c:2119
+#, c-format
 msgid "error getting default authentication keyID of card: %s\n"
-msgstr "¸½¹Ô¸°¾ðÊó¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ã\82«ã\83¼ã\83\89ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88èª\8d証keyIDã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/command-ssh.c:1737
-#, fuzzy, c-format
+#: agent/command-ssh.c:2139
+#, c-format
 msgid "no suitable card key found: %s\n"
-msgstr "½ñ¹þ¤ß²Äǽ¤ÊÈëÌ©¸°Îؤ¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "適当なカードの鍵が見つかりません: %s\n"
 
-#: agent/command-ssh.c:1787
-#, fuzzy, c-format
+#: agent/command-ssh.c:2189
+#, c-format
 msgid "shadowing the key failed: %s\n"
-msgstr "¸°¤ÎÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵のシャドウ化に失敗しました: %s\n"
 
-#: agent/command-ssh.c:1802
-#, fuzzy, c-format
+#: agent/command-ssh.c:2204
+#, c-format
 msgid "error writing key: %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
+"sshプロセスが以下の鍵の使用を要求しました:%%0A  %s%%0A  (%s)%%0Aこの使用を認"
+"めますか?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
-msgstr ""
+msgstr "許可する"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
-msgstr ""
+msgstr "拒否する"
 
-#: agent/command-ssh.c:2155
-#, fuzzy, c-format
+#: agent/command-ssh.c:2514
+#, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr "以下のssh鍵に対するパスフレーズを入力してください:%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
-#, fuzzy
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊѹ¹"
+msgstr "このパスフレーズをもう一度入力してください"
 
-#: agent/command-ssh.c:2509
-#, fuzzy, c-format
+#: agent/command-ssh.c:2858
+#, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
+msgstr ""
+"パスフレーズを入力してください。gpg-agentの鍵の保管で受信した秘密鍵%%0A   %s"
+"%%0A   %s%%0Aを保護します。"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
-msgstr ""
+msgstr "一致しません - もう一度"
 
-#: agent/command-ssh.c:3054
-#, fuzzy, c-format
+#: agent/command-ssh.c:3408
+#, c-format
 msgid "failed to create stream from socket: %s\n"
-msgstr "%s: ¥Ï¥Ã¥·¥åɽ¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "ソケットからストリームを作成するのに失敗しました: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
-#, fuzzy
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
-msgstr ""
-"º£¤Î¥«¡¼¥É¤òÈ´¤­¡¢¼¡¤ÎÄÌÈ֤Τ½¤ì¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤:\n"
-"   %.*s\n"
+msgstr "以下のシリアル番号のカードを挿入してください"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
-#, fuzzy
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
-msgstr ""
-"º£¤Î¥«¡¼¥É¤òÈ´¤­¡¢¼¡¤ÎÄÌÈ֤Τ½¤ì¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤:\n"
-"   %.*s\n"
+msgstr "今のカードを抜き、以下のシリアル番号のカードを挿入してください"
 
 #: agent/divert-scd.c:200
-#, fuzzy
 msgid "Admin PIN"
-msgstr "|A|Admin PIN"
+msgstr "管理者PIN"
 
 #. TRANSLATORS: A PUK is the Personal Unblocking Code
 #. used to unblock a PIN.
 #: agent/divert-scd.c:205
 msgid "PUK"
-msgstr ""
+msgstr "PUK"
 
 #: agent/divert-scd.c:212
 msgid "Reset Code"
-msgstr ""
+msgstr "Reset Code"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgstr ""
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgstr "%s%%0A%%0Aリーダーのピンパッドを入力に使ってください。"
 
 #: agent/divert-scd.c:287
-#, fuzzy
 msgid "Repeat this Reset Code"
-msgstr "PIN¤òºÆÆþÎÏ: "
+msgstr "このReset Codeをもう一度入力してください"
 
 #: agent/divert-scd.c:289
-#, fuzzy
 msgid "Repeat this PUK"
-msgstr "PIN¤òºÆÆþÎÏ: "
+msgstr "このPUKをもう一度入力してください"
 
 #: agent/divert-scd.c:290
-#, fuzzy
 msgid "Repeat this PIN"
-msgstr "PIN¤òºÆÆþÎÏ: "
+msgstr "このPINをもう一度入力してください"
 
 #: agent/divert-scd.c:295
-#, fuzzy
 msgid "Reset Code not correctly repeated; try again"
-msgstr "PIN¤ò¤Á¤ã¤ó¤È·«¤êÊÖ¤·¤Æ¤¤¤Þ¤»¤ó¡£ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "Reset Codeが正しく繰り返されていません。もう一度"
 
 #: agent/divert-scd.c:297
-#, fuzzy
 msgid "PUK not correctly repeated; try again"
-msgstr "PIN¤ò¤Á¤ã¤ó¤È·«¤êÊÖ¤·¤Æ¤¤¤Þ¤»¤ó¡£ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "PUKが正しく繰り返されていません。もう一度"
 
 #: agent/divert-scd.c:298
 msgid "PIN not correctly repeated; try again"
-msgstr "PIN¤ò¤Á¤ã¤ó¤È·«¤êÊÖ¤·¤Æ¤¤¤Þ¤»¤ó¡£ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "PINが正しく繰り返されていません。もう一度"
 
 #: agent/divert-scd.c:310
-#, fuzzy, c-format
+#, c-format
 msgid "Please enter the PIN%s%s%s to unlock the card"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "カードのロックを解除するためにPIN%s%s%sを入力してください"
 
 #: agent/genkey.c:108 sm/certreqgen-ui.c:384 sm/export.c:638 sm/export.c:654
 #: sm/import.c:667 sm/import.c:692
-#, fuzzy, c-format
+#, c-format
 msgid "error creating temporary file: %s\n"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ä¸\80æ\99\82ã\83\95ã\82¡ã\82¤ã\83«ã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
 #: agent/genkey.c:115 sm/export.c:645 sm/import.c:675
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to temporary file: %s\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¡¼¡¦¥ì¥³¡¼¥É¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "ä¸\80æ\99\82ã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: agent/genkey.c:153 agent/genkey.c:159
-#, fuzzy
 msgid "Enter new passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎÏ\n"
+msgstr "新しいパスフレーズを入力してください"
 
 #: agent/genkey.c:167
-#, fuzzy
 msgid "Take this one anyway"
-msgstr "¤½¤ì¤Ç¤â¤³¤Î¸°¤ò»È¤¤¤Þ¤¹¤«? (y/N) "
+msgstr "それでもこれを使います"
 
 #: agent/genkey.c:193
 #, c-format
@@ -303,7 +293,8 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should be "
 "at least %u characters long."
 msgstr[0] ""
-msgstr[1] ""
+"警告: 安全とは言えないパスフレーズが入力されました。%%0Aパスフレーズは最低%u"
+"文字であるべきです。"
 
 #: agent/genkey.c:214
 #, c-format
@@ -314,7 +305,8 @@ msgid_plural ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
 "contain at least %u digits or%%0Aspecial characters."
 msgstr[0] ""
-msgstr[1] ""
+"警告: 安全とは言えないパスフレーズが入力されました。%%0Aパスフレーズは最低%u"
+"文字の数字もしくは%%0A特殊文字を含むべきです。"
 
 #: agent/genkey.c:237
 #, c-format
@@ -322,12 +314,15 @@ msgid ""
 "Warning: You have entered an insecure passphrase.%%0AA passphrase may not be "
 "a known term or match%%0Acertain pattern."
 msgstr ""
+"警告: 安全とは言えないパスフレーズが入力されました。%%0Aパスフレーズには、よ"
+"く知られている用語や%%0A特定のパターンにマッチするものは避けましょう。"
 
 #: agent/genkey.c:253
 #, c-format
 msgid ""
 "You have not entered a passphrase!%0AAn empty passphrase is not allowed."
 msgstr ""
+"パスフレーズが入力されませんでした!%0A空のパスフレーズは認められません。"
 
 #: agent/genkey.c:255
 #, c-format
@@ -335,319 +330,315 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
+"パスフレーズが入力されませんでした - 通常これは良くない考えです!%0A鍵に何の保"
+"護も必要としないことを確認ください。"
 
 #: agent/genkey.c:264
 msgid "Yes, protection is not needed"
-msgstr ""
+msgstr "はい、保護は必要ありません"
 
 #: agent/genkey.c:308
-#, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
-msgstr ""
-"ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Ë¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬¤¤¤ê¤Þ¤¹¡£\n"
-"\n"
+#, c-format
+msgid "Please enter the passphrase to%0Aprotect your new key"
+msgstr "新しい鍵を保護するために、%0Aパスフレーズを入力してください。"
 
 #: agent/genkey.c:431
-#, fuzzy
 msgid "Please enter the new passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊѹ¹"
+msgstr "新しいパスフレーズを入力してください"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
-#, fuzzy
 msgid ""
 "@Options:\n"
 " "
 msgstr ""
-"@\n"
-"¥ª¥×¥·¥ç¥ó:\n"
+"@オプション:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr ""
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
-msgstr ""
+msgstr "デーモン・モードで実行 (バックグラウンド)"
+
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "サーバ・モードで実行 (フォアグラウンド)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
-msgstr "¾éĹ"
+msgstr "冗長"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
-msgstr "¤ä¤äÀŤ«"
+msgstr "いくらかおとなしく"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
-msgstr ""
+msgstr "sh-形式のコマンド出力"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
-msgstr ""
+msgstr "csh-形式のコマンド出力"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
-#, fuzzy
 msgid "|FILE|read options from FILE"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "|FILE|FILEからオプションを読み込みます"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
-msgstr ""
+msgstr "コンソールからデタッチしない"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
-msgstr ""
+msgstr "キーボードとマウスを占有しない"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
-#, fuzzy
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Î¸°¤ò¸¡º÷¤¹¤ë"
+msgstr "サーバのログ・ファイルを使う"
 
-#: agent/gpg-agent.c:138
-#, fuzzy
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
-msgstr "ÁªÂò¤·¤¿¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "ソケットに標準の場所を使う"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
-msgstr ""
+msgstr "|PGM|PGMをPIN入力プログラムとして使う"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
-msgstr ""
+msgstr "|PGM|PGMをSCdaemonプログラムとして使う"
 
-#: agent/gpg-agent.c:145
-#, fuzzy
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·"
+msgstr "SCdaemonを使わない"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
-msgstr ""
+msgstr "TTYの変更要求を無視する"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
-msgstr ""
+msgstr "Xディスプレイの変更要求を無視する"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
-msgstr ""
+msgstr "|N|N秒後に保持したPINを無効とする"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
-msgstr ""
+msgstr "署名に対してPINの保持を使わない"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
-msgstr ""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
+msgstr "クライアントが鍵に\"trusted\"マークをつけることを認めない"
 
-#: agent/gpg-agent.c:179
-#, fuzzy
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "パスフレーズの事前設定を認める"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr "sshサポートを有効にする"
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr "puttyサポートを有効にする"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
-msgstr ""
+msgstr "|FILE|FILEに環境変数の設定も書き出す"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
-msgstr "¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é <@EMAIL@> ¤Þ¤Ç¤´Êó¹ð¤¯¤À¤µ¤¤¡£\n"
+msgstr "バグは <@EMAIL@> までご報告ください。\n"
 
-#: agent/gpg-agent.c:342
-#, fuzzy
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg-agent [オプション] (ヘルプは -h)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
+"形式: gpg-agent [オプション] [コマンド [引数]]\n"
+"GnuPGの秘密鍵の管理\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
-msgstr ""
+msgstr "無効なdebug-level「%s」が与えられました\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "%s が古すぎます (%s が必要、現在 %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
-msgstr "Ãí°Õ: ´ûÄê¤Î¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "*注意*: デフォルトのオプション・ファイル「%s」がありません\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
-msgstr "¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×: %s\n"
+msgstr "オプション・ファイル「%s」: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "「%s」からオプションを読み込みます\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
-msgstr "¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "ディレクトリ「%s」が作成できません: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
-msgstr ""
+msgstr "ソケット名が長すぎます\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
+#, c-format
 msgid "can't create socket: %s\n"
-msgstr "¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "ソケットが作成できません: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
-msgstr ""
+msgstr "ソケット名「%s」は長すぎます\n"
 
-#: agent/gpg-agent.c:1525
-#, fuzzy
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
-msgstr "¤³¤Î¥»¥Ã¥·¥ç¥ó¤Çgpg-agent¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "gpg-agentは既に実行されています - 新しいものをスタートさせません\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
-#, fuzzy
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
-msgstr "¿·¤·¤¤PIN¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ソケットのナンス取得エラー\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
+#, c-format
 msgid "error binding socket to `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ç¿®Íѥ쥳¡¼¥É¤Î¸¡º÷¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81§ã\82½ã\82±ã\83\83ã\83\88ã\81®ã\83\90ã\82¤ã\83³ã\83\89ã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
+#, c-format
 msgid "listen() failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "listen() に失敗しました: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
+#, c-format
 msgid "listening on socket `%s'\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "ソケット「%s」でlisten\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "ディレクトリ「%s」が作成されました\n"
 
-#: agent/gpg-agent.c:1640
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1692
+#, c-format
 msgid "stat() failed for `%s': %s\n"
-msgstr "fstat(%d)¤¬%s¤Ç¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "「%s」でstat()が失敗しました: %s\n"
 
-#: agent/gpg-agent.c:1644
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1696
+#, c-format
 msgid "can't use `%s' as home directory\n"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」をホーム・ディレクトリに使えません\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
-#, fuzzy, c-format
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
+#, c-format
 msgid "error reading nonce on fd %d: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "fd %dã\81§ã\83\8aã\83³ã\82¹ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "ハンドラ0x%lx (fd %d に対する)が開始\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "ハンドラ0x%lx (fd %d に対する)が終了\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
-msgstr ""
+msgstr "ssh ハンドラ0x%lx (fd %d に対する)が開始\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
-msgstr ""
+msgstr "ssh ハンドラ0x%lx (fd %d に対する)が終了\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
-#, fuzzy, c-format
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
+#, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
-msgstr "ÈëÌ©¤Î¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "pth_selectに失敗しました: %s - 一秒待ちます\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
-#, fuzzy, c-format
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
+#, c-format
 msgid "%s %s stopped\n"
-msgstr "%s: ¥¹¥­¥Ã¥×: %s\n"
+msgstr "%s %s 停止しました\n"
 
-#: agent/gpg-agent.c:2232
-#, fuzzy
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
-msgstr "¤³¤Î¥»¥Ã¥·¥ç¥ó¤Çgpg-agent¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "このセッションでgpg-agentは実行されていません\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
-msgstr "GPG_AGENT_INFO´Ä¶­ÊÑ¿ô¤Î½ñ¼°¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "GPG_AGENT_INFO環境変数が壊れています\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
-msgstr "gpg-agent¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "gpg-agentプロトコル・バージョン%dはサポートされていません\n"
 
-#: agent/preset-passphrase.c:98
-#, fuzzy
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg-preset-passphrase [オプション] KEYGRIP (ヘルプは -h)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
+"形式: gpg-preset-passphrase [オプション] KEYGRIP\n"
+"パスワードキャッシュの管理\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
 " "
 msgstr ""
-"@¥³¥Þ¥ó¥É:\n"
+"@コマンド:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -656,96 +647,97 @@ msgid ""
 " "
 msgstr ""
 "@\n"
-"¥ª¥×¥·¥ç¥ó:\n"
+"オプション:\n"
 " "
 
-#: agent/protect-tool.c:166
-#, fuzzy
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg-protect-tool [オプション] (ヘルプは -h)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
+"形式: gpg-protect-tool [オプション] [引数]\n"
+"秘密鍵管理ツール\n"
 
-#: agent/protect-tool.c:1162
-#, fuzzy
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr "パスフレーズを入力してください。PKCS#12オブジェクトを解除します。"
 
-#: agent/protect-tool.c:1167
-#, fuzzy
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr ""
+"パスフレーズを入力してください。新しいPKCS#12オブジェクトを解除します。"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
+"GnuPGシステムにインポートされたオブジェクトを保護するためにパスフレーズを入力"
+"してください"
 
-#: agent/protect-tool.c:1178
-#, fuzzy
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr ""
+"パスフレーズまたはPINを入力してください。\n"
+"この操作を完了するのに必要です。"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
-#, fuzzy
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬ÉÔÀµ¤Ç¤¹"
+msgstr "パスフレーズ:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
-#, fuzzy
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
-msgstr "¥­¥ã¥ó¥»¥ë"
+msgstr "キャンセルされました\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
-#, fuzzy, c-format
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
+#, c-format
 msgid "error while asking for the passphrase: %s\n"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\83\91ã\82¹ã\83\95ã\83¬ã\83¼ã\82ºã\82\92å\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\81\99ã\82\8bé\9a\9bã\80\81ã\82¨ã\83©ã\83¼: %s\n"
 
 #: agent/trustlist.c:136 agent/trustlist.c:334
-#, fuzzy, c-format
+#, c-format
 msgid "error opening `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ç¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\82\92é\96\8bã\81\8fé\9a\9bã\80\81ã\82¨ã\83©ã\83¼: %s\n"
 
 #: agent/trustlist.c:151 common/helpfile.c:63 common/helpfile.c:79
-#, fuzzy, c-format
+#, c-format
 msgid "file `%s', line %d: %s\n"
-msgstr "¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×: %s\n"
+msgstr "ファイル「%s」(行 %d): %s\n"
 
 #: agent/trustlist.c:171 agent/trustlist.c:179
 #, c-format
 msgid "statement \"%s\" ignored in `%s', line %d\n"
-msgstr ""
+msgstr "ステートメント \"%s\" は「%s」で無視されました(行 %d)\n"
 
 #: agent/trustlist.c:185
-#, fuzzy, c-format
+#, c-format
 msgid "system trustlist `%s' not available\n"
-msgstr "ÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó\n"
+msgstr "システム信用リスト「%s」が得られません\n"
 
 #: agent/trustlist.c:229
-#, fuzzy, c-format
+#, c-format
 msgid "bad fingerprint in `%s', line %d\n"
-msgstr "¡Ö%s¡×¤ÇÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "「%s」の不正なフィンガープリント (行 %d)\n"
 
 #: agent/trustlist.c:254 agent/trustlist.c:261
 #, c-format
 msgid "invalid keyflag in `%s', line %d\n"
-msgstr ""
+msgstr "「%s」の無効なフラグ(行 %d)\n"
 
 #: agent/trustlist.c:295 common/helpfile.c:126
-#, fuzzy, c-format
+#, c-format
 msgid "error reading `%s', line %d: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "「%s」の読み込みエラー(行 %d): %s\n"
 
 #: agent/trustlist.c:400 agent/trustlist.c:450
 msgid "error reading list of trusted root certificates\n"
-msgstr ""
+msgstr "信用されたルート証明書のリストの読み込みエラ−\n"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry
 #. and has one special property: A "%%0A" is used by
@@ -760,16 +752,15 @@ msgstr ""
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
-msgstr ""
+msgstr "究極的にこれを信用し%%0A  \"%s\"%%0A正にユーザの証明書と保証しますか?"
 
 #: agent/trustlist.c:620 common/audit.c:467
-#, fuzzy
 msgid "Yes"
-msgstr "yes"
+msgstr "はい"
 
 #: agent/trustlist.c:620 common/audit.c:469
 msgid "No"
-msgstr ""
+msgstr "いいえ"
 
 #. TRANSLATORS: This prompt is shown by the Pinentry and has
 #. one special property: A "%%0A" is used by Pinentry to
@@ -785,22 +776,24 @@ msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
 "fingerprint:%%0A  %s"
 msgstr ""
+"確認してください。証明書:%%0A  \"%s\"%%0Aは下記のフィンガー・プリントを持つ:"
+"%%0A  %s"
 
 #. TRANSLATORS: "Correct" is the label of a button and intended
 #. to be hit if the fingerprint matches the one of the CA.  The
 #. other button is "the default "Cancel" of the Pinentry.
 #: agent/trustlist.c:668
 msgid "Correct"
-msgstr ""
+msgstr "正しい"
 
 #: agent/trustlist.c:668
 msgid "Wrong"
-msgstr ""
+msgstr "誤り"
 
 #: agent/findkey.c:157
 #, c-format
 msgid "Note: This passphrase has never been changed.%0APlease change it now."
-msgstr ""
+msgstr "注意: パスフレーズは変更されていません。%0A今、変更してください。"
 
 #: agent/findkey.c:173
 #, c-format
@@ -808,109 +801,106 @@ msgid ""
 "This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
 "it now."
 msgstr ""
+"このパスフレーズは%.4s-%.2s-%.2sから変更されていません。%%0A今、変更してくだ"
+"さい。"
 
 #: agent/findkey.c:187 agent/findkey.c:194
-#, fuzzy
 msgid "Change passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊѹ¹"
+msgstr "パスフレーズを変更する"
 
 #: agent/findkey.c:195
 msgid "I'll change it later"
-msgstr ""
+msgstr "後で変更する"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
-#, fuzzy, c-format
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
+#, c-format
 msgid "error creating a pipe: %s\n"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\83\91ã\82¤ã\83\97ã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
 #: common/exechelp.c:599 common/exechelp.c:658
-#, fuzzy, c-format
+#, c-format
 msgid "can't fdopen pipe for reading: %s\n"
-msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó\n"
+msgstr "パイプを読み込みのためにfdopenできません: %s\n"
 
 #: common/exechelp.c:637 common/exechelp.c:765 common/exechelp.c:1002
-#, fuzzy, c-format
+#, c-format
 msgid "error forking process: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\83\97ã\83­ã\82»ã\82¹forkã\82¨ã\83©ã\83¼: %s\n"
 
 #: common/exechelp.c:811 common/exechelp.c:864
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
-msgstr ""
+msgstr "プロセス%dの終了待ちが失敗: %s\n"
 
 #: common/exechelp.c:819
-#, fuzzy, c-format
+#, c-format
 msgid "error getting exit code of process %d: %s\n"
-msgstr "¸½¹Ô¸°¾ðÊó¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ã\83\97ã\83­ã\82»ã\82¹ %d ã\81®exitã\82³ã\83¼ã\83\89å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
 #: common/exechelp.c:825 common/exechelp.c:877
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': exit status %d\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "「%s」の実行エラー: exitステイタス %d\n"
 
 #: common/exechelp.c:870
 #, c-format
 msgid "error running `%s': probably not installed\n"
-msgstr ""
+msgstr "「%s」の実行エラー: おそらくインストールされていません\n"
 
 #: common/exechelp.c:885
-#, fuzzy, c-format
+#, c-format
 msgid "error running `%s': terminated\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "「%s」の実行エラー: 終了しました\n"
 
-#: common/http.c:1674
-#, fuzzy, c-format
+#: common/http.c:1682
+#, c-format
 msgid "error creating socket: %s\n"
-msgstr "¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\82½ã\82±ã\83\83ã\83\88ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
-#: common/http.c:1718
-#, fuzzy
+#: common/http.c:1733
 msgid "host not found"
-msgstr "[¥æ¡¼¥¶¡¼ID¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó]"
+msgstr "ホストが見つかりません"
 
 #: common/simple-pwquery.c:338
 msgid "gpg-agent is not available in this session\n"
-msgstr "¤³¤Î¥»¥Ã¥·¥ç¥ó¤Çgpg-agent¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "このセッションでgpg-agentは無効です\n"
 
 #: common/simple-pwquery.c:395
 #, c-format
 msgid "can't connect to `%s': %s\n"
-msgstr "¡Ö%s¡×¤ØÀܳ¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」へ接続できません: %s\n"
 
 #: common/simple-pwquery.c:406
 msgid "communication problem with gpg-agent\n"
-msgstr "gpg-agent¤È¤ÎÄÌ¿®¾ã³²\n"
+msgstr "gpg-agentとの通信障害\n"
 
 #: common/simple-pwquery.c:416
-#, fuzzy
 msgid "problem setting the gpg-agent options\n"
-msgstr "¥¨¡¼¥¸¥§¥ó¥È¤Ë¾ã³²: ¥¨¡¼¥¸¥§¥ó¥È¤¬0x%lx¤òÊÖµÑ\n"
+msgstr "gpg-agentオプションの設定の問題\n"
 
 #: common/simple-pwquery.c:579 common/simple-pwquery.c:675
-#, fuzzy
 msgid "canceled by user\n"
-msgstr "¥æ¡¼¥¶¡¼¤Ë¤è¤ë¼è¾Ã¤·\n"
+msgstr "ユーザによる取消し\n"
 
 #: common/simple-pwquery.c:594 common/simple-pwquery.c:681
-#, fuzzy
 msgid "problem with the agent\n"
-msgstr "¥¨¡¼¥¸¥§¥ó¥È¤Ë¾ã³²: ¥¨¡¼¥¸¥§¥ó¥È¤¬0x%lx¤òÊÖµÑ\n"
+msgstr "エージェントに障害\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
-msgstr "¥³¥¢¡¦¥À¥ó¥×¤ò»ÈÍѶػߤˤǤ­¤Þ¤»¤ó: %s\n"
+msgstr "コア・ダンプを無効にできません: %s\n"
 
-#: common/sysutils.c:200
-#, fuzzy, c-format
+#: common/sysutils.c:206
+#, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤½êÍ­¼Ô\n"
+msgstr "警告: 「%s」の安全でない所有者 \"%s\"\n"
 
-#: common/sysutils.c:232
-#, fuzzy, c-format
+#: common/sysutils.c:238
+#, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤µö²Ä\n"
+msgstr "警告: 「%s」の安全でない許可 \"%s\"\n"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
 #: common/yesno.c:35 common/yesno.c:72
@@ -960,1202 +950,1157 @@ msgstr "cC"
 #: common/miscellaneous.c:77
 #, c-format
 msgid "out of core in secure memory while allocating %lu bytes"
-msgstr ""
+msgstr "%luバイトの確保においてセキュア・メモリが足りません"
 
 #: common/miscellaneous.c:80
 #, c-format
 msgid "out of core while allocating %lu bytes"
-msgstr ""
+msgstr "%luバイトの確保においてメモリが足りません"
 
 #: common/asshelp.c:293 tools/gpg-connect-agent.c:2129
 msgid "no running gpg-agent - starting one\n"
-msgstr ""
+msgstr "gpg-agentが実行されていません - 実行を開始します\n"
 
 #: common/asshelp.c:349
 #, c-format
 msgid "waiting %d seconds for the agent to come up\n"
-msgstr ""
+msgstr "agentの起動のため、%d秒待ちます\n"
 
 #: common/asshelp.c:426
 msgid "can't connect to the agent - trying fall back\n"
-msgstr ""
+msgstr "agentに接続できません - フォールバックしてみます\n"
 
 #. TRANSLATORS: Copy the prefix between the vertical bars
 #. verbatim.  It will not be printed.
 #: common/audit.c:474
 msgid "|audit-log-result|Good"
-msgstr ""
+msgstr "|audit-log-result|良"
 
 #: common/audit.c:477
 msgid "|audit-log-result|Bad"
-msgstr ""
+msgstr "|audit-log-result|不良"
 
 #: common/audit.c:479
 msgid "|audit-log-result|Not supported"
-msgstr ""
+msgstr "|audit-log-result|サポートされてません"
 
 #: common/audit.c:481
-#, fuzzy
 msgid "|audit-log-result|No certificate"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|証明書がありません"
 
 #: common/audit.c:483
-#, fuzzy
 msgid "|audit-log-result|Not enabled"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|有効となってません"
 
 #: common/audit.c:485
 msgid "|audit-log-result|Error"
-msgstr ""
+msgstr "|audit-log-result|エラー"
 
 #: common/audit.c:487
-#, fuzzy
 msgid "|audit-log-result|Not used"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|使われていません"
 
 #: common/audit.c:489
-#, fuzzy
 msgid "|audit-log-result|Okay"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|Okay"
 
 #: common/audit.c:491
-#, fuzzy
 msgid "|audit-log-result|Skipped"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|スキップされました"
 
 #: common/audit.c:493
-#, fuzzy
 msgid "|audit-log-result|Some"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "|audit-log-result|一部"
 
 #: common/audit.c:726
-#, fuzzy
 msgid "Certificate chain available"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書のチェインが利用可能"
 
 #: common/audit.c:733
-#, fuzzy
 msgid "root certificate missing"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "ルート証明書がありません"
 
 #: common/audit.c:759
 msgid "Data encryption succeeded"
-msgstr ""
+msgstr "データ暗号化に成功しました"
 
 #: common/audit.c:764 common/audit.c:830 common/audit.c:906 common/audit.c:997
-#, fuzzy
 msgid "Data available"
-msgstr "Á´Í­¸ú¥Ç¡¼¥¿¤òɽ¼¨"
+msgstr "データが利用可能"
 
 #: common/audit.c:767
-#, fuzzy
 msgid "Session key created"
-msgstr "%s: ¸°Îؤ¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "セッション・キーが作成されました"
 
 #: common/audit.c:772 common/audit.c:912 common/audit.c:919
-#, fuzzy, c-format
+#, c-format
 msgid "algorithm: %s"
-msgstr "Í­¸úÀ­: %s"
+msgstr "アルゴリズム: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#, fuzzy, c-format
+#, c-format
 msgid "unsupported algorithm: %s"
-msgstr ""
-"\n"
-"¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à:\n"
+msgstr "サポートされていないアルゴリズム: %s"
 
 #: common/audit.c:778 common/audit.c:925
-#, fuzzy
 msgid "seems to be not encrypted"
-msgstr "°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+msgstr "暗号化されていないようです"
 
 #: common/audit.c:784 common/audit.c:933
-#, fuzzy
 msgid "Number of recipients"
-msgstr "º£¤Î¼õ¼è¿Í:\n"
+msgstr "受取人の数"
 
 #: common/audit.c:792 common/audit.c:956
 #, c-format
 msgid "Recipient %d"
-msgstr ""
+msgstr "受取人 %d"
 
 #: common/audit.c:825
 msgid "Data signing succeeded"
-msgstr ""
+msgstr "データ署名に成功しました"
 
 #: common/audit.c:839 common/audit.c:1033 common/audit.c:1060
-#, fuzzy, c-format
+#, c-format
 msgid "data hash algorithm: %s"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "データのハッシュ・アルゴリズム: %s"
 
 #: common/audit.c:862
-#, fuzzy, c-format
+#, c-format
 msgid "Signer %d"
-msgstr "%s¤Ë»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "署名人 %d"
 
 #: common/audit.c:866 common/audit.c:1065
-#, fuzzy, c-format
+#, c-format
 msgid "attr hash algorithm: %s"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "属性のハッシュ・アルゴリズム: %s"
 
 #: common/audit.c:901
 msgid "Data decryption succeeded"
-msgstr ""
+msgstr "データ復号に成功しました"
 
 #: common/audit.c:910
-#, fuzzy
 msgid "Encryption algorithm supported"
-msgstr "Êݸ¥ë¥´¥ê¥º¥à%d%s¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "サポートされている暗号アルゴリズム"
 
 #: common/audit.c:993
-#, fuzzy
 msgid "Data verification succeeded"
-msgstr "½ð̾¤Î¸¡¾Ú¤ò¾Êά\n"
+msgstr "データ検証が成功しました"
 
 #: common/audit.c:1002
-#, fuzzy
 msgid "Signature available"
-msgstr "%s¤Ë»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "署名が利用可能です"
 
 #: common/audit.c:1024
-#, fuzzy
 msgid "Parsing data succeeded"
-msgstr "¡È%s¡É¤«¤é¤ÎÀµ¤·¤¤½ð̾"
+msgstr "データのパーズに成功しました"
 
 #: common/audit.c:1036
-#, fuzzy, c-format
+#, c-format
 msgid "bad data hash algorithm: %s"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "不正なデータのハッシュ・アルゴリズム: %s"
 
 #: common/audit.c:1051
-#, fuzzy, c-format
+#, c-format
 msgid "Signature %d"
-msgstr "%s¤Ë»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "署名 %d"
 
 #: common/audit.c:1079
-#, fuzzy
 msgid "Certificate chain valid"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "証明書のチェインは有効"
 
 #: common/audit.c:1090
-#, fuzzy
 msgid "Root certificate trustworthy"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "信頼できるルート証明書"
 
-#: common/audit.c:1111 sm/certchain.c:935
-#, fuzzy
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書に対するCRLがありません"
 
-#: common/audit.c:1114 sm/certchain.c:945
-#, fuzzy
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
-msgstr "°Ê²¼¤Ë¸°¤¬¤¢¤ê¤Þ¤¹: "
+msgstr "利用できるCRLは古すぎます"
 
 #: common/audit.c:1119
-#, fuzzy
 msgid "CRL/OCSP check of certificates"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書のCRL/OCSP確認"
 
 #: common/audit.c:1139
-#, fuzzy
 msgid "Included certificates"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "含まれる証明書"
 
 #: common/audit.c:1194
 msgid "No audit log entries."
-msgstr ""
+msgstr "監査ログのエントリはありません。"
 
 #: common/audit.c:1243
-#, fuzzy
 msgid "Unknown operation"
-msgstr "̤ÃΤΥС¼¥¸¥ç¥ó¤Ç¤¹"
+msgstr "不明な操作"
 
 #: common/audit.c:1261
 msgid "Gpg-Agent usable"
-msgstr ""
+msgstr "Gpg-Agent利用可能"
 
 #: common/audit.c:1271
 msgid "Dirmngr usable"
-msgstr ""
+msgstr "Dirmngr利用可能"
 
 #: common/audit.c:1307
-#, fuzzy, c-format
+#, c-format
 msgid "No help available for `%s'."
-msgstr "¡Ö%s¡×¤Î¥Ø¥ë¥×¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "「%s」のヘルプはありません。"
 
 #: common/helpfile.c:80
-#, fuzzy
 msgid "ignoring garbage line"
-msgstr "¸åÈø¤Î¹Ô¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "ガベージ行を無視します"
 
 #: common/gettime.c:503
-#, fuzzy
 msgid "[none]"
-msgstr "[̤ÀßÄê]"
+msgstr "[未設定]"
 
 #: g10/armor.c:379
 #, c-format
 msgid "armor: %s\n"
-msgstr "ÊñÁõ: %s\n"
+msgstr "外装: %s\n"
 
 #: g10/armor.c:418
 msgid "invalid armor header: "
-msgstr "̵¸ú¤ÊÊñÁõ¥Ø¥Ã¥À¡¼: "
+msgstr "ç\84¡å\8a¹ã\81ªå¤\96è£\85ã\83\98ã\83\83ã\83\80ã\83¼: "
 
 #: g10/armor.c:429
 msgid "armor header: "
-msgstr "ÊñÁõ¥Ø¥Ã¥À¡¼: "
+msgstr "å¤\96è£\85ã\83\98ã\83\83ã\83\80ã\83¼: "
 
 #: g10/armor.c:442
 msgid "invalid clearsig header\n"
-msgstr "̵¸ú¤Ê¥¯¥ê¥¢½ð̾¥Ø¥Ã¥À¡¼\n"
+msgstr "ç\84¡å\8a¹ã\81ªã\82¯ã\83ªã\82¢ã\83»ã\83\86ã\82¯ã\82¹ã\83\88ç½²å\90\8dã\83\98ã\83\83ã\83\80ã\83¼\n"
 
 #: g10/armor.c:455
-#, fuzzy
 msgid "unknown armor header: "
-msgstr "ÊñÁõ¥Ø¥Ã¥À¡¼: "
+msgstr "ä¸\8dæ\98\8eã\81®å¤\96è£\85ã\83\98ã\83\83ã\83\80ã\83¼: "
 
 #: g10/armor.c:508
 msgid "nested clear text signatures\n"
-msgstr "Æþ¤ì»Ò¤Î¥¯¥ê¥¢½ð̾\n"
+msgstr "入れ子のクリア・テクスト署名\n"
 
 #: g10/armor.c:643
 msgid "unexpected armor: "
-msgstr "ͽ´ü¤»¤ÌÊñÁõ: "
+msgstr "予期せぬ外装: "
 
 #: g10/armor.c:655
 msgid "invalid dash escaped line: "
-msgstr "̵¸ú¤Ê¥À¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¹Ô: "
+msgstr "無効なダッシュでエスケープされた行: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
-msgstr "̵¸ú¤Ê64¿Êʸ»ú%02X¤ò¤È¤Ð¤·¤Þ¤·¤¿\n"
+msgstr "無効な64進文字%02Xをスキップしました\n"
 
 #: g10/armor.c:853
 msgid "premature eof (no CRC)\n"
-msgstr "¥Õ¥¡¥¤¥ëËöÈø¤¬Á᤹¤®¤Þ¤¹ (CRC¤¬¤¢¤ê¤Þ¤»¤ó)\n"
+msgstr "ファイル末尾が早すぎます (CRCがありません)\n"
 
 #: g10/armor.c:887
 msgid "premature eof (in CRC)\n"
-msgstr "¥Õ¥¡¥¤¥ëËöÈø¤¬Á᤹¤®¤Þ¤¹ (CRC¤ÎÅÓÃæ)\n"
+msgstr "ファイル末尾が早すぎます (CRCの途中)\n"
 
 #: g10/armor.c:895
 msgid "malformed CRC\n"
-msgstr "CRC¤Î½ñ¼°¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "CRCの書式が正しくありません\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
-msgstr "CRC¥¨¥é¡¼¡£%06lX - %06lX\n"
+msgstr "CRCエラー。%06lX - %06lX\n"
 
 #: g10/armor.c:919
 msgid "premature eof (in trailer)\n"
-msgstr "¥Õ¥¡¥¤¥ëËöÈø¤¬Á᤹¤®¤Þ¤¹ (¸åÈøÉô¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹)\n"
+msgstr "ファイル末尾が早すぎます (後尾部の中にあります)\n"
 
 #: g10/armor.c:923
 msgid "error in trailer line\n"
-msgstr "¸åÈø¤Î¹Ô¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "後尾の行にエラーがあります\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
-msgstr "Í­¸ú¤ÊOpenPGP¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£\n"
+msgstr "有効なOpenPGPデータが見つかりません。\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
-msgstr "̵¸ú¤ÊÊñÁõ: ¹Ô¤ÎŤµ¤¬%dʸ»ú¤òĶ¤¨¤Æ¤¤¤Þ¤¹\n"
+msgstr "無効な外装: 行の長さが%d文字を超えています\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
-"ÊñÁõ¤ÎÃæ¤Ëquoted printableʸ»ú¤¬¤¢¤ê¤Þ¤¹¡£¤ª¤½¤é¤¯¥Ð¥°¤Î¤¢¤ë\n"
-"MTA¤ò»È¤Ã¤¿¤Î¤Ç¤·¤ç¤¦\n"
+"外装の中にquoted printable文字があります。おそらくバグのあるMTAが使われたので"
+"しょう\n"
 
 #: g10/build-packet.c:976
 msgid ""
 "a notation name must have only printable characters or spaces, and end with "
 "an '='\n"
 msgstr ""
-"Ãí¼á̾¤Ë¤Ï°õ»ú²Äǽ¤Êʸ»ú¤«¶õÇò¤Î¤ß¤ò»È¤¤¡¢'='¤Ç½ª¤ï¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+"注釈名には印字可能な文字か空白のみを使い、'='で終わらなければなりません\n"
 
 #: g10/build-packet.c:988
 msgid "a user notation name must contain the '@' character\n"
-msgstr "¥æ¡¼¥¶¡¼Ãí¼á̾¤Ï¡¢'@'ʸ»ú¤ò´Þ¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "ユーザ注釈名は、'@'文字を含まなければなりません\n"
 
 #: g10/build-packet.c:994
-#, fuzzy
 msgid "a notation name must not contain more than one '@' character\n"
-msgstr "¥æ¡¼¥¶¡¼Ãí¼á̾¤Ï¡¢'@'ʸ»ú¤ò´Þ¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "ユーザ注釈名は、一つより大きい'@'文字を含んではなりません\n"
 
 #: g10/build-packet.c:1012
 msgid "a notation value must not use any control characters\n"
-msgstr "Ãí¼á̾¤ÎÃͤËÀ©¸æʸ»ú¤ò»È¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó\n"
+msgstr "注釈名の値に制御文字を使ってはいけません\n"
 
 #: g10/build-packet.c:1046 g10/build-packet.c:1055
 msgid "WARNING: invalid notation data found\n"
-msgstr "·Ù¹ð: Ìµ¸ú¤ÊÃí¼á¥Ç¡¼¥¿¤òȯ¸«\n"
+msgstr "*警告*: 無効な注釈データを発見\n"
 
 #: g10/build-packet.c:1077 g10/build-packet.c:1079
 msgid "not human readable"
-msgstr "¿Í¤Ë¤ÏÆɤá¤Þ¤»¤ó"
+msgstr "人には読めません"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
-msgstr "OpenPGP¥«¡¼¥É¤¬Ìµ¸ú¤Ç¤¹: %s\n"
+msgstr "OpenPGPカードが利用できません: %s\n"
 
 #: g10/card-util.c:90
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
-msgstr "OpenPGP¥«¡¼¥Éno. %s¤ò¸¡½Ð\n"
+msgstr "OpenPGPカードno. %sを検出\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
-msgstr "¤½¤ì¤Ï¥Ð¥Ã¥Á¡¦¥â¡¼¥É¤Ç¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "それはバッチ・モードではできません\n"
 
 #: g10/card-util.c:106
-#, fuzzy
 msgid "This command is only available for version 2 cards\n"
-msgstr "%s¥â¡¼¥É¤Ç¤³¤Î¥³¥Þ¥ó¥É¤Ï¶Ø»ß¤Ç¤¹¡£\n"
+msgstr "このコマンドが使えるのはバージョン2のカードだけです\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
-#, fuzzy
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
-msgstr "ÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó\n"
+msgstr "Reset Codeが(もはや)利用可能ではありません\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
-msgstr "ÁªÂò¤Ï? "
+msgstr "あなたの選択は? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
-msgstr "[̤ÀßÄê]"
+msgstr "[未設定]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
-msgstr "ÃË"
+msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
-msgstr "½÷"
+msgstr ""
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
-msgstr "̵»ØÄê"
+msgstr "無指定"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
-msgstr "̤½èÍý"
+msgstr "強制なし"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
-msgstr "¶¯À©"
+msgstr "強制"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
-msgstr "¥¨¥é¡¼¡§ ¤Î¤Ù¤¿¤ó¤ÎASCII¤À¤±¤¬º£¡¢µö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+msgstr "エラー: 普通のASCIIだけが今、許可されています。\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
-msgstr "¥¨¥é¡¼: ¡È<¡Éʸ»ú¤Ï»È¤¨¤Þ¤»¤ó¡£\n"
+msgstr "エラー: \"<\"文字は使えません。\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
-msgstr "¥¨¥é¡¼: Æó½Å¤Î¶õÇò¤Ï¶Ø»ß¤Ç¤¹¡£\n"
+msgstr "エラー: 二重の空白は禁止です。\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
-msgstr "¥«¡¼¥É½êÍ­¼Ô¤ÎÀ« (surname): "
+msgstr "カード所有者の姓 (surname): "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
-msgstr "¥«¡¼¥É½êÍ­¼Ô¤Î̾ (given name): "
+msgstr "カード所有者の名 (given name): "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
-msgstr "¥¨¥é¡¼: ¤Ä¤Ê¤¤¤À̾Á°¤¬Ä¹¤¹¤®¤Þ¤¹ (¾å¸Â%dʸ»ú)¡£\n"
+msgstr "エラー: つないだ名前が長すぎます (上限%d文字)。\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
-msgstr "¸ø³«¸°¤òõº÷¤¹¤ëURL: "
+msgstr "公開鍵を取得するURL: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
-msgstr "¥¨¥é¡¼: URL¤¬Ä¹¤¹¤®¤Þ¤¹ (¾å¸Â%dʸ»ú)¡£\n"
+msgstr "エラー: URLが長すぎます (上限%d文字)。\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
-#, fuzzy, c-format
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
+#, c-format
 msgid "error allocating enough memory: %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\81®ç¢ºä¿\9dã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:839
-#, fuzzy, c-format
+#: g10/card-util.c:840
+#, c-format
 msgid "error writing `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
-msgstr "¥í¥°¥¤¥ó¡¦¥Ç¡¼¥¿ (¥¢¥«¥¦¥ó¥È̾): "
+msgstr "ログイン・データ (アカウント名): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
-msgstr "¥¨¥é¡¼: ¥í¥°¥¤¥ó¡¦¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹ (¾å¸Â%dʸ»ú)¡£\n"
+msgstr "エラー: ログイン・データが長すぎます (上限%d文字)。\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
-msgstr ""
+msgstr "プライベート DO データ: "
 
-#: g10/card-util.c:922
-#, fuzzy, c-format
+#: g10/card-util.c:923
+#, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
-msgstr "¥¨¥é¡¼: URL¤¬Ä¹¤¹¤®¤Þ¤¹ (¾å¸Â%dʸ»ú)¡£\n"
+msgstr "エラー: プライベート DOが長すぎます (上限%d文字)。\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
-msgstr "¸À¸ì¤ÎÁª¹¥: "
+msgstr "言語の優先指定: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
-msgstr "¥¨¥é¡¼: Áª¹¥Ê¸»úÎó¤ÎŤµ¤¬Ìµ¸ú¤Ç¤¹¡£\n"
+msgstr "エラー: 優先指定の文字列の長さが無効です。\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
-msgstr "¥¨¥é¡¼: Áª¹¥Ê¸»úÎó¤Ë̵¸ú¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹¡£\n"
+msgstr "エラー: 優先指定の文字列に無効な文字があります。\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
-msgstr "À­ÊÌ ((M)ÃË¡¢(F)½÷¡¢¶õÇò): "
+msgstr "性別 ((M)男、(F)女、空白): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
-msgstr "¥¨¥é¡¼: Ìµ¸ú¤Ê±þÅú¡£\n"
+msgstr "エラー: 無効な応答。\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
-msgstr "CA¤Î»ØÌæ: "
+msgstr "CAのフィンガー・プリント: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
-msgstr "¥¨¥é¡¼: Ìµ¸ú¤Ê·Á¼°¤Î»ØÌæ¡£\n"
+msgstr "エラー: 無効な形式のフィンガー・プリント。\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
-msgstr "¸°¤ÏÁàºî¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "鍵は操作できません: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
-msgstr "OpenPGP¥«¡¼¥É¤Ç¤¢¤ê¤Þ¤»¤ó"
+msgstr "OpenPGPカードでありません"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
-msgstr "¸½¹Ô¸°¾ðÊó¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ç\8f¾è¡\8cé\8dµæ\83\85å ±ã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
-msgstr "´û¸¤Î¸°¤ò¸ò´¹¤·¤Þ¤¹¤«? (y/N) "
+msgstr "既存の鍵を交換しますか? (y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
+"*注意*: カードが要求された鍵長をサポートしているという保証はありません。\n"
+"        鍵生成が成功しない場合、あなたのカードに関する技術文書を確認し、\n"
+"        利用できる鍵長についてみてください。\n"
 
-#: g10/card-util.c:1295
-#, fuzzy, c-format
+#: g10/card-util.c:1296
+#, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "¤É¤Î¸°Ä¹¤Ë¤·¤Þ¤¹¤«? (1024) "
+msgstr "署名鍵の鍵長は? (%u) "
 
-#: g10/card-util.c:1297
-#, fuzzy, c-format
+#: g10/card-util.c:1298
+#, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "¤É¤Î¸°Ä¹¤Ë¤·¤Þ¤¹¤«? (1024) "
+msgstr "暗号鍵の鍵長は? (%u) "
 
-#: g10/card-util.c:1298
-#, fuzzy, c-format
+#: g10/card-util.c:1299
+#, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "¤É¤Î¸°Ä¹¤Ë¤·¤Þ¤¹¤«? (1024) "
+msgstr "認証鍵の鍵長は? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
-msgstr "%u¥Ó¥Ã¥È¤Ë´Ý¤á¤Þ¤¹\n"
+msgstr "%uビットに切り上げます\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
-msgstr ""
+msgstr "%s 鍵長は %u-%u の範囲でなければなりません\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgstr ""
+msgstr "今、%uビットの鍵を生成するようにカードは再コンフィグされました\n"
 
-#: g10/card-util.c:1342
-#, fuzzy, c-format
+#: g10/card-util.c:1343
+#, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
-msgstr "¡Ö%s¡×¤Ç¿®Íѥ쥳¡¼¥É¤Î¸¡º÷¥¨¥é¡¼: %s\n"
+msgstr "é\8dµ%dã\81®é\95·ã\81\95ã\82\92%u bit ã\81«å¤\89æ\9b´ã\81\99ã\82\8bé\9a\9bã\81«ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
-msgstr "°Å¹æ¸°¤ò¥«¡¼¥É³°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤¹¤«? (Y/n) "
+msgstr "暗号鍵のカード外バックアップを作成しますか? (Y/n) "
 
-#: g10/card-util.c:1378
-#, fuzzy
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
-msgstr "ÈëÌ©¸°¤Ï¤â¤¦¥«¡¼¥É¤ËÊݴɤ·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "*注意*: 秘密鍵はもうカードに保管してあります!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
-msgstr "´û¸¤Î¸°·²¤ò¸ò´¹¤·¤Þ¤¹¤«? (y/N) "
+msgstr "既存の鍵を置き換えますか? (y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "You should change them using the command --change-pin\n"
 msgstr ""
-"½Ð²Ù»þ¤ÎPINÀßÄê¤Ï\n"
+"工場設定のPINは下記のとおり\n"
 "   PIN = `%s'     Admin PIN = `%s'\n"
-"¼¡¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÊѹ¹¤¹¤Ù¤­¤Ç¤¹ --change-pin\n"
+"次のコマンドを使って変更すべきです --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
-msgstr "À¸À®¤¹¤ë¸°¤Î·¿¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:\n"
+msgstr "生成する鍵の型を選択してください:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
-msgstr "   (1) ½ð̾¸°\n"
+msgstr "   (1) 署名鍵\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
-msgstr "   (2) °Å¹æ²½¸°\n"
+msgstr "   (2) 暗号化鍵\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
-msgstr "   (3) Ç§¾Ú¸°\n"
+msgstr "   (3) 認証鍵\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
-msgstr "̵¸ú¤ÊÁªÂò¤Ç¤¹¡£\n"
+msgstr "無効な選択です。\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
-msgstr "¸°¤ÎÊݴɾì½ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:\n"
+msgstr "鍵の保管場所を選択してください:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
-msgstr "̤ÃΤθ°Êݸ¥ë¥´¥ê¥º¥à¤Ç¤¹\n"
+msgstr "不明の鍵保護アルゴリズムです\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
-msgstr "¸°¤ÎÈëÌ©Éôʬ¤¬Ìµ¸ú¤Ç¤¹\n"
+msgstr "鍵の秘密部分が無効です\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
-msgstr "ÈëÌ©¸°¤Ï¤â¤¦¥«¡¼¥É¤ËÊݴɤ·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "秘密鍵はもうカードに保管してあります\n"
 
-#: g10/card-util.c:1623
-#, fuzzy, c-format
+#: g10/card-util.c:1624
+#, c-format
 msgid "error writing key to card: %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\81®ã\82«ã\83¼ã\83\89æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
-msgstr "¤³¤Î¥á¥Ë¥å¡¼¤ò½ªÎ»"
+msgstr "このメニューを終了"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤òɽ¼¨"
+msgstr "管理コマンドを表示"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
-msgstr "¤³¤Î¥Ø¥ë¥×¤òɽ¼¨"
+msgstr "このヘルプを表示"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
-msgstr "Á´Í­¸ú¥Ç¡¼¥¿¤òɽ¼¨"
+msgstr "全有効データを表示"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
-msgstr "¥«¡¼¥É½êÍ­¼Ô¤Î̾Á°¤ÎÊѹ¹"
+msgstr "カード所有者の名前の変更"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
-msgstr "¸°¤òõº÷¤¹¤ëURL¤ÎÊѹ¹"
+msgstr "鍵を取得するURLの変更"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
-msgstr "¥«¡¼¥ÉURL¤Ç»ØÄꤵ¤ì¤¿¸°¤Î°ú¤­½Ð¤·"
+msgstr "カードURLで指定された鍵の引き出し"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
-msgstr "¥í¥°¥¤¥ó̾¤ÎÊѹ¹"
+msgstr "ログイン名の変更"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
-msgstr "¸À¸ìÁª¹¥¤ÎÊѹ¹"
+msgstr "言語の優先指定の変更"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
-msgstr "¥«¡¼¥É½êÍ­¼Ô¤ÎÀ­Ê̤ÎÊѹ¹"
+msgstr "カード所有者の性別の変更"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
-msgstr "CA»ØÌæ¤ÎÊѹ¹"
+msgstr "CAフィンガー・プリントの変更"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
-msgstr "½ð̾¶¯À©PIN¥Õ¥é¥°¤òȿž"
+msgstr "署名強制PINフラグを反転"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
-msgstr "¿·¤·¤¤¸°·²¤òÀ¸À®"
+msgstr "新しい鍵を生成"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
-msgstr "PIN¥Ö¥í¥Ã¥¯¤Î²ò½ü¤äÊѹ¹¤Î¥á¥Ë¥å¡¼"
+msgstr "PINã\83\96ã\83­ã\83\83ã\82¯ã\81®è§£é\99¤ã\82\84å¤\89æ\9b´ã\81®ã\83¡ã\83\8bã\83¥ã\83¼"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
-msgstr ""
+msgstr "PINを確認しすべてのデータを表示する"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
-msgstr ""
+msgstr "PINをReset Codeで再設定する"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
-msgstr ""
+msgstr "gpg/card> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
-msgstr "´ÉÍýÀìÍÑ¥³¥Þ¥ó¥É\n"
+msgstr "管理専用コマンド\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "管理コマンドが許可されています\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "管理コマンドは禁止されています\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
-msgstr "̵¸ú¤Ê¥³¥Þ¥ó¥É (¡Èhelp¡É¤ò»²¾È)\n"
+msgstr "無効なコマンド (\"help\"を参照)\n"
 
 #: g10/decrypt.c:110 g10/encode.c:876
 msgid "--output doesn't work for this command\n"
-msgstr "¤³¤Î¥³¥Þ¥ó¥É¤Ç--output¤Ïµ¡Ç½¤·¤Þ¤»¤ó\n"
+msgstr "このコマンドで--outputは機能しません\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
-msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó\n"
+msgstr "「%s」が開けません\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
-msgstr "¸°¡È%s¡É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "鍵\"%s\"が見つかりません: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
-msgstr "¸°¥Ö¥í¥Ã¥¯¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\83\96ã\83­ã\83\83ã\82¯ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: g10/delkey.c:127 g10/delkey.c:134
 msgid "(unless you specify the key by fingerprint)\n"
-msgstr "(¤¢¤ë¤¤¤Ï¡¢»ØÌæ¤Ç¸°¤ò»ØÄê)\n"
+msgstr "(あるいは、フィンガー・プリントで鍵を指定)\n"
 
 #: g10/delkey.c:133
 msgid "can't do this in batch mode without \"--yes\"\n"
-msgstr "¡È--yes¡É¤Î¤Ê¤¤¥Ð¥Ã¥Á¡¦¥â¡¼¥É¤Ç¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "\"--yes\"なしでバッチ・モードではできません\n"
 
 #: g10/delkey.c:145
 msgid "Delete this key from the keyring? (y/N) "
-msgstr "¤³¤Î¸°¤ò¸°Îؤ«¤éºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この鍵を鍵リングから削除しますか? (y/N) "
 
 #: g10/delkey.c:153
 msgid "This is a secret key! - really delete? (y/N) "
-msgstr "¤³¤ì¤ÏÈëÌ©¸°¤Ç¤¹! ËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "これは秘密鍵です! 本当に削除しますか? (y/N) "
 
 #: g10/delkey.c:163
 #, c-format
 msgid "deleting keyblock failed: %s\n"
-msgstr "¸°¥Ö¥í¥Ã¥¯¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵ブロックの削除に失敗しました: %s\n"
 
 #: g10/delkey.c:173
 msgid "ownertrust information cleared\n"
-msgstr "½êÍ­¼Ô¿®ÍѾðÊó¤ò¥¯¥ê¥¢¤·¤Þ¤·¤¿\n"
+msgstr "所有者信用情報をクリアしました\n"
 
 #: g10/delkey.c:204
 #, c-format
 msgid "there is a secret key for public key \"%s\"!\n"
-msgstr "¤³¤Î¸ø³«¸°¤Ë¤¿¤¤¤¹¤ëÈëÌ©¸°¡È%s¡É¤¬¤¢¤ê¤Þ¤¹!\n"
+msgstr "この公開鍵にたいする秘密鍵\"%s\"があります!\n"
 
 #: g10/delkey.c:206
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
-msgstr "¤Þ¤º¡È--delete-secret-keys¡É¥ª¥×¥·¥ç¥ó¤Ç¤³¤ì¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "まず\"--delete-secret-keys\"オプションでこれを削除してください。\n"
 
 #: g10/encode.c:226 g10/sign.c:1269
 #, c-format
 msgid "error creating passphrase: %s\n"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\83\91ã\82¹ã\83\95ã\83¬ã\83¼ã\82ºã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
 #: g10/encode.c:232
 msgid "can't use a symmetric ESK packet due to the S2K mode\n"
-msgstr "S2K¥â¡¼¥É¤Î¤¿¤á¡¢ÂоÎESK¥Ñ¥±¥Ã¥È¤ò»È¤¨¤Þ¤»¤ó\n"
+msgstr "S2Kモードのため、共通鍵ESKパケットを使えません\n"
 
 #: g10/encode.c:246
 #, c-format
 msgid "using cipher %s\n"
-msgstr "%s°Å¹æË¡¤ò»È¤¤¤Þ¤¹\n"
+msgstr "暗号方式 %s を使います\n"
 
 #: g10/encode.c:256 g10/encode.c:577
 #, c-format
 msgid "`%s' already compressed\n"
-msgstr "¡Ö%s¡×¤Ï¤â¤¦°µ½ÌºÑ¤ß¤Ç¤¹\n"
+msgstr "「%s」はもう圧縮済みです\n"
 
 #: g10/encode.c:311 g10/encode.c:611 g10/sign.c:564
 #, c-format
 msgid "WARNING: `%s' is an empty file\n"
-msgstr "·Ù¹ð: ¡Ö%s¡×¤Ï¶õ¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹\n"
+msgstr "*警告*: 「%s」は空のファイルです\n"
 
 #: g10/encode.c:485
 msgid "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤Ï2048¥Ó¥Ã¥È°Ê²¼¤ÎRSA¸°¤Ç°Å¹æ²½¤·¤«¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--pgp2モードでは2048ビット以下のRSA鍵で暗号化しかできません\n"
 
 #: g10/encode.c:510
 #, c-format
 msgid "reading from `%s'\n"
-msgstr "¡Ö%s¡×¤«¤éÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "「%s」から読み込み\n"
 
 #: g10/encode.c:541
 msgid ""
 "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
-msgstr "°Å¹æ²½¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¸°¤ÏÁ´ÉôIDEA°Å¹æ¤ò»È¤¨¤Þ¤»¤ó¡£\n"
+msgstr "暗号化しようとしている鍵は全部IDEA暗号を使えません。\n"
 
 #: g10/encode.c:559
 #, c-format
 msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
-msgstr "·Ù¹ð: ÂоΰŹæË¡ %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr ""
+"*警告*: 共通鍵暗号方式 %s (%d) の強制が、受取人の優先指定をそむきます\n"
 
 #: g10/encode.c:655 g10/sign.c:939
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
 "preferences\n"
-msgstr "·Ù¹ð: °µ½Ì¥¢¥ë¥´¥ê¥º¥à %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr ""
+"*警告*: 圧縮アルゴリズム %s (%d) の強制が、受取人の優先指定をそむきます\n"
 
 #: g10/encode.c:751
 #, c-format
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
-msgstr "ÂоΰŹæË¡ %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr "共通鍵暗号方式 %s (%d) の強制が、受取人の優先指定をそむきます\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
-msgstr "%s¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "%sを%sモードで使うことはできません\n"
 
 #: g10/encode.c:848
 #, c-format
 msgid "%s/%s encrypted for: \"%s\"\n"
-msgstr "%s/%s°Å¹æ²½ ¼õ¿®¼Ô:¡È%s¡É\n"
+msgstr "%s/%s暗号化 受信者:\"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
-msgstr "%s°Å¹æ²½ºÑ¤ß¥Ç¡¼¥¿\n"
+msgstr "%sæ\9a\97å\8f·å\8c\96æ¸\88ã\81¿ã\83\87ã\83¼ã\82¿\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
-msgstr "̤ÃΤΥ¢¥ë¥´¥ê¥º¥à%d¤Ë¤è¤ë°Å¹æ²½\n"
+msgstr "不明のアルゴリズム%dによる暗号化\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
-msgstr "·Ù¹ð: ¥á¥Ã¥»¡¼¥¸¤ÏÂоΰŹæË¡¤Î¼å¤¤¸°¤Ç°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+msgstr "*警告*: メッセージは共通鍵暗号方式の弱い鍵で暗号化されています。\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
-msgstr "°Å¹æ²½¥Ñ¥±¥Ã¥È¤Î¼è°·¤¤¤Ç¾ã³²\n"
+msgstr "暗号化パケットの取扱いで障害\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
-msgstr "±ó³Ö¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ï¡¢¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "遠隔プログラムの実行は、サポートしていません\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
-"¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¤Îµö²Ä¥â¡¼¥É¤¬¡¢°ÂÁ´¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢\n"
-"³°Éô¥×¥í¥°¥é¥à¤Î¸Æ½Ð¤·¤Ï¡¢»ÈÍѶػߤǤ¹¡£\n"
+"オプション・ファイルの許可モードが、安全ではないので、\n"
+"外部プログラムの呼出しは、使用禁止です。\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
-"¤³¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤À¤È¡¢³°Éô¥×¥í¥°¥é¥à¤Î¸Æ½Ð¤·¤Ë¤Ï¡¢°ì»þ¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹\n"
+"このプラットホームだと、外部プログラムの呼出しには、一時ファイルが必要です\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
-msgstr "¡Ö%s¡×¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」を実行できません: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
-msgstr "¥·¥§¥ë¡Ö%s¡×¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "シェル「%s」を実行できません: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
-msgstr "³°Éô¥×¥í¥°¥é¥à¤Î¸Æ½Ð¤·¤Ç¥·¥¹¥Æ¥à¡¦¥¨¥é¡¼: %s\n"
+msgstr "å¤\96é\83¨ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®å\91¼å\87ºã\81\97ã\81§ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
-msgstr "³°Éô¥×¥í¥°¥é¥à¤¬¡¢ÉÔ¼«Á³¤Ë½ªÎ»\n"
+msgstr "外部プログラムが、不自然に終了\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
-msgstr "³°Éô¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "外部プログラムを実行できません\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
-msgstr "³°Éô¥×¥í¥°¥é¥à¤Î±þÅú¤òÆɤ߽Ф»¤Þ¤»¤ó: %s\n"
+msgstr "外部プログラムの応答を読み込めません: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
-msgstr "·Ù¹ð: °ì»þ¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó (%s) ¡Ö%s¡×: %s\n"
+msgstr "*警告*: 一時ファイルを削除できません (%s) 「%s」: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
-msgstr "·Ù¹ð: °ì»þ¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤òºï½ü¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "*警告*: 一時ディレクトリ「%s」を削除できません: %s\n"
 
 #: g10/export.c:61
-#, fuzzy
 msgid "export signatures that are marked as local-only"
-msgstr "½ð̾¤Ï¡¢¼º¸úÉԲĤËÀßÄꤵ¤ì¤Þ¤¹¡£\n"
+msgstr "ローカルのみと指定された署名をエクスポートします"
 
 #: g10/export.c:63
 msgid "export attribute user IDs (generally photo IDs)"
-msgstr ""
+msgstr "ユーザIDの属性(通常フォトID)をエクスポートします"
 
 #: g10/export.c:65
-#, fuzzy
 msgid "export revocation keys marked as \"sensitive\""
-msgstr "¡È%s¡ÉÍѤμº¸ú¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "\"sensitive\"(機密)と指定された失効鍵をエクスポートします"
 
 #: g10/export.c:67
-#, fuzzy
 msgid "remove the passphrase from exported subkeys"
-msgstr "Éû¸°¤Î¼º¸ú"
+msgstr "エクスポートされた副鍵のパスフレーズを除去する"
 
 #: g10/export.c:69
-#, fuzzy
 msgid "remove unusable parts from key during export"
-msgstr "»ÈÍѤǤ­¤Ê¤¤ÈëÌ©¸°¤Ç¤¹"
+msgstr "エクスポートの際、利用できない部分を除去する"
 
 #: g10/export.c:71
 msgid "remove as much as possible from key during export"
-msgstr ""
+msgstr "エクスポートの際、できるだけ除去する"
 
 #: g10/export.c:73
 msgid "export keys in an S-expression based format"
-msgstr ""
+msgstr "S式ベースのフォーマットで鍵をエクスポートする"
 
 #: g10/export.c:338
 msgid "exporting secret keys not allowed\n"
-msgstr "ÈëÌ©¸°¤Î½ñ½Ð¤·¤Ï¶Ø»ß¤Ç¤¹\n"
+msgstr "秘密鍵のエクスポートは認められません\n"
 
 #: g10/export.c:367
 #, c-format
 msgid "key %s: not protected - skipped\n"
-msgstr "¸°%s: Êݸ¤ì¤Æ¤¤¤Þ¤»¤ó - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 保護されていません - スキップします\n"
 
 #: g10/export.c:375
 #, c-format
 msgid "key %s: PGP 2.x style key - skipped\n"
-msgstr "¸°%s: PGP 2.x·Á¼°¤Î¸°¤Ç¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: PGP 2.x形式の鍵です - スキップします\n"
 
 #: g10/export.c:386
-#, fuzzy, c-format
+#, c-format
 msgid "key %s: key material on-card - skipped\n"
-msgstr "¸°%s: Éû¸°½ð̾¤Î¾ì½ê¤¬¡¢¸í¤Ã¤Æ¤¤¤Þ¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 鍵はカード上にあります - スキップします\n"
 
 #: g10/export.c:537
 msgid "about to export an unprotected subkey\n"
-msgstr ""
+msgstr "保護されていない副鍵を、エクスポートしようとしています\n"
 
 #: g10/export.c:560
-#, fuzzy, c-format
+#, c-format
 msgid "failed to unprotect the subkey: %s\n"
-msgstr "¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "副鍵のロックを解除するのに失敗しました: %s\n"
 
 #: g10/export.c:584
 #, c-format
 msgid "WARNING: secret key %s does not have a simple SK checksum\n"
-msgstr "·Ù¹ð: ÈëÌ©¸°%s¤Ë¤Ï¡¢Ã±½ã¤ÊSK¥Á¥§¥Ã¥¯¥µ¥à¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "*警告*: 秘密鍵%sには、単純なSKチェックサムがありません\n"
 
 #: g10/export.c:633
 msgid "WARNING: nothing exported\n"
-msgstr "·Ù¹ð: ²¿¤â½ñ¤­½Ð¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "*警告*: 何もエクスポートしていません\n"
 
 #: g10/getkey.c:152
 msgid "too many entries in pk cache - disabled\n"
-msgstr "pk¥­¥ã¥Ã¥·¥å¤Î¥¨¥ó¥È¥ê¡¼¤¬Â¿¤¹¤®¤Þ¤¹ - »ÈÍѶػß\n"
+msgstr "pkキャッシュのエントリーが多すぎます - 使用禁止\n"
 
 #: g10/getkey.c:175
 msgid "[User ID not found]"
-msgstr "[¥æ¡¼¥¶¡¼ID¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó]"
+msgstr "[ユーザIDが見つかりません]"
 
 #: g10/getkey.c:1113
 #, c-format
 msgid "automatically retrieved `%s' via %s\n"
-msgstr ""
+msgstr "「%s」を %s から自動取得\n"
 
 #: g10/getkey.c:1118
-#, fuzzy, c-format
+#, c-format
 msgid "error retrieving `%s' via %s: %s\n"
-msgstr "¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\82\92 %s ã\81\8bã\82\89å\8f\96å¾\97ã\81\99ã\82\8bé\9a\9bã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
 #: g10/getkey.c:1120
-#, fuzzy
 msgid "No fingerprint"
-msgstr "CA¤Î»ØÌæ: "
+msgstr "フィンガー・プリントがありません"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
-msgstr "--allow-non-selfsigned-uid¤ÇÍ­¸ú¤Ë¤µ¤ì¤¿Ìµ¸ú¤Ê¸°%s¤Ç¤¹\n"
+msgstr "--allow-non-selfsigned-uidで有効にされた無効な鍵%sです\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
-msgstr "¸ø³«Éû¸°%s¤Ë¤¿¤¤¤¹¤ëÈëÌ©Éû¸°¤¬¤¢¤ê¤Þ¤»¤ó - Ìµ»ë\n"
+msgstr "公開副鍵%sにたいする秘密副鍵がありません - 無視\n"
 
-#: g10/getkey.c:2759
-#, fuzzy, c-format
+#: g10/getkey.c:2765
+#, c-format
 msgid "using subkey %s instead of primary key %s\n"
-msgstr "Éû¸°%s¤ò¼ç¸°%s¤ËÂåÍѤ·¤Þ¤¹\n"
+msgstr "副鍵%s(主鍵%sではなく)を用います\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
-msgstr "¸°%s: ¸ø³«¸°¤Î¤Ê¤¤ÈëÌ©¸°¤Ç¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 公開鍵のない秘密鍵です - スキップします\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
-#, fuzzy
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
-msgstr "¿®Íѽð̾¤òºîÀ®"
+msgstr "署名を作成"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
-#, fuzzy
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
-msgstr "|[¥Õ¥¡¥¤¥ë]|¥¯¥ê¥¢½ð̾¤òºîÀ®"
+msgstr "クリア・テクスト署名を作成"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
-msgstr "ʬΥ½ð̾¤òºîÀ®"
+msgstr "分離署名を作成"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
-msgstr "¥Ç¡¼¥¿¤ò°Å¹æ²½"
+msgstr "データを暗号化"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
-msgstr "°Å¹æ²½¤Ë¤ÏÂоΰŹæË¡¤Î¤ß¤ò»ÈÍÑ"
+msgstr "暗号化には共通鍵暗号方式のみを使用"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
-msgstr "¥Ç¡¼¥¿¤òÉü¹æ (´ûÄê)"
+msgstr "データを復号 (デフォルト)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
-msgstr "½ð̾¤ò¸¡¾Ú"
+msgstr "署名を検証"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
-msgstr "¸°¤Î°ìÍ÷"
+msgstr "鍵の一覧"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
-msgstr "¸°¤È½ð̾¤Î°ìÍ÷"
+msgstr "鍵と署名の一覧"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
-msgstr "¸°½ð̾¤Î¸¡ºº¤È°ìÍ÷"
+msgstr "鍵署名の検査と一覧"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
-msgstr "¸°¤È»ØÌæ¤Î°ìÍ÷"
+msgstr "鍵とフィンガー・プリントの一覧"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
-msgstr "ÈëÌ©¸°¤Î°ìÍ÷"
+msgstr "秘密鍵の一覧"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
-msgstr "¿·¤·¤¤¸°ÂФòÀ¸À®"
+msgstr "新しい鍵対を生成"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òÀ¸À®"
+msgstr "失効証明書を生成"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
-msgstr "¸ø³«¸°Îؤ«¤é¸°·²¤òºï½ü"
+msgstr "公開鍵リングから鍵を削除"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
-msgstr "ÈëÌ©¸°Îؤ«¤é¸°·²¤òºï½ü"
+msgstr "秘密鍵リングから鍵を削除"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
-msgstr "¸°¤Ë½ð̾"
+msgstr "鍵に署名"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
-msgstr "¸°¤ØÆâÉôŪ¤Ë½ð̾"
+msgstr "鍵へ内部的に署名"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
-msgstr "¸°¤Ø¤Î½ð̾¤äÊÔ½¸"
+msgstr "鍵への署名や編集"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
-#, fuzzy
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊѹ¹"
+msgstr "パスフレーズの変更"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
-msgstr "¸°¤ò½ñ¤­½Ð¤¹"
+msgstr "鍵をエクスポートする"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Ë¸°¤ò½ñ¤­½Ð¤¹"
+msgstr "鍵サーバに鍵をエクスポートする"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤«¤é¸°¤òÆɤ߹þ¤à"
+msgstr "鍵サーバから鍵をインポートする"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Î¸°¤ò¸¡º÷¤¹¤ë"
+msgstr "鍵サーバの鍵を検索する"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤«¤é¸°¤òÁ´Éô¹¹¿·¤¹¤ë"
+msgstr "鍵サーバから鍵を全部更新する"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
-msgstr "¸°¤ÎÆɹþ¤ß/Ê»¹ç"
+msgstr "鍵のインポート/マージ"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
-msgstr "¥«¡¼¥É¾õÂÖ¤òɽ¼¨"
+msgstr "カード・ステイタスを表示"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
-msgstr "¥«¡¼¥É¤Î¥Ç¡¼¥¿¤òÊѹ¹"
+msgstr "カードのデータを変更"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
-msgstr "¥«¡¼¥É¤ÎPIN¤òÊѹ¹"
+msgstr "カードのPINを変更"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·"
+msgstr "信用データベースを更新"
 
-#: g10/gpg.c:436
-#, fuzzy
+#: g10/gpg.c:441
 msgid "print message digests"
-msgstr "|¥¢¥ë¥´¥ê¥º¥à [¥Õ¥¡¥¤¥ë]|¥á¥Ã¥»¡¼¥¸Í×Ìó¤òɽ¼¨"
+msgstr "メッセージ・ダイジェストを表示"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
-msgstr ""
+msgstr "サーバ・モードで実行"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
-msgstr "ASCII·Á¼°¤ÎÊñÁõ¤òºîÀ®"
+msgstr "ASCII形式の外装を作成"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
-#, fuzzy
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
-msgstr "|̾Á°|¡Ö̾Á°¡×ÍѤ˰Ź沽"
+msgstr "|USER-ID|USER-ID用に暗号化"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
-#, fuzzy
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
-msgstr ""
-"½ð̾¤äÉü¹æ¤Ë¤³¤Î¥æ¡¼¥¶¡¼id\n"
-"¤ò»ÈÍÑ"
+msgstr "|USER-ID|署名や復号にこのUSER-IDを使用"
 
-#: g10/gpg.c:462
-#, fuzzy
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
-msgstr ""
-"|N|°µ½Ì¥ì¥Ù¥ë¤òN¤ËÀßÄê\n"
-"(0¤ÏÈó°µ½Ì)"
+msgstr "|N|圧縮レベルをNに設定 (0は非圧縮)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
-msgstr "Àµ½à¥Æ¥­¥¹¥È¡¦¥â¡¼¥É¤ò»ÈÍÑ"
+msgstr "正準テキスト・モードを使用"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
-#, fuzzy
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "|FILE|出力をFILEに書き出す"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
-msgstr "̵Êѹ¹"
+msgstr "無変更"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
-msgstr "¾å½ñ¤­Á°¤Ë³Îǧ"
+msgstr "上書き前に確認"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
-msgstr "¸·Ì©¤ÊOpenPGP¤Î¿¶Éñ¤òºÎÍÑ"
+msgstr "厳密なOpenPGPの振舞を採用"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
 "@\n"
-"(¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥óÁ´Éô¤Î°ìÍ÷¤Ï¡¢\n"
-"¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤)\n"
+"(コマンドとオプション全部の一覧は、マニュアル・ページをご覧ください)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2167,1136 +2112,1137 @@ msgid ""
 " --fingerprint [names]      show fingerprints\n"
 msgstr ""
 "@\n"
-"Îã:\n"
+":\n"
 "\n"
-" -se -r Bob [¥Õ¥¡¥¤¥ë]      ½ð̾¤È¥æ¡¼¥¶¡¼Bob¤Ø¤Î°Å¹æ²½\n"
-" --clearsign [¥Õ¥¡¥¤¥ë]     ¥¯¥ê¥¢½ð̾¤òºîÀ®\n"
-" --detach-sign [¥Õ¥¡¥¤¥ë]   Ê¬Î¥½ð̾¤òºîÀ®\n"
-" --list-keys [̾Á°]         ¸°¤òɽ¼¨\n"
-" --fingerprint [̾Á°]       »ØÌæ¤òɽ¼¨\n"
+" -se -r Bob [ファイル]      ユーザBobへ署名と暗号化\n"
+" --clearsign [ファイル]     クリア・テクスト署名を作成\n"
+" --detach-sign [ファイル]   分離署名を作成\n"
+" --list-keys [名前]         鍵を表示\n"
+" --fingerprint [名前]       フィンガー・プリントを表示\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg [オプション] [ファイル] (ヘルプは -h)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"½ñ¼°: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë]\n"
-"½ð̾¡¢¸¡ºº¡¢°Å¹æ²½¤äÉü¹æ\n"
-"´ûÄê¤ÎÁàºî¤Ï¡¢ÆþÎϥǡ¼¥¿¤Ë°Í¸\n"
+"形式: gpg [オプション] [ファイル]\n"
+"署名、検査、暗号化や復号\n"
+"デフォルトの操作は、入力データに依存\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
 msgstr ""
 "\n"
-"¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à:\n"
+"サポートしているアルゴリズム:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
-msgstr "¸ø³«¸°: "
+msgstr "公開鍵: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
-msgstr "°Å¹æË¡: "
+msgstr "暗号方式: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
-msgstr "¥Ï¥Ã¥·¥å: "
+msgstr "ハッシュ: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
-msgstr "°µ½Ì: "
+msgstr "圧縮: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] "
+msgstr "使い方: gpg [オプション] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
-msgstr "ÂÐΩ¤¹¤ë¥³¥Þ¥ó¥É\n"
+msgstr "対立するコマンド\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
-msgstr "=µ­¹æ¤¬¡¢¥°¥ë¡¼¥×ÄêµÁ¡Ö%s¡×Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "=記号が、グループ定義「%s」内に見つかりません\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
-msgstr "·Ù¹ð: homedir ¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤½êÍ­¼Ô\n"
+msgstr "*警告*: homedir 「%s」の安全でない所有者\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
-msgstr "·Ù¹ð: ¹½À®¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤½êÍ­¼Ô\n"
+msgstr "*警告*: コンフィグレーション・ファイル「%s」の安全でない所有者\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤½êÍ­¼Ô\n"
+msgstr "*警告*: 拡張「%s」の安全でない所有者\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
-msgstr "·Ù¹ð: homedir ¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤µö²Ä\n"
+msgstr "*警告*: homedir 「%s」の安全でない許可\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
-msgstr "·Ù¹ð: ¹½À®¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤µö²Ä\n"
+msgstr "*警告*: コンフィグレーション・ファイル「%s」の安全でない許可\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤µö²Ä\n"
+msgstr "*警告*: 拡張「%s」の安全でない許可\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
-msgstr "·Ù¹ð: homedir ¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼½êÍ­¼Ô\n"
+msgstr "*警告*: homedir 「%s」の安全でない上位ディレクトリ所有者\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
-msgstr "·Ù¹ð: ¹½À®¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼½êÍ­¼Ô\n"
+msgstr ""
+"*警告*: コンフィグレーション・ファイル「%s」の安全でない上位ディレクトリ所有"
+"者\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼½êÍ­¼Ô\n"
+msgstr "*警告*: 拡張「%s」の安全でない上位ディレクトリ所有者\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
-msgstr "·Ù¹ð: homedir ¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼µö²Ä\n"
+msgstr "*警告*: homedir 「%s」の安全でない上位ディレクトリ許可\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
-msgstr "·Ù¹ð: ¹½À®¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼µö²Ä\n"
+msgstr ""
+"*警告*: コンフィグレーション・ファイル「%s」の安全でない上位ディレクトリ許"
+"可\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
-msgstr "·Ù¹ð: ³ÈÄ¥¡Ö%s¡×¤Î°ÂÁ´¤Ç¤Ê¤¤¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¡¼µö²Ä\n"
+msgstr "*警告*: 拡張「%s」の安全でない上位ディレクトリ許可\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
-msgstr "̤ÃΤι½À®¹àÌÜ¡Ö%s¡×\n"
+msgstr "不明のコンフィグレーション項目「%s」\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
-msgstr ""
+msgstr "鍵の一覧にフォトIDを表示する"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
-msgstr ""
+msgstr "署名の一覧にポリシURLを表示する"
 
-#: g10/gpg.c:1703
-#, fuzzy
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
-msgstr "ÈëÌ©¸°ÎؤËÂбþ¤¹¤ë½ð̾¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名の一覧にすべての注釈を表示する"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
-msgstr ""
+msgstr "署名の一覧にIETF標準注釈を表示する"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
-msgstr ""
+msgstr "署名の一覧にユーザの注釈を表示する"
 
-#: g10/gpg.c:1711
-#, fuzzy
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
-msgstr "»ØÄꤵ¤ì¤¿Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "署名の一覧に優先鍵サーバURLを表示する"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
-msgstr ""
+msgstr "鍵の一覧にユーザIDの有効性を表示する"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
-msgstr ""
+msgstr "鍵の一覧に失効したユーザID、期限切れとなったユーザIDを表示する"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
-msgstr ""
+msgstr "鍵の一覧に失効した副鍵、期限切れとなった副鍵を表示する"
 
-#: g10/gpg.c:1719
-#, fuzzy
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
-msgstr "ÈëÌ©¸°¤È¸ø³«¸°¤Î°ìÍ÷¤Îȿž"
+msgstr "鍵の一覧に鍵リングの名前を表示する"
 
-#: g10/gpg.c:1721
-#, fuzzy
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
-msgstr "ÈëÌ©¸°ÎؤËÂбþ¤¹¤ë½ð̾¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名の一覧に有効期限の日付を表示する"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
-msgstr "Ãí°Õ: ÀΡ¢´ûÄê¤À¤Ã¤¿¥ª¥×¥·¥ç¥ó¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Ï¡¢Ìµ»ë¤µ¤ì¤Þ¤¹\n"
+msgstr ""
+"*注意*: 以前デフォルトだったオプション・ファイル「%s」は、無視されます\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
-msgstr ""
+msgstr "libgcrypt は古すぎます (必要 %s, 現在 %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
-msgstr "Ãí°Õ: ÉáÄÌ%s¤Ï»È¤¤¤Þ¤»¤ó!\n"
+msgstr "*注意*: 普通%sは使いません!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
-#, fuzzy, c-format
+#: g10/gpg.c:2539 g10/gpg.c:2551
+#, c-format
 msgid "`%s' is not a valid signature expiration\n"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤Êʸ»ú½¸¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "「%s」は、有効な署名表現ではありません\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤Êʸ»ú½¸¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "「%s」は、有効な文字集合ではありません\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤ÎURL¤ò²òÀÏÉÔǽ\n"
+msgstr "é\8dµã\82µã\83¼ã\83\90ã\81®URLã\82\92解æ\9e\90ä¸\8dè\83½\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
-msgstr "%s:%d: Ìµ¸ú¤Ê¸°¥µ¡¼¥Ð¡¼¡¦¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効な鍵サーバ・オプションです\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
-msgstr "̵¸ú¤Ê¸°¥µ¡¼¥Ð¡¼¡¦¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効な鍵サーバ・オプションです\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
-msgstr "%s:%d: Ìµ¸ú¤ÊÆɹþ¤ß¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効なインポート・オプションです\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
-msgstr "̵¸ú¤ÊÆɹþ¤ß¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効なインポート・オプションです\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
-msgstr "%s:%d: Ìµ¸ú¤Ê½ñ½Ð¤·¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効なエクスポート・オプションです\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
-msgstr "̵¸ú¤Ê½ñ½Ð¤·¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効なエクスポート・オプションです\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
-msgstr "%s:%d: Ìµ¸ú¤Ê°ìÍ÷¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効な一覧オプションです\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
-msgstr "̵¸ú¤Ê°ìÍ÷¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効な一覧オプションです\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
-msgstr ""
+msgstr "署名の検証時にフォトIDを表示する"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
-msgstr ""
+msgstr "署名の検証時にポリシURLを表示する"
 
-#: g10/gpg.c:2704
-#, fuzzy
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤Êʸ»ú½¸¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名の検証時にすべての注釈を表示する"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
-msgstr ""
+msgstr "署名の検証時にIETF標準注釈を表示する"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
-msgstr ""
+msgstr "署名の検証時にユーザの注釈を表示する"
 
-#: g10/gpg.c:2712
-#, fuzzy
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
-msgstr "»ØÄꤵ¤ì¤¿Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "署名の検証時に優先鍵サーバURLを表示する"
 
-#: g10/gpg.c:2714
-#, fuzzy
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤Êʸ»ú½¸¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名の検証時にユーザIDの有効性を表示する"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
-msgstr ""
+msgstr "署名の検証時に失効したユーザID、期限切れとなったユーザIDを表示する"
 
-#: g10/gpg.c:2718
-#, fuzzy
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤Êʸ»ú½¸¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名の検証時に主なユーザIDだけをを表示する"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
-msgstr ""
+msgstr "PKAデータで署名を検証する"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
-msgstr ""
+msgstr "有効なPKAデータで署名の信用度を上昇させる"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
-msgstr "%s:%d: Ìµ¸ú¤Ê¸¡¾Ú¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効な検証オプションです\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
-msgstr "̵¸ú¤Ê¸¡¾Ú¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効な検証オプションです\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
-msgstr "exec-path¤ò%s¤ËÀßÄêÉÔǽ\n"
+msgstr "exec-pathã\82\92%sã\81«è¨­å®\9aä¸\8dè\83½\n"
 
-#: g10/gpg.c:2925
-#, fuzzy, c-format
+#: g10/gpg.c:2934
+#, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
-msgstr "%s:%d: Ìµ¸ú¤Ê¸¡¾Ú¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "%s:%d: 無効な auto-key-locate リストです\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
-msgstr ""
+msgstr "無効な auto-key-locate リストです\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
-msgstr "·Ù¹ð: ¥×¥í¥°¥é¥à¤Î¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹!\n"
+msgstr "*警告*: プログラムのコア・ファイルができることがあります!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
-msgstr "·Ù¹ð: %s¤Ï%s¤è¤êÍ¥Àè\n"
+msgstr "*警告*: %sは%sより優先\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
-msgstr "%s¤Ï%s¤È¤È¤â¤Ë»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó!\n"
+msgstr "%sは%sとともに使うことはできません!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
-msgstr "%s¤Ï%s¤È¤È¤â¤Ë»È¤Ã¤Æ¤â̵°ÕÌ£¤Ç¤¹!\n"
+msgstr "%sは%sとともに使っても無意味です!\n"
 
-#: g10/gpg.c:3057
-#, fuzzy, c-format
+#: g10/gpg.c:3070
+#, c-format
 msgid "will not run with insecure memory due to %s\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¥¹¥¿¥Ö¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "%s のため、セキュアでないメモリで実行しません\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤ÏʬΥ½ð̾¤«¥¯¥ê¥¢½ð̾¤À¤±¤·¤«¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--pgp2モードでは分離署名かクリア・テクスト署名だけしかできません\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤Ï½ð̾¤È°Å¹æ²½¤òƱ»þ¤Ë¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--pgp2モードでは署名と暗号化を同時にできません\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
-msgstr "--pgp2¤ò»ØÄꤷ¤¿¤é¡¢(¥Ñ¥¤¥×¤Ç¤Ê¤¯) ¥Õ¥¡¥¤¥ë¤ò»ØÄꤻ¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\n"
+msgstr "--pgp2を指定したら、(パイプでなく) ファイルを指定せねばなりません。\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
-msgstr "--pgp2¥â¡¼¥É¤Î¥á¥Ã¥»¡¼¥¸°Å¹æ²½¤Ç¤Ï¡¢IDEA°Å¹æË¡¤¬É¬ÍפǤ¹\n"
+msgstr "--pgp2モードのメッセージ暗号化では、IDEA暗号方式が必要です\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
-msgstr "ÁªÂò¤µ¤ì¤¿°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢Ìµ¸ú¤Ç¤¹\n"
+msgstr "選択された暗号アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
-msgstr "ÁªÂò¤µ¤ì¤¿Í×Ì󥢥르¥ê¥º¥à¤Ï¡¢Ìµ¸ú¤Ç¤¹\n"
+msgstr "選択されたダイジェスト・アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
-msgstr "ÁªÂò¤µ¤ì¤¿°µ½Ì¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢Ìµ¸ú¤Ç¤¹\n"
+msgstr "選択された圧縮アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
-msgstr "ÁªÂò¤µ¤ì¤¿¾ÚÌÀ½ñÍ×Ì󥢥르¥ê¥º¥à¤Ï¡¢Ìµ¸ú¤Ç¤¹\n"
+msgstr "選択された証明書ダイジェスト・アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
-msgstr "completes-needed¤ÏÀµ¤ÎÃͤ¬É¬ÍפǤ¹\n"
+msgstr "completes-neededは正の値が必要です\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
-msgstr "marginals-needed¤Ï1¤è¤êÂ礭¤ÊÃͤ¬É¬ÍפǤ¹\n"
+msgstr "marginals-neededは1より大きな値が必要です\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
-msgstr "max-cert-depth¤Ï1¤«¤é255¤ÎÈϰϤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "max-cert-depthは1から255の範囲でなければなりません\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
-msgstr "̵¸ú¤Êdefault-cert-level¡£0¤«1¤«2¤«3¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "無効なdefault-cert-level。0か1か2か3でなければなりません\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
-msgstr "̵¸ú¤Êmin-cert-level¡£0¤«1¤«2¤«3¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "無効なmin-cert-level。0か1か2か3でなければなりません\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
-msgstr "Ãí°Õ: Ã±½ã¤ÊS2K¥â¡¼¥É(0)¤Î»ÈÍѤˤ϶¯¤¯È¿ÂФ·¤Þ¤¹\n"
+msgstr "*注意*: 単純なS2Kモード(0)の使用には強く反対します\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
-msgstr "̵¸ú¤ÊS2K¥â¡¼¥É¡£0¤«1¤«3¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "無効なS2Kモード。0か1か3でなければなりません\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
-msgstr "̵¸ú¤Ê´ûÄê¤ÎÁª¹¥\n"
+msgstr "無効なデフォルトの優先指定\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
-msgstr "̵¸ú¤Ê¸Ä¿ÍÍѰŹæË¡¤ÎÁª¹¥\n"
+msgstr "無効な個人用暗号方式の優先指定\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
-msgstr "̵¸ú¤Ê¸Ä¿ÍÍÑÍ×Ìó¤ÎÁª¹¥\n"
+msgstr "無効な個人用ダイジェストの優先指定\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
-msgstr "̵¸ú¤Ê¸Ä¿ÍÍÑ°µ½Ì¤ÎÁª¹¥\n"
+msgstr "無効な個人用圧縮の優先指定\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
-msgstr "%s¤Ï%s¤Çµ¡Ç½¤·¤Þ¤»¤ó\n"
+msgstr "%sは%sではまだ機能しません\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
-msgstr "°Å¹æ¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "暗号アルゴリズム「%s」を%sモードで使うことはできません\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
-msgstr "Í×Ì󥢥르¥ê¥º¥à¡Ö%s¡×¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "ダイジェスト・アルゴリズム「%s」を%sモードで使うことはできません\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
-msgstr "°µ½Ì¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "圧縮アルゴリズム「%s」を%sモードで使うことはできません\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î½é´ü²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用データベースの初期化に失敗しました: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
-msgstr "·Ù¹ð: ¸ø³«¸°°Å¹æ¤ò»È¤ï¤º¤Ë¡¢¼õ¼è¿Í (-r) ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹\n"
+msgstr "*警告*: 公開鍵暗号を使わずに、受取人 (-r) を指定しています\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
-msgstr "--store [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--store [ファイル名]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
-msgstr "--symmetric [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--symmetric [ファイル名]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
-msgstr "¡Ö%s¡×¤ÎÂоΰŹæ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "「%s」の共通鍵暗号に失敗しました: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
-msgstr "--encrypt [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--encrypt [ファイル名]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
-msgstr "--symmetric --encrypt [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--symmetric --encrypt [ファイル名]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
-msgstr "--symmetric --encrypt¤ò--s2k-mode 0¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--symmetric --encryptを--s2k-mode 0で使うことはできません\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
-msgstr "--symmetric --encrypt¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--symmetric --encryptを%sモードで使うことはできません\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
-msgstr "--sign [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--sign [ファイル名]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
-msgstr "--sign --encrypt [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--sign --encrypt [ファイル名]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
-msgstr "--symmetric --sign --encrypt [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--symmetric --sign --encrypt [ファイル名]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
-msgstr "--symmetric --sign --encrypt¤ò--s2k-mode 0¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--symmetric --sign --encryptを--s2k-mode 0で使うことはできません\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
-msgstr "--symmetric --sign --encrypt¤ò%s¥â¡¼¥É¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--symmetric --sign --encryptを%sモードで使うことはできません\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
-msgstr "--sign --symmetric [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--sign --symmetric [ファイル名]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
-msgstr "--clearsign [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--clearsign [ファイル名]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
-msgstr "--decrypt [¥Õ¥¡¥¤¥ë̾]"
+msgstr "--decrypt [ファイル名]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
-msgstr "--sign-key ¥æ¡¼¥¶¡¼id"
+msgstr "--sign-key ユーザid"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
-msgstr "--lsign-key ¥æ¡¼¥¶¡¼id"
+msgstr "--lsign-key ユーザid"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
-msgstr "--edit-key ¥æ¡¼¥¶¡¼id [¥³¥Þ¥ó¥É]"
+msgstr "--edit-key ユーザid [コマンド]"
 
-#: g10/gpg.c:3629
-#, fuzzy
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
-msgstr "--sign-key ¥æ¡¼¥¶¡¼id"
+msgstr "--passwd <ユーザid>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Ø¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵サーバへの送信に失敗しました: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤«¤é¤Î¼õ¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵サーバからの受信に失敗しました: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
-msgstr "¸°¤Î½ñ½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵のエクスポートに失敗しました: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Î¸¡º÷¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵サーバの検索に失敗しました: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Î²óÉü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵サーバの回復に失敗しました: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
-msgstr "ÊñÁõ½üµî¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "外装除去に失敗しました: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
-msgstr "ÊñÁõ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "外装に失敗しました: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "無効なハッシュ・アルゴリズム「%s」です\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
-msgstr "[¥Õ¥¡¥¤¥ë̾]"
+msgstr "[ファイル名]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
-msgstr "³«»Ï¤·¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤òÂǤäƤ¯¤À¤µ¤¤ ...\n"
+msgstr "開始します。メッセージを打ってください ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
-msgstr "¤¢¤¿¤¨¤é¤ì¤¿¾ÚÌÀ½ñ¥Ý¥ê¥·¡¼URL¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "あたえられた証明書ポリシURLは無効です\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
-msgstr "¤¢¤¿¤¨¤é¤ì¤¿½ð̾¥Ý¥ê¥·¡¼URL¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "あたえられた署名ポリシURLは無効です\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
-msgstr "»ØÄꤵ¤ì¤¿Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤Ï̵¸ú¤Ç¤¹\n"
+msgstr "指定された優先鍵サーバURLは無効です\n"
 
 #: g10/gpgv.c:74
-#, fuzzy
 msgid "|FILE|take the keys from the keyring FILE"
-msgstr "¤³¤Î¸°¤ò¸°Îؤ«¤éºï½ü¤·¤Þ¤¹"
+msgstr "|FILE|鍵リングFILEの鍵を扱います"
 
 #: g10/gpgv.c:76
 msgid "make timestamp conflicts only a warning"
-msgstr "Æü»þ¤ÎÌ·½â¤ò·Ù¹ð¤À¤±¤Ë¤·¤Þ¤¹"
+msgstr "日時の矛盾を警告だけにします"
 
 #: g10/gpgv.c:78 sm/gpgsm.c:326
 msgid "|FD|write status info to this FD"
-msgstr ""
-"|¥Õ¥¡¥¤¥ëµ­½Ò»Ò|¤³¤Î¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Ë¾õÂÖ¤ò\n"
-"½ñ¤­¹þ¤à"
+msgstr "|FD|このFDにステイタス情報を書き出す"
 
 #: g10/gpgv.c:117
 msgid "Usage: gpgv [options] [files] (-h for help)"
-msgstr "»È¤¤Êý: gpgv [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpgv [オプション] [ファイル] (ヘルプは -h)"
 
 #: g10/gpgv.c:119
-#, fuzzy
 msgid ""
 "Syntax: gpgv [options] [files]\n"
 "Check signatures against known trusted keys\n"
 msgstr ""
-"¹½Ê¸: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë]\n"
-"´ûÃΤο®ÍѤ·¤¿¸°¤Ç½ð̾¤ò¸¡ºº\n"
+"形式: gpgv [オプション] [ファイル]\n"
+"既知の信用した鍵で署名を検査\n"
 
 #: g10/helptext.c:72
 msgid "No help available"
-msgstr "¥Ø¥ë¥×¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "ヘルプはありません"
 
 #: g10/helptext.c:82
 #, c-format
 msgid "No help available for `%s'"
-msgstr "¡Ö%s¡×¤Î¥Ø¥ë¥×¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "「%s」のヘルプはありません"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
-msgstr ""
+msgstr "ローカルだけとマークされた署名をインポートします"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
-msgstr ""
+msgstr "インポート時にpksキーサーバからのダメージを修正します"
 
-#: g10/import.c:98
-#, fuzzy
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·"
+msgstr "インポートの際、信用データベースを更新しない"
 
-#: g10/import.c:100
-#, fuzzy
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
-msgstr "¸ø³«¸°¤ÈÈëÌ©¸°¤¬¾È¹ç¤·¤Þ¤»¤ó!\n"
+msgstr "秘密鍵をインポートしたときに公開鍵を作成します"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
-msgstr ""
+msgstr "既存の鍵に対する更新のみ認めます"
 
-#: g10/import.c:104
-#, fuzzy
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
-msgstr "»ÈÍѤǤ­¤Ê¤¤ÈëÌ©¸°¤Ç¤¹"
+msgstr "インポート後、利用できない部分を鍵から除去します"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
-msgstr ""
+msgstr "インポートの後、できるだけ除去します"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
-msgstr "·¿%d¤Î¥Ö¥í¥Ã¥¯¤ò¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "型%dのブロックをスキップします\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
-msgstr "%lu¸°¤Þ¤Ç½èÍý\n"
+msgstr "%lu鍵まで処理\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
-msgstr "    ½èÍý¿ô¤Î¹ç·×: %lu\n"
+msgstr "        処理数の合計: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
-msgstr "¤È¤Ð¤·¤¿¿·¤·¤¤¸°: %lu\n"
+msgstr "スキップした新しい鍵: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
-msgstr "  ¥æ¡¼¥¶¡¼ID¤Ê¤·: %lu\n"
+msgstr "        ユーザIDなし: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
-msgstr "          Æɹþ¤ß: %lu"
+msgstr "          インポート: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
-msgstr "        Êѹ¹¤Ê¤·: %lu\n"
+msgstr "            変更なし: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
-msgstr "¿·¤·¤¤¥æ¡¼¥¶¡¼ID: %lu\n"
+msgstr "      新しいユーザID: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
-msgstr "      ¿·¤·¤¤Éû¸°: %lu\n"
+msgstr "          新しい副鍵: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
-msgstr "      ¿·¤·¤¤½ð̾: %lu\n"
+msgstr "          新しい署名: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
-msgstr "  ¿·¤·¤¤¸°¤Î¼º¸ú: %lu\n"
+msgstr "      新しい鍵の失効: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
-msgstr "  ÈëÌ©¸°¤ÎÆɽФ·: %lu\n"
+msgstr "    秘密鍵の読み込み: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
-msgstr "  ÈëÌ©¸°¤ÎÆɹþ¤ß: %lu\n"
+msgstr "  秘密鍵のインポート: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
-msgstr "  ÌµÊѹ¹¤ÎÈëÌ©¸°: %lu\n"
+msgstr "      無変更の秘密鍵: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
-msgstr "        Ì¤Æɹþ¤ß: %lu\n"
+msgstr "        未インポート: %lu\n"
 
-#: g10/import.c:323
-#, fuzzy, c-format
+#: g10/import.c:334
+#, c-format
 msgid "    signatures cleaned: %lu\n"
-msgstr "¤³¤ì¤Þ¤Ç¤ËºîÀ®¤µ¤ì¤¿½ð̾: %lu\n"
+msgstr "      掃除された署名: %lu\n"
 
-#: g10/import.c:325
-#, fuzzy, c-format
+#: g10/import.c:336
+#, c-format
 msgid "      user IDs cleaned: %lu\n"
-msgstr "  ÈëÌ©¸°¤ÎÆɽФ·: %lu\n"
+msgstr "  掃除されたユーザID: %lu\n"
 
-#: g10/import.c:606
-#, fuzzy, c-format
+#: g10/import.c:638
+#, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
-msgstr "·Ù¹ð: ¸°%s¤Ë¤Ï¡¢»ÈÍÑÉԲĤȤ¤¤¦Áª¹¥¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr ""
+"*警告*: 鍵%sには、これらのユーザIDに対して使用不可のアルゴリズムの優先指定が"
+"あります\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
-msgstr "         \"%s\": °Å¹æ¥¢¥ë¥´¥ê¥º¥à¤ÎÁª¹¥ %s\n"
+msgstr "         \"%s\": 暗号アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
-msgstr "         \"%s\": Í×Ì󥢥르¥ê¥º¥à¤ÎÁª¹¥ %s\n"
+msgstr "         \"%s\": ダイジェスト・アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
-msgstr "         \"%s\": °µ½Ì¥¢¥ë¥´¥ê¥º¥à¤ÎÁª¹¥ %s\n"
+msgstr "         \"%s\": 圧縮アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
-msgstr "it is strongly suggested that you update your preferences and\n"
+msgstr "あなたの優先指定を更新し、この鍵を再配布することが強く推奨されます\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
-msgstr ""
-"ÀøºßŪ¤Ê¥¢¥ë¥´¥ê¥º¥àÉÔ°ìÃ×ÌäÂê¤òÈò¤±¤ë¤¿¤á¡¢¤³¤Î¸°¤òºÆÇÛÉÛ¤·¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "それによって、潜在的なアルゴリズム不一致の問題を避けられます\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
-msgstr "°Ê²¼¤Ç¡¢Áª¹¥¤¬¹¹¿·¤Ç¤­¤Þ¤¹: gpg --edit-key %s updpref save\n"
+msgstr "以下で、優先指定を更新できます: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
-msgstr "¸°%s: ¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: ユーザIDがありません\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, c-format
+msgid "key %s: %s\n"
+msgstr "鍵%s: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr "インポート・フィルタにより拒否されました"
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
-msgstr "¸°%s: PKS¤ÎÉû¸°ÊѤ¤ò½¤Éü\n"
+msgstr "鍵%s: PKSの副鍵変造を修復\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
-msgstr "¸°%s: ¼õÍý¤·¤¿Ì¤¼«¸Ê½ð̾¤Î¥æ¡¼¥¶¡¼ID¡È%s¡É\n"
+msgstr "鍵%s: 受理した未自己署名のユーザID\"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
-msgstr "¸°%s: Í­¸ú¤Ê¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 有効なユーザIDがありません\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
-msgstr "¼«¸Ê½ð̾¤Î¤Ê¤¤¤»¤¤¤Ç¤·¤ç¤¦\n"
+msgstr "これはおそらく自己署名のないせいでしょう\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
-msgstr "¸°%s: ¸ø³«¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "鍵%s: 公開鍵が見つかりません: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
-msgstr "¸°%s: ¿·¤·¤¤¸°¤Ç¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 新しい鍵です - スキップします\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
-msgstr "½ñ¹þ¤ß²Äǽ¤Ê¸°Îؤ¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "書き込み可能な鍵リングが見つかりません: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
-msgstr "¡Ö%s¡×¤Ø¤Î½ñ¹þ¤ß\n"
+msgstr "「%s」への書き込み\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\83ªã\83³ã\82°ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
-msgstr "¸°%s: ¸ø³«¸°¡È%s¡É¤òÆɤ߹þ¤ß¤Þ¤·¤¿\n"
+msgstr "鍵%s: 公開鍵\"%s\"をインポートしました\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
-msgstr "¸°%s: ¤³¤Á¤é¤ÎÊ£À½¤È¹ç¤¤¤Þ¤»¤ó\n"
+msgstr "鍵%s: こちらの複製と合いません\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
-msgstr "¸°%s: ¸µ¤Î¸°¥Ö¥í¥Ã¥¯¤Ë°ÌÃ֤Ť±¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "鍵%s: 元の鍵ブロックに位置づけできません: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
-msgstr "¸°%s: ¸µ¤Î¸°¥Ö¥í¥Ã¥¯¤òÆɤ߽Ф»¤Þ¤»¤ó: %s\n"
+msgstr "鍵%s: 元の鍵ブロックを読み込めません: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤¥æ¡¼¥¶¡¼ID¤ò1¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しいユーザIDを1個\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤¥æ¡¼¥¶¡¼ID¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しいユーザIDを%d個\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤½ð̾¤ò1¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しい署名を1個\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤½ð̾¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しい署名を%d個\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤Éû¸°¤ò1¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しい副鍵を1個\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤Éû¸°¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" 新しい副鍵を%d個\n"
 
-#: g10/import.c:980
-#, fuzzy, c-format
+#: g10/import.c:1019
+#, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤½ð̾¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" %d個の署名をきれいにしました\n"
 
-#: g10/import.c:983
-#, fuzzy, c-format
+#: g10/import.c:1022
+#, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤½ð̾¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" %d個の署名をきれいにしました\n"
 
-#: g10/import.c:986
-#, fuzzy, c-format
+#: g10/import.c:1025
+#, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤¥æ¡¼¥¶¡¼ID¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" %d個のユーザIDをきれいにしました\n"
 
-#: g10/import.c:989
-#, fuzzy, c-format
+#: g10/import.c:1028
+#, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
-msgstr "¸°%s:¡È%s¡É¿·¤·¤¤¥æ¡¼¥¶¡¼ID¤ò%d¸Ä\n"
+msgstr "鍵%s: \"%s\" %d個のユーザIDをきれいにしました\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
-msgstr "¸°%s:¡È%s¡ÉÊѹ¹¤Ê¤·\n"
+msgstr "鍵%s:\"%s\"変更なし\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "¸°%s: Ìµ¸ú¤Ê°Å¹æË¡%d¤ÎÈëÌ©¸°¤Ç¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgid "secret key %s: %s\n"
+msgstr "秘密鍵 %s: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
-msgstr "ÈëÌ©¸°¤ÎÆɹþ¤ß¤Ï¶Ø»ß¤Ç¤¹\n"
+msgstr "秘密鍵のインポートは禁止です\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "鍵%s: 無効な暗号方式%dの秘密鍵です - スキップします\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
-msgstr "´ûÄê¤ÎÈëÌ©¸°Îؤ¬¤¢¤ê¤Þ¤»¤ó: %s\n"
+msgstr "デフォルトの秘密鍵リングがありません: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
-msgstr "¸°%s: ÈëÌ©¸°¤òÆɤ߹þ¤ß¤Þ¤·¤¿\n"
+msgstr "鍵%s: 秘密鍵をインポートしました\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
-msgstr "¸°%s: ¤â¤¦ÈëÌ©¸°Îؤˤ¢¤ê¤Þ¤¹\n"
+msgstr "鍵%s: 既に秘密鍵リングにあります\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
-msgstr "¸°%s: ÈëÌ©¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "鍵%s: 秘密鍵が見つかりません: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
-msgstr "¸°%s: ¸ø³«¸°¤¬¤¢¤ê¤Þ¤»¤ó - ¼º¸ú¾ÚÌÀ½ñ¤òŬÍѤǤ­¤Þ¤»¤ó\n"
+msgstr "鍵%s: 公開鍵がありません - 失効証明書を適用できません\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
-msgstr "¸°%s: Ìµ¸ú¤Ê¼º¸ú¾ÚÌÀ½ñ: %s - µñÈÝ\n"
+msgstr "鍵%s: 無効な失効証明書: %s - 拒否\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
-msgstr "¸°%s:¡È%s¡É¼º¸ú¾ÚÌÀ½ñ¤òÆɤ߹þ¤ß¤Þ¤·¤¿\n"
+msgstr "鍵%s:\"%s\"失効証明書をインポートしました\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
-msgstr "¸°%s: ½ð̾¤ËÂбþ¤¹¤ë¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 署名に対応するユーザIDがありません\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
-msgstr "¸°%s: ¥æ¡¼¥¶¡¼ID¡È%s¡É¤Î¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¸ø³«¸°¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹\n"
+msgstr "鍵%s: ユーザID\"%s\"のサポートしていない公開鍵アルゴリズムです\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
-msgstr "¸°%s: ¥æ¡¼¥¶¡¼ID¡È%s¡É¤Î¼«¸Ê½ð̾¤¬¡¢Ìµ¸ú¤Ç¤¹\n"
+msgstr "鍵%s: ユーザID\"%s\"の自己署名が、無効です\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
-msgstr "¸°%s: ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¸ø³«¸°¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹\n"
+msgstr "鍵%s: サポートしていない公開鍵アルゴリズムです\n"
 
-#: g10/import.c:1484
-#, fuzzy, c-format
+#: g10/import.c:1537
+#, c-format
 msgid "key %s: invalid direct key signature\n"
-msgstr "¸°%s: Ä¾Àܸ°½ð̾¤òÄɲÃ\n"
+msgstr "鍵%s: 無効な直接鍵署名\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
-msgstr "¸°%s: ¸°¤ËÂбþ¤¹¤ëÉû¸°¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 鍵に対応する副鍵がありません\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
-msgstr "¸°%s: Ìµ¸ú¤ÊÉû¸°¤ÎÂбþ¤Ç¤¹\n"
+msgstr "鍵%s: 無効な副鍵の対応です\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
-msgstr "¸°%s: Â¿½ÅÉû¸°¤ÎÂбþ¤òºï½ü¤·¤Þ¤¹\n"
+msgstr "鍵%s: 多重副鍵の対応を削除します\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
-msgstr "¸°%s: ¸°¼º¸ú¤Ë¤¿¤¤¤¹¤ëÉû¸°¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 鍵失効に対する副鍵がありません\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
-msgstr "¸°%s: Ìµ¸ú¤ÊÉû¸°¼º¸ú¤Ç¤¹\n"
+msgstr "鍵%s: 無効な副鍵失効です\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
-msgstr "¸°%s: Ìµ¸ú¤ÊÉû¸°¤Î¿½Å¼º¸ú¤òºï½ü¤·¤Þ¤¹\n"
+msgstr "鍵%s: 無効な副鍵の多重失効を削除します\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
-msgstr "¸°%s: ¤È¤Ð¤·¤¿¥æ¡¼¥¶¡¼ID¡È%s¡É\n"
+msgstr "鍵%s: スキップしたユーザID\"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
-msgstr "¸°%s: ¤È¤Ð¤·¤¿Éû¸°\n"
+msgstr "鍵%s: スキップした副鍵\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
-msgstr "¸°%s: ½ñ½Ð¤·ÉԲĤʽð̾ (¥¯¥é¥¹%02X) - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: エクスポート不可な署名 (クラス0x%02X) - スキップします\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
-msgstr "¸°%s: ¼º¸ú¾ÚÌÀ½ñ¤¬¸í¤Ã¤ÆÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 失効証明書が誤って設定されています - スキップします\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
-msgstr "¸°%s: Ìµ¸ú¤Ê¼º¸ú¾ÚÌÀ½ñ: %s - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 無効な失効証明書: %s - スキップします\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
-msgstr "¸°%s: Éû¸°½ð̾¤Î¾ì½ê¤¬¡¢¸í¤Ã¤Æ¤¤¤Þ¤¹ - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 副鍵署名の場所が、誤っています - スキップします\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
-msgstr "¸°%s: Í½´ü¤»¤Ì½ð̾¥¯¥é¥¹ (0x%02X) - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 予期せぬ署名クラス (0x%02X) - スキップします\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
-msgstr "¸°%s: ½ÅÊ£¤·¤¿¥æ¡¼¥¶¡¼ID¤Î¸¡½Ð - Ê»¹ç\n"
+msgstr "鍵%s: 重複したユーザIDの検出 - マージ\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
-msgstr "·Ù¹ð: ¸°%s¤Ï¼º¸ú¤µ¤ì¤¿¤è¤¦¤Ç¤¹: ¼º¸ú¸°%s¤Î°ú¤­½Ð¤·\n"
+msgstr "*警告*: 鍵%sは失効可能です: 失効鍵%sを取ってきます\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
-msgstr "·Ù¹ð: ¸°%s¤Ï¼º¸ú¤µ¤ì¤¿¤è¤¦¤Ç¤¹: ¼º¸ú¸°%s¤ÏÉԺߡ£\n"
+msgstr "*警告*: 鍵%sは失効可能です: 失効鍵%sが存在しません。\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
-msgstr "¸°%s:¡È%s¡É¼º¸ú¾ÚÌÀ½ñ¤ÎÄɲÃ\n"
+msgstr "鍵%s:\"%s\"失効証明書の追加\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
-msgstr "¸°%s: Ä¾Àܸ°½ð̾¤òÄɲÃ\n"
+msgstr "鍵%s: 直接鍵署名を追加\n"
 
-#: g10/import.c:2414
-#, fuzzy
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
-msgstr "¸ø³«¸°¤ÈÈëÌ©¸°¤¬¾È¹ç¤·¤Þ¤»¤ó!\n"
+msgstr "*注意*: 鍵のシリアル番号がカードのものと一致しません\n"
 
-#: g10/import.c:2422
-#, fuzzy
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
-msgstr "ÈëÌ©¸°¤Ï¤â¤¦¥«¡¼¥É¤ËÊݴɤ·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "*注意*: 主鍵はもうカードに保管してあります\n"
 
-#: g10/import.c:2424
-#, fuzzy
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
-msgstr "ÈëÌ©¸°¤Ï¤â¤¦¥«¡¼¥É¤ËÊݴɤ·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "*注意*: 二次鍵はもうカードに保管してあります\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\83ªã\83³ã\82°ã\80\8c%sã\80\8dã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "鍵リング「%s」ができました\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
-#, fuzzy, c-format
+#: g10/keydb.c:348 g10/keydb.c:351
+#, c-format
 msgid "keyblock resource `%s': %s\n"
-msgstr "¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "keyblock リソース「%s」: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
-msgstr "¸°ÎØ¥­¥ã¥Ã¥·¥å¤ÎºÆ¹½Ãۤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵リング・キャッシュの再構築に失敗しました: %s\n"
 
 #: g10/keyedit.c:265
 msgid "[revocation]"
-msgstr "[¼º¸ú]"
+msgstr "[失効]"
 
 #: g10/keyedit.c:266
 msgid "[self-signature]"
-msgstr "[¼«¸Ê½ð̾]"
+msgstr "[自己署名]"
 
 #: g10/keyedit.c:344 g10/keylist.c:398
 msgid "1 bad signature\n"
-msgstr "ÉÔÀµ¤Ê½ð̾1¸Ä\n"
+msgstr "不正な署名1個\n"
 
 #: g10/keyedit.c:346 g10/keylist.c:400
 #, c-format
 msgid "%d bad signatures\n"
-msgstr "ÉÔÀµ¤Ê½ð̾%d¸Ä\n"
+msgstr "不正な署名%d個\n"
 
 #: g10/keyedit.c:348 g10/keylist.c:402
 msgid "1 signature not checked due to a missing key\n"
-msgstr "¸°¤¬¤Ê¤¤¤¿¤á1¸Ä¤Î½ð̾¤ò¸¡ºº¤·¤Þ¤»¤ó\n"
+msgstr "鍵がないため1個の署名を検査しません\n"
 
 #: g10/keyedit.c:350 g10/keylist.c:404
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
-msgstr "¸°¤¬¤Ê¤¤¤¿¤á%d¸Ä¤Î½ð̾¤ò¸¡ºº¤·¤Þ¤»¤ó\n"
+msgstr "鍵がないため%d個の署名を検査しません\n"
 
 #: g10/keyedit.c:352 g10/keylist.c:406
 msgid "1 signature not checked due to an error\n"
-msgstr "¥¨¥é¡¼¤Î¤¿¤á1¸Ä¤Î½ð̾¤ò¸¡ºº¤·¤Þ¤»¤ó\n"
+msgstr "エラーのため1個の署名を検査しません\n"
 
 #: g10/keyedit.c:354 g10/keylist.c:408
 #, c-format
 msgid "%d signatures not checked due to errors\n"
-msgstr "¥¨¥é¡¼¤Î¤¿¤á%d¸Ä¤Î½ð̾¤ò¸¡ºº¤·¤Þ¤»¤ó\n"
+msgstr "エラーのため%d個の署名を検査しません\n"
 
 #: g10/keyedit.c:356
 msgid "1 user ID without valid self-signature detected\n"
-msgstr "Í­¸ú¤Ê¼«¸Ê½ð̾¤Î¤Ê¤¤¥æ¡¼¥¶¡¼ID¤ò1¸Ä¸¡½Ð\n"
+msgstr "有効な自己署名のないユーザIDを1個検出\n"
 
 #: g10/keyedit.c:358
 #, c-format
 msgid "%d user IDs without valid self-signatures detected\n"
-msgstr "Í­¸ú¤Ê¼«¸Ê½ð̾¤Î¤Ê¤¤¥æ¡¼¥¶¡¼ID¤ò%d¸Ä¸¡½Ð\n"
+msgstr "有効な自己署名のないユーザIDを%d個検出\n"
 
 #: g10/keyedit.c:414 g10/pkclist.c:262
 msgid ""
@@ -3305,19 +3251,19 @@ msgid ""
 "(by looking at passports, checking fingerprints from different sources, "
 "etc.)\n"
 msgstr ""
-"¾¤Î¥æ¡¼¥¶¡¼¤Î¸°¤òÀµ¤·¤¯¸¡¾Ú¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Î¥æ¡¼¥¶¡¼¤Î¿®ÍÑÅÙ¤ò·è¤á¤Æ¤¯¤À¤µ"
-"¤¤\n"
-"(¥Ñ¥¹¥Ý¡¼¥È¤ò¸«¤»¤Æ¤â¤é¤Ã¤¿¤ê¡¢Â¾¤«¤éÆÀ¤¿»ØÌæ¤ò¸¡ºº¤·¤¿¤ê¡¢¤Ê¤É¤Ê¤É)\n"
+"他のユーザの鍵を正しく検証するために、このユーザの信用度を決めてください\n"
+"(パスポートを見せてもらったり、他から得たフィンガー・プリントを検査したり、な"
+"どなど)\n"
 
 #: g10/keyedit.c:418 g10/pkclist.c:274
 #, c-format
 msgid "  %d = I trust marginally\n"
-msgstr "  %d = ¤¢¤ëÄøÅÙ¿®ÍѤ¹¤ë\n"
+msgstr "  %d = まぁまぁ信用する\n"
 
 #: g10/keyedit.c:419 g10/pkclist.c:276
 #, c-format
 msgid "  %d = I trust fully\n"
-msgstr "  %d = ´°Á´¤Ë¿®ÍѤ¹¤ë\n"
+msgstr "  %d = 充分に信用する\n"
 
 #: g10/keyedit.c:438
 msgid ""
@@ -3325,47 +3271,46 @@ msgid ""
 "A depth greater than 1 allows the key you are signing to make\n"
 "trust signatures on your behalf.\n"
 msgstr ""
-"¿®Íѽð̾¤Î¿¼¤µ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£\n"
-"¿¼¤µ¤¬1¤è¤êÂ礭¤¤¤È¡¢½ð̾¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¸°¤Ç¿®Íѽð̾¤òºî¤ì¤Þ¤¹¡£\n"
+"信用署名の深さを入力してください。\n"
+"深さが1より大きいと、署名しようとしている鍵で信用署名を作れます。\n"
 
 #: g10/keyedit.c:454
 msgid "Please enter a domain to restrict this signature, or enter for none.\n"
-msgstr "½ð̾¤òÀ©¸Â¤¹¤ë¥É¥á¡¼¥ó¤«¡¢¤½¤ì¤Î¤Ê¤¤¾ì¹ç¤Ïenter¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "署名を制限するドメインを入力するか、空行を入力してください。\n"
 
 #: g10/keyedit.c:598
 #, c-format
 msgid "User ID \"%s\" is revoked."
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£"
+msgstr "ユーザID\"%s\"は、失効されています。"
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
-msgstr "¤½¤ì¤Ç¤â¤³¤Î¸°¤Ë½ð̾¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "それでもこの鍵に署名したいですか? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
-msgstr "  ½ð̾ÉÔǽ¡£\n"
+msgstr "  署名不能。\n"
 
 #: g10/keyedit.c:626
 #, c-format
 msgid "User ID \"%s\" is expired."
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢Ëþλ¤Ç¤¹¡£"
+msgstr "ユーザID \"%s\"は、期限切れです。"
 
 #: g10/keyedit.c:654
 #, c-format
 msgid "User ID \"%s\" is not self-signed."
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼«¸Ê½ð̾¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
+msgstr "ユーザID \"%s\"は、自己署名されていません。"
 
 #: g10/keyedit.c:682
-#, fuzzy, c-format
+#, c-format
 msgid "User ID \"%s\" is signable.  "
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼«¸Ê½ð̾¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
+msgstr "ユーザID \"%s\"は署名可能です。 "
 
 #: g10/keyedit.c:684
-#, fuzzy
 msgid "Sign it? (y/N) "
-msgstr "ËÜÅö¤Ë½ð̾¤·¤Þ¤¹¤«? (y/N) "
+msgstr "署名しますか? (y/N) "
 
 #: g10/keyedit.c:706
 #, c-format
@@ -3373,12 +3318,12 @@ msgid ""
 "The self-signature on \"%s\"\n"
 "is a PGP 2.x-style signature.\n"
 msgstr ""
-"¡È%s¡É¤Ë¤¿¤¤¤¹¤ë¼«¸Ê½ð̾¤Ï¡¢\n"
-"PGP 2.x·Á¼°¤Î½ð̾¤Ç¤¹¡£\n"
+"\"%s\"にたいする自己署名は、\n"
+"PGP 2.x形式の署名です。\n"
 
 #: g10/keyedit.c:715
 msgid "Do you want to promote it to an OpenPGP self-signature? (y/N) "
-msgstr "OpenPGP¤Î¼«¸Ê½ð̾¤Ë³Ê¾å¤²¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "OpenPGPの自己署名に格上げしたいですか? (y/N) "
 
 #: g10/keyedit.c:729
 #, c-format
@@ -3386,12 +3331,12 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "has expired.\n"
 msgstr ""
-"¡È%s¡É¤Ë¤¿¤¤¤¹¤ë¤¢¤Ê¤¿¤Îº£¤Î½ð̾\n"
-"¤ÏËþλ¤Ç¤¹¡£\n"
+"\"%s\"に対するあなたの今の署名\n"
+"は期限切れです。\n"
 
 #: g10/keyedit.c:733
 msgid "Do you want to issue a new signature to replace the expired one? (y/N) "
-msgstr "¿·¤·¤¤½ð̾¤òȯ¹Ô¤·¡¢´ü¸ÂÀÚ¤ì½ð̾¤È¸ò´¹¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "新しい署名を発行し、期限切れ署名と置き換えたいですか? (y/N) "
 
 #: g10/keyedit.c:754
 #, c-format
@@ -3399,54 +3344,54 @@ msgid ""
 "Your current signature on \"%s\"\n"
 "is a local signature.\n"
 msgstr ""
-"¡È%s¡É¤Ë¤¿¤¤¤¹¤ë¤¢¤Ê¤¿¤Îº£¤Î½ð̾\n"
-"¤ÏÆâÉô½ð̾¤Ç¤¹¡£\n"
+"\"%s\"にたいするあなたの今の署名\n"
+"は内部署名です。\n"
 
 #: g10/keyedit.c:758
 msgid "Do you want to promote it to a full exportable signature? (y/N) "
-msgstr "½ñ½Ð¤·²Äǽ¤Ê½ð̾¤Ë³Ê¾å¤²¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "エクスポート可能な署名に格上げしたいですか? (y/N) "
 
 #: g10/keyedit.c:779
 #, c-format
 msgid "\"%s\" was already locally signed by key %s\n"
-msgstr "¡È%s¡É¤Ï¸°%s¤Ç¤â¤¦ÆâÉô½ð̾¤·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "\"%s\"は鍵%sでもう内部署名してあります\n"
 
 #: g10/keyedit.c:782
 #, c-format
 msgid "\"%s\" was already signed by key %s\n"
-msgstr "¡È%s¡É¤Ï¸°%s¤Ç¤â¤¦½ð̾¤·¤Æ¤¢¤ê¤Þ¤¹\n"
+msgstr "\"%s\"は鍵%sでもう署名してあります\n"
 
 #: g10/keyedit.c:787
 msgid "Do you want to sign it again anyway? (y/N) "
-msgstr "¤½¤ì¤Ç¤âºÆ½ð̾¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "それでも再署名したいですか? (y/N) "
 
 #: g10/keyedit.c:809
 #, c-format
 msgid "Nothing to sign with key %s\n"
-msgstr "¸°%s¤Ç½ð̾¤¹¤Ù¤­¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%sで署名すべきものはありません\n"
 
 #: g10/keyedit.c:824
 msgid "This key has expired!"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "この鍵は期限切れです!"
 
 #: g10/keyedit.c:842
 #, c-format
 msgid "This key is due to expire on %s.\n"
-msgstr "¤³¤Î¸°¤Ï%s¤ÇËþλ¤·¤Þ¤¹¡£\n"
+msgstr "この鍵は%sで期限が切れます。\n"
 
 #: g10/keyedit.c:848
 msgid "Do you want your signature to expire at the same time? (Y/n) "
-msgstr "Ʊ»þ¤Ë½ð̾¤âËþλ¤Ë¤·¤¿¤¤¤Ç¤¹¤«? (Y/n) "
+msgstr "同時に署名も期限切れとしたいですか? (Y/n) "
 
 #: g10/keyedit.c:888
 msgid ""
 "You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 "
 "mode.\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤ÏPGP 2.x¸°¤ÇOpenPGP½ð̾¤¬¤Ç¤­¤Þ¤»¤ó¡£\n"
+msgstr "--pgp2モードではPGP 2.x鍵でOpenPGP署名ができません。\n"
 
 #: g10/keyedit.c:890
 msgid "This would make the key unusable in PGP 2.x.\n"
-msgstr "¤³¤Î¸°¤ÏPGP 2.x¤Ç»ÈÍѤǤ­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\n"
+msgstr "この鍵はPGP 2.xで使用できなくなります。\n"
 
 #: g10/keyedit.c:915
 msgid ""
@@ -3454,33 +3399,32 @@ msgid ""
 "belongs\n"
 "to the person named above?  If you don't know what to answer, enter \"0\".\n"
 msgstr ""
-"½ð̾¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¸°¤¬¼ÂºÝ¤Ë¾åµ­¤Î̾Á°¤Î¿Í¤Î¤â¤Î¤«¤É¤¦¤«¡¢¤É¤ÎÄøÅÙ\n"
-"Ãí°Õ¤·¤Æ¸¡¾Ú¤·¤Þ¤·¤¿¤«? Åú¤¬¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢¡È0¡É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£\n"
+"署名しようとしている鍵が実際に上記の名前の人のものかどうか、どの程度\n"
+"注意して検証しましたか? 答がわからなければ、\"0\"を入力してください。\n"
 
 #: g10/keyedit.c:920
 #, c-format
 msgid "   (0) I will not answer.%s\n"
-msgstr "   (0) Åú¤¨¤Þ¤»¤ó¡£%s\n"
+msgstr "   (0) 答えません。%s\n"
 
 #: g10/keyedit.c:922
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
-msgstr "   (1) Á´Á³¡¢¸¡ºº¤·¤Æ¤¤¤Þ¤»¤ó¡£%s\n"
+msgstr "   (1) 全然、検査していません。%s\n"
 
 #: g10/keyedit.c:924
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
-msgstr "   (2) °ì±þ¡¢¸¡ºº¤·¤Þ¤·¤¿¡£%s\n"
+msgstr "   (2) 一応、検査しました。%s\n"
 
 #: g10/keyedit.c:926
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
-msgstr "   (3) ¤«¤Ê¤êÃí°Õ¤·¤Æ¸¡ºº¤·¤Þ¤·¤¿¡£%s\n"
+msgstr "   (3) かなり注意して検査しました。%s\n"
 
 #: g10/keyedit.c:932
-#, fuzzy
 msgid "Your selection? (enter `?' for more information): "
-msgstr "ÁªÂò¤Ï? (¾ÜºÙ¤Ï '?' ¤Ç): "
+msgstr "選択は? (詳細は '?' で): "
 
 #: g10/keyedit.c:956
 #, c-format
@@ -3488,899 +3432,872 @@ msgid ""
 "Are you sure that you want to sign this key with your\n"
 "key \"%s\" (%s)\n"
 msgstr ""
-"ËÜÅö¤Ë¤³¤Î¸°¤Ë¤¢¤Ê¤¿¤Î¸°¡È%s¡É¤Ç½ð̾¤·¤Æ¤è¤¤¤Ç¤¹¤«\n"
+"本当にこの鍵にあなたの鍵\"%s\"で署名してよいですか\n"
 "(%s)\n"
 
 #: g10/keyedit.c:963
 msgid "This will be a self-signature.\n"
-msgstr "¼«¸Ê½ð̾¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£\n"
+msgstr "自己署名になるでしょう。\n"
 
 #: g10/keyedit.c:969
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
-msgstr "·Ù¹ð: ½ð̾¤Ï¡¢½ñ½Ð¤·ÉԲĤËÀßÄꤵ¤ì¤Þ¤»¤ó¡£\n"
+msgstr "*警告*: 署名は、エクスポート不可に設定されません。\n"
 
 #: g10/keyedit.c:977
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
-msgstr "·Ù¹ð: ½ð̾¤Ï¡¢¼º¸úÉԲĤËÀßÄꤵ¤ì¤Þ¤»¤ó¡£\n"
+msgstr "*警告*: 署名は、失効不可に設定されません。\n"
 
 #: g10/keyedit.c:987
 msgid "The signature will be marked as non-exportable.\n"
-msgstr "½ð̾¤Ï¡¢½ñ½Ð¤·ÉԲĤËÀßÄꤵ¤ì¤Þ¤¹¡£\n"
+msgstr "署名は、エクスポート不可に設定されます。\n"
 
 #: g10/keyedit.c:994
 msgid "The signature will be marked as non-revocable.\n"
-msgstr "½ð̾¤Ï¡¢¼º¸úÉԲĤËÀßÄꤵ¤ì¤Þ¤¹¡£\n"
+msgstr "署名は、失効不可に設定されます。\n"
 
 #: g10/keyedit.c:1001
 msgid "I have not checked this key at all.\n"
-msgstr "¤³¤Î¸°¤ÏÁ´Á³¡¢¸¡ºº¤·¤Æ¤¤¤Þ¤»¤ó¡£\n"
+msgstr "この鍵は全然、検査していません。\n"
 
 #: g10/keyedit.c:1006
 msgid "I have checked this key casually.\n"
-msgstr "¤³¤Î¸°¤Ï°ì±þ¡¢¸¡ºº¤·¤Þ¤·¤¿¡£\n"
+msgstr "この鍵は一応、検査しました。\n"
 
 #: g10/keyedit.c:1011
 msgid "I have checked this key very carefully.\n"
-msgstr "¤³¤Î¸°¤Ï¡¢¤«¤Ê¤êÃí°Õ¤·¤Æ¸¡ºº¤·¤Þ¤·¤¿¡£\n"
+msgstr "この鍵は、かなり注意して検査しました。\n"
 
 #: g10/keyedit.c:1021
 msgid "Really sign? (y/N) "
-msgstr "ËÜÅö¤Ë½ð̾¤·¤Þ¤¹¤«? (y/N) "
+msgstr "本当に署名しますか? (y/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
-msgstr "½ð̾¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "署名に失敗しました: %s\n"
 
 #: g10/keyedit.c:1131
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
+"鍵にはスタブあるいはカード上の項目しかありません - パスフレーズは変更されませ"
+"ん。\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
-msgstr "¤³¤Î¸°¤ÏÊݸ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
+msgstr "この鍵は保護されていません。\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
-msgstr "¼ç¸°¤ÎÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¡£\n"
+msgstr "主鍵の秘密部分が得られません。\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
-#, fuzzy
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
-msgstr "¼ç¸°¤ÎÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¡£\n"
+msgstr "主鍵の秘密部分は科議場に保存されています。\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
-msgstr "¸°¤ÏÊݸ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+msgstr "鍵は保護されています。\n"
 
 #: g10/keyedit.c:1186
 #, c-format
 msgid "Can't edit this key: %s\n"
-msgstr "¤³¤Î¸°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "この鍵は編集できません: %s\n"
 
 #: g10/keyedit.c:1192
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
 msgstr ""
-"¤³¤ÎÈëÌ©¸°¤Î¿·¤·¤¤¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£\n"
+"この秘密鍵の新しいパスフレーズを入力してください。\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ò¤Á¤ã¤ó¤È·«¤êÊÖ¤·¤Æ¤¤¤Þ¤»¤ó¡£ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "パスフレーズをちゃんと繰り返していません。再入力してください"
 
 #: g10/keyedit.c:1212
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
 msgstr ""
-"¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬ÉÔɬÍפʤ褦¤Ç¤¹¤¬¡¢\n"
-"¤ª¤½¤é¤¯¤½¤ì¤Ï¡ö¤í¤¯¤Ç¤â¤Ê¤¤¡ö¹Í¤¨¤Ç¤¹!\n"
+"パスフレーズが不必要なようですが、\n"
+"おそらくそれは良くない考えです!\n"
 "\n"
 
 #: g10/keyedit.c:1215
 msgid "Do you really want to do this? (y/N) "
-msgstr "ËÜÅö¤Ë¼Â¹Ô¤·¤Þ¤¹¤«? (y/N) "
+msgstr "本当に実行しますか? (y/N) "
 
 #: g10/keyedit.c:1298
 msgid "moving a key signature to the correct place\n"
-msgstr "¸°¤Î½ð̾¤òÀµ¤·¤¤¾ì½ê¤Ë°ÜÆ°¤·¤Þ¤¹\n"
+msgstr "鍵の署名を正しい場所に移動します\n"
 
 #: g10/keyedit.c:1384
 msgid "save and quit"
-msgstr "Êݸ¤·¤Æ½ªÎ»"
+msgstr "保存して終了"
 
 #: g10/keyedit.c:1387
-#, fuzzy
 msgid "show key fingerprint"
-msgstr "»ØÌæ¤òɽ¼¨"
+msgstr "鍵のフィンガー・プリントを表示"
 
 #: g10/keyedit.c:1388
 msgid "list key and user IDs"
-msgstr "¸°¤È¥æ¡¼¥¶¡¼ID¤Î°ìÍ÷"
+msgstr "鍵とユーザIDの一覧"
 
 #: g10/keyedit.c:1390
 msgid "select user ID N"
-msgstr "¥æ¡¼¥¶¡¼ID N¤ÎÁªÂò"
+msgstr "ユーザID Nの選択"
 
 #: g10/keyedit.c:1391
-#, fuzzy
 msgid "select subkey N"
-msgstr "¥æ¡¼¥¶¡¼ID N¤ÎÁªÂò"
+msgstr "subkey Nの選択"
 
 #: g10/keyedit.c:1392
-#, fuzzy
 msgid "check signatures"
-msgstr "½ð̾¤Î¼º¸ú"
+msgstr "署名の確認"
 
 #: g10/keyedit.c:1397
 msgid "sign selected user IDs [* see below for related commands]"
-msgstr ""
+msgstr "選択したユーザIDに署名する [* 以下の関連コマンドを参照 ]"
 
 #: g10/keyedit.c:1402
-#, fuzzy
 msgid "sign selected user IDs locally"
-msgstr "¸°¤ØÆâÉôŪ¤Ë½ð̾"
+msgstr "選択したユーザIDにローカルに署名"
 
 #: g10/keyedit.c:1404
-#, fuzzy
 msgid "sign selected user IDs with a trust signature"
-msgstr "¥³¥Ä: ¤Þ¤º½ð̾¤¹¤ë¥æ¡¼¥¶¡¼ID¤òÁªÂò¤·¤Þ¤¹\n"
+msgstr "選択したユーザIDに信用署名を署名する"
 
 #: g10/keyedit.c:1406
 msgid "sign selected user IDs with a non-revocable signature"
-msgstr ""
+msgstr "選択したユーザIDに失効不可の署名をする"
 
 #: g10/keyedit.c:1410
 msgid "add a user ID"
-msgstr "¥æ¡¼¥¶¡¼ID¤ÎÄɲÃ"
+msgstr "ユーザIDの追加"
 
 #: g10/keyedit.c:1412
 msgid "add a photo ID"
-msgstr "¥Õ¥©¥ÈID¤ÎÄɲÃ"
+msgstr "フォトIDの追加"
 
 #: g10/keyedit.c:1414
-#, fuzzy
 msgid "delete selected user IDs"
-msgstr "¥æ¡¼¥¶¡¼ID¤Îºï½ü"
+msgstr "選択したユーザIDの削除"
 
 #: g10/keyedit.c:1419
-#, fuzzy
 msgid "add a subkey"
-msgstr "addkey"
+msgstr "副鍵を追加"
 
 #: g10/keyedit.c:1423
 msgid "add a key to a smartcard"
-msgstr "¥¹¥Þ¡¼¥È¥«¡¼¥É¤Ø¸°¤ÎÄɲÃ"
+msgstr "ICカードへ鍵の追加"
 
 #: g10/keyedit.c:1425
 msgid "move a key to a smartcard"
-msgstr "¥¹¥Þ¡¼¥È¥«¡¼¥É¤Î¸°¤Ø¤Î°ÜÆ°"
+msgstr "鍵をICカードへ移動"
 
 #: g10/keyedit.c:1427
-#, fuzzy
 msgid "move a backup key to a smartcard"
-msgstr "¥¹¥Þ¡¼¥È¥«¡¼¥É¤Î¸°¤Ø¤Î°ÜÆ°"
+msgstr "バックアップ鍵をICカードへ移動"
 
 #: g10/keyedit.c:1431
-#, fuzzy
 msgid "delete selected subkeys"
-msgstr "Éû¸°¤Îºï½ü"
+msgstr "選択した副鍵の削除"
 
 #: g10/keyedit.c:1433
 msgid "add a revocation key"
-msgstr "¼º¸ú¸°¤ÎÄɲÃ"
+msgstr "失効鍵の追加"
 
 #: g10/keyedit.c:1435
-#, fuzzy
 msgid "delete signatures from the selected user IDs"
-msgstr "ÁªÂò¤·¤¿¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択したユーザIDから署名を削除する"
 
 #: g10/keyedit.c:1437
-#, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
-msgstr "v3¸°¤ÎÍ­¸ú´ü¸Â¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "鍵または選択した副鍵の有効期限を変更する"
 
 #: g10/keyedit.c:1439
-#, fuzzy
 msgid "flag the selected user ID as primary"
-msgstr "¥æ¡¼¥¶¡¼ID¤ò¼ç¤Ë¤¹¤ë"
+msgstr "選択したユーザIDを主にする"
 
 #: g10/keyedit.c:1441
-#, fuzzy
 msgid "toggle between the secret and public key listings"
-msgstr "ÈëÌ©¸°¤È¸ø³«¸°¤Î°ìÍ÷¤Îȿž"
+msgstr "秘密鍵と公開鍵の一覧の反転"
 
 #: g10/keyedit.c:1444
 msgid "list preferences (expert)"
-msgstr "Áª¹¥¤Î°ìÍ÷ (¥¨¥­¥¹¥Ñ¡¼¥È)"
+msgstr "優先指定の一覧 (エキスパート)"
 
 #: g10/keyedit.c:1446
 msgid "list preferences (verbose)"
-msgstr "Áª¹¥¤Î°ìÍ÷ (¾éĹ)"
+msgstr "優先指定の一覧 (冗長)"
 
 #: g10/keyedit.c:1448
-#, fuzzy
 msgid "set preference list for the selected user IDs"
-msgstr "ÁªÂò¤·¤¿¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択したユーザIDに優先指定リストを設定"
 
 #: g10/keyedit.c:1453
-#, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
-msgstr "Áª¹¥¸°¥µ¡¼¥Ð¡¼¤ÎURI¤òÀßÄê"
+msgstr "選択したユーザIDに優先鍵サーバのURIを設定"
 
 #: g10/keyedit.c:1455
-#, fuzzy
 msgid "set a notation for the selected user IDs"
-msgstr "ÁªÂò¤·¤¿¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択したユーザIDに注釈を設定する"
 
 #: g10/keyedit.c:1457
 msgid "change the passphrase"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊѹ¹"
+msgstr "パスフレーズの変更"
 
 #: g10/keyedit.c:1461
 msgid "change the ownertrust"
-msgstr "½êÍ­¼Ô¿®ÍѤÎÊѹ¹"
+msgstr "所有者信用の変更"
 
 #: g10/keyedit.c:1463
-#, fuzzy
 msgid "revoke signatures on the selected user IDs"
-msgstr "ÁªÂò¤·¤¿Á´¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択したユーザIDの署名を失効"
 
 #: g10/keyedit.c:1465
-#, fuzzy
 msgid "revoke selected user IDs"
-msgstr "¥æ¡¼¥¶¡¼ID¤Î¼º¸ú"
+msgstr "ユーザIDの失効"
 
 #: g10/keyedit.c:1470
-#, fuzzy
 msgid "revoke key or selected subkeys"
-msgstr "Éû¸°¤Î¼º¸ú"
+msgstr "鍵の失効または選択した副鍵の失効"
 
 #: g10/keyedit.c:1471
-#, fuzzy
 msgid "enable key"
-msgstr "¸°¤Î»ÈÍѤòµö²Ä¤¹¤ë"
+msgstr "鍵を有効にする"
 
 #: g10/keyedit.c:1472
-#, fuzzy
 msgid "disable key"
-msgstr "¸°¤Î»ÈÍѤò¶Ø»ß¤¹¤ë"
+msgstr "鍵を無効にする"
 
 #: g10/keyedit.c:1473
-#, fuzzy
 msgid "show selected photo IDs"
-msgstr "¥Õ¥©¥ÈID¤òɽ¼¨"
+msgstr "選択したフォトIDを表示"
 
 #: g10/keyedit.c:1475
 msgid "compact unusable user IDs and remove unusable signatures from key"
-msgstr ""
+msgstr "使えないユーザIDをコンパクトにし、使えない署名を鍵から除去"
 
 #: g10/keyedit.c:1477
 msgid "compact unusable user IDs and remove all signatures from key"
-msgstr ""
+msgstr "使えないユーザIDをコンパクトにし、すべての署名を鍵から除去"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
-msgstr "ÈëÌ©¸°¥Ö¥í¥Ã¥¯¡È%s¡É¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ç§\98å¯\86é\8dµã\83\96ã\83­ã\83\83ã\82¯\"%s\"ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
-msgstr "ÈëÌ©¸°¤¬»ÈÍѤǤ­¤Þ¤¹¡£\n"
+msgstr "秘密鍵が使用できます。\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
-msgstr "¤³¤Î¼Â¹Ô¤Ë¤ÏÈëÌ©¸°¤¬¤¤¤ê¤Þ¤¹¡£\n"
+msgstr "この実行には秘密鍵がいります。\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
-msgstr "¤Þ¤º¡Ètoggle¡É¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "まず\"toggle\"コマンドを使ってください。\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
 "  a `t' for trust signatures (tsign), an `nr' for non-revocable signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
+"* `sign' コマンドは `l' で始まると、ローカルの署名で (lsign)、\n"
+"  `t' で始まると信用署名 (tsign)、`nr' で始まると失効不可署名\n"
+"  (nrsign)、もしくはこれらの組み合わせ (ltsign, tnrsign, など)となります。\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
-msgstr "¸°¤Ï¡¢¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£"
+msgstr "鍵は、失効されています。"
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
-msgstr "ËÜÅö¤ËÁ´¥æ¡¼¥¶¡¼ID¤Ë½ð̾¤·¤Þ¤¹¤«? (y/N) "
+msgstr "本当に全ユーザIDに署名しますか? (y/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
-msgstr "¥³¥Ä: ¤Þ¤º½ð̾¤¹¤ë¥æ¡¼¥¶¡¼ID¤òÁªÂò¤·¤Þ¤¹\n"
+msgstr "ヒント: まず署名するユーザIDを選択します\n"
 
-#: g10/keyedit.c:1814
-#, fuzzy, c-format
+#: g10/keyedit.c:1818
+#, c-format
 msgid "Unknown signature type `%s'\n"
-msgstr "̤ÃΤνð̾¥¯¥é¥¹¤Ç¤¹"
+msgstr "不明の署名タイプ「%s」\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
-msgstr "%s¥â¡¼¥É¤Ç¤³¤Î¥³¥Þ¥ó¥É¤Ï¶Ø»ß¤Ç¤¹¡£\n"
+msgstr "%sモードでこのコマンドは禁止です。\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
-msgstr "¥æ¡¼¥¶¡¼ID¤ò¾¯¤Ê¤¯¤È¤â¤Ò¤È¤ÄÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "ユーザIDを少なくともひとつ選択してください。\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
-msgstr "ºÇ¸å¤Î¥æ¡¼¥¶¡¼ID¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó!\n"
+msgstr "最後のユーザIDは削除できません!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
-msgstr "ÁªÂò¤·¤¿Á´¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択した全ユーザIDを本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
-msgstr "¤³¤Î¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "このユーザIDを本当に削除しますか? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
-msgstr "¤³¤Î¼ç¸°¤òËÜÅö¤Ë°ÜÆ°¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この主鍵を本当に移動しますか? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
-msgstr "¸°¤ò¤­¤Ã¤«¤ê1ËÜÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "鍵をきっかり1つ選択してください。\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
-msgstr ""
+msgstr "コマンドはファイル名の引数を期待します\n"
 
-#: g10/keyedit.c:1971
-#, fuzzy, c-format
+#: g10/keyedit.c:1975
+#, c-format
 msgid "Can't open `%s': %s\n"
-msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
+msgstr "「%s」が開けません: %s\n"
 
-#: g10/keyedit.c:1988
-#, fuzzy, c-format
+#: g10/keyedit.c:1992
+#, c-format
 msgid "Error reading backup key from `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97é\8dµã\82\92ã\80\8c%sã\80\8dã\81\8bã\82\89読ã\81¿è¾¼ã\81¿ã\81\99ã\82\8bé\9a\9bã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
-msgstr "¸°¤ò¾¯¤Ê¤¯¤È¤â1ËÜÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "鍵を少なくとも1本選択してください。\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
-msgstr "ÁªÂò¤·¤¿¸°¤òËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択した鍵を本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
-msgstr "¤³¤Î¸°¤òËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この鍵を本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
-msgstr "ÁªÂò¤·¤¿Á´¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択した全ユーザIDを本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
-msgstr "¤³¤Î¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "このユーザIDを本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2070
-#, fuzzy
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
-msgstr "¤³¤Î¸°¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "鍵全体を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2081
-#, fuzzy
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
-msgstr "ÁªÂò¤·¤¿¸°¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択した副鍵を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2083
-#, fuzzy
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
-msgstr "¤³¤Î¸°¤òËÜÅö¤Ë¼º¸ú¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この副鍵を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
-"ÍøÍѼԻØÄê¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤ÎÍøÍÑÃæ¡¢½êÍ­¼Ô¿®ÍѤÏÀßÄꤵ¤ì¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ"
-"¤¹¡£\n"
+"ユーザが指定した信用データベースを利用中、所有者信用は設定できません。\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
-msgstr "Áª¹¥¤Î°ìÍ÷¤òÀßÄê:\n"
+msgstr "優先指定の一覧を設定:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
-msgstr "ÁªÂò¤·¤¿¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "選択したユーザIDの優先指定を本当に更新しますか? (y/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
-msgstr "Áª¹¥¤òËÜÅö¤Ë¹¹¿·¤·¤Þ¤¹¤«? (y/N) "
+msgstr "優先指定を本当に更新しますか? (y/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
-msgstr "Êѹ¹¤òÊݸ¤·¤Þ¤¹¤«? (y/N) "
+msgstr "変更を保存しますか? (y/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
-msgstr "Êݸ¤»¤º¤Ë½ªÎ»¤·¤Þ¤¹¤«? (y/N) "
+msgstr "保存せずに終了しますか? (y/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "更新に失敗しました: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
-msgstr "ÈëÌ©¤Î¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "秘密の更新に失敗しました: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
-msgstr "¸°¤Ï̵Êѹ¹¤Ê¤Î¤Ç¹¹¿·¤ÏÉÔÍפǤ¹¡£\n"
+msgstr "鍵は無変更なので更新は不要です。\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
-msgstr "Í×Ìó: "
+msgstr "ダイジェスト: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
-msgstr "µ¡Ç½: "
+msgstr "æ©\9fè\83½: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
-msgstr "̵½¤Àµ¸°¥µ¡¼¥Ð¡¼"
+msgstr "鍵サーバ 修正しない"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
-msgstr "Áª¹¥¸°¥µ¡¼¥Ð¡¼: "
+msgstr "優先鍵サーバ: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
-#, fuzzy
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
-msgstr ""
-"@\n"
-"¥ª¥×¥·¥ç¥ó:\n"
-" "
+msgstr "注釈: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
-msgstr "PGP 2.x·Á¼°¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤¬¡¢¤¢¤ê¤Þ¤»¤ó¡£\n"
+msgstr "PGP 2.x形式ユーザIDの優先指定が、ありません。\n"
 
-#: g10/keyedit.c:2810
-#, fuzzy, c-format
+#: g10/keyedit.c:2814
+#, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
-msgstr "¤³¤Î¸°¤Ï¡¢%s¸°%s¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤¿¤è¤¦¤Ç¤¹"
+msgstr "%s で %s 鍵によってこの鍵は、失効されました: %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
-msgstr "¤³¤Î¸°¤Ï¡¢%s¸°%s¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤¿¤è¤¦¤Ç¤¹"
+msgstr "この鍵は、%s鍵%sによって失効可能です"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
-msgstr "(¥Ç¥ê¥±¡¼¥È)"
+msgstr "(機密指定)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
-msgstr "ºîÀ®: %s"
+msgstr "作成: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
-msgstr "¼º¸ú: %s"
+msgstr "失効: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
-msgstr "Ëþλ: %s"
+msgstr "期限切れ: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
-msgstr "Ëþλ: %s"
+msgstr "有効期限: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
-msgstr "ÍøÍÑË¡: %s"
+msgstr "利用法: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
-msgstr "¿®ÍÑ: %s"
+msgstr "信用: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
-msgstr "Í­¸úÀ­: %s"
+msgstr "有効性: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
-msgstr "¤³¤Î¸°¤Ï»ÈÍѶػߤËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+msgstr "この鍵は使用禁止に設定されています"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
-msgstr "¥«¡¼¥ÉÈÖ¹æ: "
+msgstr "カード番号: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
-"¥×¥í¥°¥é¥à¤òºÆµ¯Æ°¤¹¤ë¤Þ¤Ç¡¢É½¼¨¤µ¤ì¤¿¸°¤ÎÍ­¸úÀ­¤ÏÀµ¤·¤¯¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡¢\n"
-"¤È¤¤¤¦¤³¤È¤òǰƬ¤Ë¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£\n"
+"プログラムを再起動するまで、表示された鍵の有効性は正しくないかもしれない、\n"
+"ということを念頭においてください。\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
-msgstr "¼º¸ú"
+msgstr "失効"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
-msgstr "Ëþλ"
+msgstr "期限切れ"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
-"·Ù¹ð: ¼ç¤¿¤ë¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ê̤Ê\n"
-"              ¥æ¡¼¥¶¡¼ID¤¬¼ç¤Ë¤Ê¤ë¤È²¾Äꤹ¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£\n"
+"*警告*: 主たるユーザIDがありません。このコマンドは、別な\n"
+"              ユーザIDが主になると仮定する場合があります。\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
-"·Ù¹ð: ¤³¤ì¤ÏPGP2·Á¼°¤Î¸°¤Ç¤¹¡£¥Õ¥©¥ÈID¤ÎÄɲäǡ¢°ìÉô¤ÎÈǤÎPGP¤Ï¡¢\n"
-"      ¤³¤Î¸°¤òµñÈݤ¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£\n"
+"*警告*: これはPGP2形式の鍵です。フォトIDの追加で、一部のバージョンのPGPで"
+"は、\n"
+"      この鍵を拒否するかもしれません。\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
-msgstr "¤½¤ì¤Ç¤âÄɲä·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "それでも追加したいですか? (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
-msgstr "PGP2·Á¼°¤Î¸°¤Ë¤Ï¥Õ¥©¥ÈID¤òÄɲäǤ­¤Þ¤»¤ó¡£\n"
+msgstr "PGP2形式の鍵にはフォトIDを追加できません。\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
-msgstr "¤³¤ÎÀµ¤·¤¤½ð̾¤òºï½ü¤·¤Þ¤¹¤«? (y/N/q)"
+msgstr "この正しい署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
-msgstr "¤³¤Î̵¸ú¤Ê½ð̾¤òºï½ü¤·¤Þ¤¹¤«? (y/N/q)"
+msgstr "この無効な署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
-msgstr "¤³¤Î̤ÃΤνð̾¤òºï½ü¤·¤Þ¤¹¤«? (y/N/q)"
+msgstr "この不明の署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
-msgstr "¤³¤Î¼«¸Ê½ð̾¤òËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«? (y/N)"
+msgstr "この自己署名を本当に削除しますか? (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
-msgstr "%d¸Ä¤Î½ð̾¤òºï½ü¤·¤Þ¤·¤¿¡£\n"
+msgstr "%d個の署名を削除しました。\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
-msgstr "%d¸Ä¤Î½ð̾¤òºï½ü¤·¤Þ¤·¤¿¡£\n"
+msgstr "%d個の署名を削除しました。\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
-msgstr "²¿¤âºï½ü¤·¤Æ¤¤¤Þ¤»¤ó¡£\n"
+msgstr "何も削除していません。\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
-#, fuzzy
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
-msgstr "̵¸ú¤ÊÊñÁõ¤Ç¤¹"
+msgstr "ç\84¡å\8a¹"
 
-#: g10/keyedit.c:3357
-#, fuzzy, c-format
+#: g10/keyedit.c:3361
+#, c-format
 msgid "User ID \"%s\" compacted: %s\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£"
+msgstr "ユーザID \"%s\" は、コンパクトになりました: %s\n"
 
-#: g10/keyedit.c:3364
-#, fuzzy, c-format
+#: g10/keyedit.c:3368
+#, c-format
 msgid "User ID \"%s\": %d signature removed\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£"
+msgstr "ユーザID \"%s\": %d の署名が除去されました\n"
 
-#: g10/keyedit.c:3365
-#, fuzzy, c-format
+#: g10/keyedit.c:3369
+#, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£"
+msgstr "ユーザID \"%s\": %d の署名が除去されました\n"
 
-#: g10/keyedit.c:3373
-#, fuzzy, c-format
+#: g10/keyedit.c:3377
+#, c-format
 msgid "User ID \"%s\": already minimized\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "ユーザID \"%s\": 既に最小化されています\n"
 
-#: g10/keyedit.c:3374
-#, fuzzy, c-format
+#: g10/keyedit.c:3378
+#, c-format
 msgid "User ID \"%s\": already clean\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "ユーザID \"%s\": 既にクリーンとなっています\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
-"·Ù¹ð: ¤³¤ì¤ÏPGP 2.x·Á¼°¤Î¸°¤Ç¤¹¡£»Ø̾¼º¸ú¼Ô¤ÎÄɲäǡ¢°ìÉô¤ÎÈǤÎPGP¤Ï¡¢\n"
-"      ¤³¤Î¸°¤òµñÈݤ¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£\n"
+"*警告*: これはPGP 2.x形式の鍵です。指名失効者の追加で、一部のバージョンのPGP"
+"では、\n"
+"      この鍵を拒否するかもしれません。\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
-msgstr "PGP 2.x·Á¼°¤Î¸°¤Ë¤Ï»Ø̾¼º¸ú¼Ô¤òÄɲäǤ­¤Þ¤»¤ó¡£\n"
+msgstr "PGP 2.x形式の鍵には指名失効者を追加できません。\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
-msgstr "»Ø̾¼º¸ú¼Ô¤Î¥æ¡¼¥¶¡¼ID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: "
+msgstr "指名失効者のユーザIDを入力してください: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
-msgstr "PGP 2.x·Á¼°¤Î¸°¤Ï¡¢»Ø̾¼º¸ú¼Ô¤ËǤ̿¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "PGP 2.x形式の鍵は、指名失効者に任命できません\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
-msgstr "»Ø̾¼º¸ú¼Ô¤Ë¤Ï¡¢¤½¤Î¸°¼«ÂΤòǤ̿¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "指名失効者には、その鍵自体を任命できません\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
-msgstr "¤³¤Î¸°¤Ï¼º¸ú¼Ô¤È¤·¤Æ¤â¤¦»Ø̾¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "この鍵は失効者としてもう指名されています\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
-msgstr "·Ù¹ð: ¤¢¤ë¸°¤ò»Ø̾¼º¸ú¼Ô¤ËÀßÄꤹ¤ë¤È¡¢¸µ¤ËÌ᤻¤Þ¤»¤ó!\n"
+msgstr "*警告*: ある鍵を指名失効者に設定すると、元に戻せません!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
-msgstr "ËÜÅö¤Ë¤³¤Î¸°¤ò»Ø̾¼º¸ú¼Ô¤ËǤ̿¤·¤Þ¤¹¤«? (y/N) "
+msgstr "本当にこの鍵を指名失効者に任命しますか? (y/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
-msgstr "ÈëÌ©¸°¤ÎÁªÂò¤ò¤È¤¤¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "秘密鍵の選択をといてください。\n"
 
-#: g10/keyedit.c:3653
-#, fuzzy
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
-msgstr "¹â¡¹1¸Ä¤ÎÉû¸°¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "高々1個の副鍵を選択してください。\n"
 
-#: g10/keyedit.c:3657
-#, fuzzy
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
-msgstr "Éû¸°¤ÎÍ­¸ú´ü¸Â¤òÊѹ¹¤·¤Þ¤¹¡£\n"
+msgstr "副鍵の有効期限を変更します。\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
-msgstr "¼ç¸°¤ÎÍ­¸ú´ü¸Â¤òÊѹ¹¤·¤Þ¤¹¡£\n"
+msgstr "主鍵の有効期限を変更します。\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
-msgstr "v3¸°¤ÎÍ­¸ú´ü¸Â¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "v3鍵の有効期限は変更できません\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
-msgstr "ÈëÌ©¸°ÎؤËÂбþ¤¹¤ë½ð̾¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "秘密鍵リングに対応する署名がありません\n"
 
-#: g10/keyedit.c:3800
-#, fuzzy, c-format
+#: g10/keyedit.c:3804
+#, c-format
 msgid "signing subkey %s is already cross-certified\n"
-msgstr "·Ù¹ð: ½ð̾Éû¸°%s¤Ï¡¢Áê¸ß¾ÚÌÀ¤Ç¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名する副鍵%sはすでに相互証明されています\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
-msgstr ""
+msgstr "副鍵 %s は署名をしないので、相互証明の必要はありません\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
-msgstr "¥æ¡¼¥¶¡¼ID¤ò¤­¤Ã¤«¤ê¤Ò¤È¤ÄÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "ユーザIDをきっかりひとつ選択してください。\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Îv3¼«¸Ê½ð̾¤ò¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "ユーザID\"%s\"のv3自己署名をスキップします\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
-msgstr "Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: "
+msgstr "優先鍵サーバURLを入力してください: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
-msgstr "ËÜÅö¤Ë¸ò´¹¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "本当に置き換えたいですか? (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
-msgstr "ËÜÅö¤Ëºï½ü¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "本当に削除したいですか? (y/N) "
 
-#: g10/keyedit.c:4322
-#, fuzzy
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
-msgstr "½ð̾Ãí¼á: "
+msgstr "注釈を入力: "
 
-#: g10/keyedit.c:4471
-#, fuzzy
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
-msgstr "¾å½ñ¤­¤·¤Þ¤¹¤«? (y/N) "
+msgstr "進みますか? (y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
-msgstr "%dÈ֤Υ桼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "%d番のユーザIDはありません\n"
 
-#: g10/keyedit.c:4604
-#, fuzzy, c-format
+#: g10/keyedit.c:4608
+#, c-format
 msgid "No user ID with hash %s\n"
-msgstr "%dÈ֤Υ桼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "ハッシュ%sのユーザIDはありません\n"
 
-#: g10/keyedit.c:4639
-#, fuzzy, c-format
+#: g10/keyedit.c:4643
+#, c-format
 msgid "No subkey with index %d\n"
-msgstr "%dÈ֤Υ桼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "%d番の副鍵はありません\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
-msgstr "¥æ¡¼¥¶¡¼ID:¡È%s¡É\n"
+msgstr "ユーザID:\"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
-msgstr "%s¤Ç%s%s%s¤Ë½ð̾¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "%sで%s%s%sに署名されています\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
-msgstr " (½ñ½Ð¤·ÉÔ²Ä)"
+msgstr " (エクスポート不可)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
-msgstr "¤³¤Î½ð̾¤Ï%s¤ÇËþλ¤Ç¤¹¡£\n"
+msgstr "この署名は%sで期限切れです。\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
-msgstr "¤½¤ì¤Ç¤âËÜÅö¤Ë¼º¸ú¤·¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "それでも本当に失効したいですか? (y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
-msgstr "¤³¤Î½ð̾¤Ë¤¿¤¤¤¹¤ë¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この署名にたいする失効証明書を作成しますか? (y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
-msgstr ""
+msgstr "あなたによって署名されていません。\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
-msgstr "¤³¤ì¤é¤Î¥æ¡¼¥¶¡¼ID¤Ë¸°%s¤Ç½ð̾¤·¤Þ¤·¤¿:\n"
+msgstr "これらのユーザIDに鍵%sで署名しました:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
-msgstr " (¼º¸úÉÔ²Ä)"
+msgstr " (失効不可)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
-msgstr "¤¢¤Ê¤¿¤Î¸°%s¤Ç%s¤Ë¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "あなたの鍵%sで%sに失効されています\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
-msgstr "¤³¤ì¤é¤Î½ð̾¤ò¼º¸ú¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹:\n"
+msgstr "これらの署名を失効しようとしています:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òËÜÅö¤ËºîÀ®¤·¤Þ¤¹¤«? (y/N) "
+msgstr "失効証明書を本当に作成しますか? (y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
-msgstr "ÈëÌ©¸°¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "秘密鍵がありません\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "ユーザID\"%s\"は、もう失効されています\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
-msgstr "·Ù¹ð: ¥æ¡¼¥¶¡¼ID½ð̾¤¬¡¢%dÉÃ̤Íè¤Ç¤¹\n"
+msgstr "*警告*: ユーザID署名が、%d秒未来です\n"
 
-#: g10/keyedit.c:5104
-#, fuzzy, c-format
+#: g10/keyedit.c:5108
+#, c-format
 msgid "Key %s is already revoked.\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "鍵 %s は、もう失効されています。\n"
 
-#: g10/keyedit.c:5166
-#, fuzzy, c-format
+#: g10/keyedit.c:5170
+#, c-format
 msgid "Subkey %s is already revoked.\n"
-msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "副鍵 %s は、もう失効されています。\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
-msgstr "%s (Â礭¤µ%ld) ¤Î¸°%s (uid %d) ¤Î¥Õ¥©¥ÈID¤È¤·¤Æɽ¼¨\n"
+msgstr "%s (大きさ%ld) の鍵%s (uid %d) のフォトIDとして表示\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
-msgstr "Áª¹¥¡Ö%s¡×¤Î½ÅÊ£\n"
+msgstr "優先指定「%s」の重複\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
-msgstr "¿¤¹¤®¤ë°Å¹æË¡Áª¹¥\n"
+msgstr "暗号方式の優先指定が多すぎます\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
-msgstr "¿¤¹¤®¤ëÍ×ÌóÁª¹¥\n"
+msgstr "ダイジェストの優先指定が多すぎます\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
-msgstr "¿¤¹¤®¤ë°µ½ÌÁª¹¥\n"
+msgstr "圧縮の優先指定が多すぎます\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
-msgstr "Áª¹¥Ê¸»úÎó¤Ë̵¸ú¤Ê¹àÌÜ¡Ö%s¡×¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "優先指定の文字列に無効な項目「%s」があります\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
-msgstr "ľÀܽð̾¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "直接署名を書き込みます\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
-msgstr "¼«¸Ê½ð̾¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "自己署名を書き込みます\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
-msgstr "¸°Âбþ¤Ø¤Î½ð̾¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "鍵対応への署名を書き込みます\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
-msgstr "̵¸ú¤Ê¸°Ä¹¡£%u¥Ó¥Ã¥È¤Ë¤·¤Þ¤¹\n"
+msgstr "無効な鍵長。%uビットにします\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
-msgstr "¸°Ä¹¤ò%u¥Ó¥Ã¥È¤Ë´Ý¤á¤Þ¤¹\n"
+msgstr "鍵長を%uビットに丸めます\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
+"*警告*: いくつかのOpenPGPプログラムはこのダイジェスト長のDSA鍵を扱うことがで"
+"きません\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
-msgstr ""
+msgstr "Certify"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Encrypt"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Authenticate"
 
@@ -4394,104 +4311,104 @@ msgstr "Authenticate"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
-msgstr "¸°%s¤Ë²Äǽ¤ÊÁàºî: "
+msgstr "鍵%sに認められた操作: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
-msgstr "º£¡¢²Äǽ¤ÊÁàºî: "
+msgstr "現在の認められた操作: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
-msgstr "   (%c) ½ð̾ÎϤÎȿž\n"
+msgstr "   (%c) 署名特性を反転する\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
-msgstr "   (%c) °Å¹æÎϤÎȿž\n"
+msgstr "   (%c) 暗号特性を反転する\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
-msgstr "   (%c) Ç§¾ÚÎϤÎȿž\n"
+msgstr "   (%c) 認証特性を反転する\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
-msgstr "   (%c) ´°Î»\n"
+msgstr "   (%c) 完了\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
-msgstr "¤´´õ˾¤Î¸°¤Î¼ïÎà¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:\n"
+msgstr "ご希望の鍵の種類を選択してください:\n"
 
-#: g10/keygen.c:1689
-#, fuzzy, c-format
+#: g10/keygen.c:1696
+#, c-format
 msgid "   (%d) RSA and RSA (default)\n"
-msgstr "   (%d) DSA¤ÈElgamal (´ûÄê)\n"
+msgstr "   (%d) RSA と RSA (デフォルト)\n"
 
-#: g10/keygen.c:1691
-#, fuzzy, c-format
+#: g10/keygen.c:1698
+#, c-format
 msgid "   (%d) DSA and Elgamal\n"
-msgstr "   (%d) DSA¤ÈElgamal (´ûÄê)\n"
+msgstr "   (%d) DSA と Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
-msgstr "   (%d) DSA (½ð̾¤Î¤ß)\n"
+msgstr "   (%d) DSA (署名のみ)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
-msgstr "   (%d) RSA (½ð̾¤Î¤ß)\n"
+msgstr "   (%d) RSA (署名のみ)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
-msgstr "   (%d) Elgamal (°Å¹æ²½¤Î¤ß)\n"
+msgstr "   (%d) Elgamal (暗号化のみ)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
-msgstr "   (%d) RSA (°Å¹æ²½¤Î¤ß)\n"
+msgstr "   (%d) RSA (暗号化のみ)\n"
 
-#: g10/keygen.c:1703
-#, fuzzy, c-format
+#: g10/keygen.c:1710
+#, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
-msgstr "   (%d) RSA (Æȼ«Ç½ÎϤòÀßÄê)\n"
+msgstr "   (%d) DSA (特性をあなた自身で設定)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
-msgstr "   (%d) RSA (Æȼ«Ç½ÎϤòÀßÄê)\n"
+msgstr "   (%d) RSA (特性をあなた自身で設定)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
-msgstr ""
+msgstr "%s 鍵は %u から %u ビットの長さで可能です。\n"
 
-#: g10/keygen.c:1820
-#, fuzzy, c-format
+#: g10/keygen.c:1827
+#, c-format
 msgid "What keysize do you want for the subkey? (%u) "
-msgstr "¤É¤Î¸°Ä¹¤Ë¤·¤Þ¤¹¤«? (1024) "
+msgstr "副鍵の鍵長は? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
-#, fuzzy, c-format
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
+#, c-format
 msgid "What keysize do you want? (%u) "
-msgstr "¤É¤Î¸°Ä¹¤Ë¤·¤Þ¤¹¤«? (1024) "
+msgstr "鍵長は? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
-msgstr "Í׵ᤵ¤ì¤¿¸°Ä¹¤Ï%u¥Ó¥Ã¥È\n"
+msgstr "要求された鍵長は%uビット\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4500,14 +4417,14 @@ msgid ""
 "      <n>m = key expires in n months\n"
 "      <n>y = key expires in n years\n"
 msgstr ""
-"¸°¤ÎÍ­¸ú´ü¸Â¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
-"         0 = ¸°¤Ï̵´ü¸Â\n"
-"      <n>  = ¸°¤Ï n Æü´Ö¤ÇËþλ\n"
-"      <n>w = ¸°¤Ï n ½µ´Ö¤ÇËþλ\n"
-"      <n>m = ¸°¤Ï n ¤«·î´Ö¤ÇËþλ\n"
-"      <n>y = ¸°¤Ï n Ç¯´Ö¤ÇËþλ\n"
-
-#: g10/keygen.c:1936
+"鍵の有効期限を指定してください。\n"
+"         0 = 鍵は無期限\n"
+"      <n>  = 鍵は n 日間で期限切れ\n"
+"      <n>w = 鍵は n 週間で期限切れ\n"
+"      <n>m = 鍵は n か月間で期限切れ\n"
+"      <n>y = 鍵は n 年間で期限切れ\n"
+
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4516,70 +4433,71 @@ msgid ""
 "      <n>m = signature expires in n months\n"
 "      <n>y = signature expires in n years\n"
 msgstr ""
-"½ð̾¤ÎÍ­¸ú´ü¸Â¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
-"         0 = ½ð̾¤Ï̵´ü¸Â\n"
-"      <n>  = ½ð̾¤Ï n Æü´Ö¤ÇËþλ\n"
-"      <n>w = ½ð̾¤Ï n ½µ´Ö¤ÇËþλ\n"
-"      <n>m = ½ð̾¤Ï n ¤«·î´Ö¤ÇËþλ\n"
-"      <n>y = ½ð̾¤Ï n Ç¯´Ö¤ÇËþλ\n"
-
-#: g10/keygen.c:1959
+"署名の有効期限を指定してください。\n"
+"         0 = 署名は無期限\n"
+"      <n>  = 署名は n 日間で期限切れ\n"
+"      <n>w = 署名は n 週間で期限切れ\n"
+"      <n>m = 署名は n か月間で期限切れ\n"
+"      <n>y = 署名は n 年間で期限切れ\n"
+
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
-msgstr "¸°¤ÎÍ­¸ú´ü´Ö¤Ï? (0)"
+msgstr "鍵の有効期間は? (0)"
 
-#: g10/keygen.c:1964
-#, fuzzy, c-format
+#: g10/keygen.c:1971
+#, c-format
 msgid "Signature is valid for? (%s) "
-msgstr "½ð̾¤ÎÍ­¸ú´ü´Ö¤Ï? (0)"
+msgstr "署名の有効期間は? (%s)"
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
-msgstr "̵¸ú¤ÊÃÍ\n"
+msgstr "無効な値\n"
 
-#: g10/keygen.c:1989
-#, fuzzy
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
-msgstr "%s¤Ï̵´ü¸Â¤Ç¤¹\n"
+msgstr "%sは無期限です\n"
 
-#: g10/keygen.c:1990
-#, fuzzy
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
-msgstr "%s¤Ï̵´ü¸Â¤Ç¤¹\n"
+msgstr "%署名は無期限です\n"
 
-#: g10/keygen.c:1995
-#, fuzzy, c-format
+#: g10/keygen.c:2003
+#, c-format
 msgid "Key expires at %s\n"
-msgstr "%s¤Ï%s¤ÇËþλ¤·¤Þ¤¹\n"
+msgstr "鍵は%sで期限切れとなります\n"
 
-#: g10/keygen.c:1996
-#, fuzzy, c-format
+#: g10/keygen.c:2004
+#, c-format
 msgid "Signature expires at %s\n"
-msgstr "¤³¤Î½ð̾¤Ï%s¤ÇËþλ¤Ç¤¹\n"
+msgstr "署名は%sで期限切れとなります\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
-"¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢2038ǯ°Ê¹ß¤ÎÆüÉÕ¤òɽ¼¨¤Ç¤­¤Þ¤»¤ó¤¬¡¢\n"
-"2106ǯ¤Þ¤Ç¤Ê¤éÀµ¤·¤¯¼è¤ê°·¤¨¤Þ¤¹¡£\n"
+"このシステムでは、2038年以降の日付を表示することはできませんが、\n"
+"2106年まで正しく処理されます。\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
-msgstr "¤³¤ì¤ÇÀµ¤·¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "これで正しいですか? (y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
 "\n"
 msgstr ""
+"\n"
+"GnuPGはあなたの鍵を識別するためにユーザIDを構成する必要があります。\n"
+"\n"
 
 #. TRANSLATORS: This string is in general not anymore used
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4589,67 +4507,67 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"¤¢¤Ê¤¿¤Î¸°¤òƱÄꤹ¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼ID¤¬É¬ÍפǤ¹¡£\n"
-"¤³¤Î¥½¥Õ¥È¤ÏËÜ̾¡¢¥³¥á¥ó¥È¡¢ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¤«¤é\n"
-"¼¡¤Î½ñ¼°¤Ç¥æ¡¼¥¶¡¼ID¤ò¹½À®¤·¤Þ¤¹:\n"
+"あなたの鍵を識別するためにユーザIDが必要です。\n"
+"このソフトは本名、コメント、電子メール・アドレスから\n"
+"次の書式でユーザIDを構成します:\n"
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
-msgstr "ËÜ̾: "
+msgstr "本名: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
-msgstr "̾Á°¤Ë̵¸ú¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "名前に無効な文字があります\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
-msgstr "̾Á°¤ò¿ô»ú¤Ç»Ï¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó\n"
+msgstr "名前を数字で始めてはいけません\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
-msgstr "̾Á°¤Ï5ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "名前は5文字以上でなければなりません\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
-msgstr "ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹: "
+msgstr "é\9b»å­\90ã\83¡ã\83¼ã\83«ã\83»ã\82¢ã\83\89ã\83¬ã\82¹: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
-msgstr "Í­¸ú¤ÊÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "有効な電子メール・アドレスではありません\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
-msgstr "¥³¥á¥ó¥È: "
+msgstr "コメント: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
-msgstr "¥³¥á¥ó¥È¤Ë̵¸ú¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹\n"
+msgstr "コメントに無効な文字があります\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
-msgstr "¤¢¤Ê¤¿¤Ïʸ»ú½¸¹ç¡Ö%s¡×¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£\n"
+msgstr "あなたは文字集合「%s」を使っています。\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
 "    \"%s\"\n"
 "\n"
 msgstr ""
-"¼¡¤Î¥æ¡¼¥¶¡¼ID¤òÁªÂò¤·¤Þ¤·¤¿:\n"
-"    ¡È%s¡É\n"
+"次のユーザIDを選択しました:\n"
+"    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
-msgstr "ÅŻҥ᡼¥ë¤Î¥¢¥É¥ì¥¹¤òËÜ̾¤ä¥³¥á¥ó¥È¤ËÆþ¤ì¤Ê¤¤¤è¤¦¤Ë\n"
+msgstr "電子メールのアドレスを本名やコメントに入れないように\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
-msgstr ""
+msgstr "そういったユーザIDはすでにこの鍵に存在しています!\n"
 
 #. TRANSLATORS: These are the allowed answers in
 #. lower and uppercase.  Below you will find the matching
@@ -4662,804 +4580,804 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
-msgstr "̾Á°(N)¡¢¥³¥á¥ó¥È(C)¡¢ÅŻҥ᡼¥ë(E)¤ÎÊѹ¹¡¢¤Þ¤¿¤Ï½ªÎ»(Q)? "
+msgstr "名前(N)、コメント(C)、電子メール(E)の変更、または終了(Q)? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
-msgstr "̾Á°(N)¡¢¥³¥á¥ó¥È(C)¡¢ÅŻҥ᡼¥ë(E)¤ÎÊѹ¹¡¢¤Þ¤¿¤ÏOK(O)¤«½ªÎ»(Q)? "
+msgstr "名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
-msgstr "¤Þ¤º¥¨¥é¡¼¤ò½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "まずエラーを修正してください\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
 msgstr ""
-"ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Ë¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬¤¤¤ê¤Þ¤¹¡£\n"
+"秘密鍵を保護するためにパスフレーズがいります。\n"
 "\n"
 
-#: g10/keygen.c:2276
-#, fuzzy
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
+msgstr ""
+"パスフレーズを入力してください。これは新しく作られる暗号鍵のカード外のバック"
+"アップを保護するものです。"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
 "using this program with the option \"--edit-key\".\n"
 "\n"
 msgstr ""
-"¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬ÉÔɬÍפʤ褦¤Ç¤¹¤¬¡¢¤ª¤½¤é¤¯¤½¤ì¤Ï¤í¤¯¤Ç¤â¤Ê¤¤\n"
-"¹Í¤¨¤Ç¤¹! ¤¤¤Á¤ª¤¦Â³¹Ô¤·¤Þ¤¹¡£¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à\n"
-"¤Î¡È--edit-key¡É¥ª¥×¥·¥ç¥ó¤Ç¤¤¤Ä¤Ç¤âÊѹ¹¤Ç¤­¤Þ¤¹¡£\n"
+"パスフレーズを必要としないようですが、おそらくそれは良くない考えです!\n"
+"続けますが、パスフレーズを設定することを検討ください。パスフレーズは、\n"
+"このプログラムの\"--edit-key\"オプションでいつでも変更できます。\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
 "disks) during the prime generation; this gives the random number\n"
 "generator a better chance to gain enough entropy.\n"
 msgstr ""
-"º£¤«¤éŤ¤Íð¿ô¤òÀ¸À®¤·¤Þ¤¹¡£¥­¡¼¥Ü¡¼¥É¤òÂǤĤȤ«¡¢¥Þ¥¦¥¹¤òÆ°¤«¤¹\n"
-"¤È¤«¡¢¥Ç¥£¥¹¥¯¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¤«¤Î¾¤Î¤³¤È¤ò¤¹¤ë¤È¡¢Íð¿ôÀ¸À®»Ò¤Ç\n"
-"Í𻨤µ¤ÎÂ礭¤Ê¤¤¤¤Íð¿ô¤òÀ¸À®¤·¤ä¤¹¤¯¤Ê¤ë¤Î¤Ç¡¢¤ª´«¤á¤¤¤¿¤·¤Þ¤¹¡£\n"
+"たくさんのランダム・バイトの生成が必要です。キーボードを打つ、マウスを動か"
+"す、\n"
+"ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生成器"
+"に\n"
+"十分なエントロピーを供給する機会を与えることができます。\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
-msgstr "¸°¤ÎÀ¸À®¤¬¼è¤ê¾Ã¤µ¤ì¤Þ¤·¤¿¡£\n"
+msgstr "鍵の生成が取り消されました。\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
-msgstr "¡Ö%s¡×¤Ø¸ø³«¸°¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "「%s」へ公開鍵を書き込みます\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¥¹¥¿¥Ö¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "「%s」へ秘密鍵スタブを書き込みます\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "「%s」へ秘密鍵を書き込みます\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
-msgstr "½ñ¹þ¤ß²Äǽ¤Ê¸ø³«¸°Îؤ¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "書き込み可能な公開鍵リングが見つかりません: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
-msgstr "½ñ¹þ¤ß²Äǽ¤ÊÈëÌ©¸°Îؤ¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "書き込み可能な秘密鍵リングが見つかりません: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
-msgstr "¸ø³«¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "å\85¬é\96\8bé\8dµã\83ªã\83³ã\82°ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
-msgstr "ÈëÌ©¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "ç§\98å¯\86é\8dµã\83ªã\83³ã\82°ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
-msgstr "¸ø³«¸°¤ÈÈëÌ©¸°¤òºîÀ®¤·¡¢½ð̾¤·¤Þ¤·¤¿¡£\n"
+msgstr "公開鍵と秘密鍵を作成し、署名しました。\n"
 
-#: g10/keygen.c:3672
-#, fuzzy
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
 msgstr ""
-"¤³¤Î¸°¤Ï°Å¹æ²½¤Ë¤Ï»ÈÍѤǤ­¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£°Å¹æ²½¤ò¹Ô¤¦¤Ë¤Ï¡¢\n"
-"¡È--edit-key¡É¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÉû¸°¤òÀ¸À®¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+"この鍵は暗号化には使用できないことに注意してください。暗号化を行うには、\n"
+"\"--edit-key\"コマンドを使って副鍵を生成してください。\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
-msgstr "¸°¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵の生成に失敗しました: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
-msgstr "¸°¤Ï%luÉÃ̤Íè¤Ë¤Ç¤­¤Þ¤·¤¿ (»þ´Öι¹Ô¤«»þ·×¤Î¾ã³²¤Ç¤·¤ç¤¦)\n"
+msgstr "鍵は%lu秒未来にできました (時間歪曲か時計の障害でしょう)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
-msgstr "¸°¤Ï%luÉÃ̤Íè¤Ë¤Ç¤­¤Þ¤·¤¿ (»þ´Öι¹Ô¤«»þ·×¤Î¾ã³²¤Ç¤·¤ç¤¦)\n"
+msgstr "鍵は%lu秒未来にできました (時間歪曲か時計の障害でしょう)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
-msgstr "Ãí°Õ: v3¸°¤ÎÉû¸°¤ÎºîÀ®¤Ï¡¢OpenPGP¤ËŬ¹ç¤·¤Þ¤»¤ó\n"
+msgstr "*注意*: v3鍵に対する副鍵の作成は、OpenPGPに適合しません\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
-msgstr "ËÜÅö¤ËºîÀ®¤·¤Þ¤¹¤«? (y/N) "
+msgstr "本当に作成しますか? (y/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
-msgstr "¥«¡¼¥É¤Ø¤Î¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "カードへの鍵の保管に失敗しました: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
-msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "バックアップ・ファイル「%s」が作成できません: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
-msgstr "Ãí°Õ: ¥«¡¼¥É¸°¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬¡Ö%s¡×¤ØÊݸ¤µ¤ì¤Þ¤¹\n"
+msgstr "*注意*: カード鍵のバックアップが「%s」へ保存されます\n"
 
 #: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
 msgid "never     "
-msgstr "̵´ü¸Â    "
+msgstr "無期限    "
 
 #: g10/keylist.c:273
 msgid "Critical signature policy: "
-msgstr "¥¯¥ê¥Æ¥£¥«¥ë¤Ê½ð̾¥Ý¥ê¥·¡¼: "
+msgstr "クリティカルな署名ポリシ: "
 
 #: g10/keylist.c:275
 msgid "Signature policy: "
-msgstr "½ð̾¥Ý¥ê¥·¡¼: "
+msgstr "署名ポリシ: "
 
 #: g10/keylist.c:314
 msgid "Critical preferred keyserver: "
-msgstr "º£¤ÎÁª¹¥¸°¥µ¡¼¥Ð¡¼: "
+msgstr "クリティカルな優先鍵サーバ: "
 
 #: g10/keylist.c:367
 msgid "Critical signature notation: "
-msgstr "¥¯¥ê¥Æ¥£¥«¥ë¤Ê½ð̾Ãí¼á: "
+msgstr "クリティカルな署名注釈: "
 
 #: g10/keylist.c:369
 msgid "Signature notation: "
-msgstr "½ð̾Ãí¼á: "
+msgstr "署名注釈: "
 
 #: g10/keylist.c:479
 msgid "Keyring"
-msgstr "¸°ÎØ"
+msgstr "鍵リング"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
-msgstr "¼ç¸°¤Î»ØÌæ:"
+msgstr "主鍵のフィンガー・プリント:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
-msgstr "Éû¸°¤Î»ØÌæ:"
+msgstr "副鍵のフィンガー・プリント:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
-msgstr " ¼ç¸°¤Î»ØÌæ:"
+msgstr "主鍵フィンガー・プリント:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
-msgstr " Éû¸°¤Î»ØÌæ:"
+msgstr "副鍵フィンガー・プリント:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
-msgstr "                 »ØÌæ ="
+msgstr "   フィンガー・プリント ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
-msgstr "         ¥«¡¼¥É¤ÎÄÌÈÖ ="
+msgstr "   カード・シリアル番号 ="
 
 #: g10/keyring.c:1297
 #, c-format
 msgid "renaming `%s' to `%s' failed: %s\n"
-msgstr "¡Ö%s¡×¤«¤é¡Ö%s¡×¤Ø¤Î°ÜÆ°¤Ë¼ºÇÔ: %s\n"
+msgstr "「%s」から「%s」へ名前変更に失敗: %s\n"
 
 #: g10/keyring.c:1326
 msgid "WARNING: 2 files with confidential information exists.\n"
-msgstr "·Ù¹ð: ¿®ÍѾðÊó¤ò¤â¤Ã¤¿2¤Ä¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£\n"
+msgstr "*警告*: 機密情報をもったファイルが2つ存在します。\n"
 
 #: g10/keyring.c:1327
 #, c-format
 msgid "%s is the unchanged one\n"
-msgstr "%s¤ÏÊѹ¹¤Î¤Ê¤¤Êý¤Ç¤¹\n"
+msgstr "%sは変更のない方です\n"
 
 #: g10/keyring.c:1328
 #, c-format
 msgid "%s is the new one\n"
-msgstr "%s¤Ï¿·¤·¤¤Êý¤Ç¤¹\n"
+msgstr "%sは新しい方です\n"
 
 #: g10/keyring.c:1329
 msgid "Please fix this possible security flaw\n"
-msgstr "¤³¤ÎÀøºßŪ¤Ê°ÂÁ´¾å¤Î·ç´Ù¤ò½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "この安全上の欠陥の可能性を直してください\n"
 
 #: g10/keyring.c:1430
 #, c-format
 msgid "caching keyring `%s'\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ò¥­¥ã¥Ã¥·¥å¤·¤Þ¤¹\n"
+msgstr "鍵リング「%s」をキャッシュします\n"
 
 #: g10/keyring.c:1489
 #, c-format
 msgid "%lu keys cached so far (%lu signatures)\n"
-msgstr "%lu¸Ä¤Î¸°¤Þ¤Ç¥­¥ã¥Ã¥·¥åºÑ (%lu¸Ä¤Î½ð̾)\n"
+msgstr "%lu個の鍵までキャッシュ済 (%lu個の署名)\n"
 
 #: g10/keyring.c:1501
 #, c-format
 msgid "%lu keys cached (%lu signatures)\n"
-msgstr "%lu¸Ä¤Î¸°¤ò¥­¥ã¥Ã¥·¥åºÑ (%lu¸Ä¤Î½ð̾)\n"
+msgstr "%lu個の鍵をキャッシュ済 (%lu個の署名)\n"
 
 #: g10/keyring.c:1573
 #, c-format
 msgid "%s: keyring created\n"
-msgstr "%s: ¸°Îؤ¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "%s: 鍵リングができました\n"
 
 #: g10/keyserver.c:74
 msgid "include revoked keys in search results"
-msgstr ""
+msgstr "失効した鍵を検索結果に含める"
 
 #: g10/keyserver.c:75
 msgid "include subkeys when searching by key ID"
-msgstr ""
+msgstr "key IDによる検索に副鍵も含める"
 
 #: g10/keyserver.c:77
 msgid "use temporary files to pass data to keyserver helpers"
-msgstr ""
+msgstr "キーサーバ・ヘルパーにデータを与える際、一時ファイルを使う"
 
 #: g10/keyserver.c:79
 msgid "do not delete temporary files after using them"
-msgstr ""
+msgstr "一時ファイルを使用後、それを削除しない"
 
 #: g10/keyserver.c:83
 msgid "automatically retrieve keys when verifying signatures"
-msgstr ""
+msgstr "署名の検証時に自動的に鍵を取得する"
 
 #: g10/keyserver.c:85
-#, fuzzy
 msgid "honor the preferred keyserver URL set on the key"
-msgstr "Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: "
+msgstr "鍵に設定される優先鍵サーバURLを与える"
 
 #: g10/keyserver.c:87
 msgid "honor the PKA record set on a key when retrieving keys"
-msgstr ""
+msgstr "鍵に設定されたPKAレコードを鍵の取得時に与える"
 
 #: g10/keyserver.c:153
 #, c-format
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
-"·Ù¹ð: ¸°¥µ¡¼¥Ð¡¼¤Î¥ª¥×¥·¥ç¥ó¡Ö%s¡×¤Ï¡¢¤³¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤Ç¤Ï»È¤¨¤Þ¤»¤ó\n"
+"*警告*: 鍵サーバのオプション「%s」は、このプラットホームでは使われません\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
-msgstr "disabled"
+msgstr "使用禁止"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
-msgstr "ÈÖ¹æ(s)¡¢N)¼¡¡¢¤Þ¤¿¤ÏQ)Ãæ»ß¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ >"
+msgstr "番号(s)、N)次、またはQ)中止を入力してください >"
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
-msgstr "̵¸ú¤Ê¸°¥µ¡¼¥Ð¡¼¡¦¥×¥í¥È¥³¥ë¤Ç¤¹ (us %d!=handler %d)\n"
+msgstr "無効な鍵サーバ・プロトコルです (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
-msgstr "¸°¡È%s¡É¤¬¸°¥µ¡¼¥Ð¡¼¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "鍵\"%s\"が鍵サーバに見つかりません\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
-msgstr "¸°¤¬¸°¥µ¡¼¥Ð¡¼¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "鍵が鍵サーバに見つかりません\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
-msgstr "¸°%s¤ò%s¤«¤é¥µ¡¼¥Ð¡¼%s¤ËÍ×µá\n"
+msgstr "鍵%sを%sからサーバ%sに要求\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
-msgstr "¸°%s¤ò%s¤ËÍ×µá\n"
+msgstr "鍵%sを%sに要求\n"
 
-#: g10/keyserver.c:1205
-#, fuzzy, c-format
+#: g10/keyserver.c:1293
+#, c-format
 msgid "searching for names from %s server %s\n"
-msgstr "¡È%s¡É¤ò%s¥µ¡¼¥Ð¡¼%s¤«¤é¸¡º÷\n"
+msgstr "%sからサーバ%sで名前を検索\n"
 
-#: g10/keyserver.c:1208
-#, fuzzy, c-format
+#: g10/keyserver.c:1296
+#, c-format
 msgid "searching for names from %s\n"
-msgstr "¡È%s¡É¤ò¥µ¡¼¥Ð¡¼%s¤«¤é¸¡º÷\n"
+msgstr "\"%s\"から名前を検索\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
-msgstr "¸°%s¤ò%s¥µ¡¼¥Ð¡¼%s¤ØÁ÷¿®\n"
+msgstr "鍵%sを%sサーバ%sへ送信\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
-msgstr "¸°%s¤ò%s¤ØÁ÷¿®\n"
+msgstr "鍵%sを%sへ送信\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
-msgstr "¡È%s¡É¤ò%s¥µ¡¼¥Ð¡¼%s¤«¤é¸¡º÷\n"
+msgstr "\"%s\"を%sサーバ%sから検索\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
-msgstr "¡È%s¡É¤ò¥µ¡¼¥Ð¡¼%s¤«¤é¸¡º÷\n"
+msgstr "\"%s\"をサーバ%sから検索\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¡¦¥¢¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó!\n"
+msgstr "鍵サーバ・アクションがありません!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
-msgstr "·Ù¹ð: ÊÌÈÇ (%s) ¤ÎGnuPG¤Î¸°¥µ¡¼¥Ð¡¼¡¦¥Ï¥ó¥É¥é\n"
+msgstr "*警告*: 別のバージョンのGnuPGの鍵サーバ・ハンドラ (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤ÏVERSION¤òÁ÷¿®¤·¤Þ¤»¤ó¤Ç¤·¤¿\n"
+msgstr "鍵サーバはVERSIONを送信しませんでした\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
-msgstr "´ûÃΤθ°¥µ¡¼¥Ð¡¼¤¬¤¢¤ê¤Þ¤»¤ó (¥ª¥×¥·¥ç¥ó--keyserver¤ò»È¤¤¤Þ¤·¤ç¤¦)\n"
+msgstr "既知の鍵サーバがありません (オプション--keyserverを使いましょう)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
-msgstr "¤³¤Î¹½ÃۤǤϡ¢³°Éô¸°¥µ¡¼¥Ð¡¼¤Î¸Æ½Ð¤·¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "このビルドでは、外部鍵サーバの呼出しはサポートしていません\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¡¦¥¹¥­¡¼¥à¡Ö%s¡×ÍѤΥϥó¥É¥é¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵サーバ・スキーム「%s」用のハンドラがありません\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
-msgstr "Áàºî¡Ö%s¡×¤Ï¡¢¸°¥µ¡¼¥Ð¡¼¡¦¥¹¥­¡¼¥à¡Ö%s¡×¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "操作「%s」は、鍵サーバ・スキーム「%s」でサポートされていません\n"
 
-#: g10/keyserver.c:1568
-#, fuzzy, c-format
+#: g10/keyserver.c:1665
+#, c-format
 msgid "%s does not support handler version %d\n"
-msgstr "gpgkeys_%s¤Ï¡¢¥Ï¥ó¥É¥é%dÈǤò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó\n"
+msgstr "%sはハンドラ・バージョン%dをサポートしません\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤Î¥¿¥¤¥à¥¢¥¦¥È\n"
+msgstr "鍵サーバのタイムアウト\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤ÎÆâÉô¥¨¥é¡¼\n"
+msgstr "é\8dµã\82µã\83¼ã\83\90ã\81®å\86\85é\83¨ã\82¨ã\83©ã\83¼\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼ÄÌ¿®¥¨¥é¡¼: %s\n"
+msgstr "é\8dµã\82µã\83¼ã\83\90é\80\9aä¿¡ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
-msgstr "¡È%s¡É¸°ID¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "\"%s\"鍵IDではありません: スキップします\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
-msgstr "·Ù¹ð: ¸°%s¤ò%s·Ðͳ¤Ç²óÉü¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "*警告*: 鍵%sを%s経由で回復できません: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
-msgstr "1Ëܤθ°¤ò%s¤«¤é²óÉü\n"
+msgstr "1本の鍵を%sから回復\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
-msgstr "%dËܤθ°¤ò%s¤«¤é²óÉü\n"
+msgstr "%d本の鍵を%sから回復\n"
 
-#: g10/keyserver.c:1987
-#, fuzzy, c-format
+#: g10/keyserver.c:2089
+#, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
-msgstr "·Ù¹ð: ¸°%s¤ò%s·Ðͳ¤Ç²óÉü¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "*警告*: URI %s からデータを取れません: %s\n"
 
-#: g10/keyserver.c:1993
-#, fuzzy, c-format
+#: g10/keyserver.c:2095
+#, c-format
 msgid "WARNING: unable to parse URI %s\n"
-msgstr "·Ù¹ð: ¸°%s¤ò%s·Ðͳ¤Ç²óÉü¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "*警告*: URI %s を解析できません\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
-msgstr "ÊѤÊŤµ¤Î°Å¹æ²½ºÑ¤ß¥»¥Ã¥·¥ç¥ó¸° (%d)\n"
+msgstr "変な長さの暗号化済みセッション鍵 (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
-msgstr "%s °Å¹æ²½ºÑ¤ß¥»¥Ã¥·¥ç¥ó¸°\n"
+msgstr "%s 暗号化済みセッション鍵\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
-msgstr "̤ÃΤÎÍ×Ì󥢥르¥ê¥º¥à¤ÇÀ¸À®¤µ¤ì¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º %d\n"
+msgstr "ä¸\8dæ\98\8eã\81®ã\83\80ã\82¤ã\82¸ã\82§ã\82¹ã\83\88ã\83»ã\82¢ã\83«ã\82´ã\83ªã\82ºã\83 ã\81§ç\94\9fæ\88\90ã\81\95ã\82\8cã\81\9fã\83\91ã\82¹ã\83\95ã\83¬ã\83¼ã\82º %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
-msgstr "¸ø³«¸°¤Ï%s¤Ç¤¹\n"
+msgstr "公開鍵は%sです\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
-msgstr "¸ø³«¸°¤Ë¤è¤ë°Å¹æ²½ºÑ¤ß¥Ç¡¼¥¿: Àµ¤·¤¤DEK¤Ç¤¹\n"
+msgstr "公開鍵による暗号化済みデータ: 正しいDEKです\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
-msgstr "%u-¥Ó¥Ã¥È%s¸°, ID %s, ÆüÉÕ%s¤Ë°Å¹æ²½¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%u-ビット%s鍵, ID %s, 日付%sに暗号化されました\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
-msgstr "      ¡È%s¡É\n"
+msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
-msgstr "%s¸°, ID %s¤Ç°Å¹æ²½¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s鍵, ID %sで暗号化されました\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
-msgstr "¸ø³«¸°¤ÎÉü¹æ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "公開鍵の復号に失敗しました: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
-msgstr "%lu ¸Ä¤Î¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ç°Å¹æ²½\n"
+msgstr "%lu 個のパスフレーズで暗号化\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
-msgstr "1 ¸Ä¤Î¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ç°Å¹æ²½\n"
+msgstr "1 個のパスフレーズで暗号化\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
-msgstr "%s°Å¹æ²½ºÑ¤ß¥Ç¡¼¥¿¤ò²¾Äê\n"
+msgstr "%s暗号化済みデータを仮定\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
-msgstr "IDEA°Å¹æË¡¤ÏÍøÍÑÉÔǽ¤Ê¤Î¤Ç¡¢³ÚŷŪ¤Ç¤¹¤¬%s¤ÇÂåÍѤ·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹\n"
+msgstr "IDEA暗号方式は利用不能なので、楽天的ですが%sで代用しようとしています\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
-msgstr "Éü¹æ¤ËÀ®¸ù\n"
+msgstr "復号に成功\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
-msgstr "·Ù¹ð: ¥á¥Ã¥»¡¼¥¸¤Î´°Á´À­¤ÏÊݸ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "*警告*: メッセージの完全性は保護されていません\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
-msgstr "·Ù¹ð: °Å¹æ²½¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤Ï²þã⤵¤ì¤Æ¤¤¤Þ¤¹!\n"
+msgstr "*警告*: 暗号化されたメッセージは改竄されています!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
-msgstr ""
+msgstr "保持したパスフレーズをクリアしました ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
-msgstr "Éü¹æ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "復号に失敗しました: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
-msgstr "Ãí°Õ: Á÷¿®¼Ô¤Ï¡ÈÆâ½ï¤Ë¤¹¤ë¡É¤è¤¦¤Ëµá¤á¤Æ¤¤¤Þ¤¹\n"
+msgstr "*注意*: 送信者は\"極秘とする\"ように求めています\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
-msgstr "¸µ¤Î¥Õ¥¡¥¤¥ë̾='%.*s'\n"
+msgstr "元のファイル名='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
-msgstr ""
+msgstr "*警告*: 複数のプレインテクストが見られます\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
-msgstr "ÆÈΩ¼º¸ú¡£¡Ègpg --import¡É¤ò»È¤Ã¤ÆŬÍѤ·¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "スタンドアロン失効 - \"gpg --import\"を使って適用してください\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
-#, fuzzy
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
-msgstr "¡È%s¡É¤«¤é¤ÎÀµ¤·¤¤½ð̾"
+msgstr "署名が見つかりません\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
-msgstr "½ð̾¤Î¸¡¾Ú¤ò¾Êά\n"
+msgstr "署名の検証を省略\n"
 
-#: g10/mainproc.c:1587
-#, fuzzy
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
-msgstr "¤³¤Î¿½Å½ð̾¤Ï¼è¤ê°·¤¨¤Þ¤»¤ó\n"
+msgstr "このあいまいな署名データは取り扱えません\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
-msgstr "%s¤Ë»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "%sに施された署名\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
-msgstr "               %s¸°%s¤ò»ÈÍÑ\n"
+msgstr "               %s鍵%sを使用\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
-msgstr "%s¤Ë%s¸°ID %s¤Ç»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "%sに%s鍵ID %sで施された署名\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
-msgstr "°Ê²¼¤Ë¸°¤¬¤¢¤ê¤Þ¤¹: "
+msgstr "以下に鍵があります: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
-msgstr "¡È%s¡É¤«¤é¤Î ÉÔÀµ¤Ê ½ð̾"
+msgstr "\"%s\"からの*不正な*署名"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
-msgstr "¡È%s¡É¤«¤é¤Î´ü¸ÂÀÚ¤ì¤Î½ð̾"
+msgstr "\"%s\"からの期限切れの署名"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
-msgstr "¡È%s¡É¤«¤é¤ÎÀµ¤·¤¤½ð̾"
+msgstr "\"%s\"からの正しい署名"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
-msgstr "[ÉÔ³ÎÄê]"
+msgstr "[不確定]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
-msgstr "                ÊÌ̾¡È%s¡É"
+msgstr "                別名\"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
-msgstr "´ü¸ÂÀÚ¤ì¤Î½ð̾ %s\n"
+msgstr "期限切れの署名 %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
-msgstr "¤³¤Î½ð̾¤Ï%s¤ÇËþλ¤Ç¤¹\n"
+msgstr "この署名は%sで期限切れとなります\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
-msgstr "%s½ð̾¡¢Í×Ì󥢥르¥ê¥º¥à %s\n"
+msgstr "%s署名、ダイジェスト・アルゴリズム %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
-msgstr "¥Ð¥¤¥Ê¥ê¡¼"
+msgstr "バイナリ"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
-msgstr "¥Æ¥­¥¹¥È¥â¡¼¥É"
+msgstr "テキストモード"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
-msgstr "̤ÃΤÎ"
+msgstr "不明の"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
-msgstr "½ð̾¤ò¸¡ºº¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "署名を検査できません: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
-msgstr "ʬΥ½ð̾¤Ç¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "分離署名でありません\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
-msgstr "·Ù¹ð: Â¿½Å½ð̾¤Î¸¡½Ð¡£ºÇ½é¤Î¤â¤Î¤À¤±¸¡ºº¤·¤Þ¤¹¡£\n"
+msgstr "*警告*: 多重署名の検出。最初のものだけ検査します。\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
-msgstr "¥¯¥é¥¹0x%02x¤ÎÆÈΩ½ð̾\n"
+msgstr "クラス0x%02xのスタンドアロン署名\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
-msgstr "¸Å¤¤·Á¼° (PGP 2.x) ¤Î½ð̾\n"
+msgstr "古い形式 (PGP 2.x) の署名\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
-msgstr "proc_tree() ¤ÎÃæ¤Ë̵¸ú¤Ê¥ë¡¼¥È¡¦¥Ñ¥±¥Ã¥È¤ò¸¡½Ð¤·¤Þ¤·¤¿\n"
+msgstr "proc_tree() の中に無効なルート・パケットを検出しました\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
-msgstr "¡Ö%s¡×¤Îfstat¤¬%s¤Ç¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "「%s」のfstatが%sで失敗しました: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
-msgstr "fstat(%d)¤¬%s¤Ç¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "fstat(%d)が%sで失敗しました: %s\n"
 
-#: g10/misc.c:296
-#, fuzzy, c-format
+#: g10/misc.c:299
+#, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
-msgstr "¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à%d¤Ï¡¢¼è¤ê°·¤¨¤Þ¤»¤ó\n"
+msgstr "*警告*: 実験的公開鍵アルゴリズム%sを使用します\n"
 
-#: g10/misc.c:302
-#, fuzzy
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
-msgstr "·Ù¹ð: Í×Ì󥢥르¥ê¥º¥à %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr "*警告*: Elgamal署名+暗号化鍵は廃止されています\n"
 
-#: g10/misc.c:315
-#, fuzzy, c-format
+#: g10/misc.c:318
+#, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
-msgstr "̤¼ÂÁõ¤Î°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
+msgstr "*警告*: 実験的暗号アルゴリズム %s を使用します\n"
 
-#: g10/misc.c:330
-#, fuzzy, c-format
+#: g10/misc.c:333
+#, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
-msgstr "%s½ð̾¡¢Í×Ì󥢥르¥ê¥º¥à %s\n"
+msgstr "*警告*: 実験的ダイジェスト・アルゴリズム %sを使用\n"
 
-#: g10/misc.c:335
-#, fuzzy, c-format
+#: g10/misc.c:338
+#, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
-msgstr "·Ù¹ð: Í×Ì󥢥르¥ê¥º¥à %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr "*警告*: ダイジェスト・アルゴリズム %s は廃止されています\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
-msgstr "IDEA°Å¹æË¡¤Î¥×¥é¥°¥¤¥ó¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "IDEA暗号方式のプラグインがありません\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
-#, fuzzy, c-format
+#: g10/misc.c:549 g10/sig-check.c:107
+#, c-format
 msgid "please see %s for more information\n"
-msgstr "¾ÜºÙ¤Ïhttp://www.gnupg.org/faq.html¤ò¤´Í÷¤¯¤À¤µ¤¤\n"
+msgstr "詳細は%sをご覧ください\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
-msgstr "%s:%d: ÌäÂê»ë¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¡È%s¡É\n"
+msgstr "%s:%d: 廃止されたオプション\"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
-msgstr "·Ù¹ð:¡È%s¡É¤Ï¡¢ÌäÂê»ë¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "*警告*: \"%s\"は、廃止されたオプションです\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
-msgstr "¡È%s%s¡É¤òÂå¤ï¤ê¤Ë»È¤Ã¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "\"%s%s\"を代わりに使ってください\n"
 
-#: g10/misc.c:774
-#, fuzzy, c-format
+#: g10/misc.c:836
+#, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
-msgstr "·Ù¹ð:¡È%s¡É¤Ï¡¢ÌäÂê»ë¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "*警告*: \"%s\" は、廃止されているコマンドです - 使わないでください\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
+"%s:%u: \"%s\"は、使われなくなったオプションです - なんの効果もありません\n"
 
-#: g10/misc.c:787
-#, fuzzy, c-format
+#: g10/misc.c:849
+#, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
-msgstr "·Ù¹ð:¡È%s¡É¤Ï¡¢ÌäÂê»ë¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr ""
+"*警告*: \"%s\"は、使われなくなったオプションです - なんの効果もありません\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
-msgstr "̵°µ½Ì"
+msgstr "無圧縮"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
-msgstr "̵°µ½Ì|¤Ê¤·"
+msgstr "無圧縮|なし"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
-msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï¡¢%s¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó\n"
+msgstr "このメッセージは、%sでは使用できません\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
-msgstr "¤¢¤¤¤Þ¤¤¤Ê¥ª¥×¥·¥ç¥ó¡Ö%s¡×\n"
+msgstr "あいまいなオプション「%s」\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
-msgstr "̤ÃΤΥª¥×¥·¥ç¥ó¡Ö%s¡×\n"
+msgstr "不明のオプション「%s」\n"
 
 #: g10/openfile.c:89
 #, c-format
 msgid "File `%s' exists. "
-msgstr "¥Õ¥¡¥¤¥ë¡Ö%s¡×¤Ï´û¤Ë¸ºß¤·¤Þ¤¹¡£"
+msgstr "ファイル「%s」は既に存在します。"
 
 #: g10/openfile.c:93
 msgid "Overwrite? (y/N) "
-msgstr "¾å½ñ¤­¤·¤Þ¤¹¤«? (y/N) "
+msgstr "上書きしますか? (y/N) "
 
 #: g10/openfile.c:126
 #, c-format
 msgid "%s: unknown suffix\n"
-msgstr "%s: Ì¤ÃΤγÈÄ¥»Ò\n"
+msgstr "%s: 不明の拡張子\n"
 
 #: g10/openfile.c:150
 msgid "Enter new filename"
-msgstr "¿·¤·¤¤¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "新しいファイル名を入力してください"
 
 #: g10/openfile.c:195
 msgid "writing to stdout\n"
-msgstr "ɸ½à½ÐÎϤ˽ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "標準出力に書き込みます\n"
 
 #: g10/openfile.c:316
 #, c-format
 msgid "assuming signed data in `%s'\n"
-msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¡Ö%s¡×¤Ë¤¢¤ë¤ÈÁÛÄꤷ¤Þ¤¹\n"
+msgstr "署名されたデータが「%s」にあると想定します\n"
 
 #: g10/openfile.c:395
 #, c-format
 msgid "new configuration file `%s' created\n"
-msgstr "¿·¤·¤¤¹½À®¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "新しいコンフィグレーション・ファイル「%s」ができました\n"
 
 #: g10/openfile.c:397
 #, c-format
 msgid "WARNING: options in `%s' are not yet active during this run\n"
-msgstr "·Ù¹ð: ¡Ö%s¡×¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¤·¤Æ¤¤¤ë´Ö¡¢Í­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó\n"
+msgstr "*警告*: 「%s」のオプションはこの実行では、まだ有効になりません\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
-msgstr "¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à%d¤Ï¡¢¼è¤ê°·¤¨¤Þ¤»¤ó\n"
+msgstr "公開鍵のアルゴリズム%dは、取り扱えません\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
-msgstr "·Ù¹ð: ÀøºßŪ¤Ë·õÆݤÊÂоΰŹ沽¥»¥Ã¥·¥ç¥ó¸°¤Ç¤¹\n"
+msgstr "*警告*: 潜在的にセキュアでない共通鍵暗号化セッション鍵です\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
-msgstr "·¿%d¤Î²¼°Ì¥Ñ¥±¥Ã¥È¤Ë¥¯¥ê¥Æ¥£¥«¥ë¡¦¥Ó¥Ã¥È¤òȯ¸«\n"
+msgstr "型%dの下位パケットにクリティカル・ビットを発見\n"
 
 #: g10/passphrase.c:75 g10/passphrase.c:418 g10/passphrase.c:481
-#, fuzzy, c-format
+#, c-format
 msgid "problem with the agent: %s\n"
-msgstr "¥¨¡¼¥¸¥§¥ó¥È¤Ë¾ã³²: ¥¨¡¼¥¸¥§¥ó¥È¤¬0x%lx¤òÊÖµÑ\n"
+msgstr "エージェントに問題: %s\n"
 
 #: g10/passphrase.c:344 g10/passphrase.c:613
 #, c-format
 msgid " (main key ID %s)"
-msgstr " (¼ç¸°ID %s)"
+msgstr " (主鍵ID %s)"
 
 #: g10/passphrase.c:358
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the OpenPGP "
 "certificate:\n"
@@ -5467,17 +5385,19 @@ msgid ""
 "%u-bit %s key, ID %s,\n"
 "created %s%s.\n"
 msgstr ""
-"¼¡¤Î¥æ¡¼¥¶¡¼¤ÎÈëÌ©¸°¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¤Ë¤Ï¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬¤¤¤ê¤Þ¤¹:\n"
+"OpenPGP証明書の秘密鍵のロックを解除するためにパスフレーズを入力してくださ"
+"い:\n"
 "\"%.*s\"\n"
-"%u¥Ó¥Ã¥È%s¸°, ID %sºîÀ®ÆüÉÕ¤Ï%s%s\n"
+"%uビット %s 鍵, ID %s,\n"
+"作成日付 %s%s。\n"
 
 #: g10/passphrase.c:384
 msgid "Enter passphrase\n"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎÏ\n"
+msgstr "パスフレーズを入力\n"
 
 #: g10/passphrase.c:412
 msgid "cancelled by user\n"
-msgstr "¥æ¡¼¥¶¡¼¤Ë¤è¤ë¼è¾Ã¤·\n"
+msgstr "ユーザによる取消し\n"
 
 #: g10/passphrase.c:592
 #, c-format
@@ -5485,20 +5405,20 @@ msgid ""
 "You need a passphrase to unlock the secret key for\n"
 "user: \"%s\"\n"
 msgstr ""
-"¼¡¤Î¥æ¡¼¥¶¡¼¤ÎÈëÌ©¸°¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¤Ë¤Ï\n"
-"¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬¤¤¤ê¤Þ¤¹:¡È%s¡É\n"
+"次のユーザの秘密鍵のロックを解除するには\n"
+"パスフレーズがいります:\"%s\"\n"
 
 #: g10/passphrase.c:600
 #, c-format
 msgid "%u-bit %s key, ID %s, created %s"
-msgstr "%u¥Ó¥Ã¥È%s¸°, ID %sºîÀ®ÆüÉÕ¤Ï%s"
+msgstr "%uビット%s鍵, ID %s作成日付は%s"
 
 #: g10/passphrase.c:609
 #, c-format
 msgid "         (subkey on main key ID %s)"
-msgstr "         (¼ç¸°ID %s ¤ÎÉû¸°)"
+msgstr "         (主鍵ID %s の副鍵)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5507,152 +5427,162 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 "\n"
-"¤¢¤Ê¤¿¤Î¥Õ¥©¥ÈID¤Ë»È¤¦²èÁü¤ò·è¤á¤Æ¤¯¤À¤µ¤¤¡£²èÁü¤ÏJPEG¥Õ¥¡¥¤¥ë¤Ç¤¢¤ëɬ\n"
-"Íפ¬¤¢¤ê¤Þ¤¹¡£²èÁü¤Ï¸ø³«¸°¤È¤¤¤Ã¤·¤ç¤Ë³ÊǼ¤µ¤ì¤ë¡¢¤È¤¤¤¦¤³¤È¤òǰƬ¤Ë¤ª\n"
-"¤¤¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£¤â¤·Â礭¤Ê¼Ì¿¿¤ò»È¤¦¤È¡¢¤¢¤Ê¤¿¤Î¸°¤âƱÍͤËÂ礭¤¯¤Ê¤ê\n"
-"¤Þ¤¹! 240x288¤¯¤é¤¤¤Ë¤ª¤µ¤Þ¤ëÂ礭¤µ¤Î²èÁü¤Ï¡¢»È¤¤¤è¤¤¤Ç¤·¤ç¤¦¡£\n"
+"あなたのフォトIDに使う画像を決めてください。画像はJPEGファイルである必\n"
+"要があります。画像は公開鍵といっしょに格納される、ということを念頭にお\n"
+"いておきましょう。もし大きな写真を使うと、あなたの鍵も同様に大きくなり\n"
+"ます! 240x288くらいにおさまる大きさの画像は、使いよいでしょう。\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
-msgstr "¥Õ¥©¥ÈIDÍѤÎJPEG¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: "
+msgstr "フォトID用のJPEGファイル名を入力してください: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
-msgstr "JPEG¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
+msgstr "JPEGファイル「%s」が開けません: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
-msgstr "¤³¤ÎJPEG¤Ï¡¢ËÜÅö¤ËÂ礭¤¤ (%d¥Ð¥¤¥È) !\n"
+msgstr "このJPEGは、本当に大きい (%dバイト) !\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
-msgstr "ËÜÅö¤Ë»È¤¤¤¿¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "本当に使いたいですか? (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
-msgstr "¡Ö%s¡×¤Ï¡¢JPEG¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "「%s」は、JPEGファイルではありません\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
-msgstr "¤³¤Î¼Ì¿¿¤ÏÀµ¤·¤¤¤Ç¤¹¤« (y/N/q)? "
+msgstr "この写真は正しいですか (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
-msgstr "¥Õ¥©¥ÈID¤¬É½¼¨ÉÔǽ!\n"
+msgstr "ã\83\95ã\82©ã\83\88IDã\81\8c表示ä¸\8dè\83½!\n"
 
 #: g10/pkclist.c:60 g10/revoke.c:621
 msgid "No reason specified"
-msgstr "Íýͳ¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
+msgstr "理由は指定されていません"
 
 #: g10/pkclist.c:62 g10/revoke.c:623
 msgid "Key is superseded"
-msgstr "¸°¤¬¤È¤ê¤«¤ï¤Ã¤Æ¤¤¤Þ¤¹"
+msgstr "鍵がとりかわっています"
 
 #: g10/pkclist.c:64 g10/revoke.c:622
 msgid "Key has been compromised"
-msgstr "¸°¤¬¥Ñ¥¯¤é¤ì¤Þ¤·¤¿"
+msgstr "鍵(の信頼性)が損なわれています"
 
 #: g10/pkclist.c:66 g10/revoke.c:624
 msgid "Key is no longer used"
-msgstr "¸°¤Ï¤â¤¦ÉÔÍѤǤ¹"
+msgstr "鍵はもはや使われていません"
 
 #: g10/pkclist.c:68 g10/revoke.c:625
 msgid "User ID is no longer valid"
-msgstr "¥æ¡¼¥¶¡¼ID¤¬¤â¤¦Í­¸ú¤Ç¤¢¤ê¤Þ¤»¤ó"
+msgstr "ユーザIDがもはや有効でありません"
 
 #: g10/pkclist.c:72
 msgid "reason for revocation: "
-msgstr "¼º¸úÍýͳ: "
+msgstr "失効理由: "
 
 #: g10/pkclist.c:89
 msgid "revocation comment: "
-msgstr "¼º¸ú¤Î¥³¥á¥ó¥È: "
+msgstr "失効のコメント: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
 
 #: g10/pkclist.c:212
 msgid "No trust value assigned to:\n"
-msgstr "¿®ÍÑÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó:\n"
+msgstr "信用度が指定されていません:\n"
 
 #: g10/pkclist.c:245
 #, c-format
 msgid "  aka \"%s\"\n"
-msgstr "  ÊÌ̾¡È%s¡É\n"
+msgstr "  別名\"%s\"\n"
 
 #: g10/pkclist.c:255
 msgid ""
 "How much do you trust that this key actually belongs to the named user?\n"
 msgstr ""
-"¤³¤Î¸°¤¬¤³¤Î¥æ¡¼¥¶¡¼¤ò¤Ê¤Î¤ëËܿͤΤâ¤Î¤«¤É¤¦¤«¡¢¤É¤ì¤¯¤é¤¤¿®ÍѤǤ­¤Þ¤¹¤«?\n"
+"この鍵がこのユーザをなのる本人のものかどうか、どれくらい信用できますか?\n"
 
 #: g10/pkclist.c:270
 #, c-format
 msgid "  %d = I don't know or won't say\n"
-msgstr "  %d = ÃΤé¤Ê¤¤¡¢¤Þ¤¿¤Ï²¿¤È¤â¸À¤¨¤Ê¤¤\n"
+msgstr "  %d = 知らない、または何とも言えない\n"
 
 #: g10/pkclist.c:272
 #, c-format
 msgid "  %d = I do NOT trust\n"
-msgstr "  %d = ¿®ÍѤ· ¤Ê¤¤\n"
+msgstr "  %d = 信用し ない\n"
 
 #: g10/pkclist.c:278
 #, c-format
 msgid "  %d = I trust ultimately\n"
-msgstr "  %d = ÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë\n"
+msgstr "  %d = 絶対的に信用する\n"
 
 #: g10/pkclist.c:284
 msgid "  m = back to the main menu\n"
-msgstr "  m = ¥á¡¼¥ó¡¦¥á¥Ë¥å¡¼¤ËÌá¤ë\n"
+msgstr "  m = メーン・メニューに戻る\n"
 
 #: g10/pkclist.c:287
 msgid "  s = skip this key\n"
-msgstr "  s = ¤³¤Î¸°¤Ï¤È¤Ð¤¹\n"
+msgstr "  s = この鍵はとばす\n"
 
 #: g10/pkclist.c:288
 msgid "  q = quit\n"
-msgstr "  q = ½ªÎ»\n"
+msgstr "  q = 終了\n"
 
 #: g10/pkclist.c:292
 #, c-format
 msgid ""
 "The minimum trust level for this key is: %s\n"
 "\n"
-msgstr "¤³¤Î¸°¤ÎºÇ¾®¿®ÍÑ¥ì¥Ù¥ë: %s\n"
+msgstr "この鍵の最小信用レベル: %s\n"
 
 #: g10/pkclist.c:298 g10/revoke.c:650
 msgid "Your decision? "
-msgstr "¤¢¤Ê¤¿¤Î·èÄê¤Ï? "
+msgstr "あなたの決定は? "
 
 #: g10/pkclist.c:319
 msgid "Do you really want to set this key to ultimate trust? (y/N) "
-msgstr "ËÜÅö¤Ë¤³¤Î¸°¤òÀäÂÐŪ¤Ë¿®ÍѤ·¤Þ¤¹¤«? (y/N) "
+msgstr "本当にこの鍵を絶対的に信用しますか? (y/N) "
 
 #: g10/pkclist.c:333
 msgid "Certificates leading to an ultimately trusted key:\n"
-msgstr "ÀäÂÐŪ¤Ë¿®ÍѤ·¤¿¸°¤Ø¤Î¾ÚÌÀ½ñ:\n"
+msgstr "絶対的に信用した鍵への証明書:\n"
 
 #: g10/pkclist.c:418
 #, c-format
 msgid "%s: There is no assurance this key belongs to the named user\n"
-msgstr "%s: ¤³¤Î¸°¤¬ËÜÅö¤ËËܿͤΤâ¤Î¤Ç¤¢¤ë¡¢¤È¤¤¤¦Ãû¸õ¤¬¡¢¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "%s: この鍵が本当に本人のものである、という兆候が、ありません\n"
 
 #: g10/pkclist.c:423
 #, c-format
 msgid "%s: There is limited assurance this key belongs to the named user\n"
-msgstr "%s: ¤³¤Î¸°¤¬ËÜÅö¤ËËܿͤΤâ¤Î¤Ç¤¢¤ë¡¢¤È¤¤¤¦Ãû¸õ¤¬¡¢¾¯¤·¤·¤«¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "%s: この鍵が本当に本人のものである、という兆候が、少ししかありません\n"
 
 #: g10/pkclist.c:429
 msgid "This key probably belongs to the named user\n"
-msgstr "¤³¤Î¸°¤Ï¤¿¤Ö¤óËܿͤΤâ¤Î¤Ç¤¹\n"
+msgstr "この鍵はたぶん本人のものです\n"
 
 #: g10/pkclist.c:434
 msgid "This key belongs to us\n"
-msgstr "¤³¤Î¸°¤Ï¼«Ê¬¤Î¤â¤Î¤Ç¤¹\n"
+msgstr "この鍵は自分のものです\n"
 
 #: g10/pkclist.c:460
 msgid ""
@@ -5660,286 +5590,285 @@ msgid ""
 "in the user ID.  If you *really* know what you are doing,\n"
 "you may answer the next question with yes.\n"
 msgstr ""
-"¤³¤Î¸°¤Ï¡¢¤³¤Î¥æ¡¼¥¶¡¼ID¤ò¤Ê¤Î¤ëËܿͤΤâ¤Î¤«¤É¤¦¤«³Î¿®¤Ç¤­\n"
-"¤Þ¤»¤ó¡£º£¤«¤é¹Ô¤¦¤³¤È¤ò¡öËÜÅö¤Ë¡öÍý²ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢\n"
-"¼¡¤Î¼ÁÌä¤Ë¤Ïno¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£\n"
+"この鍵は、このユーザIDをなのる本人のものかどうか確信でき\n"
+"ません。今から行うことを*本当に*理解していない場合には、\n"
+"次の質問にはnoと答えてください。\n"
 
 #: g10/pkclist.c:479
 msgid "Use this key anyway? (y/N) "
-msgstr "¤½¤ì¤Ç¤â¤³¤Î¸°¤ò»È¤¤¤Þ¤¹¤«? (y/N) "
+msgstr "それでもこの鍵を使いますか? (y/N) "
 
 #: g10/pkclist.c:513
 msgid "WARNING: Using untrusted key!\n"
-msgstr "·Ù¹ð: ¿®ÍѤǤ­¤Ê¤¤¸°¤ò»È¤Ã¤Æ¤¤¤Þ¤¹!\n"
+msgstr "*警告*: 信用できない鍵を使っています!\n"
 
 #: g10/pkclist.c:520
 msgid "WARNING: this key might be revoked (revocation key not present)\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï¼º¸ú¤µ¤ì¤¿¤è¤¦¤Ç¤¹ (¼º¸ú¸°¤ÏÉÔºß)\n"
+msgstr "*警告*: この鍵は失効されたようです (失効鍵は不在)\n"
 
 #: g10/pkclist.c:529
 msgid "WARNING: This key has been revoked by its designated revoker!\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï»Ø̾¼º¸ú¼Ô¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹!\n"
+msgstr "*警告*: この鍵は指名失効者によって失効されています!\n"
 
 #: g10/pkclist.c:532
 msgid "WARNING: This key has been revoked by its owner!\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï½êÍ­¼Ô¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹!\n"
+msgstr "*警告*: この鍵は所有者によって失効されています!\n"
 
 #: g10/pkclist.c:533
 msgid "         This could mean that the signature is forged.\n"
-msgstr "      ½ð̾¤¬µ¶Êª¤Ê¤³¤È¤â¤¢¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£\n"
+msgstr "      署名が偽物なこともある、ということです。\n"
 
 #: g10/pkclist.c:539
 msgid "WARNING: This subkey has been revoked by its owner!\n"
-msgstr "·Ù¹ð: ¤³¤ÎÉû¸°¤Ï½êÍ­¼Ô¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹!\n"
+msgstr "*警告*: この副鍵は所有者によって失効されています!\n"
 
 #: g10/pkclist.c:544
 msgid "Note: This key has been disabled.\n"
-msgstr "Ãí°Õ: ¤³¤Î¸°¤Ï»ÈÍѶػߤËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+msgstr "注意: この鍵は使用禁止に設定されています。\n"
 
 #: g10/pkclist.c:564
 #, c-format
 msgid "Note: Verified signer's address is `%s'\n"
-msgstr ""
+msgstr "注意: 確認された署名者のアドレスは「%s」です\n"
 
 #: g10/pkclist.c:571
 #, c-format
 msgid "Note: Signer's address `%s' does not match DNS entry\n"
-msgstr ""
+msgstr "注意: 署名者のアドレス「%s」がDNSのエントリと一致しません\n"
 
 #: g10/pkclist.c:583
 msgid "trustlevel adjusted to FULL due to valid PKA info\n"
-msgstr ""
+msgstr "PKA情報が有効のため、信用レベルがFULLに調整されました\n"
 
 #: g10/pkclist.c:591
 msgid "trustlevel adjusted to NEVER due to bad PKA info\n"
-msgstr ""
+msgstr "PKA情報が無効のため、信用レベルがNEVERに調整されました\n"
 
 #: g10/pkclist.c:602
 msgid "Note: This key has expired!\n"
-msgstr "Ãí°Õ: ¤³¤Î¸°¤ÏËþλ¤Ç¤¹!\n"
+msgstr "注意: この鍵は期限切れです!\n"
 
 #: g10/pkclist.c:613
 msgid "WARNING: This key is not certified with a trusted signature!\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï¿®ÍѤǤ­¤ë½ð̾¤Ç¾ÚÌÀ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó!\n"
+msgstr "*警告*: この鍵は信用できる署名で証明されていません!\n"
 
 #: g10/pkclist.c:615
 msgid ""
 "         There is no indication that the signature belongs to the owner.\n"
-msgstr "      ¤³¤Î½ð̾¤¬½êÍ­¼Ô¤Î¤â¤Î¤«¤É¤¦¤«¤Î¸¡¾Ú¼êÃʤ¬¤¢¤ê¤Þ¤»¤ó¡£\n"
+msgstr "      この署名が所有者のものかどうかの検証手段がありません。\n"
 
 #: g10/pkclist.c:623
 msgid "WARNING: We do NOT trust this key!\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï¿®ÍѤǤ­¤Þ ¤»¤ó!\n"
+msgstr "*警告*: この鍵は信用できません!\n"
 
 #: g10/pkclist.c:624
 msgid "         The signature is probably a FORGERY.\n"
-msgstr "      ¤³¤Î½ð̾¤Ï¤ª¤½¤é¤¯ µ¶Êª ¤Ç¤¹¡£\n"
+msgstr "      この署名はおそらく 偽物 です。\n"
 
 #: g10/pkclist.c:632
 msgid ""
 "WARNING: This key is not certified with sufficiently trusted signatures!\n"
-msgstr "·Ù¹ð: ¤³¤Î¸°¤Ï½½Ê¬¤Ë¿®ÍѤǤ­¤ë½ð̾¤Ç¾ÚÌÀ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó!\n"
+msgstr "*警告*: この鍵は十分に信用できる署名で証明されていません!\n"
 
 #: g10/pkclist.c:634
 msgid "         It is not certain that the signature belongs to the owner.\n"
-msgstr "      ¤³¤Î½ð̾¤¬½êÍ­¼Ô¤Î¤â¤Î¤«¤É¤¦¤«³Î¿®¤Ç¤­¤Þ¤»¤ó¡£\n"
+msgstr "      この署名が所有者のものかどうか確信できません。\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
-msgstr "%s: ¥¹¥­¥Ã¥×: %s\n"
+msgstr "%s: スキップ: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
-msgstr "%s: ¥¹¥­¥Ã¥×: ¸ø³«¸°¤Ï¤â¤¦¤¢¤ê¤Þ¤¹\n"
+msgstr "%s: スキップ: 公開鍵はもうあります\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
-msgstr "¥æ¡¼¥¶¡¼ID¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó (¡È-r¡É¤ò»È¤¤¤Þ¤·¤ç¤¦) ¡£\n"
+msgstr "ユーザIDを指定していません (\"-r\"を使いましょう) 。\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
-msgstr "º£¤Î¼õ¼è¿Í:\n"
+msgstr "今の受取人:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
 "\n"
-"¥æ¡¼¥¶¡¼ID¤òÆþÎÏ¡£¶õ¹Ô¤Ç½ªÎ»: "
+"ユーザIDを入力。空行で終了: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
-msgstr "¤½¤Î¥æ¡¼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
+msgstr "そのユーザIDはありません。\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
-msgstr "¥¹¥­¥Ã¥×: ¸ø³«¸°¤Ï´ûÄê¤Î¼õ¼è¿Í¤È¤·¤Æ¤â¤¦ÀßÄêºÑ¤ß¤Ç¤¹\n"
+msgstr "スキップ: 公開鍵はデフォルトの受取人としてもう設定済みです\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
-msgstr "¸ø³«¸°¤Ï»ÈÍѶػߤǤ¹¡£\n"
+msgstr "公開鍵は使用禁止です。\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
-msgstr "¥¹¥­¥Ã¥×: ¸ø³«¸°¤Ï¤â¤¦ÀßÄêºÑ¤ß¤Ç¤¹\n"
+msgstr "スキップ: 公開鍵はもう設定済みです\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
-msgstr "´ûÄê¤Î¼õ¼è¿Í¡È%s¡É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "デフォルトの受取人\"%s\"が不明です\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
-msgstr "%s: ¥¹¥­¥Ã¥×: ¸ø³«¸°¤Ï»ÈÍѶػߤǤ¹\n"
+msgstr "%s: スキップ: 公開鍵は使用禁止です\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
-msgstr "Í­¸ú¤Ê°¸À褬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "有効な宛先がありません\n"
 
-#: g10/pkclist.c:1503
-#, fuzzy, c-format
+#: g10/pkclist.c:1513
+#, c-format
 msgid "Note: key %s has no %s feature\n"
-msgstr "¸°%s¤Ë¤Ï¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "注意: 鍵%sには %s の機能がありません\n"
 
-#: g10/pkclist.c:1528
-#, fuzzy, c-format
+#: g10/pkclist.c:1538
+#, c-format
 msgid "Note: key %s has no preference for %s\n"
-msgstr "¸°%s¤Ë¤Ï¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "注意: 鍵%sには%sに対する優先指定がありません\n"
 
 #: g10/plaintext.c:95
 msgid "data not saved; use option \"--output\" to save it\n"
 msgstr ""
-"¥Ç¡¼¥¿¤ÏÊݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
-"Êݸ¤¹¤ë¤Ë¤Ï¡È--output¡É¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤\n"
+"データは保存されていません。保存には\"--output\"オプションを使ってください\n"
 
 #: g10/plaintext.c:480
 msgid "Detached signature.\n"
-msgstr "ʬΥ½ð̾¡£\n"
+msgstr "分離署名。\n"
 
 #: g10/plaintext.c:487
 msgid "Please enter name of data file: "
-msgstr "¥Ç¡¼¥¿¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÆþÎÏ: "
+msgstr "データ・ファイルの名前を入力: "
 
 #: g10/plaintext.c:519
 msgid "reading stdin ...\n"
-msgstr "ɸ½àÆþÎϤè¤êÆɽФ·Ãæ ...\n"
+msgstr "標準入力より読み込み中 ...\n"
 
 #: g10/plaintext.c:557
 msgid "no signed data\n"
-msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "署名されたデータがありません\n"
 
 #: g10/plaintext.c:573
 #, c-format
 msgid "can't open signed data `%s'\n"
-msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó\n"
+msgstr "署名されたデータ「%s」が開けません\n"
 
 #: g10/plaintext.c:607
-#, fuzzy, c-format
+#, c-format
 msgid "can't open signed data fd=%d: %s\n"
-msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó\n"
+msgstr "署名されたデータ fd=%d が開けません: %s\n"
 
 #: g10/pubkey-enc.c:105
 #, c-format
 msgid "anonymous recipient; trying secret key %s ...\n"
-msgstr "ƿ̾¤Î¼õ¼è¿ÍÍѤǤ¹¡£ÈëÌ©¸°%s¤ò»î¤·¤Þ¤¹ ...\n"
+msgstr "匿名の受取人用です。秘密鍵%sを試します ...\n"
 
 #: g10/pubkey-enc.c:136
 msgid "okay, we are the anonymous recipient.\n"
-msgstr "½ªÎ»¡£Æ¿Ì¾¤Î¼õ¼è¿ÍÍѤǤ¹¡£\n"
+msgstr "終了。匿名の受取人用です。\n"
 
 #: g10/pubkey-enc.c:225
 msgid "old encoding of the DEK is not supported\n"
-msgstr "µì¼°¤ÎDEKÉä¹æ¤Ï¡¢¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "DEKの旧式エンコーディングは、サポートしていません\n"
 
 #: g10/pubkey-enc.c:246
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
-msgstr "°Å¹æ¥¢¥ë¥´¥ê¥º¥à%d%s¤Ï̤ÃΤ«»ÈÍѶػߤǤ¹\n"
+msgstr "暗号アルゴリズム%d%sは不明か使用禁止です\n"
 
 #: g10/pubkey-enc.c:284
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
-msgstr "·Ù¹ð: °Å¹æ¥¢¥ë¥´¥ê¥º¥à%s¤Ï¼õ¼è¿Í¤ÎÁª¹¥¤ËÆþ¤Ã¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "*警告*: 暗号アルゴリズム%sは受取人の優先指定に入っていません\n"
 
 #: g10/pubkey-enc.c:304
 #, c-format
 msgid "NOTE: secret key %s expired at %s\n"
-msgstr "Ãí°Õ: ÈëÌ©¸°%s¤Ï%s¤ÇËþλ¤Ç¤¹\n"
+msgstr "*注意*: 秘密鍵%sは%sで期限切れとなります\n"
 
 #: g10/pubkey-enc.c:310
 msgid "NOTE: key has been revoked"
-msgstr "Ãí°Õ: ¸°¤Ï¼º¸úºÑ¤ß¤Ç¤¹"
+msgstr "*注意*: 鍵は失効済みです"
 
 #: g10/revoke.c:102 g10/revoke.c:116 g10/revoke.c:128 g10/revoke.c:174
 #: g10/revoke.c:186 g10/revoke.c:585
 #, c-format
 msgid "build_packet failed: %s\n"
-msgstr "build_packet ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "build_packet に失敗しました: %s\n"
 
 #: g10/revoke.c:145
 #, c-format
 msgid "key %s has no user IDs\n"
-msgstr "¸°%s¤Ë¤Ï¥æ¡¼¥¶¡¼ID¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%sにはユーザIDがありません\n"
 
 #: g10/revoke.c:306
 msgid "To be revoked by:\n"
-msgstr "¼º¸ú¼Ô:\n"
+msgstr "失効者:\n"
 
 #: g10/revoke.c:310
 msgid "(This is a sensitive revocation key)\n"
-msgstr "(¤³¤ì¤Ï¡¢¥Ç¥ê¥±¡¼¥È¤Ê¼º¸ú¸°¤Ç¤¹)\n"
+msgstr "(これは、機密指定の失効鍵です)\n"
 
 #: g10/revoke.c:314
 msgid "Create a designated revocation certificate for this key? (y/N) "
-msgstr "¤³¤Î¸°¤Ë¤¿¤¤¤¹¤ë»Ø̾¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この鍵にたいする指名失効証明書を作成しますか? (y/N) "
 
 #: g10/revoke.c:327 g10/revoke.c:551
 msgid "ASCII armored output forced.\n"
-msgstr "ASCIIÊñÁõ½ÐÎϤò¶¯À©¤·¤Þ¤¹¡£\n"
+msgstr "ASCII外装出力を強制します。\n"
 
 #: g10/revoke.c:342 g10/revoke.c:565
 #, c-format
 msgid "make_keysig_packet failed: %s\n"
-msgstr "make_keysig_packet ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "make_keysig_packet に失敗しました: %s\n"
 
 #: g10/revoke.c:405
 msgid "Revocation certificate created.\n"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¡£\n"
+msgstr "失効証明書を作成。\n"
 
 #: g10/revoke.c:411
 #, c-format
 msgid "no revocation keys found for \"%s\"\n"
-msgstr "¡È%s¡ÉÍѤμº¸ú¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "\"%s\"用の失効鍵が見つかりません\n"
 
 #: g10/revoke.c:470
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
-msgstr "ÈëÌ©¸°¡È%s¡É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "秘密鍵\"%s\"が見つかりません: %s\n"
 
 #: g10/revoke.c:497
 #, c-format
 msgid "no corresponding public key: %s\n"
-msgstr "Âбþ¤¹¤ë¸ø³«¸°¤¬¤¢¤ê¤Þ¤»¤ó: %s\n"
+msgstr "対応する公開鍵がありません: %s\n"
 
 #: g10/revoke.c:508
 msgid "public key does not match secret key!\n"
-msgstr "¸ø³«¸°¤ÈÈëÌ©¸°¤¬¾È¹ç¤·¤Þ¤»¤ó!\n"
+msgstr "公開鍵と秘密鍵が照合しません!\n"
 
 #: g10/revoke.c:515
 msgid "Create a revocation certificate for this key? (y/N) "
-msgstr "¤³¤Î¸°¤Ë¤¿¤¤¤¹¤ë¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¤«? (y/N) "
+msgstr "この鍵にたいする失効証明書を作成しますか? (y/N) "
 
 #: g10/revoke.c:532
 msgid "unknown protection algorithm\n"
-msgstr "̤ÃΤÎÊݸ¥ë¥´¥ê¥º¥à¤Ç¤¹\n"
+msgstr "不明の保護アルゴリズムです\n"
 
 #: g10/revoke.c:540
 msgid "NOTE: This key is not protected!\n"
-msgstr "Ãí°Õ: ¤³¤Î¸°¤ÏÊݸ¤ì¤Æ¤¤¤Þ¤»¤ó!\n"
+msgstr "*注意*: この鍵は保護されていません!\n"
 
 #: g10/revoke.c:591
 msgid ""
@@ -5951,61 +5880,64 @@ msgid ""
 "your media become unreadable.  But have some caution:  The print system of\n"
 "your machine might store the data and make it available to others!\n"
 msgstr ""
-"¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤·¤¿¡£\n"
+"失効証明書を作成しました。\n"
 "\n"
-"¸«¤Ä¤«¤é¤Ê¤¤¤è¤¦¤ÊÇÞÂΤ˰ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¥ï¥ë¤¬¤³¤Î¾ÚÌÀ½ñ¤Ø¤Î\n"
-"¥¢¥¯¥»¥¹¤òÆÀ¤ë¤È¡¢¤½¤¤¤Ä¤Ï¤¢¤Ê¤¿¤Î¸°¤ò»È¤¨¤Ê¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\n"
-"ÇÞÂΤ¬ÆɽФ·ÉÔǽ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤ËÈ÷¤¨¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò°õºþ¤·¤ÆÊݴɤ¹¤ë¤Î\n"
-"¤¬¸­ÌÀ¤Ç¤¹¡£¤·¤«¤·¡¢¤´Ãí°Õ¤¯¤À¤µ¤¤¡£¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Î°õ»ú¥·¥¹¥Æ¥à¤Ï¡¢\n"
-"¤À¤ì¤Ç¤â¸«¤¨¤ë¾ì½ê¤Ë¥Ç¡¼¥¿¤ò¤ª¤¯¤³¤È¤¬¤¢¤ê¤Þ¤¹!\n"
+"みつからないように隠せるような媒体に移してください。もし_悪者_がこの証明書へ"
+"の\n"
+"アクセスを得ると、あなたの鍵を使えなくすることができます。\n"
+"媒体が読出し不能になった場合に備えて、この証明書を印刷して保管するのが賢明で"
+"す。\n"
+"しかし、ご注意ください。あなたのマシンの印字システムは、他の人がアクセスでき"
+"る\n"
+"場所にデータをおくことがあります!\n"
 
 #: g10/revoke.c:633
 msgid "Please select the reason for the revocation:\n"
-msgstr "¼º¸ú¤ÎÍýͳ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:\n"
+msgstr "失効の理由を選択してください:\n"
 
 #: g10/revoke.c:643
 msgid "Cancel"
-msgstr "¥­¥ã¥ó¥»¥ë"
+msgstr "キャンセル"
 
 #: g10/revoke.c:645
 #, c-format
 msgid "(Probably you want to select %d here)\n"
-msgstr "(¤³¤³¤Ç¤Ï¤¿¤Ö¤ó%d¤òÁª¤Ó¤Þ¤¹)\n"
+msgstr "(ここではたぶん%dを選びたいでしょう)\n"
 
 #: g10/revoke.c:686
 msgid "Enter an optional description; end it with an empty line:\n"
-msgstr "ͽÈ÷¤ÎÀâÌÀ¤òÆþÎÏ¡£¶õ¹Ô¤Ç½ªÎ»:\n"
+msgstr "予備の説明を入力。空行で終了:\n"
 
 #: g10/revoke.c:714
 #, c-format
 msgid "Reason for revocation: %s\n"
-msgstr "¼º¸úÍýͳ: %s\n"
+msgstr "失効理由: %s\n"
 
 #: g10/revoke.c:716
 msgid "(No description given)\n"
-msgstr "(ÀâÌÀ¤Ï¤¢¤ê¤Þ¤»¤ó)\n"
+msgstr "(説明はありません)\n"
 
 #: g10/revoke.c:721
 msgid "Is this okay? (y/N) "
-msgstr "¤è¤í¤·¤¤¤Ç¤¹¤«? (y/N) "
+msgstr "よろしいですか? (y/N) "
 
 #: g10/seckey-cert.c:55
 msgid "secret key parts are not available\n"
-msgstr "ÈëÌ©Éôʬ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó\n"
+msgstr "秘密部分が得られません\n"
 
 #: g10/seckey-cert.c:61
 #, c-format
 msgid "protection algorithm %d%s is not supported\n"
-msgstr "Êݸ¥ë¥´¥ê¥º¥à%d%s¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "保護アルゴリズム%d%sはサポートしていません\n"
 
 #: g10/seckey-cert.c:72
 #, c-format
 msgid "protection digest %d is not supported\n"
-msgstr "ÊݸîÍ×Ìó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "保護ダイジェスト%dはサポートしていません\n"
 
 #: g10/seckey-cert.c:291
 msgid "Invalid passphrase; please try again"
-msgstr "̵¸ú¤Ê¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ç¤¹¡£ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "無効なパスフレーズです。再入力してください"
 
 #: g10/seckey-cert.c:292
 #, c-format
@@ -6014,175 +5946,182 @@ msgstr "%s ...\n"
 
 #: g10/seckey-cert.c:361
 msgid "WARNING: Weak key detected - please change passphrase again.\n"
-msgstr "·Ù¹ð: ¼å¤¤¸°¤ò¸¡½Ð¤·¤Þ¤·¤¿¡£¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr "*警告*: 弱い鍵を検出しました。パスフレーズを変更してください。\n"
 
 #: g10/seckey-cert.c:404
 msgid "generating the deprecated 16-bit checksum for secret key protection\n"
-msgstr "ÌäÂê»ë¤µ¤ì¤¿16¥Ó¥Ã¥È¤Î¥Á¥§¥Ã¥¯¥µ¥à¤òÈëÌ©¸°¤ÎÊݸî¤ËÀ¸À®\n"
+msgstr "廃止された16ビットのチェックサムを秘密鍵の保護に生成\n"
 
 #: g10/seskey.c:61 sm/encrypt.c:119
 msgid "weak key created - retrying\n"
-msgstr "¼å¤¤¸°¤¬¤Ç¤­¤Þ¤·¤¿ - ºÆ¼Â¹Ô\n"
+msgstr "弱い鍵ができました - 再実行\n"
 
 #: g10/seskey.c:65
 #, c-format
 msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
-msgstr "ÂоΰŹæË¡¤Î¼å¤¤¸°¤ò²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£%d²ó»î¤ß¤Þ¤·¤¿!\n"
+msgstr "共通鍵暗号方式の弱い鍵を回避することができません。%d回試みました!\n"
 
 #: g10/seskey.c:227 sm/certcheck.c:85
 msgid "DSA requires the hash length to be a multiple of 8 bits\n"
-msgstr ""
+msgstr "DSAは8ビットの倍数のハッシュ長を必要とします\n"
 
 #: g10/seskey.c:240
 #, c-format
 msgid "DSA key %s uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "DSA鍵 %sは安全でない(%uビット)ハッシュを用います\n"
 
 #: g10/seskey.c:252
 #, c-format
 msgid "DSA key %s requires a %u bit or larger hash\n"
-msgstr ""
+msgstr "DSA鍵 %s は%u ビットあるいはより大きいハッシュを必要とします\n"
 
 #: g10/sig-check.c:80
 msgid "WARNING: signature digest conflict in message\n"
-msgstr "·Ù¹ð: ½ð̾¤ÎÍ×Ì󤬡¢¥á¥Ã¥»¡¼¥¸¤ÈÌ·½â¤·¤Þ¤¹\n"
+msgstr "*警告*: 署名のダイジェストが、メッセージと衝突します\n"
 
 #: g10/sig-check.c:105
 #, c-format
 msgid "WARNING: signing subkey %s is not cross-certified\n"
-msgstr "·Ù¹ð: ½ð̾Éû¸°%s¤Ï¡¢Áê¸ß¾ÚÌÀ¤Ç¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "*警告*: 署名副鍵%sは、相互証明されてません\n"
 
 #: g10/sig-check.c:117
 #, c-format
 msgid "WARNING: signing subkey %s has an invalid cross-certification\n"
-msgstr "·Ù¹ð: Ìµ¸ú¤ÊÁê¸ß¾ÚÌÀ¤¬¡¢½ð̾Éû¸°%s¤Ë¤¢¤ê¤Þ¤¹\n"
+msgstr "*警告*: 無効な相互証明が、署名副鍵%sにあります\n"
 
 #: g10/sig-check.c:211
 #, c-format
 msgid "public key %s is %lu second newer than the signature\n"
-msgstr "¸ø³«¸°%s¤Ï¡¢½ð̾¤Î%luÉÃÁ°¤Ç¤¹\n"
+msgstr "公開鍵%sは、署名よりも%lu秒新しいものです\n"
 
 #: g10/sig-check.c:212
 #, c-format
 msgid "public key %s is %lu seconds newer than the signature\n"
-msgstr "¸ø³«¸°%s¤Ï¡¢½ð̾¤Î%luÉÃÁ°¤Ç¤¹\n"
+msgstr "公開鍵%sは、署名よりも%lu秒新しいものです\n"
 
 #: g10/sig-check.c:223
 #, c-format
 msgid ""
 "key %s was created %lu second in the future (time warp or clock problem)\n"
-msgstr "¸°%s¤Ï%luÉÃ̤Íè¤Ë¤Ç¤­¤Þ¤·¤¿ (»þ´Öι¹Ô¤«»þ·×¤Î¾ã³²¤Ç¤·¤ç¤¦)\n"
+msgstr "鍵%sは%lu秒未来にできました (時間歪曲か時計の障害でしょう)\n"
 
 #: g10/sig-check.c:225
 #, c-format
 msgid ""
 "key %s was created %lu seconds in the future (time warp or clock problem)\n"
-msgstr "¸°%s¤Ï%luÉÃ̤Íè¤Ë¤Ç¤­¤Þ¤·¤¿ (»þ´Öι¹Ô¤«»þ·×¤Î¾ã³²¤Ç¤·¤ç¤¦)\n"
+msgstr "鍵%sは%lu秒未来にできました (時間歪曲か時計の障害でしょう)\n"
 
 #: g10/sig-check.c:239
 #, c-format
 msgid "NOTE: signature key %s expired %s\n"
-msgstr "Ãí°Õ: ½ð̾¸°%s¤Ï%s¤ËËþλ¤Ç¤¹\n"
+msgstr "*注意*: 署名鍵%sは%sに期限切れとなります\n"
 
 #: g10/sig-check.c:252
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: signature key %s has been revoked\n"
-msgstr "Ãí°Õ: ¸°¤Ï¼º¸úºÑ¤ß¤Ç¤¹"
+msgstr "*注意*: 鍵 %s は失効済みです\n"
+
+#: g10/sig-check.c:280
+#, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "注意: %s のアルゴリズムを使った署名は拒否されます\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
-msgstr "̤ÃΤΥ¯¥ê¥Æ¥£¥«¥ë¡¦¥Ó¥Ã¥È¤Ë¤è¤ê¡¢¸°%s¤Î½ð̾¤òÉÔÀµ¤È¤ß¤Ê¤·¤Þ¤¹\n"
+msgstr "不明のクリティカル・ビットにより、鍵%sの署名を不正とみなします\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
-msgstr "¸°%s: Éû¸°¼º¸ú½ð̾¤Ë¤¿¤¤¤¹¤ëÉû¸°¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 副鍵失効署名にたいする副鍵がありません\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
-msgstr "¸°%s: Éû¸°Âбþ¤Ø¤Î½ð̾¤Ë¤¿¤¤¤¹¤ëÉû¸°¤¬¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "鍵%s: 副鍵対応への署名にたいする副鍵がありません\n"
 
 #: g10/sign.c:89
 #, c-format
 msgid "WARNING: unable to %%-expand notation (too large).  Using unexpanded.\n"
-msgstr "·Ù¹ð: É½µ­¤ò%%³ÈÄ¥ÉÔǽ (Â礭¤¹¤®)¡£Èó³ÈÄ¥¤ò»ÈÍÑ¡£\n"
+msgstr "*警告*: 表記を%%拡張不能 (大きすぎ)。拡張せずに使用。\n"
 
 #: g10/sign.c:115
 #, c-format
 msgid ""
 "WARNING: unable to %%-expand policy URL (too large).  Using unexpanded.\n"
-msgstr "·Ù¹ð: ¥Ý¥ê¥·¡¼URL¤ò%%³ÈÄ¥ÉÔǽ (Â礭¤¹¤®)¡£Èó³ÈÄ¥¤ò»ÈÍÑ¡£\n"
+msgstr "*警告*: ポリシURLを%%拡張不能 (大きすぎ)。拡張せずに使用。\n"
 
 #: g10/sign.c:138
 #, c-format
 msgid ""
 "WARNING: unable to %%-expand preferred keyserver URL (too large).  Using "
 "unexpanded.\n"
-msgstr "·Ù¹ð: Áª¹¥¸°¥µ¡¼¥Ð¡¼URL¤ò%%³ÈÄ¥ÉÔǽ (Â礭¤¹¤®)¡£Èó³ÈÄ¥¤ò»ÈÍÑ¡£\n"
+msgstr "*警告*: 優先鍵サーバURLを%%拡張不能 (大きすぎ)。拡張せずに使用。\n"
 
 #: g10/sign.c:311
 #, c-format
 msgid "checking created signature failed: %s\n"
-msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "作成された署名の検査に失敗しました: %s\n"
 
 #: g10/sign.c:320
 #, c-format
 msgid "%s/%s signature from: \"%s\"\n"
-msgstr "%s/%s½ð̾¡£½ð̾¼Ô:¡È%s¡É\n"
+msgstr "%s/%s署名。署名者:\"%s\"\n"
 
 #: g10/sign.c:761
 msgid "you can only detach-sign with PGP 2.x style keys while in --pgp2 mode\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤Ï¡¢PGP 2.x·Á¼°¤Î¸°¤ÇʬΥ½ð̾¤Ç¤­¤ë¤À¤±¤Ç¤¹\n"
+msgstr "--pgp2モードでは、PGP 2.x形式の鍵で分離署名できるだけです\n"
 
 #: g10/sign.c:837
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
-msgstr "·Ù¹ð: Í×Ì󥢥르¥ê¥º¥à %s (%d) ¤Î¶¯À©¤¬¡¢¼õ¼è¿Í¤ÎÁª¹¥¤ÈÂÐΩ¤·¤Þ¤¹\n"
+msgstr ""
+"*警告*: ダイジェスト・アルゴリズム %s (%d) の強制が、受取人の優先指定と対立し"
+"ます\n"
 
 #: g10/sign.c:964
 msgid "signing:"
-msgstr "½ð̾:"
+msgstr "署名:"
 
 #: g10/sign.c:1079
 msgid "you can only clearsign with PGP 2.x style keys while in --pgp2 mode\n"
-msgstr "--pgp2¥â¡¼¥É¤Ç¤ÏPGP 2.x·Á¼°¤Î¸°¤Ç¥¯¥ê¥¢½ð̾¤·¤«¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "--pgp2モードではPGP 2.x形式の鍵でクリア・テクスト署名しかできません\n"
 
 #: g10/sign.c:1263
 #, c-format
 msgid "%s encryption will be used\n"
-msgstr "%s°Å¹æ²½¤ò»ÈÍѤ·¤Þ¤¹\n"
+msgstr "%s暗号化を使用します\n"
 
 #: g10/skclist.c:140 g10/skclist.c:217
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
-"·õÆݤǤ¢¤ë¤È¤¤¤¦¥Õ¥é¥°¤¬¸°¤Ë¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
-"µ¶ÊªÍð¿ôÀ¸À®»Ò¤È¤Ï¤¤¤Ã¤·¤ç¤Ë»È¤¨¤Þ¤»¤ó!\n"
+"セキュアでないというフラグが鍵には設定されていません。\n"
+"偽物乱数生成器とはいっしょに使えません!\n"
 
 #: g10/skclist.c:174
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
-msgstr "¡È%s¡É¤ò¤È¤Ð¤·¤Þ¤¹: ½ÅÊ£\n"
+msgstr "\"%s\"をスキップします: 重複\n"
 
 #: g10/skclist.c:182 g10/skclist.c:195 g10/skclist.c:207
 #, c-format
 msgid "skipped \"%s\": %s\n"
-msgstr "¡È%s¡É¤ò¤È¤Ð¤·¤Þ¤¹: %s\n"
+msgstr "\"%s\"をスキップしました: %s\n"
 
 #: g10/skclist.c:190
 msgid "skipped: secret key already present\n"
-msgstr "¥¹¥­¥Ã¥×: ÈëÌ©¸°¤Ï¤â¤¦¤¢¤ê¤Þ¤¹\n"
+msgstr "スキップ: 秘密鍵はもうあります\n"
 
 #: g10/skclist.c:208
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
-msgstr "¤³¤ì¤ÏPGP¤ÎÀ¸À®¤·¤¿Elgamal¸°¤Ç¡¢½ð̾ÍѤˤϰÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó!"
+msgstr "これはPGPの生成したElgamal鍵で、署名用には安全ではありません!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
-msgstr "¿®Íѥ쥳¡¼¥É%lu, ·¿%d: ½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用レコード%lu, 型%d: 書き込みに失敗しました: %s\n"
 
 #: g10/tdbdump.c:106
 #, c-format
@@ -6190,357 +6129,359 @@ msgid ""
 "# List of assigned trustvalues, created %s\n"
 "# (Use \"gpg --import-ownertrust\" to restore them)\n"
 msgstr ""
-"# Sitei sareta sin'youdo itiran %s\n"
-"# (\"gpg --import-ownertrust\" wo tukatte hukkyuu dekimasu)\n"
+"# 指定された信頼度の一覧です 作成日時: %s\n"
+"# (\"gpg --import-ownertrust\" で復旧することができます)\n"
 
 #: g10/tdbdump.c:161 g10/tdbdump.c:169 g10/tdbdump.c:174 g10/tdbdump.c:179
 #, c-format
 msgid "error in `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ç¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81§ã\82¨ã\83©ã\83¼: %s\n"
 
 #: g10/tdbdump.c:161
 msgid "line too long"
-msgstr "¹Ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+msgstr "行が長すぎます"
 
 #: g10/tdbdump.c:169
 msgid "colon missing"
-msgstr "¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "コロンがありません"
 
 #: g10/tdbdump.c:175
 msgid "invalid fingerprint"
-msgstr "̵¸ú¤Ê»ØÌæ"
+msgstr "無効なフィンガー・プリント"
 
 #: g10/tdbdump.c:180
 msgid "ownertrust value missing"
-msgstr "½êÍ­¼Ô¿®ÍÑÅÙ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "所有者信用度がありません"
 
 #: g10/tdbdump.c:216
 #, c-format
 msgid "error finding trust record in `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ç¿®Íѥ쥳¡¼¥É¤Î¸¡º÷¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81§ä¿¡ç\94¨ã\83¬ã\82³ã\83¼ã\83\89ã\81®æ¤\9cç´¢ã\82¨ã\83©ã\83¼: %s\n"
 
 #: g10/tdbdump.c:220
 #, c-format
 msgid "read error in `%s': %s\n"
-msgstr "¡Ö%s¡×¤ÇÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81§èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹: Æ±´ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用データベース: 同期に失敗しました: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹ ¥ì¥³¡¼¥É%lu: ¥·¡¼¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用データベース レコード%lu: シークに失敗しました: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹ ¥ì¥³¡¼¥É%lu: ½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ (n=%d): %s\n"
+msgstr "信用データベース レコード%lu: 書き込みに失敗しました (n=%d): %s\n"
 
 #: g10/tdbio.c:245
 msgid "trustdb transaction too large\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬Â礭¤¹¤®¤Þ¤¹\n"
+msgstr "信用データベースのトランザクションが大きすぎます\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」にアクセスできません: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¡¼¤¬¤¢¤ê¤Þ¤»¤ó!\n"
+msgstr "%s: ディレクトリがありません!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
-msgstr "¡Ö%s¡×¤Î¥í¥Ã¥¯¤òºîÀ®¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "「%s」のロックを作成できません\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
-msgstr "¡Ö%s¡×¤¬¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "「%s」がロックできません\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
-msgstr "%s: ¥Ð¡¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s"
+msgstr "%s: バージョン・レコードの作成に失敗しました: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
-msgstr "%s: Ìµ¸ú¤Ê¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤òºîÀ®\n"
+msgstr "%s: 無効な信用データベースを作成\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
-msgstr "%s: ¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "%s: 信用データベースができました\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
-msgstr "Ãí°Õ: ¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤¬¡¢½ñ¹þ¤ßÉÔǽ¤Ç¤¹\n"
+msgstr "*注意*: 信用データベースが、書き込み不能です\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
-msgstr "%s: Ìµ¸ú¤Ê¿®Íѥǡ¼¥¿¥Ù¡¼¥¹\n"
+msgstr "%s: ç\84¡å\8a¹ã\81ªä¿¡ç\94¨ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
-msgstr "%s: ¥Ï¥Ã¥·¥åɽ¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "%s: ハッシュ表の作成に失敗しました: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
-msgstr "%s: ¥Ð¡¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É¤Î¹¹¿·¥¨¥é¡¼: %s\n"
+msgstr "%s: ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\83»ã\83¬ã\82³ã\83¼ã\83\89ã\81®æ\9b´æ\96°ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
-msgstr "%s: ¥Ð¡¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "%s: ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\83»ã\83¬ã\82³ã\83¼ã\83\89ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
-msgstr "%s: ¥Ð¡¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "%s: ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\83»ã\83¬ã\82³ã\83¼ã\83\89ã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹: ¥·¡¼¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用データベース: シークに失敗しました: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹: ÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ (n=%d): %s\n"
+msgstr "信用データベース: 読み込みに失敗しました (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
-msgstr "%s: ¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "%s: 信用データベース・ファイルではありません\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
-msgstr "%s: ¥ì¥³¡¼¥ÉÈÖ¹æ%luÈ֤ΥС¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É\n"
+msgstr "%s: レコード番号%lu番のバージョン・レコード\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
-msgstr "%s: Ìµ¸ú¤Ê¥Õ¥¡¥¤¥ë¡¦¥Ð¡¼¥¸¥ç¥ó%d\n"
+msgstr "%s: 無効なファイル・バージョン%d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
-msgstr "%s: ¶õ¤­¥ì¥³¡¼¥É¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "%s: ç©ºã\81\8dã\83¬ã\82³ã\83¼ã\83\89ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¡¼¡¦¥ì¥³¡¼¥É¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "%s: ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83¼ã\83»ã\83¬ã\82³ã\83¼ã\83\89ã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
-msgstr "%s: ¥ì¥³¡¼¥É¤Î½é´ü²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "%s: レコードの初期化に失敗しました: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
-msgstr "%s: ¥ì¥³¡¼¥É¤ÎÄɲä˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "%s: レコードの追加に失敗しました: %s\n"
 
-#: g10/tdbio.c:1512
-#, fuzzy
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
-msgstr "%s: ¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "エラー: 信用データベースが壊れています。\n"
 
 #: g10/textfilter.c:147
 #, c-format
 msgid "can't handle text lines longer than %d characters\n"
-msgstr "%dʸ»ú°Ê¾å¤ÎŤµ¤Î¥Æ¥­¥¹¥È¹Ô¤Ï¡¢¼è¤ê°·¤¨¤Þ¤»¤ó\n"
+msgstr "%d文字以上の長さのテキスト行は、取り扱えません\n"
 
 #: g10/textfilter.c:247
 #, c-format
 msgid "input line longer than %d characters\n"
-msgstr "ÆþÎϹԤÎŤµ¤¬%dʸ»ú¤òĶ¤¨¤Æ¤¤¤Þ¤¹\n"
+msgstr "入力行の長さが%d文字を超えています\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
-msgstr "¡Ö%s¡×¤Ï¡¢Í­¸ú¤ÊÂç·¿¸°ID¤Ç¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "「%s」は、有効な大型鍵IDでありません\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
-msgstr "¸°%s: ¿®ÍѤ¹¤ë¸°¤È¤·¤Æ¼õÍý¤·¤Þ¤·¤¿\n"
+msgstr "鍵%s: 信用する鍵として受理しました\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
-msgstr "¸°%s¤¬¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤ËÊ£¿ô¤¢¤ê¤Þ¤¹\n"
+msgstr "鍵%sが信用データベースに複数あります\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
-msgstr "¸°%s: ¿®ÍѤµ¤ì¤ë¸°¤Î¸ø³«¸°¤¬¤¢¤ê¤Þ¤»¤ó - ¤È¤Ð¤·¤Þ¤¹\n"
+msgstr "鍵%s: 信用される鍵の公開鍵がありません - スキップします\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
-msgstr "¸°%s¤òÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë¤è¤¦µ­Ï¿¤·¤Þ¤·¤¿\n"
+msgstr "鍵%sを絶対的に信用するよう記録しました\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
-msgstr "¿®Íѥ쥳¡¼¥É%lu, ¥ê¥¯¥¨¥¹¥È·¿%d: ÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用レコード%lu, リクエスト型%d: 読み込みに失敗しました: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
-msgstr "¿®Íѥ쥳¡¼¥É%lu¤¬Í׵ᤵ¤ì¤¿·¿%d¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "信用レコード%luが要求された型%dではありません\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
-msgstr ""
+msgstr "trustdbを下記のコマンドで再生成することを試すことができます:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
-msgstr ""
+msgstr "もし、それがうまくいかなかったら、マニュアルをご覧ください\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
-msgstr "̤ÃΤο®ÍÑ¥â¥Ç¥ë (%d) ¤Ï»È¤¨¤Þ¤»¤ó - %s¿®ÍÑ¥â¥Ç¥ë¤ò²¾Äê\n"
+msgstr "不明の信用モデル (%d) は使えません - %s信用モデルを仮定\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
-msgstr "%s¿®ÍÑ¥â¥Ç¥ë¤ò»ÈÍÑ\n"
-
-#: g10/trustdb.c:520
+msgstr "%s信用モデルを使用\n"
+
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
-msgstr ""
+msgstr "10"
 
-#: g10/trustdb.c:522
-#, fuzzy
+#: g10/trustdb.c:523
 msgid "[ revoked]"
-msgstr "¼º¸ú"
+msgstr "[  失効  ]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
-#, fuzzy
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
-msgstr "Ëþλ"
+msgstr "[期限切れ]"
 
-#: g10/trustdb.c:528
-#, fuzzy
+#: g10/trustdb.c:529
 msgid "[ unknown]"
-msgstr "̤ÃΤÎ"
+msgstr "[  不明  ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
-msgstr ""
+msgstr "[ 未定義 ]"
 
-#: g10/trustdb.c:531
-#, fuzzy
+#: g10/trustdb.c:532
 msgid "[marginal]"
-msgstr "¤¢¤ëÄøÅÙ"
+msgstr "[まぁまぁ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
-msgstr ""
+msgstr "[  充分  ]"
 
-#: g10/trustdb.c:533
-#, fuzzy
+#: g10/trustdb.c:534
 msgid "[ultimate]"
-msgstr "ÀäÂÐŪ"
+msgstr "[  究極  ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
-msgstr "̤ÄêµÁ"
+msgstr "未定義"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
-msgstr "̵´ü¸Â"
+msgstr "無期限"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
-msgstr "¤¢¤ëÄøÅÙ"
+msgstr "まぁまぁ"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
-msgstr "´°Á´"
+msgstr "充分"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
-msgstr "ÀäÂÐŪ"
+msgstr "究極"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¸¡ºº¤Ï¡¢ÉÔÍפǤ¹\n"
+msgstr "信用データベースの検査は、不要です\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
-msgstr "¼¡²ó¤Î¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¸¡ºº¤Ï¡¢%s¤Ç¤¹\n"
+msgstr "次回の信用データベース検査は、%sです\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
-msgstr "¿®ÍÑ¥â¥Ç¥ë¡Ö%s¡×¤Ç¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¸¡ºº¤Ï¡¢ÉÔÍפǤ¹\n"
+msgstr "信用モデル「%s」で信用データベースの検査は、不要です\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
-msgstr "¿®ÍÑ¥â¥Ç¥ë¡Ö%s¡×¤Ç¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤Ï¡¢ÉÔÍפǤ¹\n"
+msgstr "信用モデル「%s」で信用データベースの更新は、不要です\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
-msgstr "¸ø³«¸°%s¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "公開鍵%sが見つかりません: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
-msgstr "--check-trustdb¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤\n"
+msgstr "--check-trustdbを実行してください\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
-msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¸¡ºº\n"
+msgstr "信用データベースの検査\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
-msgstr "%dËܤθ°¤ò½èÍý (¤¦¤Á%dËܤÎÍ­¸úÀ­¿ô¤ò¥¯¥ê¥¢)\n"
+msgstr "%dæ\9c¬ã\81®é\8dµã\82\92å\87¦ç\90\86 (ã\81\86ã\81¡%dæ\9c¬ã\81®æ\9c\89å\8a¹æ\80§æ\95°ã\82\92ã\82¯ã\83ªã\82¢)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
-msgstr "ÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "絶対的に信用する鍵が見つかりません\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
-msgstr "ÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë¸°%s¤Î¸ø³«¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
+msgstr "絶対的に信用する鍵%sの公開鍵が見つかりません\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
-msgstr "ºÇ¾®¤Î¡Ö¤¢¤ëÄøÅ٤ο®ÍÑ¡×%d¡¢ºÇ¾®¤Î¡ÖÁ´ÌÌŪ¿®ÍÑ¡×%d¡¢%s¿®ÍÑ¥â¥Ç¥ë\n"
+msgstr "「まぁまぁの信用」%d、「全面的信用」%d、%s信用モデル\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
-msgstr "¿¼¤µ: %d  Í­¸úÀ­: %3d  ½ð̾: %3d  ¿®ÍÑ: %d-, %dq, %dn, %dm, %df, %du\n"
+msgstr "深さ: %d  有効性: %3d  署名: %3d  信用: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
-"¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¥Ð¡¼¥¸¥ç¥ó¡¦¥ì¥³¡¼¥É¤¬¹¹¿·¤Ç¤­¤Þ¤»¤ó: ½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·"
-"¤¿: %s\n"
+"信用データベースのバージョン・レコードが更新できません: 書き込みに失敗しまし"
+": %s\n"
 
 #: g10/verify.c:118
 msgid ""
@@ -6548,830 +6489,807 @@ msgid ""
 "Please remember that the signature file (.sig or .asc)\n"
 "should be the first file given on the command line.\n"
 msgstr ""
-"½ð̾¤ò¸¡¾Ú¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£½ð̾¥Õ¥¡¥¤¥ë\n"
-"(.sig¤ä.asc)¤¬¥³¥Þ¥ó¥É¹Ô¤ÎºÇ½é¤Ç¤Ê¤±¤ì¤Ð\n"
-"¤Ê¤é¤Ê¤¤¤³¤È¤òǰƬ¤Ë¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£\n"
+"署名を検証できませんでした。署名ファイル\n"
+"(.sigや.asc)がコマンド行の最初でなければ\n"
+"ならないことを念頭においてください。\n"
 
 #: g10/verify.c:205
 #, c-format
 msgid "input line %u too long or missing LF\n"
-msgstr "ÆþÎϤÎ%u¹ÔÌܤ¬Ä¹¤¹¤®¤ë¤«¡¢LF¤¬¤Ê¤¤¤è¤¦¤Ç¤¹\n"
+msgstr "入力の%u行目が長すぎるか、LFがないようです\n"
 
 #: g10/verify.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "can't open fd %d: %s\n"
-msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
+msgstr "fd %dが開けません: %s\n"
 
-#: jnlib/argparse.c:180
-#, fuzzy
+#: jnlib/argparse.c:194
 msgid "argument not expected"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "引数は期待されていません"
 
-#: jnlib/argparse.c:182
-#, fuzzy
+#: jnlib/argparse.c:196
 msgid "read error"
-msgstr "¥Õ¥¡¥¤¥ë¤ÎÆɽФ·¥¨¥é¡¼"
+msgstr "読ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼"
 
-#: jnlib/argparse.c:184
-#, fuzzy
+#: jnlib/argparse.c:198
 msgid "keyword too long"
-msgstr "¹Ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+msgstr "キーワードが長すぎます"
 
-#: jnlib/argparse.c:186
-#, fuzzy
+#: jnlib/argparse.c:200
 msgid "missing argument"
-msgstr "̵¸ú¤Ê»ØÄê¤Ç¤¹"
+msgstr "引数ありません"
 
-#: jnlib/argparse.c:188
-#, fuzzy
+#: jnlib/argparse.c:202
 msgid "invalid command"
-msgstr "´ÉÍýÀìÍÑ¥³¥Þ¥ó¥É\n"
+msgstr "無効なコマンド"
 
-#: jnlib/argparse.c:190
-#, fuzzy
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
-msgstr "̵¸ú¤Ê°ìÍ÷¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効なエイリアス定義です"
 
-#: jnlib/argparse.c:192
-#, fuzzy
+#: jnlib/argparse.c:206
 msgid "out of core"
-msgstr "̤½èÍý"
+msgstr "メモリがありません"
 
-#: jnlib/argparse.c:194
-#, fuzzy
+#: jnlib/argparse.c:208
 msgid "invalid option"
-msgstr "̵¸ú¤Ê°ìÍ÷¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効なオプション"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
-msgstr ""
+msgstr "オプション\"%.50s\"に引数がありません\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
-msgstr ""
+msgstr "オプション\"%.50s\"は引数をとりません\n"
 
-#: jnlib/argparse.c:207
-#, fuzzy, c-format
+#: jnlib/argparse.c:221
+#, c-format
 msgid "invalid command \"%.50s\"\n"
-msgstr "̵¸ú¤Ê¥³¥Þ¥ó¥É (¡Èhelp¡É¤ò»²¾È)\n"
+msgstr "無効なコマンド \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "オプション\"%.50s\"はあいまいです\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
-msgstr ""
+msgstr "コマンド\"%.50s\"はあいまいです\n"
 
-#: jnlib/argparse.c:213
-#, fuzzy
+#: jnlib/argparse.c:227
 msgid "out of core\n"
-msgstr "̤½èÍý"
+msgstr "メモリがありません\n"
 
-#: jnlib/argparse.c:215
-#, fuzzy, c-format
+#: jnlib/argparse.c:229
+#, c-format
 msgid "invalid option \"%.50s\"\n"
-msgstr "̵¸ú¤Ê°ìÍ÷¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+msgstr "無効なオプション \"%.50s\"\n"
 
 #: jnlib/logging.c:647
 #, c-format
 msgid "you found a bug ... (%s:%d)\n"
-msgstr "¥Ð¥°¤òȯ¸« ... (%s:%d)\n"
-
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "あなたはバグを発見しました ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
-msgstr ""
+msgstr "「%s」から「%s」への変換は利用できません\n"
 
-#: jnlib/utf8conv.c:131
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:76
+#, c-format
 msgid "iconv_open failed: %s\n"
-msgstr "½ð̾¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "iconv_openに失敗しました: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
-#, fuzzy, c-format
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
+#, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
-msgstr "¡Ö%s¡×¤«¤é¡Ö%s¡×¤Ø¤Î°ÜÆ°¤Ë¼ºÇÔ: %s\n"
+msgstr "「%s」から「%s」への変換に失敗: %s\n"
 
 #: jnlib/dotlock.c:234
-#, fuzzy, c-format
+#, c-format
 msgid "failed to create temporary file `%s': %s\n"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "一時ファイル「%s」が作成できません: %s\n"
 
 #: jnlib/dotlock.c:269
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: jnlib/dotlock.c:453
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
-msgstr ""
+msgstr "古い lockfile (%d により作成)を除去します\n"
 
 #: jnlib/dotlock.c:459
 msgid " - probably dead - removing lock"
-msgstr ""
+msgstr " - おそらく死んでます - ロックを除去"
 
 #: jnlib/dotlock.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "lockを待ちます (%d%s により保持) %s...\n"
 
 #: jnlib/dotlock.c:470
 msgid "(deadlock?) "
-msgstr ""
+msgstr "(デッドロック?) "
 
 #: jnlib/dotlock.c:493
-#, fuzzy, c-format
+#, c-format
 msgid "lock `%s' not made: %s\n"
-msgstr "¸ø³«¸°%s¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "lock 「%s」 は作成されません: %s\n"
 
 #: jnlib/dotlock.c:501
-#, fuzzy, c-format
+#, c-format
 msgid "waiting for lock %s...\n"
-msgstr "¡Ö%s¡×¤ØÈëÌ©¸°¤ò½ñ¤­¹þ¤ß¤Þ¤¹\n"
+msgstr "lock %s を待ちます...\n"
 
 #: kbx/kbxutil.c:92
 msgid "set debugging flags"
-msgstr ""
+msgstr "デバッグ・フラグを設定"
 
 #: kbx/kbxutil.c:93
 msgid "enable full debugging"
-msgstr ""
+msgstr "フル・デバッグを有効にする"
 
 #: kbx/kbxutil.c:117
-#, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: kbxutil [オプション] [ファイル] (ヘルプは -h)"
 
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
+"形式:  kbxutil [オプション] [ファイル]\n"
+"Keyboxデータを一覧、エクスポート、インポート\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
-msgstr ""
+msgstr "RSAの法(modulus)がないか、%dビットのものではありません\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
-#, fuzzy, c-format
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
+#, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
-msgstr "¸ø³«»Ø¿ô¤¬Â礭¤¹¤®¤Þ¤¹ (32¥Ó¥Ã¥È¤è¤êÂç)\n"
+msgstr "RSA公開指数が指定されていないか %d ビットより大きすぎます\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
-msgstr "PIN¥³¡¼¥ë¥Ð¥Ã¥¯¤¬¥¨¥é¡¼¤òÌᤷ¤Þ¤·¤¿: %s\n"
+msgstr "PINコールバックがエラーを戻しました: %s\n"
 
 #: scd/app-nks.c:834
 msgid "the NullPIN has not yet been changed\n"
-msgstr ""
+msgstr "NullPINが変更されていません\n"
 
 #: scd/app-nks.c:1092
-#, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "|N|新しいPINを標準の鍵のために入力してください。"
 
 #: scd/app-nks.c:1093
-#, fuzzy
 msgid "||Please enter the PIN for the standard keys."
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "||PINを標準の鍵のために入力してください。"
 
 #: scd/app-nks.c:1099
-#, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "|NP|標準の鍵の新しいPIN Unblocking Code (PUK)を入力してください。"
 
 #: scd/app-nks.c:1101
-#, fuzzy
 msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "|P|標準の鍵のPIN Unblocking Code (PUK)を入力してください。"
 
 #: scd/app-nks.c:1109
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
-msgstr ""
+msgstr "|N|新しいPINを認定署名を生成する鍵のために入力してください。"
 
 #: scd/app-nks.c:1111
 msgid "||Please enter the PIN for the key to create qualified signatures."
-msgstr ""
+msgstr "||新しいPINを認定署名を生成する鍵のために入力してください。"
 
 #: scd/app-nks.c:1119
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|NP|認定署名の鍵のために新しいPINブロック解除コード(PUK)を入力してください。"
 
 #: scd/app-nks.c:1121
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
+"|P|認定署名の鍵のために新しいPINブロック解除コード(PUK)を入力してください。"
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
-msgstr "¿·¤·¤¤PIN¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "æ\96°ã\81\97ã\81\84PINã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
-msgstr "»ØÌæ¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "指紋の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
-msgstr "À¸À®Æü¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "生成日の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:1156
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1219
+#, c-format
 msgid "reading public key failed: %s\n"
-msgstr "¸°¤ÎÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "公開鍵の読み込みに失敗しました: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
-msgstr "±þÅú¤Ë¸ø³«¸°¥Ç¡¼¥¿¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "応答に公開鍵データが含まれていません\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
-msgstr "±þÅú¤ËRSA¤ÎË¡(modulus)¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "応答にRSAの法(modulus)が含まれていません\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
-msgstr "±þÅú¤ËRSA¸ø³«»Ø¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "応答にRSA公開指数が含まれていません\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
-msgstr ""
+msgstr "デフォルトPINを%sとして使います\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
+"デフォルトのPIN %s を使うのに失敗しました: %s - これ以上デフォルトとしての使"
+"用を無効とします\n"
 
-#: scd/app-openpgp.c:1523
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1621
+#, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "||PINを入力してください%%0A[署名数: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
-#, fuzzy
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "||PINを入力してください"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
-msgstr "CHV%d¤ÎPIN¤¬Ã»¤¹¤®¤Þ¤¹¡£ºÇû¤Ç%d\n"
+msgstr "CHV%dのPINが短すぎます。最短で%dです\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
-msgstr "CHV%d¤Î¸¡¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "CHV%dの認証に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
-msgstr "¥«¡¼¥É¤«¤é¤ÎCHV¾õÂ֤θ¡º÷¤Ç¥¨¥é¡¼\n"
+msgstr "ã\82«ã\83¼ã\83\89ã\81\8bã\82\89ã\81®CHVã\82¹ã\83\86ã\82¤ã\82¿ã\82¹å\8f\96å¾\97ã\81§ã\82¨ã\83©ã\83¼\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
-msgstr "¥«¡¼¥É¤¬±Êµ×¤Ë¥í¥Ã¥¯¤µ¤ì¤Þ¤¹!\n"
+msgstr "カードが永久にロックされます!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
-msgstr "¥«¡¼¥É¤Î±Êµ×¥í¥Ã¥¯Á°¤Ë%d¤ÎAdmin PIN¤¬»î¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "カードの永久ロック前に%dのAdmin PINが試されています\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
-#, fuzzy, c-format
+#: scd/app-openpgp.c:1775
+#, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "|A|管理者PINを入力してください%%0A[残り回数: %d]"
 
-#: scd/app-openpgp.c:1680
-#, fuzzy
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "|A|管理者PINを入力してください"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤Ø¤Î¥¢¥¯¥»¥¹¤¬½é´üÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "管理コマンドへのアクセスが設定されていません\n"
 
-#: scd/app-openpgp.c:2035
-#, fuzzy
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
-msgstr "PIN [½ð̾ºÑ: %lu]"
+msgstr "||カードのReset Codeを入力してください"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
-#, fuzzy, c-format
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
+#, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
-msgstr "CHV%d¤ÎPIN¤¬Ã»¤¹¤®¤Þ¤¹¡£ºÇû¤Ç%d\n"
+msgstr "Reset Codeが短すぎます。最短の長さは%dです。\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
-msgstr ""
+msgstr "|RN|新しいReset Code"
 
-#: scd/app-openpgp.c:2068
-#, fuzzy
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
-msgstr "|A|¿·¤·¤¤Admin PIN"
+msgstr "|AN|新しい管理者PIN"
 
-#: scd/app-openpgp.c:2068
-#, fuzzy
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
-msgstr "¿·¤·¤¤PIN"
+msgstr "|N|新しいPIN"
+
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||管理者PINと新しい管理者PINを入力してください"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||PINと新しいPINを入力してください"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
-msgstr "¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥Ç¡¼¥¿¤ÎÆɽФ·¥¨¥é¡¼\n"
+msgstr "ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\83»ã\83\87ã\83¼ã\82¿ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
-msgstr "»ØÌæ¥Ç¡¼¥¿¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆɽФ·¥¨¥é¡¼\n"
+msgstr "ã\83\95ã\82£ã\83³ã\82¬ã\83¼ã\83»ã\83\97ã\83ªã\83³ã\83\88ã\81®ã\83\87ã\83¼ã\82¿ã\83»ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
-msgstr "¸°¤Ï¤â¤¦¤¢¤ê¤Þ¤¹\n"
+msgstr "鍵はもうあります\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
-msgstr "´û¸¤Î¸°¤Ï¸ò´¹¤µ¤ì¤Þ¤¹\n"
+msgstr "既存の鍵は置き換えられます\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
-msgstr "¿·¤·¤¤¸°¤òÀ¸À®\n"
+msgstr "新しい鍵を生成\n"
 
-#: scd/app-openpgp.c:2202
-#, fuzzy
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
-msgstr "¿·¤·¤¤¸°¤òÀ¸À®\n"
+msgstr "新しい鍵を書き込み\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
-msgstr ""
+msgstr "作成時刻スタンプがありません\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
-msgstr ""
+msgstr "RSA素数 %s がありません、または%dビットのものではありません\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
-msgstr "¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "鍵の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
-msgstr "¸°À¸À®¤Î´Ö¡¢¤ªÂÔ¤Á¤¯¤À¤µ¤¤ ...\n"
+msgstr "鍵生成の間、お待ちください ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
-msgstr "¸°¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n"
+msgstr "鍵の生成に失敗しました\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
-msgstr "¸°¤ÎÀ¸À®¤¬´°Î»¤·¤Þ¤·¤¿ (%dÉÃ)\n"
+msgstr "鍵の生成が完了しました (%d秒)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
-msgstr "OpenPGP¥«¡¼¥É¤Ë̵¸ú¤Ê¹½Â¤ (¥Ç¡¼¥¿¡¦¥ª¥Ö¥¸¥§¥¯¥È 0x93)\n"
+msgstr "OpenPGPカードに無効な構造 (データ・オブジェクト 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
-msgstr ""
+msgstr "カードのフィンガー・プリントが要求されたものと一致しません\n"
 
-#: scd/app-openpgp.c:3099
-#, fuzzy, c-format
+#: scd/app-openpgp.c:3297
+#, c-format
 msgid "card does not support digest algorithm %s\n"
-msgstr "%s½ð̾¡¢Í×Ì󥢥르¥ê¥º¥à %s\n"
+msgstr "カードはダイジェスト・アルゴリズム %s をサポートしていません\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
-msgstr "¤³¤ì¤Þ¤Ç¤ËºîÀ®¤µ¤ì¤¿½ð̾: %lu\n"
+msgstr "これまでに作成された署名: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
-msgstr ""
+msgstr "管理者PINの確認はこのコマンドでは今のところ禁止されています\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
-msgstr "%s¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó - Ìµ¸ú¤ÊOpenPGP¥«¡¼¥É?\n"
+msgstr "%sにアクセスできません - 無効なOpenPGPカード?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||PINをリーダのピンパッドで入力してください"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
 #: scd/app-dinsig.c:529
-#, fuzzy
 msgid "|N|Initial New PIN"
-msgstr "¿·¤·¤¤PIN"
+msgstr "|N|初期の新しいPIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
-msgstr ""
+msgstr "マルチ・サーバ・モード(フォアグラウンド)で実行"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
-msgstr ""
+msgstr "|LEVEL|デバッグ・レベルをLEVELとします"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
-#, fuzzy
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "|FILE|FILEにログを書き出します"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
-msgstr ""
+msgstr "|N|ポートNのリーダに接続します"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
-msgstr ""
+msgstr "|NAME|ct-APIドライバとしてNAMEを用います"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
-msgstr ""
+msgstr "|NAME|PC/SCドライバとしてNAMEを用います"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
-msgstr ""
-
-#: scd/scdaemon.c:139
-msgid "|N|disconnect the card after N seconds of inactivity"
-msgstr ""
+msgstr "内蔵CCIDドライバを使いません"
 
 #: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
-msgstr ""
+msgid "|N|disconnect the card after N seconds of inactivity"
+msgstr "|N|N秒アクティブでない場合、カードへの接続を切ります"
 
 #: scd/scdaemon.c:144
-#, fuzzy
+msgid "do not use a reader's pinpad"
+msgstr "リーダのピンパッドを使わない"
+
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤òɽ¼¨"
+msgstr "管理カード・コマンドの使用を拒否"
+
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "PINPADで可変長入力を使う"
 
-#: scd/scdaemon.c:259
-#, fuzzy
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: scdaemon [オプション] (ヘルプは -h)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
+"形式: scdaemon [オプション] [コマンド [引数]]\n"
+"GnuPGのSmartcardデーモン\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
+"\"--daemon\"オプションを使って、プログラムをバックグラウンドで実行してくださ"
+"い\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
-msgstr ""
+msgstr "fd %dのハンドラが開始されました\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
-msgstr ""
+msgstr "fd %dのハンドラが終了しました\n"
 
 #: sm/base64.c:325
-#, fuzzy, c-format
+#, c-format
 msgid "invalid radix64 character %02x skipped\n"
-msgstr "̵¸ú¤Ê64¿Êʸ»ú%02X¤ò¤È¤Ð¤·¤Þ¤·¤¿\n"
+msgstr "無効な64進文字%02Xをスキップしました\n"
 
 #: sm/call-agent.c:137
 #, c-format
 msgid "failed to proxy %s inquiry to client\n"
-msgstr ""
+msgstr "プロキシ%sのクライアントへの問い合わせが失敗しました\n"
 
 #: sm/call-dirmngr.c:252
 #, c-format
 msgid "no running dirmngr - starting `%s'\n"
-msgstr ""
+msgstr "dirmngrが動いていません - 開始します「%s」\n"
 
 #: sm/call-dirmngr.c:285
-#, fuzzy
 msgid "malformed DIRMNGR_INFO environment variable\n"
-msgstr "GPG_AGENT_INFO´Ä¶­ÊÑ¿ô¤Î½ñ¼°¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "DIRMNGR_INFO環境変数が破壊されています\n"
 
 #: sm/call-dirmngr.c:297
-#, fuzzy, c-format
+#, c-format
 msgid "dirmngr protocol version %d is not supported\n"
-msgstr "gpg-agent¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "dirmngrプロトコル・バージョン%dはサポートされていません\n"
 
 #: sm/call-dirmngr.c:317
 msgid "can't connect to the dirmngr - trying fall back\n"
-msgstr ""
+msgstr "dirmngrに接続できません - フォールバックを試します\n"
 
 #: sm/certchain.c:196
 #, c-format
 msgid "validation model requested by certificate: %s"
-msgstr ""
+msgstr "証明書から以下の検証モデルが要求されました: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
-#, fuzzy
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
-msgstr "admin"
+msgstr "chain"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
-#, fuzzy
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
-msgstr "help"
+msgstr "shell"
 
 #: sm/certchain.c:258
-#, fuzzy, c-format
+#, c-format
 msgid "critical certificate extension %s is not supported"
-msgstr "gpg-agent¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "クリティカルな証明書の拡張%sはサポートされていません"
 
 #: sm/certchain.c:297
 msgid "issuer certificate is not marked as a CA"
-msgstr ""
+msgstr "発行者の証明書がCAとしてマークされていません"
 
 #: sm/certchain.c:335
 msgid "critical marked policy without configured policies"
-msgstr ""
+msgstr "コンフィグされたポリシなしにクリティカルにマークされたポリシ"
 
 #: sm/certchain.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "failed to open `%s': %s\n"
-msgstr "¡Ö%s¡×¤¬³«¤±¤Þ¤»¤ó: %s\n"
+msgstr "「%s」が開けません: %s\n"
 
 #: sm/certchain.c:353 sm/certchain.c:382
 msgid "note: non-critical certificate policy not allowed"
-msgstr ""
+msgstr "注意: クリティカルでない証明書ポリシは認められません"
 
 #: sm/certchain.c:357 sm/certchain.c:386
-#, fuzzy
 msgid "certificate policy not allowed"
-msgstr "ÈëÌ©¸°¤Î½ñ½Ð¤·¤Ï¶Ø»ß¤Ç¤¹\n"
+msgstr "証明書ポリシは認められません"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
-msgstr ""
+msgstr "発行者の外部ロケーションを調べています\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
-msgstr ""
+msgstr "マッチする発行者の数: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
-msgstr ""
+msgstr "Dirmngrキャッシュから発行者を調べています\n"
 
-#: sm/certchain.c:585
-#, fuzzy, c-format
+#: sm/certchain.c:614
+#, c-format
 msgid "number of matching certificates: %d\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "マッチする証明書の数: %d\n"
 
-#: sm/certchain.c:587
-#, fuzzy, c-format
+#: sm/certchain.c:616
+#, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
-msgstr "¸°¤ÎÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "dirmngrのキャッシュだけの鍵探索に失敗しました: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-#, fuzzy
-msgid "failed to allocated keyDB handle\n"
-msgstr "¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "keyDBハンドルの確保に失敗しました\n"
 
-#: sm/certchain.c:925
-#, fuzzy
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
-msgstr "Ãí°Õ: ¸°¤Ï¼º¸úºÑ¤ß¤Ç¤¹"
+msgstr "証明書は失効済みです"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
-msgstr ""
+msgstr "証明書のステイタスは不明です"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
-msgstr ""
+msgstr "\"dirmngr\" が正しくインストールされていることを確認してください\n"
 
-#: sm/certchain.c:953
-#, fuzzy, c-format
+#: sm/certchain.c:1009
+#, c-format
 msgid "checking the CRL failed: %s"
-msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "CRLの検査に失敗しました: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
-msgstr ""
+msgstr "無効の妥当性の証明書: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
-msgstr ""
+msgstr "証明書はまだ有効ではありません"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
-#, fuzzy
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
-msgstr "ÈëÌ©¸°¤Î½ñ½Ð¤·¤Ï¶Ø»ß¤Ç¤¹\n"
+msgstr "ルート証明書がまだ有効ではありません"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
-msgstr ""
+msgstr "中間証明書はまだ有効ではありません"
 
-#: sm/certchain.c:1012
-#, fuzzy
+#: sm/certchain.c:1068
 msgid "certificate has expired"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "証明書が有効期限を過ぎています"
 
-#: sm/certchain.c:1013
-#, fuzzy
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "ルート証明書が有効期限を過ぎています"
 
-#: sm/certchain.c:1014
-#, fuzzy
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "中間証明書が有効期限を過ぎています"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
-msgstr ""
+msgstr "必要な証明書の属性がありません: %s%s%s"
 
-#: sm/certchain.c:1065
-#, fuzzy
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
-msgstr "¤³¤Î¸°¤ÏËþλ¤Ç¤¹!"
+msgstr "妥当性が無効な証明書"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
-msgstr ""
+msgstr "証明書のライフタイムの間に署名が作られていません"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
-msgstr ""
+msgstr "発行者のライフタイムの間に証明書が作られていません"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
-msgstr ""
+msgstr "発行者のライフタイムの間に中間証明書が作られていません"
 
-#: sm/certchain.c:1109
-#, fuzzy
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
-msgstr "¤³¤ì¤Þ¤Ç¤ËºîÀ®¤µ¤ì¤¿½ð̾: %lu\n"
+msgstr "  (  署名、作成"
 
-#: sm/certchain.c:1110
-#, fuzzy
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¡£\n"
+msgstr "   (証明書、作成"
 
-#: sm/certchain.c:1113
-#, fuzzy
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "  (     è¨¼æ\98\8eæ\9b¸ã\80\81æ\9c\89å\8a¹"
 
-#: sm/certchain.c:1114
-#, fuzzy
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
-msgstr "         ¥«¡¼¥É¤ÎÄÌÈÖ ="
+msgstr "  (     発行者、有効"
 
-#: sm/certchain.c:1144
-#, fuzzy, c-format
+#: sm/certchain.c:1200
+#, c-format
 msgid "fingerprint=%s\n"
-msgstr "CA¤Î»ØÌæ: "
+msgstr "フィンガー・プリント=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
-msgstr ""
+msgstr "ルート証明書は信用すると今、マークされました\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
+"インタラクティブに信用するとマークすることがgpg-agentで有効となっていません\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
+"インタラクティブに信用するとマークすることはこのセッションでは無効となってい"
+"ます\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
-msgstr ""
+msgstr "*警告*: 署名の作成時間が不明です - 現在時刻を仮定します"
 
-#: sm/certchain.c:1293
-#, fuzzy
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òÀ¸À®"
+msgstr "証明書の発行者がありません"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
-msgstr ""
+msgstr "自己署名証明書に*不正な*署名があります"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
-msgstr ""
+msgstr "ルート証明書が信用できるとマークされていません"
 
-#: sm/certchain.c:1448
-#, fuzzy, c-format
+#: sm/certchain.c:1504
+#, c-format
 msgid "checking the trust list failed: %s\n"
-msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "信用リストの検査に失敗しました: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
-msgstr ""
+msgstr "証明書のチェインが長すぎます\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
-msgstr ""
+msgstr "発行者証明書が見つかりません"
 
-#: sm/certchain.c:1522
-#, fuzzy
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
-msgstr "½ð̾¤ò¸¡¾Ú"
+msgstr "証明書に*不正な*署名があります"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
-msgstr ""
+msgstr "別の一致する可能性があるCA証明書が見つかりました - 再度試します"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
-msgstr ""
+msgstr "証明書のチェインがCAにより認められたもの(%d)より長くなっています"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
-#, fuzzy
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
-msgstr "Áª¹¥¡Ö%s¡×¤Î½ÅÊ£\n"
+msgstr "証明書は正しいです\n"
 
-#: sm/certchain.c:1645
-#, fuzzy
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¡£\n"
+msgstr "中間証明書は正しいです\n"
 
-#: sm/certchain.c:1646
-#, fuzzy
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "ルート証明書は正しいです\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
-msgstr ""
+msgstr "チェイン・モデルに切り替えました"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
-msgstr ""
+msgstr "使用した検証モデル: %s"
 
 #: sm/certcheck.c:97
 #, c-format
 msgid "%s key uses an unsafe (%u bit) hash\n"
-msgstr ""
+msgstr "%s 鍵は安全でない(%uビット)ハッシュを使用しています\n"
 
 #: sm/certcheck.c:107
 #, c-format
 msgid "a %u bit hash is not valid for a %u bit %s key\n"
-msgstr ""
+msgstr "%uビットハッシュは%uビットの%s鍵には無効です\n"
 
 #: sm/certcheck.c:244 sm/verify.c:201
 msgid "(this is the MD2 algorithm)\n"
-msgstr ""
+msgstr "(これはMD2アルゴリズムです)\n"
 
 #: sm/certdump.c:60 sm/certdump.c:143
-#, fuzzy
 msgid "none"
-msgstr "no"
+msgstr "none"
 
 #: sm/certdump.c:564 sm/certdump.c:609 sm/certdump.c:674 sm/certdump.c:732
-#, fuzzy
 msgid "[Error - invalid encoding]"
-msgstr "¥¨¥é¡¼: Ìµ¸ú¤Ê±þÅú¡£\n"
+msgstr "[エラー: 無効なエンコーディング]"
 
 #: sm/certdump.c:572 sm/certdump.c:617
 msgid "[Error - out of core]"
-msgstr ""
+msgstr "[エラー - メモリがありません]"
 
 #: sm/certdump.c:654 sm/certdump.c:710
 msgid "[Error - No name]"
-msgstr ""
+msgstr "[エラー - 名前なし]"
 
 #: sm/certdump.c:679 sm/certdump.c:738
-#, fuzzy
 msgid "[Error - invalid DN]"
-msgstr "¥¨¥é¡¼: Ìµ¸ú¤Ê±þÅú¡£\n"
+msgstr "[エラー: 無効な DN]"
 
 #: sm/certdump.c:948
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Please enter the passphrase to unlock the secret key for the X.509 "
 "certificate:\n"
@@ -7379,171 +7297,171 @@ msgid ""
 "S/N %s, ID 0x%08lX,\n"
 "created %s, expires %s.\n"
 msgstr ""
-"¼¡¤Î¥æ¡¼¥¶¡¼¤ÎÈëÌ©¸°¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¤Ë¤Ï¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬¤¤¤ê¤Þ¤¹:\n"
-"\"%.*s\"\n"
-"%u¥Ó¥Ã¥È%s¸°, ID %sºîÀ®ÆüÉÕ¤Ï%s%s\n"
+"X.509証明書のための秘密鍵のロックを解除するためにパスフレーズを入力してくださ"
+"い:\n"
+"\"%s\"\n"
+"S/N %s, ID 0x%08lX,\n"
+"作成 %s, 有効期限 %s.\n"
 
 #: sm/certlist.c:122
 msgid "no key usage specified - assuming all usages\n"
-msgstr ""
+msgstr "鍵の使い方が指定されていません - すべての使い道を仮定します\n"
 
 #: sm/certlist.c:132 sm/keylist.c:272
-#, fuzzy, c-format
+#, c-format
 msgid "error getting key usage information: %s\n"
-msgstr "¸½¹Ô¸°¾ðÊó¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "é\8dµä½¿ç\94¨æ\83\85å ±ã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
-msgstr ""
+msgid "certificate should not have been used for certification\n"
+msgstr "証明書は証明のために使われるべきではありませんでした\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
-msgstr ""
+msgid "certificate should not have been used for OCSP response signing\n"
+msgstr "証明書はOCSP応答の署名のために使われるべきではありませんでした\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
-msgstr ""
+msgid "certificate should not have been used for encryption\n"
+msgstr "証明書は暗号化のために使われるべきではありませんでした\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
-msgstr ""
+msgid "certificate should not have been used for signing\n"
+msgstr "証明書は署名のために使われるべきではありませんでした\n"
 
 #: sm/certlist.c:167
 msgid "certificate is not usable for encryption\n"
-msgstr ""
+msgstr "証明書は暗号化のために使えません\n"
 
 #: sm/certlist.c:168
 msgid "certificate is not usable for signing\n"
-msgstr ""
+msgstr "証明書は署名のために使えません\n"
 
 #: sm/certreqgen.c:474
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: invalid algorithm\n"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "行 %d: 無効なアルゴリズムです\n"
 
 #: sm/certreqgen.c:487
 #, c-format
 msgid "line %d: invalid key length %u (valid are %d to %d)\n"
-msgstr ""
+msgstr "行 %d: 無効な鍵長 %u (%d から %dが有効)です\n"
 
 #: sm/certreqgen.c:505
 #, c-format
 msgid "line %d: no subject name given\n"
-msgstr ""
+msgstr "行 %d: サブジェクト名がありません\n"
 
 #: sm/certreqgen.c:514
 #, c-format
 msgid "line %d: invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "行 %d: 無効なサブジェクト名ラベル「%.*s」です\n"
 
 #: sm/certreqgen.c:517
 #, c-format
 msgid "line %d: invalid subject name `%s' at pos %d\n"
-msgstr ""
+msgstr "行 %d: 無効なサブジェクト名「%s」(位置: %d)です\n"
 
 #: sm/certreqgen.c:534
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: not a valid email address\n"
-msgstr "Í­¸ú¤ÊÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "行 %d: 有効な電子メール・アドレスではありません\n"
 
 #: sm/certreqgen.c:546
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error reading key `%s' from card: %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "è¡\8c %d: ã\82«ã\83¼ã\83\89ã\81\8bã\82\89é\8dµã\80\8c%sã\80\8dã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/certreqgen.c:558
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: error getting key by keygrip `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "è¡\8c %d: keygripã\80\8c%sã\80\8dã\81\8bã\82\89é\8dµã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/certreqgen.c:574
-#, fuzzy, c-format
+#, c-format
 msgid "line %d: key generation failed: %s <%s>\n"
-msgstr "¸°¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "行 %d: 鍵の生成に失敗しました: %s <%s>\n"
 
 #: sm/certreqgen.c:806
 msgid ""
 "To complete this certificate request please enter the passphrase for the key "
 "you just created once more.\n"
 msgstr ""
+"この証明書要求を完成するために今作った鍵のパスフレーズをもう一度入力してくだ"
+"さい。\n"
 
 #: sm/certreqgen-ui.c:158
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) RSA\n"
-msgstr "   (%d) RSA (½ð̾¤Î¤ß)\n"
+msgstr "   (%d) RSA\n"
 
 #: sm/certreqgen-ui.c:159
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) Existing key\n"
-msgstr "   (2) °Å¹æ²½¸°\n"
+msgstr "   (%d) 既存の鍵\n"
 
 #: sm/certreqgen-ui.c:160
 #, c-format
 msgid "   (%d) Existing key from card\n"
-msgstr ""
+msgstr "   (%d) カードに存在する鍵\n"
 
 #: sm/certreqgen-ui.c:202
-#, fuzzy
 msgid "Enter the keygrip: "
-msgstr "½ð̾Ãí¼á: "
+msgstr "keygripを入力: "
 
 #: sm/certreqgen-ui.c:210
 msgid "Not a valid keygrip (expecting 40 hex digits)\n"
-msgstr ""
+msgstr "有効なkeygrip (40桁の16進数字)ではありません\n"
 
 #: sm/certreqgen-ui.c:212
-#, fuzzy
 msgid "No key with this keygrip\n"
-msgstr "%dÈ֤Υ桼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+msgstr "このkeygripの鍵はありません\n"
 
 #: sm/certreqgen-ui.c:230 sm/certreqgen-ui.c:239
-#, fuzzy, c-format
+#, c-format
 msgid "error reading the card: %s\n"
-msgstr "%s: ¶õ¤­¥ì¥³¡¼¥É¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\82«ã\83¼ã\83\89ã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/certreqgen-ui.c:233
-#, fuzzy, c-format
+#, c-format
 msgid "Serial number of the card: %s\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "カードのシリアル番号: %s\n"
 
 #: sm/certreqgen-ui.c:245
-#, fuzzy
 msgid "Available keys:\n"
-msgstr "¸°¤Î»ÈÍѤò¶Ø»ß¤¹¤ë"
+msgstr "利用可能な鍵:\n"
 
 #: sm/certreqgen-ui.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "Possible actions for a %s key:\n"
-msgstr "¸°%s¤Ë²Äǽ¤ÊÁàºî: "
+msgstr "%s鍵に可能な操作:\n"
 
 #: sm/certreqgen-ui.c:277
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign, encrypt\n"
-msgstr "   (%d) DSA (½ð̾¤Î¤ß)\n"
+msgstr "   (%d) 署名、暗号化\n"
 
 #: sm/certreqgen-ui.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) sign\n"
-msgstr "   (%d) DSA (½ð̾¤Î¤ß)\n"
+msgstr "   (%d) 署名\n"
 
 #: sm/certreqgen-ui.c:279
-#, fuzzy, c-format
+#, c-format
 msgid "   (%d) encrypt\n"
-msgstr "   (%d) RSA (°Å¹æ²½¤Î¤ß)\n"
+msgstr "   (%d) 暗号化\n"
 
 #: sm/certreqgen-ui.c:303
 msgid "Enter the X.509 subject name: "
-msgstr ""
+msgstr "X.509のサブジェクト名を入力: "
 
 #: sm/certreqgen-ui.c:307
-#, fuzzy
 msgid "No subject name given\n"
-msgstr "(ÀâÌÀ¤Ï¤¢¤ê¤Þ¤»¤ó)\n"
+msgstr "サブジェクト名がありません\n"
 
 #: sm/certreqgen-ui.c:311
 #, c-format
 msgid "Invalid subject name label `%.*s'\n"
-msgstr ""
+msgstr "無効なサブジェクト名ラベル「%.*s」です\n"
 
 #. TRANSLATORS: The 22 in the second string is the
 #. length of the first string up to the "%s".  Please
@@ -7551,385 +7469,352 @@ msgstr ""
 #. second string is merely passed to atoi so you can
 #. drop everything after the number.
 #: sm/certreqgen-ui.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid subject name `%s'\n"
-msgstr "̵¸ú¤Ê¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¡Ö%s¡×¤Ç¤¹\n"
+msgstr "無効なサブジェクト名「%s」です\n"
 
 #: sm/certreqgen-ui.c:322
 msgid "22 translator: see certreg-ui.c:gpgsm_gencertreq_tty"
-msgstr ""
+msgstr "33"
 
 #: sm/certreqgen-ui.c:334
-#, fuzzy
 msgid "Enter email addresses"
-msgstr "ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹: "
+msgstr "電子メール・アドレスを入力"
 
 #: sm/certreqgen-ui.c:335
-#, fuzzy
 msgid " (end with an empty line):\n"
-msgstr ""
-"\n"
-"¥æ¡¼¥¶¡¼ID¤òÆþÎÏ¡£¶õ¹Ô¤Ç½ªÎ»: "
+msgstr " (空行で終了):\n"
 
 #: sm/certreqgen-ui.c:339
-#, fuzzy
 msgid "Enter DNS names"
-msgstr "¿·¤·¤¤¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
+msgstr "DNS名を入力"
 
 #: sm/certreqgen-ui.c:340 sm/certreqgen-ui.c:345
-#, fuzzy
 msgid " (optional; end with an empty line):\n"
-msgstr "ͽÈ÷¤ÎÀâÌÀ¤òÆþÎÏ¡£¶õ¹Ô¤Ç½ªÎ»:\n"
+msgstr " (オプションです。空行で終了):\n"
 
 #: sm/certreqgen-ui.c:344
-#, fuzzy
 msgid "Enter URIs"
-msgstr "PIN¤ÎÆþÎÏ: "
+msgstr "URIを入力"
 
 #: sm/certreqgen-ui.c:371
 msgid "Parameters to be used for the certificate request:\n"
-msgstr ""
+msgstr "証明書要求に使われるパラメータ:\n"
 
 #: sm/certreqgen-ui.c:389
 msgid "Now creating certificate request.  This may take a while ...\n"
-msgstr ""
+msgstr "証明書要求を作成しています。しばらく時間がかかります ...\n"
 
 #: sm/certreqgen-ui.c:398
 msgid "Ready.  You should now send this request to your CA.\n"
-msgstr ""
+msgstr "準備ができました。今、この要求をあなたのCAに送るべきです。\n"
 
 #: sm/certreqgen-ui.c:403
 msgid "resource problem: out of core\n"
-msgstr ""
+msgstr "リソースの問題: メモリがありません\n"
 
 #: sm/decrypt.c:330
 msgid "(this is the RC2 algorithm)\n"
-msgstr ""
+msgstr "(RC2アルゴリズムです)\n"
 
 #: sm/decrypt.c:332
 msgid "(this does not seem to be an encrypted message)\n"
-msgstr ""
+msgstr "(暗号化されたメッセージではないようです)\n"
 
 #: sm/delete.c:51 sm/delete.c:112
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' not found: %s\n"
-msgstr "ÈëÌ©¸°¡È%s¡É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s\n"
+msgstr "証明書「%s」が見つかりません: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
-#, fuzzy, c-format
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
+#, c-format
 msgid "error locking keybox: %s\n"
-msgstr "¸°¥Ö¥í¥Ã¥¯¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "keyboxã\81®ã\83­ã\83\83ã\82¯ã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/delete.c:143
-#, fuzzy, c-format
+#, c-format
 msgid "duplicated certificate `%s' deleted\n"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òºîÀ®¡£\n"
+msgstr "重複した証明書「%s」を削除しました\n"
 
 #: sm/delete.c:145
-#, fuzzy, c-format
+#, c-format
 msgid "certificate `%s' deleted\n"
-msgstr "Áª¹¥¡Ö%s¡×¤Î½ÅÊ£\n"
+msgstr "証明書「%s」を削除しました\n"
 
 #: sm/delete.c:175
-#, fuzzy, c-format
+#, c-format
 msgid "deleting certificate \"%s\" failed: %s\n"
-msgstr "¸°¥Ö¥í¥Ã¥¯¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "証明書「%s」の削除に失敗しました: %s\n"
 
 #: sm/encrypt.c:321
-#, fuzzy
 msgid "no valid recipients given\n"
-msgstr "(ÀâÌÀ¤Ï¤¢¤ê¤Þ¤»¤ó)\n"
+msgstr "有効な受け取り手が指定されていません\n"
 
 #: sm/gpgsm.c:197
-#, fuzzy
 msgid "list external keys"
-msgstr "ÈëÌ©¸°¤Î°ìÍ÷"
+msgstr "外部鍵を一覧する"
 
 #: sm/gpgsm.c:199
-#, fuzzy
 msgid "list certificate chain"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書のチェインを表示する"
 
 #: sm/gpgsm.c:206
-#, fuzzy
 msgid "import certificates"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書をインポートする"
 
 #: sm/gpgsm.c:207
-#, fuzzy
 msgid "export certificates"
-msgstr "ÉÔÀµ¤Ê¾ÚÌÀ½ñ¤Ç¤¹"
+msgstr "証明書をエクスポートする"
 
 #: sm/gpgsm.c:209
-#, fuzzy
 msgid "register a smartcard"
-msgstr "¥¹¥Þ¡¼¥È¥«¡¼¥É¤Ø¸°¤ÎÄɲÃ"
+msgstr "ICカードを登録する"
 
 #: sm/gpgsm.c:212
 msgid "pass a command to the dirmngr"
-msgstr ""
+msgstr "dirmngrにコマンドを渡す"
 
 #: sm/gpgsm.c:214
 msgid "invoke gpg-protect-tool"
-msgstr ""
+msgstr "gpg-protect-toolを起動する"
 
 #: sm/gpgsm.c:230
-#, fuzzy
 msgid "create base-64 encoded output"
-msgstr "ASCII·Á¼°¤ÎÊñÁõ¤òºîÀ®"
+msgstr "base-64形式の出力を作成"
 
 #: sm/gpgsm.c:235
 msgid "assume input is in PEM format"
-msgstr ""
+msgstr "PEMフォーマットの入力を仮定する"
 
 #: sm/gpgsm.c:237
 msgid "assume input is in base-64 format"
-msgstr ""
+msgstr "base-64フォーマットの入力を仮定する"
 
 #: sm/gpgsm.c:239
 msgid "assume input is in binary format"
-msgstr ""
+msgstr "バイナリ・フォーマットの入力を仮定する"
 
 #: sm/gpgsm.c:244
 msgid "use system's dirmngr if available"
-msgstr ""
+msgstr "もしあれば、システムのdirmngrを使用する"
 
 #: sm/gpgsm.c:247
 msgid "never consult a CRL"
-msgstr ""
+msgstr "決してCRLを調べない"
 
 #: sm/gpgsm.c:257
 msgid "check validity using OCSP"
-msgstr ""
+msgstr "OCSPを用いて有効性を確認する"
 
 #: sm/gpgsm.c:262
 msgid "|N|number of certificates to include"
-msgstr ""
+msgstr "|N|インクルードする証明書の数"
 
 #: sm/gpgsm.c:265
 msgid "|FILE|take policy information from FILE"
-msgstr ""
+msgstr "|FILE|ポリシ情報をFILEから取得する"
 
 #: sm/gpgsm.c:268
 msgid "do not check certificate policies"
-msgstr ""
+msgstr "証明書ポリシをチェックしない"
 
 #: sm/gpgsm.c:272
 msgid "fetch missing issuer certificates"
-msgstr ""
+msgstr "紛失している発行者証明書を取得する"
 
 #: sm/gpgsm.c:283
 msgid "don't use the terminal at all"
-msgstr ""
+msgstr "端末をまったく使わない"
 
 #: sm/gpgsm.c:285
 msgid "|FILE|write a server mode log to FILE"
-msgstr ""
+msgstr "|FILE|サーバ・モードのログをFILEに書き出す"
 
 #: sm/gpgsm.c:290
-#, fuzzy
 msgid "|FILE|write an audit log to FILE"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "|FILE|監査ログをFILEに書き出す"
 
 #: sm/gpgsm.c:293
 msgid "batch mode: never ask"
-msgstr ""
+msgstr "バッチ・モード: なにもユーザに問い合わせない"
 
 #: sm/gpgsm.c:294
 msgid "assume yes on most questions"
-msgstr ""
+msgstr "ほとんどの設問にyesを仮定する"
 
 #: sm/gpgsm.c:295
 msgid "assume no on most questions"
-msgstr ""
+msgstr "ほとんどの設問にnoを仮定する"
 
 #: sm/gpgsm.c:298
-#, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
-msgstr "¤³¤Î¸°¤ò¸°Îؤ«¤éºï½ü¤·¤Þ¤¹"
+msgstr "|FILE|鍵リングを鍵リングのリストに追加"
 
 #: sm/gpgsm.c:301
 msgid "|USER-ID|use USER-ID as default secret key"
-msgstr ""
+msgstr "|USER-ID|USER-IDをデフォルトの秘密鍵として使う"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
-msgstr ""
+msgstr "|SPEC|このキーサーバを鍵の検索に使う"
 
 #: sm/gpgsm.c:329
-#, fuzzy
 msgid "|NAME|use cipher algorithm NAME"
-msgstr "̤ÃΤΰŹ楢¥ë¥´¥ê¥º¥à¤Ç¤¹"
+msgstr "|NAME|暗号アルゴリズムにNAMEを使用"
 
 #: sm/gpgsm.c:331
-#, fuzzy
 msgid "|NAME|use message digest algorithm NAME"
-msgstr "%s½ð̾¡¢Í×Ì󥢥르¥ê¥º¥à %s\n"
+msgstr "|NAME|ダイジェスト・アルゴリズムにNAMEを使用"
 
 #: sm/gpgsm.c:522
-#, fuzzy
 msgid "Usage: gpgsm [options] [files] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpgsm [オプション] [ファイル] (ヘルプは -h)"
 
 #: sm/gpgsm.c:525
-#, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
-"½ñ¼°: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë]\n"
-"½ð̾¡¢¸¡ºº¡¢°Å¹æ²½¤äÉü¹æ\n"
-"´ûÄê¤ÎÁàºî¤Ï¡¢ÆþÎϥǡ¼¥¿¤Ë°Í¸\n"
+"形式: gpgsm [オプション] [ファイル]\n"
+"S/MIMEプロトコルを用いて、署名、検査、暗号化や復号を行います\n"
+"デフォルトの操作は、入力データに依存します\n"
 
 #: sm/gpgsm.c:617
-#, fuzzy
 msgid "usage: gpgsm [options] "
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] "
+msgstr "使い方: gpgsm [オプション] "
 
 #: sm/gpgsm.c:739
-#, fuzzy, c-format
+#, c-format
 msgid "NOTE: won't be able to encrypt to `%s': %s\n"
-msgstr "¡Ö%s¡×¤ØÀܳ¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "*注意*:「%s」に対して暗号化できません: %s\n"
 
 #: sm/gpgsm.c:750
-#, fuzzy, c-format
+#, c-format
 msgid "unknown validation model `%s'\n"
-msgstr "̤ÃΤΥª¥×¥·¥ç¥ó¡Ö%s¡×\n"
+msgstr "不明の検証モデル 「%s」\n"
 
 #: sm/gpgsm.c:801
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: no hostname given\n"
-msgstr "(ÀâÌÀ¤Ï¤¢¤ê¤Þ¤»¤ó)\n"
+msgstr "%s:%u: ホスト名が指定されていません\n"
 
 #: sm/gpgsm.c:820
 #, c-format
 msgid "%s:%u: password given without user\n"
-msgstr ""
+msgstr "%s:%u: ユーザなしに与えられたパスワード\n"
 
 #: sm/gpgsm.c:841
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: skipping this line\n"
-msgstr "  s = ¤³¤Î¸°¤Ï¤È¤Ð¤¹\n"
+msgstr "%s:%u: この行はスキップ\n"
 
-#: sm/gpgsm.c:1376
-#, fuzzy
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤ÎURL¤ò²òÀÏÉÔǽ\n"
+msgstr "é\8dµã\82µã\83¼ã\83\90ã\81®URLã\82\92解æ\9e\90ä¸\8dè\83½\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
-msgstr ""
+msgstr "*警告*: ニセモノのシステム時刻で実行しています: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
-msgstr ""
+msgstr "共通証明書のインポート・エラー: %s\n"
 
-#: sm/gpgsm.c:1597
-#, fuzzy, c-format
+#: sm/gpgsm.c:1600
+#, c-format
 msgid "can't sign using `%s': %s\n"
-msgstr "¡Ö%s¡×¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "「%s」を用いて署名できません: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
-msgstr ""
+msgstr "無効なコマンド (暗黙のコマンドはありません)\n"
 
 #: sm/import.c:111
-#, fuzzy, c-format
+#, c-format
 msgid "total number processed: %lu\n"
-msgstr "    ½èÍý¿ô¤Î¹ç·×: %lu\n"
+msgstr "    処理数の合計: %lu\n"
 
 #: sm/import.c:230
-#, fuzzy
 msgid "error storing certificate\n"
-msgstr "¼º¸ú¾ÚÌÀ½ñ¤òÀ¸À®"
+msgstr "証明書の保存に失敗しました\n"
 
 #: sm/import.c:238
 msgid "basic certificate checks failed - not imported\n"
-msgstr ""
-
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "¸°¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "基本証明書チェックが失敗しました - インポートされませんでした\n"
 
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
-#, fuzzy, c-format
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
+#, c-format
 msgid "error getting stored flags: %s\n"
-msgstr "¿·¤·¤¤PIN¤Î¼èÆÀ¥¨¥é¡¼: %s\n"
+msgstr "ä¿\9då­\98ã\81\95ã\82\8cã\81\9fã\83\95ã\83©ã\82°ã\81®å\8f\96å¾\97ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/import.c:551 sm/import.c:583
-#, fuzzy, c-format
+#, c-format
 msgid "error importing certificate: %s\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "証æ\98\8eæ\9b¸ã\81®ã\82¤ã\83³ã\83\9dã\83¼ã\83\88ã\83»ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/import.c:684 tools/gpg-connect-agent.c:1346
-#, fuzzy, c-format
+#, c-format
 msgid "error reading input: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "å\85¥å\8a\9b読ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
-#: sm/keydb.c:187
-#, fuzzy, c-format
+#: sm/keydb.c:216
+#, c-format
 msgid "error creating keybox `%s': %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "keyboxã\80\8c%sã\80\8dã\81®ä½\9cæ\88\90ã\82¨ã\83©ã\83¼: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
-#, fuzzy, c-format
+#: sm/keydb.c:223
+#, c-format
 msgid "keybox `%s' created\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤¬¤Ç¤­¤Þ¤·¤¿\n"
+msgstr "keybox「%s」が作成されました\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
-#, fuzzy
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
-msgstr "»ØÌæ¤ÎÊݴɤ˼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "フィンガー・プリントの取得に失敗しました\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
-msgstr ""
+msgstr "既存の証明書の検索の問題: %s\n"
 
-#: sm/keydb.c:1348
-#, fuzzy, c-format
+#: sm/keydb.c:1525
+#, c-format
 msgid "error finding writable keyDB: %s\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "æ\9b¸ã\81\8dè¾¼ã\81¿å\8f¯è\83½keyDBã\81®å\88¤å®\9aã\82¨ã\83©ã\83¼: %s\n"
 
-#: sm/keydb.c:1356
-#, fuzzy, c-format
+#: sm/keydb.c:1533
+#, c-format
 msgid "error storing certificate: %s\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr "証æ\98\8eæ\9b¸ä¿\9då­\98ã\82¨ã\83©ã\83¼: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
-msgstr ""
+msgstr "証明書の再検索の問題: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
-#, fuzzy, c-format
+#: sm/keydb.c:1606 sm/keydb.c:1699
+#, c-format
 msgid "error storing flags: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\83\95ã\83©ã\82°ã\81®ä¿\9då­\98ã\82¨ã\83©ã\83¼: %s\n"
 
 #: sm/keylist.c:642
 msgid "Error - "
-msgstr ""
+msgstr "エラー - "
 
 #: sm/misc.c:55
 msgid "GPG_TTY has not been set - using maybe bogus default\n"
-msgstr ""
+msgstr "GPG_TTY が設定されていません - 少々疑問のデフォルトを使います\n"
 
 #: sm/qualified.c:105
-#, fuzzy, c-format
+#, c-format
 msgid "invalid formatted fingerprint in `%s', line %d\n"
-msgstr "¥¨¥é¡¼: Ìµ¸ú¤Ê·Á¼°¤Î»ØÌæ¡£\n"
+msgstr "「%s」(行 %d) 無効な形式のフィンガー・プリント\n"
 
 #: sm/qualified.c:123
 #, c-format
 msgid "invalid country code in `%s', line %d\n"
-msgstr ""
+msgstr "「%s」 (行 %d)で無効な国識別コード\n"
 
 #: sm/qualified.c:202
 #, c-format
@@ -7941,12 +7826,20 @@ msgid ""
 "\n"
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
+"あなたの以下の証明書を用いて今、認定署名を作ろうとしています:\n"
+":\n"
+"\"%s\"\n"
+"これにより手書きの署名と法的に同等とされる署名が作成されます。\n"
+"\n"
+"%s%s本当にこれを望みますか?"
 
 #: sm/qualified.c:211 sm/verify.c:616
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
 "signatures.\n"
 msgstr ""
+"注意してください、このような署名を作成したり、検証したりすることについてこの"
+"ソフトウェアは公式に承認されていません。\n"
 
 #: sm/qualified.c:278
 #, c-format
@@ -7955,407 +7848,396 @@ msgid ""
 "\"%s\"\n"
 "Note, that this certificate will NOT create a qualified signature!"
 msgstr ""
+"あなたの以下の証明書を用いて今、認定署名を作ろうとしています:\n"
+"\"%s\"\n"
+"注意してください: この証明書は署名を作るために作成されていません!"
 
 #: sm/sign.c:449
-#, fuzzy, c-format
+#, c-format
 msgid "hash algorithm %d (%s) for signer %d not supported; using %s\n"
-msgstr "Êݸ¥ë¥´¥ê¥º¥à%d%s¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr ""
+"ハッシュ・アルゴリズム %d (%s)(署名人 %d へ)はサポートされていません。%s を使"
+"います\n"
 
 #: sm/sign.c:463
 #, c-format
 msgid "hash algorithm used for signer %d: %s (%s)\n"
-msgstr ""
+msgstr "署名者 %dのために使われたハッシュアルゴリズム: %s (%s)\n"
 
 #: sm/sign.c:513
-#, fuzzy, c-format
+#, c-format
 msgid "checking for qualified certificate failed: %s\n"
-msgstr "ºîÀ®¤µ¤ì¤¿½ð̾¤Î¸¡ºº¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "適正な認定証明書の検査に失敗しました: %s\n"
 
 #: sm/verify.c:449
-#, fuzzy
 msgid "Signature made "
-msgstr "%s¤Ë»Ü¤µ¤ì¤¿½ð̾\n"
+msgstr "施された署名 "
 
 #: sm/verify.c:453
 msgid "[date not given]"
-msgstr ""
+msgstr "[日時指定なし]"
 
 #: sm/verify.c:454
-#, fuzzy, c-format
+#, c-format
 msgid " using certificate ID 0x%08lX\n"
-msgstr "ÄÌÈ֤μèÆÀ¥¨¥é¡¼: %s\n"
+msgstr " 証明書 ID 0x%08lXを用います\n"
 
 #: sm/verify.c:473
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
+"無効な署名: メッセージ・ダイジェストの属性が計算されたものと一致しません\n"
 
 #: sm/verify.c:594
-#, fuzzy
 msgid "Good signature from"
-msgstr "¡È%s¡É¤«¤é¤ÎÀµ¤·¤¤½ð̾"
+msgstr "正しい署名"
 
 #: sm/verify.c:595
-#, fuzzy
 msgid "                aka"
-msgstr "                ÊÌ̾¡È%s¡É"
+msgstr "      別名"
 
 #: sm/verify.c:613
-#, fuzzy
 msgid "This is a qualified signature\n"
-msgstr "¼«¸Ê½ð̾¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£\n"
+msgstr "これは認定署名です\n"
 
 #: tools/gpg-connect-agent.c:70 tools/gpgconf.c:81 tools/symcryptrun.c:167
-#, fuzzy
 msgid "quiet"
-msgstr "quit"
+msgstr "おとなしく"
 
 #: tools/gpg-connect-agent.c:71
 msgid "print data out hex encoded"
-msgstr ""
+msgstr "16進でエンコードしてデータ出力を表示する"
 
 #: tools/gpg-connect-agent.c:72
 msgid "decode received data lines"
-msgstr ""
+msgstr "受信したデータ行をデコードする"
 
 #: tools/gpg-connect-agent.c:74
 msgid "|NAME|connect to Assuan socket NAME"
-msgstr ""
+msgstr "|NAME|Assuanのソケット名NAMEに接続する"
 
 #: tools/gpg-connect-agent.c:76
 msgid "run the Assuan server given on the command line"
-msgstr ""
+msgstr "コマンド・ラインで与えられたAssuanサーバを実行する"
 
 #: tools/gpg-connect-agent.c:78
 msgid "do not use extended connect mode"
-msgstr ""
+msgstr "拡張接続モードを使わない"
 
 #: tools/gpg-connect-agent.c:80
-#, fuzzy
 msgid "|FILE|run commands from FILE on startup"
-msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
+msgstr "|FILE|起動時にFILEからコマンドを実行する"
 
 #: tools/gpg-connect-agent.c:81
 msgid "run /subst on startup"
-msgstr ""
+msgstr "起動時に /subst を実行する"
 
 #: tools/gpg-connect-agent.c:184
-#, fuzzy
 msgid "Usage: gpg-connect-agent [options] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg-connect-agent [オプション] (ヘルプは -h)"
 
 #: tools/gpg-connect-agent.c:187
 msgid ""
 "Syntax: gpg-connect-agent [options]\n"
 "Connect to a running agent and send commands\n"
 msgstr ""
+"形式: gpg-connect-agent [オプション]\n"
+"実行中のagentに接続し、コマンドを送る\n"
 
 #: tools/gpg-connect-agent.c:1201
 #, c-format
 msgid "option \"%s\" requires a program and optional arguments\n"
-msgstr ""
+msgstr "オプション\"%s\"はプログラムとオプショナルの引数を要します\n"
 
 #: tools/gpg-connect-agent.c:1210
 #, c-format
 msgid "option \"%s\" ignored due to \"%s\"\n"
-msgstr ""
+msgstr "オプション\"%s\"は\"%s\"のため無視されました\n"
 
 #: tools/gpg-connect-agent.c:1281 tools/gpg-connect-agent.c:1771
-#, fuzzy, c-format
+#, c-format
 msgid "receiving line failed: %s\n"
-msgstr "¸°¤ÎÆɽФ·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "行の受信に失敗しました: %s\n"
 
 #: tools/gpg-connect-agent.c:1371
-#, fuzzy
 msgid "line too long - skipped\n"
-msgstr "¹Ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+msgstr "行が長すぎます - スキップされました\n"
 
 #: tools/gpg-connect-agent.c:1375
 msgid "line shortened due to embedded Nul character\n"
-msgstr ""
+msgstr "組込みのNulキャラクタのため行は短くされました\n"
 
 #: tools/gpg-connect-agent.c:1743
-#, fuzzy, c-format
+#, c-format
 msgid "unknown command `%s'\n"
-msgstr "̤ÃΤΥª¥×¥·¥ç¥ó¡Ö%s¡×\n"
+msgstr "不明のコマンド「%s」\n"
 
 #: tools/gpg-connect-agent.c:1761
-#, fuzzy, c-format
+#, c-format
 msgid "sending line failed: %s\n"
-msgstr "½ð̾¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "行の送信に失敗しました: %s\n"
 
 #: tools/gpg-connect-agent.c:2208
-#, fuzzy, c-format
+#, c-format
 msgid "error sending %s command: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\82³ã\83\9eã\83³ã\83\89ã\81®é\80\81ä¿¡ã\82¨ã\83©ã\83¼: %s\n"
 
 #: tools/gpg-connect-agent.c:2223
-#, fuzzy, c-format
+#, c-format
 msgid "error sending standard options: %s\n"
-msgstr "¡Ö%s¡×¤Ç¿®Íѥ쥳¡¼¥É¤Î¸¡º÷¥¨¥é¡¼: %s\n"
+msgstr "æ¨\99æº\96ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92é\80\81ä¿¡ã\82¨ã\83©ã\83¼: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
-msgstr ""
+msgstr "診断出力を制御するオプション"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
-msgstr ""
+msgstr "コンフィグレーションを制御するオプション"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
-msgstr ""
+msgstr "デバッグのために有用なオプション"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
-msgstr ""
+msgstr "|FILE|FILEにサーバ・モードのログを書き出す"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
-msgstr ""
+msgstr "セキュリティを制御するオプション"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
-msgstr ""
+msgstr "|N|N秒後にSSH鍵を無効とする"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
-msgstr ""
+msgstr "|N|最大PINキャッシュ存続時間をN秒とする"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
-msgstr ""
+msgstr "|N|最大SSH鍵存続時間をN秒とする"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
-msgstr ""
+msgstr "パスワード・ポリシの強制オプション"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
-msgstr ""
+msgstr "パスワード・ポリシを迂回することを認めない"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
-msgstr ""
+msgstr "|N|新しいパスフレーズの必要とする最低長をNとする"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
+"|N|新しいパスフレーズとしてアルファベットでないキャラクタを最低N必要とする"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
-msgstr ""
+msgstr "|FILE|新しいパスフレーズをFILEのパターンに対してチェックする"
 
-#: tools/gpgconf-comp.c:557
-#, fuzzy
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
-msgstr "Éû¸°¤Î¼º¸ú"
+msgstr "|N|N日後にパスフレーズを期限切れとする"
 
-#: tools/gpgconf-comp.c:561
-#, fuzzy
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
-msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎºîÀ®¥¨¥é¡¼: %s\n"
+msgstr "古いパスフレーズを再使用することを認めない"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
-msgstr ""
+msgstr "|NAME|デフォルトの秘密鍵としてNAMEを用いる"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
-#, fuzzy
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
-msgstr "|̾Á°|¡Ö̾Á°¡×ÍѤ˰Ź沽"
+msgstr "|NAME|ユーザID NAMEにも暗号化する"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
-msgstr ""
+msgstr "|SPEC|電子メールエイリアスを設定する"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
-msgstr ""
+msgstr "キーサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:688
-#, fuzzy
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
-msgstr "¸°¥µ¡¼¥Ð¡¼¤ÎURL¤ò²òÀÏÉÔǽ\n"
+msgstr "|URL|鍵サーバとしてURLを使用"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
-msgstr ""
+msgstr "PKA検索(DNS要求)を認める"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
-msgstr ""
+msgstr "|MECHANISMS|メールアドレスによって鍵を特定する際、MECHANISMSを使用する"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
-msgstr ""
+msgstr "dirmngrへのすべてのアクセスを無効とする"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
-msgstr ""
+msgstr "|NAME|PKCS#12のパスフレーズにNAMEのエンコーディングを使う"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
-msgstr ""
+msgstr "ルート証明書のCRLをチェックしない"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
-msgstr ""
+msgstr "出力フォーマットを制御するオプション"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
-msgstr ""
+msgstr "インタラクティビティと強制を制御するオプション"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
-msgstr ""
+msgstr "HTTPサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
-msgstr ""
+msgstr "システムのHTTPプロキシ設定を用います"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
-msgstr ""
+msgstr "使用するLDAPサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
-msgstr ""
+msgstr "LDAPサーバ・リスト"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
-msgstr ""
+msgstr "OCSPのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
-msgstr ""
+msgstr "コンポーネント%sの外部の検証が失敗しました"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
-msgstr ""
+msgstr "グループ仕様は無視されていることに注意してください\n"
 
 #: tools/gpgconf.c:62
 msgid "list all components"
-msgstr ""
+msgstr "すべてのコンポーネントをリストする"
 
 #: tools/gpgconf.c:63
 msgid "check all programs"
-msgstr ""
+msgstr "すべてのプログラムをチェックする"
 
 #: tools/gpgconf.c:64
 msgid "|COMPONENT|list options"
-msgstr ""
+msgstr "|COMPONENT|オプションをリストする"
 
 #: tools/gpgconf.c:65
 msgid "|COMPONENT|change options"
-msgstr ""
+msgstr "|COMPONENT|オプションを変更する"
 
 #: tools/gpgconf.c:66
 msgid "|COMPONENT|check options"
-msgstr ""
+msgstr "|COMPONENT|オプションをチェックする"
 
 #: tools/gpgconf.c:68
 msgid "apply global default values"
-msgstr ""
+msgstr "グローバル・デフォルト値を適用する"
 
 #: tools/gpgconf.c:70
 msgid "get the configuration directories for gpgconf"
-msgstr ""
+msgstr "gpgconfのためにコンフィグレーション・ディレクトリを取得する"
 
 #: tools/gpgconf.c:72
-#, fuzzy
 msgid "list global configuration file"
-msgstr "̤ÃΤι½À®¹àÌÜ¡Ö%s¡×\n"
+msgstr "グローバルのコンフィグレーション・ファイルをリストする"
 
 #: tools/gpgconf.c:74
-#, fuzzy
 msgid "check global configuration file"
-msgstr "̤ÃΤι½À®¹àÌÜ¡Ö%s¡×\n"
+msgstr "グローバルのコンフィグレーション・ファイルをチェックする"
 
 #: tools/gpgconf.c:79
 msgid "use as output file"
-msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍÑ"
+msgstr "出力ファイルとして使用"
 
 #: tools/gpgconf.c:83
 msgid "activate changes at runtime, if possible"
-msgstr ""
+msgstr "可能な場合、実行時に変更を有効とする"
 
 #: tools/gpgconf.c:105
-#, fuzzy
 msgid "Usage: gpgconf [options] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpgconf [オプション] (ヘルプは -h)"
 
 #: tools/gpgconf.c:108
 msgid ""
 "Syntax: gpgconf [options]\n"
 "Manage configuration options for tools of the GnuPG system\n"
 msgstr ""
+"形式: gpgconf [オプション]\n"
+"GnuPGシステムのツールに対しコンフィグレーション・オプションを管理する\n"
 
 #: tools/gpgconf.c:214 tools/gpgconf.c:282
-#, fuzzy
 msgid "usage: gpgconf [options] "
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] "
+msgstr "使い方: gpgconf [オプション] "
 
 #: tools/gpgconf.c:216
 msgid "Need one component argument"
-msgstr ""
+msgstr "一つコンポーネント引数が必要です"
 
 #: tools/gpgconf.c:225 tools/gpgconf.c:258
-#, fuzzy
 msgid "Component not found"
-msgstr "¸ø³«¸°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "コンポーネントが見つかりません"
 
 #: tools/gpgconf.c:284
-#, fuzzy
 msgid "No argument allowed"
-msgstr "´ÉÍý¥³¥Þ¥ó¥É¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
+msgstr "引数は許可されていません"
 
 #: tools/symcryptrun.c:154
-#, fuzzy
 msgid ""
 "@\n"
 "Commands:\n"
 " "
 msgstr ""
-"@¥³¥Þ¥ó¥É:\n"
+"@\n"
+"@コマンド:\n"
 " "
 
 #: tools/symcryptrun.c:156
-#, fuzzy
 msgid "decryption modus"
-msgstr "Éü¹æ¤ËÀ®¸ù\n"
+msgstr "復号方式"
 
 #: tools/symcryptrun.c:157
-#, fuzzy
 msgid "encryption modus"
-msgstr "Éü¹æ¤ËÀ®¸ù\n"
+msgstr "暗号方式"
 
 #: tools/symcryptrun.c:161
 msgid "tool class (confucius)"
-msgstr ""
+msgstr "ツール・クラス (confucius)"
 
 #: tools/symcryptrun.c:162
-#, fuzzy
 msgid "program filename"
-msgstr "--store [¥Õ¥¡¥¤¥ë̾]"
+msgstr "program [ファイル名]"
 
 #: tools/symcryptrun.c:164
 msgid "secret key file (required)"
-msgstr ""
+msgstr "秘密鍵ファイル (必須)"
 
 #: tools/symcryptrun.c:165
 msgid "input file name (default stdin)"
-msgstr ""
+msgstr "入力ファイル名 (デフォルト stdin)"
 
 #: tools/symcryptrun.c:209
-#, fuzzy
 msgid "Usage: symcryptrun [options] (-h for help)"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: symcryption [オプション] (ヘルプは -h)"
 
 #: tools/symcryptrun.c:212
 msgid ""
@@ -8363,1091 +8245,144 @@ msgid ""
 "[options...] COMMAND [inputfile]\n"
 "Call a simple symmetric encryption tool\n"
 msgstr ""
+"形式: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE [オプショ"
+"ン...] COMMAND [入力ファイル]\n"
+"シンプルな共通鍵暗号ツールを呼び出す\n"
 
 #: tools/symcryptrun.c:281
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s aborted with status %i\n"
-msgstr "%s¤Ï%s¤È¤È¤â¤Ë»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó!\n"
+msgstr "%s (%s の)がステイタス%iで中止されました\n"
 
 #: tools/symcryptrun.c:288
-#, fuzzy, c-format
+#, c-format
 msgid "%s on %s failed with status %i\n"
-msgstr "¡Ö%s¡×¤Îfstat¤¬%s¤Ç¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "%s (%s の)がステイタス%iで失敗しました\n"
 
 #: tools/symcryptrun.c:314
-#, fuzzy, c-format
+#, c-format
 msgid "can't create temporary directory `%s': %s\n"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¡¼¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "一時ディレクトリ「%s」が作成できません: %s\n"
 
 #: tools/symcryptrun.c:354 tools/symcryptrun.c:371
 #, c-format
 msgid "could not open %s for writing: %s\n"
-msgstr ""
+msgstr "%sを書き込みでオープンできませんでした: %s\n"
 
 #: tools/symcryptrun.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "error writing to %s: %s\n"
-msgstr "¸°ÎØ¡Ö%s¡×¤Î½ñ¹þ¤ß¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: tools/symcryptrun.c:389
-#, fuzzy, c-format
+#, c-format
 msgid "error reading from %s: %s\n"
-msgstr "¡Ö%s¡×¤ÎÆɽФ·¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81®èª­ã\81¿è¾¼ã\81¿ã\82¨ã\83©ã\83¼: %s\n"
 
 #: tools/symcryptrun.c:396 tools/symcryptrun.c:403
-#, fuzzy, c-format
+#, c-format
 msgid "error closing %s: %s\n"
-msgstr "¡Ö%s¡×¤Ç¥¨¥é¡¼: %s\n"
+msgstr "ã\80\8c%sã\80\8dã\81§ã\82¯ã\83­ã\83¼ã\82ºã\81®ã\82¨ã\83©ã\83¼: %s\n"
 
 #: tools/symcryptrun.c:488
-#, fuzzy
 msgid "no --program option provided\n"
-msgstr "±ó³Ö¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ï¡¢¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "--programオプションが指定されていません\n"
 
 #: tools/symcryptrun.c:494
 msgid "only --decrypt and --encrypt are supported\n"
-msgstr ""
+msgstr "--decryptと--encryptだけがサポートされています\n"
 
 #: tools/symcryptrun.c:500
 msgid "no --keyfile option provided\n"
-msgstr ""
+msgstr "--keyfileオプションが与えられていません\n"
 
 #: tools/symcryptrun.c:511
 msgid "cannot allocate args vector\n"
-msgstr ""
+msgstr "引数ベクタが確保できません\n"
 
 #: tools/symcryptrun.c:529
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pipe: %s\n"
-msgstr "¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "パイプが作成できませんでした: %s\n"
 
 #: tools/symcryptrun.c:536
-#, fuzzy, c-format
+#, c-format
 msgid "could not create pty: %s\n"
-msgstr "¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "ptyが作成できませんでした: %s\n"
 
 #: tools/symcryptrun.c:552
 #, c-format
 msgid "could not fork: %s\n"
-msgstr ""
+msgstr "fork できませんでした: %s\n"
 
 #: tools/symcryptrun.c:580
-#, fuzzy, c-format
+#, c-format
 msgid "execv failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "execv が失敗しました: %s\n"
 
 #: tools/symcryptrun.c:609
-#, fuzzy, c-format
+#, c-format
 msgid "select failed: %s\n"
-msgstr "¸°¥Ö¥í¥Ã¥¯¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "select が失敗しました: %s\n"
 
 #: tools/symcryptrun.c:626
-#, fuzzy, c-format
+#, c-format
 msgid "read failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "read が失敗しました: %s\n"
 
 #: tools/symcryptrun.c:678
-#, fuzzy, c-format
+#, c-format
 msgid "pty read failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "pty read が失敗しました: %s\n"
 
 #: tools/symcryptrun.c:730
-#, fuzzy, c-format
+#, c-format
 msgid "waitpid failed: %s\n"
-msgstr "¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
+msgstr "waitpid が失敗しました: %s\n"
 
 #: tools/symcryptrun.c:744
 #, c-format
 msgid "child aborted with status %i\n"
-msgstr ""
+msgstr "子プロセスがステイタス %i で中止されました\n"
 
 #: tools/symcryptrun.c:799
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate infile string: %s\n"
-msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "infileの文字列が確保できません: %s\n"
 
 #: tools/symcryptrun.c:812
-#, fuzzy, c-format
+#, c-format
 msgid "cannot allocate outfile string: %s\n"
-msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¡¦¥Õ¥¡¥¤¥ë¡Ö%s¡×¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó: %s\n"
+msgstr "outfileの文字列を確保できません: %s\n"
 
 #: tools/symcryptrun.c:986
 #, c-format
 msgid "either %s or %s must be given\n"
-msgstr ""
+msgstr "%s か %s のどちらかが与えられる必要があります\n"
 
 #: tools/symcryptrun.c:1013
 msgid "no class provided\n"
-msgstr ""
+msgstr "クラスが与えられていません\n"
 
 #: tools/symcryptrun.c:1022
-#, fuzzy, c-format
+#, c-format
 msgid "class %s is not supported\n"
-msgstr "ÊݸîÍ×Ìó%d¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n"
+msgstr "クラス%sはサポートされていません\n"
 
 #: tools/gpg-check-pattern.c:145
-#, fuzzy
 msgid "Usage: gpg-check-pattern [options] patternfile (-h for help)\n"
-msgstr "»È¤¤Êý: gpg [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë] (¥Ø¥ë¥×¤Ï -h)"
+msgstr "使い方: gpg-check-pattern [オプション] patternfile (ヘルプは -h)\n"
 
 #: tools/gpg-check-pattern.c:148
 msgid ""
 "Syntax: gpg-check-pattern [options] patternfile\n"
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
+"形式: gpg-check-pattern [オプション] パターンファイル\n"
+"パターンファイルに対して標準入力のパスフレーズを確認する\n"
 
-#~ msgid "Command> "
-#~ msgstr "¥³¥Þ¥ó¥É> "
-
-#~ msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
-#~ msgstr ""
-#~ "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤¬²õ¤ì¤Æ¤¤¤Þ¤¹¡£¡Ègpg --fix-trustdb¡É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ"
-#~ "¤¤¡£\n"
-
-#, fuzzy
-#~ msgid "Please report bugs to <"
-#~ msgstr "¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é <gnupg-bugs@gnu.org> ¤Þ¤Ç¤´Êó¹ð¤¯¤À¤µ¤¤¡£\n"
-
-#, fuzzy
-#~ msgid "Please report bugs to "
-#~ msgstr "¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é <gnupg-bugs@gnu.org> ¤Þ¤Ç¤´Êó¹ð¤¯¤À¤µ¤¤¡£\n"
-
-#, fuzzy
-#~ msgid "DSA keypair will have %u bits.\n"
-#~ msgstr "DSA¸°ÂФÏ1024¥Ó¥Ã¥È¤Ë¤Ê¤ê¤Þ¤¹¡£\n"
-
-#~ msgid "Repeat passphrase\n"
-#~ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òºÆÆþÎÏ\n"
-
-#, fuzzy
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "PIN [½ð̾ºÑ: %lu]"
-
-#~ msgid "|A|Admin PIN"
-#~ msgstr "|A|Admin PIN"
-
-#, fuzzy
-#~ msgid "read options from file"
-#~ msgstr "¡Ö%s¡×¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߽Ф·¤Þ¤¹\n"
-
-#~ msgid "|[file]|make a signature"
-#~ msgstr "|[¥Õ¥¡¥¤¥ë]|½ð̾¤òºîÀ®"
-
-#~ msgid "generate PGP 2.x compatible messages"
-#~ msgstr "PGP 2.x¸ß´¹¤Î¥á¥Ã¥»¡¼¥¸¤òÀ¸À®"
-
-#, fuzzy
-#~ msgid "|[FILE]|make a signature"
-#~ msgstr "|[¥Õ¥¡¥¤¥ë]|½ð̾¤òºîÀ®"
-
-#, fuzzy
-#~ msgid "|[FILE]|make a clear text signature"
-#~ msgstr "|[¥Õ¥¡¥¤¥ë]|¥¯¥ê¥¢½ð̾¤òºîÀ®"
-
-#, fuzzy
-#~ msgid "use the default key as default recipient"
-#~ msgstr "¥¹¥­¥Ã¥×: ¸ø³«¸°¤Ï´ûÄê¤Î¼õ¼è¿Í¤È¤·¤Æ¤â¤¦ÀßÄêºÑ¤ß¤Ç¤¹\n"
-
-#, fuzzy
-#~ msgid "force v3 signatures"
-#~ msgstr "½ð̾¤Î¼º¸ú"
-
-#, fuzzy
-#~ msgid "add this secret keyring to the list"
-#~ msgstr "¤³¤Î¼Â¹Ô¤Ë¤ÏÈëÌ©¸°¤¬¤¤¤ê¤Þ¤¹¡£\n"
-
-#, fuzzy
-#~ msgid "|NAME|set terminal charset to NAME"
-#~ msgstr "|̾Á°|¡Ö̾Á°¡×ÍѤ˰Ź沽"
-
-#, fuzzy
-#~ msgid "|N|use compress algorithm N"
-#~ msgstr "̤ÃΤΰµ½Ì¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
-
-#, fuzzy
-#~ msgid "remove key from the public keyring"
-#~ msgstr "¸ø³«¸°Îؤ«¤é¸°·²¤òºï½ü"
-
-#~ msgid ""
-#~ "It's up to you to assign a value here; this value will never be exported\n"
-#~ "to any 3rd party.  We need it to implement the web-of-trust; it has "
-#~ "nothing\n"
-#~ "to do with the (implicitly created) web-of-certificates."
-#~ msgstr ""
-#~ "¤³¤ÎÃͤλØÄê¤Ï¡¢¤¢¤Ê¤¿¼¡Âè¤Ç¤¹¡£¤³¤ÎÃͤϡ¢Âè»°¼Ô¤Ë·è¤·\n"
-#~ "¤ÆÄ󶡤µ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢web-of-trust ¤Î¼ÂÁõ¤ËɬÍפǡ¢\n"
-#~ "(°ÅÌÛŪ¤Ë¤Ç¤­¤¿) web-of-certificates ¤È¤Ï̵´Ø·¸¤Ç¤¹¡£"
-
-#~ msgid ""
-#~ "To build the Web-of-Trust, GnuPG needs to know which keys are\n"
-#~ "ultimately trusted - those are usually the keys for which you have\n"
-#~ "access to the secret key.  Answer \"yes\" to set this key to\n"
-#~ "ultimately trusted\n"
-#~ msgstr ""
-#~ "Web-of-Trust¤ò¹½ÃÛ¤¹¤ë¤¿¤áGnuPG¤Ï¡¢¤É¤Î¸°¤òÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë\n"
-#~ "¤Î¤«¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¤Õ¤Ä¤¦¡¢ÈëÌ©¸°¤Ë¥¢¥¯¥»¥¹¤Ç¤­\n"
-#~ "¤ë¸°¤Î¤³¤È¤Ç¤¹¡£¤³¤Î¸°¤òÀäÂÐŪ¤Ë¿®ÍѤ¹¤ë¤³¤È¤Ë¤¹¤ë¤Ê¤é¡¢\n"
-#~ "¡Èyes¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£\n"
-
-#~ msgid "If you want to use this untrusted key anyway, answer \"yes\"."
-#~ msgstr "¤³¤Î¿®ÍѤǤ­¤Ê¤¤¸°¤ò»È¤¤¤¿¤¯¤Ê¤±¤ì¤Ð¡¢¡Èno¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid ""
-#~ "Enter the user ID of the addressee to whom you want to send the message."
-#~ msgstr "¤¢¤Ê¤¿¤ÎÁ÷¤ë¥á¥Ã¥»¡¼¥¸°¸Àè¤Î¥æ¡¼¥¶¡¼ID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid ""
-#~ "Select the algorithm to use.\n"
-#~ "\n"
-#~ "DSA (aka DSS) is the Digital Signature Algorithm and can only be used\n"
-#~ "for signatures.\n"
-#~ "\n"
-#~ "Elgamal is an encrypt-only algorithm.\n"
-#~ "\n"
-#~ "RSA may be used for signatures or encryption.\n"
-#~ "\n"
-#~ "The first (primary) key must always be a key which is capable of signing."
-#~ msgstr ""
-#~ "»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
-#~ "\n"
-#~ "DSA (ÊÌ̾DSS) ¤Ï¡¢½ð̾ÀìÍѤÎÅŻҽð̾¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "Elgamal¤Ï¡¢°Å¹æ²½¤Î¤ß¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "RSA¤Ï¡¢½ð̾¤Ë¤â°Å¹æ²½¤Ë¤â»È¤¨¤Þ¤¹¡£\n"
-#~ "\n"
-#~ "ºÇ½é¤Î¸°(¼ç¸°)¤Ï¡¢½ð̾¤Ë»ÈÍѤǤ­¤ë¸°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£"
-
-#~ msgid ""
-#~ "In general it is not a good idea to use the same key for signing and\n"
-#~ "encryption.  This algorithm should only be used in certain domains.\n"
-#~ "Please consult your security expert first."
-#~ msgstr ""
-#~ "°ìÈ̤ˡ¢½ð̾¤È°Å¹æ²½¤ËƱ¤¸¸°¤ò»È¤¦¤Î¤Ï¡¢¤è¤í¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£\n"
-#~ "¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢°ìÄê¤ÎÈÏ°ÏÆâ¤À¤±¤Ç»È¤ï¤ì¤ë¤Ù¤­¤Ç¤¹¡£\n"
-#~ "¤Þ¤º¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¤ÎÀìÌç²È¤Ë¤´ÁêÃ̤¯¤À¤µ¤¤¡£"
-
-#~ msgid "Enter the size of the key"
-#~ msgstr "¸°¤ÎŤµ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid "Answer \"yes\" or \"no\""
-#~ msgstr "¡Èyes¡É¤«¡Èno¡É¤ÇÅú¤¨¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid ""
-#~ "Enter the required value as shown in the prompt.\n"
-#~ "It is possible to enter a ISO date (YYYY-MM-DD) but you won't\n"
-#~ "get a good error response - instead the system tries to interpret\n"
-#~ "the given value as an interval."
-#~ msgstr ""
-#~ "¥×¥í¥ó¥×¥È¤Ë¼¨¤¹½ñ¼°¤ÇÃͤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£\n"
-#~ "ISO¤ÎÆüÉդνñ¼° (YYYY-MM-DD) ¤Ç¤âÆþÎϤǤ­¤Þ¤¹¤¬¡¢Àµ¤·¤¤¥¨¥é¡¼¤Ï\n"
-#~ "ɽ¼¨¤µ¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤½¤ÎÂå¤ï¤ê¡¢¥·¥¹¥Æ¥à¤ÏÆþÎÏÃͤò´ü´Ö¤ØÊÑ´¹\n"
-#~ "¤¹¤ë¤è¤¦¤Ë»î¤ß¤Þ¤¹¡£"
-
-#~ msgid "Enter the name of the key holder"
-#~ msgstr "¸°½êÍ­¼Ô¤Î̾Á°¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid "please enter an optional but highly suggested email address"
-#~ msgstr ""
-#~ "¥ª¥×¥·¥ç¥ó¤Ç¤¹¤¬¡¢ÅŻҥ᡼¥ë¤Î¥¢¥É¥ì¥¹¤òÆþÎϤ¹¤ë¤³¤È¤ò¶¯¤¯¿ä¾©¤·¤Þ¤¹"
-
-#~ msgid "Please enter an optional comment"
-#~ msgstr "¥ª¥×¥·¥ç¥ó¤Î¥³¥á¥ó¥È¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid ""
-#~ "N  to change the name.\n"
-#~ "C  to change the comment.\n"
-#~ "E  to change the email address.\n"
-#~ "O  to continue with key generation.\n"
-#~ "Q  to to quit the key generation."
-#~ msgstr ""
-#~ "N  Ì¾Á°¤ÎÊѹ¹¡£\n"
-#~ "C  ¥³¥á¥ó¥È¤ÎÊѹ¹¡£\n"
-#~ "E  ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¤ÎÊѹ¹¡£\n"
-#~ "O  ¸°À¸À®¤Î³¹Ô¡£\n"
-#~ "Q  ¸°À¸À®¤Î½ªÎ»¡£"
-
-#~ msgid ""
-#~ "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
-#~ msgstr ""
-#~ "Éû¸°¤òÀ¸À®¤·¤Æ¤è¤±¤ì¤Ð¡¢¡Èyes¡É(¤Þ¤¿¤Ï¡¢Ã±¤Ë¡Èy¡É) ¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid ""
-#~ "When you sign a user ID on a key, you should first verify that the key\n"
-#~ "belongs to the person named in the user ID.  It is useful for others to\n"
-#~ "know how carefully you verified this.\n"
-#~ "\n"
-#~ "\"0\" means you make no particular claim as to how carefully you verified "
-#~ "the\n"
-#~ "    key.\n"
-#~ "\n"
-#~ "\"1\" means you believe the key is owned by the person who claims to own "
-#~ "it\n"
-#~ "    but you could not, or did not verify the key at all.  This is useful "
-#~ "for\n"
-#~ "    a \"persona\" verification, where you sign the key of a pseudonymous "
-#~ "user.\n"
-#~ "\n"
-#~ "\"2\" means you did casual verification of the key.  For example, this "
-#~ "could\n"
-#~ "    mean that you verified the key fingerprint and checked the user ID on "
-#~ "the\n"
-#~ "    key against a photo ID.\n"
-#~ "\n"
-#~ "\"3\" means you did extensive verification of the key.  For example, this "
-#~ "could\n"
-#~ "    mean that you verified the key fingerprint with the owner of the key "
-#~ "in\n"
-#~ "    person, and that you checked, by means of a hard to forge document "
-#~ "with a\n"
-#~ "    photo ID (such as a passport) that the name of the key owner matches "
-#~ "the\n"
-#~ "    name in the user ID on the key, and finally that you verified (by "
-#~ "exchange\n"
-#~ "    of email) that the email address on the key belongs to the key "
-#~ "owner.\n"
-#~ "\n"
-#~ "Note that the examples given above for levels 2 and 3 are *only* "
-#~ "examples.\n"
-#~ "In the end, it is up to you to decide just what \"casual\" and \"extensive"
-#~ "\"\n"
-#~ "mean to you when you sign other keys.\n"
-#~ "\n"
-#~ "If you don't know what the right answer is, answer \"0\"."
-#~ msgstr ""
-#~ "¸°¤Î¥æ¡¼¥¶¡¼ID¤Ë½ð̾¤¹¤ë¤È¤­¤Ï¡¢¸°¤Î¥æ¡¼¥¶¡¼ID¤Î̾Á°¤Î¿Í¤¬¸°\n"
-#~ "¤ò½êÍ­¤·¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤ò¸¡¾Ú¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤¢¤Ê¤¿¤¬¤É¤ÎÄø\n"
-#~ "ÅÙÃí°Õ¿¼¤¯³Îǧ¤·¤¿¤Î¤«¤ò¾¤Î¿Í¤¿¤Á¤ËÃΤ餻¤ë¤È¡¢ÊØÍø¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "\"0\" ¤Ï¡¢¤¢¤Ê¤¿¤¬¤É¤ÎÄøÅÙÃí°Õ¿¼¤¯³Îǧ¤·¤¿¤Î¤«¤ò¡¢Æä˼çÄ¥¤·¤Ê\n"
-#~ "    ¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "\"1\" ¤Ï¡¢¸°¤Î½êÍ­¼Ô¤È¼çÄ¥¤·¤Æ¤¤¤ë¿Í¤¬¤½¤Î¸°¤ò½êÍ­¤·¤Æ¤¤¤ë¡¢¤È\n"
-#~ "    ¤¢¤Ê¤¿¤Ï¿®¤¸¤Æ¤Ï¤¤¤ë¤â¤Î¤Î¡¢¸¡¾Ú¤ÏÁ´Á³¤·¤Æ¤Ê¤«¤Ã¤¿¡¢¤Þ¤¿\n"
-#~ "    ¤Ï¤Ç¤­¤Ê¤«¤Ã¤¿¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥Ú¥ó¥Í¡¼¥à¤ò»È¤¦\n"
-#~ "    ¥æ¡¼¥¶¡¼¤Î¸°¤Ë½ð̾¤¹¤ë¾ì¹ç¤Î¡¢¡Ö¥Ú¥ë¥½¥Ê¡×³Îǧ¤ËÊØÍø¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "\"2\" ¤Ï¡¢¤¢¤Ê¤¿¤¬°ì±þ¸°¤Î³Îǧ¤ò¤·¤¿¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£¤¿¤È¤¨¤Ð\n"
-#~ "    ¸°¤Î»ØÌæ¤ò¸¡¾Ú¤·¡¢¥Õ¥©¥ÈID¤Ë¤¿¤¤¤·¤Æ¸°¤Î¥æ¡¼¥¶¡¼ID¤ò¸¡ºº\n"
-#~ "    ¤·¤¿¾ì¹ç¤¬¤½¤¦¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "\"3\" ¤Ï¡¢¤¢¤Ê¤¿¤¬¹­ÈϰϤˤ錄¤ê¸°¤ò¸¡¾Ú¤·¤¿¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£\n"
-#~ "    ¤¿¤È¤¨¤Ð¡¢¸°¤Î½êÍ­¼ÔËܿͤȸ°¤Î»ØÌæ¤ò¸¡¾Ú¤·¡¢(¥Ñ¥¹¥Ý¡¼¥È\n"
-#~ "    ¤Î¤è¤¦¤Ê) µ¶Â¤¤Î¤à¤Ä¤«¤·¤¤¡¢¥Õ¥©¥ÈID¤Ä¤­¤Î¼êÃʤǡ¢¸°¤Î½ê\n"
-#~ "    Í­¼Ô¤Î̾Á°¤¬¡¢¸°¤Î¥æ¡¼¥¶¡¼ID¤Î̾Á°¤È°ìÃפ¹¤ë¤³¤È¤ò¸¡ºº¤·\n"
-#~ "    ¤Æ¡¢(ÅŻҥ᡼¥ë¤Î¸ò´¹¤Ê¤É¤Ç) ¸°¤ÎÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¤¬\n"
-#~ "    ¸°¤Î½êÍ­¼Ô¤Ë°¤·¤Æ¤¤¤ë¤³¤È¤ò¸¡¾Ú¤·¤¿¾ì¹ç¤¬¤½¤¦¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "¾åµ­2¤È3¤ÎÎã¤Ï¡¢*ñ¤Ê¤ë*Îã¤Ë¤¹¤®¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤òǰƬ¤Ë¤ª¤¤\n"
-#~ "¤Æ¤¯¤À¤µ¤¤¡£Â¾¤Î¸°¤Ë½ð̾¤¹¤ëºÝ¡¢¡Ø°ì±þ¡Ù¤ä¡Ø¹­ÈÏ°Ï¡Ù¤¬²¿¤ò°Õ\n"
-#~ "Ì£¤¹¤ë¤«¤òºÇ½ªÅª¤Ë·è¤á¤ë¤Î¤Ï¡¢¤¢¤Ê¤¿¤Ç¤¹¡£\n"
-#~ "\n"
-#~ "Àµ¤·¤¤Åú¤Î¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ö0¡×¤ÇÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid "Answer \"yes\" if you want to sign ALL the user IDs"
-#~ msgstr "Á´¤Æ¤Î ¥æ¡¼¥¶¡¼ID¤Ë½ð̾¤·¤¿¤±¤ì¤Ð¡¢¡Èyes¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid ""
-#~ "Answer \"yes\" if you really want to delete this user ID.\n"
-#~ "All certificates are then also lost!"
-#~ msgstr ""
-#~ "¤³¤Î¥æ¡¼¥¶¡¼ID¤òËÜÅö¤Ëºï½ü¤·¤¿¤±¤ì¤Ð¡¢¡Èyes¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤¡£\n"
-#~ "¾ÚÌÀ½ñ¤âÁ´ÉôƱ»þ¤Ë¾Ãµî¤·¤Þ¤¹!"
-
-#~ msgid "Answer \"yes\" if it is okay to delete the subkey"
-#~ msgstr "¤³¤ÎÉû¸°¤òºï½ü¤·¤Æ¤è¤±¤ì¤Ð¡¢¡Èyes¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid ""
-#~ "This is a valid signature on the key; you normally don't want\n"
-#~ "to delete this signature because it may be important to establish a\n"
-#~ "trust connection to the key or another key certified by this key."
-#~ msgstr ""
-#~ "¤³¤ì¤Ï¸°¤Ë¤¿¤¤¤¹¤ëÍ­¸ú¤Ê½ð̾¤Ç¤¹¡£ÉáÄ̤³¤Î½ð̾¤òºï½ü¤¹¤ë¤Ù¤­¤Ç\n"
-#~ "¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤Ê¤¼¤Ê¤é¡¢¤³¤Î½ð̾¤Ï¡¢¸°¤Ø¤Î¿®ÍѤÎÎؤκîÀ®¤ä¡¢\n"
-#~ "¤³¤Î¸°¤Ë¤è¤ë¾ÚÌÀ¤Ë¤È¤Ã¤Æ½ÅÍפÀ¤«¤é¤Ç¤¹¡£"
-
-#~ msgid ""
-#~ "This signature can't be checked because you don't have the\n"
-#~ "corresponding key.  You should postpone its deletion until you\n"
-#~ "know which key was used because this signing key might establish\n"
-#~ "a trust connection through another already certified key."
-#~ msgstr ""
-#~ "¤³¤Î½ð̾¤È°ìÃפ¹¤ë¸°¤òÊÝÍ­¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤³¤Î½ð̾¤Ï¸¡ºº¤Ç¤­¤Þ¤»¤ó¡£\n"
-#~ "¤½¤Î¸°¤¬»ÈÍѤµ¤ì¤ë¤Þ¤Ç¤Ï¡¢¤¢¤Ê¤¿¤Ï¤³¤Î½ð̾¤Îºï½ü¤òÊÝα¤¹¤ë¤Ù¤­¤Ç¤¹¡£\n"
-#~ "¤Ê¤¼¤Ê¤é¡¢¤³¤Î½ð̾¤Î¸°¤Ï¡¢¤â¤¦¾ÚÌÀ¤µ¤ì¤¿Â¾¤Î¸°¤Ç¿®ÍѤÎÎؤò·ÁÀ®¤¹¤ë\n"
-#~ "¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£"
-
-#~ msgid ""
-#~ "The signature is not valid.  It does make sense to remove it from\n"
-#~ "your keyring."
-#~ msgstr ""
-#~ "¤³¤Î½ð̾¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¤³¤È¤Ï¡¢¤¢¤Ê¤¿¤Î¸°Îؤ«¤éºï½ü¤¹¤Ù¤­¤À\n"
-#~ "¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£"
-
-#~ msgid ""
-#~ "This is a signature which binds the user ID to the key. It is\n"
-#~ "usually not a good idea to remove such a signature.  Actually\n"
-#~ "GnuPG might not be able to use this key anymore.  So do this\n"
-#~ "only if this self-signature is for some reason not valid and\n"
-#~ "a second one is available."
-#~ msgstr ""
-#~ "¤³¤ì¤Ï¡¢¸°¤Î¥æ¡¼¥¶¡¼ID¤ËÂбþ¤·¤¿½ð̾¤Ç¤¹¡£Ä̾¤³¤Î½ð̾¤òºï½ü¤¹¤ë¤Î¤Ï\n"
-#~ "¤¤¤¤¹Í¤¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¼ÂºÝ¤Ë¤Ï¡¢GnuPG¤Ï¤â¤Ï¤ä¤³¤Î¸°¤ò»È¤¨¤Ê¤¤¤Î¤«¤â\n"
-#~ "¤·¤ì¤Þ¤»¤ó¡£¤è¤Ã¤Æ¡¢¤³¤Î¼«¸Ê½ð̾¤¬²¿¤é¤«¤ÎÍýͳ¤Ë¤è¤êÍ­¸ú¤Ç¤Ï¤Ê¤¯¤Æ¡¢\n"
-#~ "ÂåÂؤȤʤ븰¤¬¤¢¤ë¾ì¹ç¤Ë¤Î¤ß¡¢ºï½ü¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid ""
-#~ "Change the preferences of all user IDs (or just of the selected ones)\n"
-#~ "to the current list of preferences.  The timestamp of all affected\n"
-#~ "self-signatures will be advanced by one second.\n"
-#~ msgstr ""
-#~ "Á´Éô (¤Þ¤¿¤ÏÁªÂò¤·¤¿) ¥æ¡¼¥¶¡¼ID¤ÎÁª¹¥¤ò¡¢º£¤ÎÁª¹¥°ìÍ÷¤ËÊѹ¹\n"
-#~ "¤·¤Þ¤¹¡£´Ø·¸¤¹¤ë¼«¸Ê½ð̾¤ÎÆü»þ¤Ï¡¢1É乤¹¤ß¤Þ¤¹¡£\n"
-
-#~ msgid "Please enter the passhrase; this is a secret sentence \n"
-#~ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÈëÌ©¤Îʸ¾Ï¤Î¤³¤È¤Ç¤¹ \n"
-
-#~ msgid ""
-#~ "Please repeat the last passphrase, so you are sure what you typed in."
-#~ msgstr "ÆþÎϤ·¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º¤Î³Îǧ¤Î¤¿¤á¡¢ºÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"
-
-#~ msgid "Give the name of the file to which the signature applies"
-#~ msgstr "½ð̾¤ò¹Ô¤¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid "Answer \"yes\" if it is okay to overwrite the file"
-#~ msgstr "¾å½ñ¤­¤·¤Æ¤è¤±¤ì¤Ð¡¢¡Èyes¡É¤ÈÅú¤¨¤Æ¤¯¤À¤µ¤¤"
-
-#~ msgid ""
-#~ "Please enter a new filename. If you just hit RETURN the default\n"
-#~ "file (which is shown in brackets) will be used."
-#~ msgstr ""
-#~ "¿·¤·¤¤¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Ã±¤ËRETURN¤òÂǤĤȡ¢\n"
-#~ "(³ç¸Ì¤Ç¼¨¤·¤¿) ´ûÄê¤Î¥Õ¥¡¥¤¥ë̾¤ò»ÈÍѤ·¤Þ¤¹¡£"
-
-#~ msgid ""
-#~ "You should specify a reason for the certification.  Depending on the\n"
-#~ "context you have the ability to choose from this list:\n"
-#~ "  \"Key has been compromised\"\n"
-#~ "      Use this if you have a reason to believe that unauthorized persons\n"
-#~ "      got access to your secret key.\n"
-#~ "  \"Key is superseded\"\n"
-#~ "      Use this if you have replaced this key with a newer one.\n"
-#~ "  \"Key is no longer used\"\n"
-#~ "      Use this if you have retired this key.\n"
-#~ "  \"User ID is no longer valid\"\n"
-#~ "      Use this to state that the user ID should not longer be used;\n"
-#~ "      this is normally used to mark an email address invalid.\n"
-#~ msgstr ""
-#~ "¾ÚÌÀÍýͳ¤ò»ØÄꤹ¤Ù¤­¤Ç¤¹¡£Á°¸å´Ø·¸¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢\n"
-#~ "°Ê²¼¤Î°ìÍ÷¤«¤éÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\n"
-#~ "  ¡Ö¸°¤¬¥Ñ¥¯¤é¤ì¤Þ¤·¤¿¡×\n"
-#~ "      Ç§¾Ú¤µ¤ì¤Æ¤¤¤Ê¤¤¿Í¤¬ÈëÌ©¸°¤Ø¤Î¥¢¥¯¥»¥¹¤òÆÀ¤¿¡¢¤È¿®¤º¤ë\n"
-#~ "      ¤Ë­¤ëÍýͳ¤Î¤¢¤ë¤È¤­¤Ë¡¢¤³¤ì¤ò»È¤¤¤Þ¤¹¡£\n"
-#~ "  ¡Ö¸°¤¬¤È¤ê¤«¤ï¤Ã¤Æ¤¤¤Þ¤¹¡×\n"
-#~ "      ¤³¤Î¸°¤ò¼«Ê¬¤Ç¿·¤·¤¤¸°¤È¸ò´¹¤·¤¿¤È¤­¤Ë»È¤¤¤Þ¤¹¡£\n"
-#~ "  ¡Ö¸°¤Ï¤â¤¦ÉÔÍѤǤ¹¡×\n"
-#~ "      ¤³¤Î¸°¤ò»È¤¦¤Î¤ò¤ä¤á¤¿¤È¤­¤Ë»È¤¤¤Þ¤¹¡£\n"
-#~ "  ¡Ö¥æ¡¼¥¶¡¼ID¤¬¤â¤¦Ìµ¸ú¤Ç¤¹¡×\n"
-#~ "      ¤â¤¦¤½¤Î¥æ¡¼¥¶¡¼ID¤Ï»È¤¦¤Ù¤­¤Ç¤Ê¤¤¡¢¤È¤¤¤¦¤È¤­¤Ë»È¤¤\n"
-#~ "      ¤Þ¤¹¡£¤³¤ì¤ÏÉáÄÌ¡¢ÅŻҥ᡼¥ë¤Î¥¢¥É¥ì¥¹¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤¿¤È\n"
-#~ "      ¤­¤Ë»È¤¤¤Þ¤¹¡£\n"
-
-#~ msgid ""
-#~ "If you like, you can enter a text describing why you issue this\n"
-#~ "revocation certificate.  Please keep this text concise.\n"
-#~ "An empty line ends the text.\n"
-#~ msgstr ""
-#~ "¤â¤·¤½¤¦¤·¤¿¤±¤ì¤Ð¡¢¤Ê¤¼¼º¸ú¾ÚÌÀ½ñ¤òȯ¹Ô¤¹¤ë¤Î¤«¤òÀâÌÀ¤¹¤ë\n"
-#~ "ʸ¾Ï¤òÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ê¸¾Ï¤Ï´Ê·é¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
-#~ "¶õ¹Ô¤Ç½ª¤ï¤ê¤Ë¤Ê¤ê¤Þ¤¹¡£\n"
-
-#~ msgid "can't put notation data into v3 (PGP 2.x style) signatures\n"
-#~ msgstr "Ãí¼á¥Ç¡¼¥¿¤Ï¡¢(PGP 2.x·Á¼°¤Î) v3½ð̾¤Ë¤ÏÆþ¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "can't put notation data into v3 (PGP 2.x style) key signatures\n"
-#~ msgstr "Ãí¼á¥Ç¡¼¥¿¤Ï¡¢(PGP 2.x·Á¼°¤Î) v3¸°½ð̾¤Ë¤ÏÆþ¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "can't put a policy URL into v3 (PGP 2.x style) signatures\n"
-#~ msgstr "¥Ý¥ê¥·¡¼URL¤Ï¡¢(PGP 2.x·Á¼°¤Î) v3½ð̾¤Ë¤ÏÆþ¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "can't put a policy URL into v3 key (PGP 2.x style) signatures\n"
-#~ msgstr "¥Ý¥ê¥·¡¼URL¤Ï¡¢(PGP 2.x·Á¼°¤Î) v3¸°½ð̾¤Ë¤ÏÆþ¤ê¤Þ¤»¤ó\n"
-
-#, fuzzy
-#~ msgid "shelll"
-#~ msgstr "help"
-
-#, fuzzy
-#~ msgid ""
-#~ "please see http://www.gnupg.org/download/iconv.html for more information\n"
-#~ msgstr "¾ÜºÙ¤Ïhttp://www.gnupg.org/faq.html¤ò¤´Í÷¤¯¤À¤µ¤¤\n"
-
-#, fuzzy
-#~ msgid "key generation is not available from the commandline\n"
-#~ msgstr "¤³¤Î¥»¥Ã¥·¥ç¥ó¤Çgpg-agent¤Ï̵¸ú¤Ç¤¹\n"
-
-#, fuzzy
-#~ msgid "please use the script \"%s\" to generate a new key\n"
-#~ msgstr "À¸À®¤¹¤ë¸°¤Î·¿¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:\n"
-
-#~ msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
-#~ msgstr "°ÂÁ´¤Ç¤Ê¤¤µö²Ä¤Î¤¿¤á¡¢°Å¹æË¡³ÈÄ¥¡Ö%s¡×¤ò¥í¡¼¥É¤·¤Þ¤»¤ó\n"
-
-#~ msgid "DSA requires the use of a 160 bit hash algorithm\n"
-#~ msgstr "DSA¤Ç¤Ï160¥Ó¥Ã¥È¤Î¥Ï¥Ã¥·¥å¡¦¥¢¥ë¥´¥ê¥º¥à¤Î»ÈÍѤ¬É¬ÍפǤ¹\n"
-
-#, fuzzy
-#~ msgid ".\n"
-#~ msgstr "%s.\n"
-
-#~ msgid "problem with the agent - disabling agent use\n"
-#~ msgstr "¥¨¡¼¥¸¥§¥ó¥È¤Ë¾ã³²: ¥¨¡¼¥¸¥§¥ó¥ÈÍøÍѶػß\n"
-
-#~ msgid "can't query passphrase in batch mode\n"
-#~ msgstr "¥Ð¥Ã¥Á¡¦¥â¡¼¥É¤Ç¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÏÌä¹ç¤»¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "Enter passphrase: "
-#~ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎÏ: "
-
-#~ msgid "Repeat passphrase: "
-#~ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤òºÆÆþÎÏ: "
-
-#~ msgid "-k[v][v][v][c] [user-id] [keyring]"
-#~ msgstr "-k[v][v][v][c] [¥æ¡¼¥¶¡¼id] [¸°ÎØ]"
-
-#~ msgid "can't gen prime with pbits=%u qbits=%u\n"
-#~ msgstr "pbits=%u qbits=%u¤ÎÁÇ¿ô¤ÏÀ¸À®¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "can't generate a prime with less than %d bits\n"
-#~ msgstr "%d ¥Ó¥Ã¥È̤Ëþ¤ÎÁÇ¿ô¤ÏÀ¸À®¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "no entropy gathering module detected\n"
-#~ msgstr "¥¨¥ó¥È¥í¥Ô¡¼¼ý½¸¥â¥¸¥å¡¼¥ë¤¬¡¢¸¡½Ð¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
-
-#, fuzzy
-#~ msgid "can't lock `%s': %s\n"
-#~ msgstr "¡Ö%s¡×¤¬¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "can't stat `%s': %s\n"
-#~ msgstr "¡Ö%s¡×¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
-
-#~ msgid "`%s' is not a regular file - ignored\n"
-#~ msgstr "¡Ö%s¡×¤ÏÉáÄ̤Υե¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó - Ìµ»ë\n"
-
-#~ msgid "note: random_seed file is empty\n"
-#~ msgstr "Ãí°Õ: random_seed ¥Õ¥¡¥¤¥ë¤Ï¶õ¤Ç¤¹\n"
-
-#~ msgid "WARNING: invalid size of random_seed file - not used\n"
-#~ msgstr "·Ù¹ð: Ìµ¸ú¤ÊŤµ¤Î random_seed ¥Õ¥¡¥¤¥ë - »È¤¤¤Þ¤»¤ó\n"
-
-#~ msgid "can't read `%s': %s\n"
-#~ msgstr "¡Ö%s¡×¤òÆɤá¤Þ¤»¤ó: %s\n"
-
-#~ msgid "note: random_seed file not updated\n"
-#~ msgstr "Ãí°Õ: random_seed ¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤ò¤·¤Þ¤»¤ó\n"
-
-#~ msgid "can't write `%s': %s\n"
-#~ msgstr "¡Ö%s¡×¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó: %s\n"
-
-#~ msgid "can't close `%s': %s\n"
-#~ msgstr "¡Ö%s¡×¤òÊĤ¸¤é¤ì¤Þ¤»¤ó: %s\n"
-
-#~ msgid "WARNING: using insecure random number generator!!\n"
-#~ msgstr "·Ù¹ð: ·õÆݤÊÍð¿ôÀ¸À®»Ò¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹!!\n"
-
-#~ msgid ""
-#~ "The random number generator is only a kludge to let\n"
-#~ "it run - it is in no way a strong RNG!\n"
-#~ "\n"
-#~ "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n"
-#~ "\n"
-#~ msgstr ""
-#~ "ÅëºÜ¤µ¤ì¤Æ¤¤¤ëÍð¿ôÀ¸À®»Ò¤Ï¡¢°Å¹æÍѤȤ·¤Æ¤Ï¤ª¤½¤Þ¤Ä¤Ç¡¢\n"
-#~ "¶¯¤¤Íð¿ô¤¬¤Ç¤­¤Þ¤»¤ó!\n"
-#~ "\n"
-#~ "¤³¤Î¥×¥í¥°¥é¥à¤ÎÀ¸À®¤·¤¿¥Ç¡¼¥¿¤ò°ìÀڻȤäƤϤ¤¤±¤Þ¤»¤ó!!\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Please wait, entropy is being gathered. Do some work if it would\n"
-#~ "keep you from getting bored, because it will improve the quality\n"
-#~ "of the entropy.\n"
-#~ msgstr ""
-#~ "Í𻨤µ¤ò¼ý½¸¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£Í𻨤µ¤Î¼Á¤¬¸þ¾å\n"
-#~ "¤·¤Þ¤¹¤Î¤Ç¡¢¤â¤·Ë°¤­¤¿¤é²¿¤«ºî¶È¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Not enough random bytes available.  Please do some other work to give\n"
-#~ "the OS a chance to collect more entropy! (Need %d more bytes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "½½Ê¬¤ÊŤµ¤ÎÍð¿ô¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¡£OS¤¬¤â¤Ã¤ÈÍ𻨤µ¤ò¼ý½¸\n"
-#~ "¤Ç¤­¤ë¤è¤¦¡¢²¿¤«¤·¤Æ¤¯¤À¤µ¤¤! (¤¢¤È%d¥Ð¥¤¥È¤¤¤ê¤Þ¤¹)\n"
-
-#, fuzzy
-#~ msgid "card reader not available\n"
-#~ msgstr "ÈëÌ©¸°¤¬ÆÀ¤é¤ì¤Þ¤»¤ó"
-
-#~ msgid "Please insert the card and hit return or enter 'c' to cancel: "
-#~ msgstr "¥«¡¼¥É¤òÁÞÆþ¤·return¤òÂǤĤ«¡¢'c'¤Ç¼è¾Ã¤·: "
-
-#~ msgid "Hit return when ready or enter 'c' to cancel: "
-#~ msgstr "ÍÑ°Õ¤·¤Æreturn¤òÂǤĤ«¡¢'c'¤Ç¼è¾Ã¤·: "
-
-#, fuzzy
-#~ msgid "Enter New Admin PIN: "
-#~ msgstr "Admin PIN¤ÎÆþÎÏ: "
-
-#, fuzzy
-#~ msgid "Enter New PIN: "
-#~ msgstr "PIN¤ÎÆþÎÏ: "
-
-#~ msgid "Enter Admin PIN: "
-#~ msgstr "Admin PIN¤ÎÆþÎÏ: "
-
-#, fuzzy
-#~ msgid "NOTE: %s is not available in this version\n"
-#~ msgstr "¤³¤Î¥»¥Ã¥·¥ç¥ó¤Çgpg-agent¤Ï̵¸ú¤Ç¤¹\n"
-
-#, fuzzy
-#~ msgid "         algorithms on these user IDs:\n"
-#~ msgstr "¤³¤ì¤é¤Î¥æ¡¼¥¶¡¼ID¤Î¥¢¥ë¥´¥ê¥º¥à:\n"
-
-#~ msgid "general error"
-#~ msgstr "°ìÈÌŪ¤Ê¥¨¥é¡¼"
-
-#~ msgid "unknown packet type"
-#~ msgstr "̤ÃΤΥѥ±¥Ã¥È·¿¤Ç¤¹"
-
-#~ msgid "unknown pubkey algorithm"
-#~ msgstr "̤ÃΤθø³«¸°¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
-
-#~ msgid "unknown digest algorithm"
-#~ msgstr "̤ÃΤÎÍ×Ì󥢥르¥ê¥º¥à¤Ç¤¹"
-
-#~ msgid "bad public key"
-#~ msgstr "¸ø³«¸°¤¬ÉÔÀµ¤Ç¤¹"
-
-#~ msgid "bad secret key"
-#~ msgstr "ÈëÌ©¸°¤¬ÉÔÀµ¤Ç¤¹"
-
-#~ msgid "bad signature"
-#~ msgstr "½ð̾¤¬ÉÔÀµ¤Ç¤¹"
-
-#~ msgid "checksum error"
-#~ msgstr "¥Á¥§¥Ã¥¯¥µ¥à¡¦¥¨¥é¡¼"
-
-#~ msgid "can't open the keyring"
-#~ msgstr "¸°Îؤ¬³«¤±¤Þ¤»¤ó"
-
-#~ msgid "invalid packet"
-#~ msgstr "̵¸ú¤Ê¥Ñ¥±¥Ã¥È¤Ç¤¹"
-
-#~ msgid "invalid armor"
-#~ msgstr "̵¸ú¤ÊÊñÁõ¤Ç¤¹"
-
-#~ msgid "no such user id"
-#~ msgstr "¤½¤Î¥æ¡¼¥¶¡¼ID¤Ï¤¢¤ê¤Þ¤»¤ó"
-
-#~ msgid "secret key not available"
-#~ msgstr "ÈëÌ©¸°¤¬ÆÀ¤é¤ì¤Þ¤»¤ó"
-
-#~ msgid "wrong secret key used"
-#~ msgstr "¸í¤Ã¤¿ÈëÌ©¸°¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹"
-
-#~ msgid "not supported"
-#~ msgstr "¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#~ msgid "bad key"
-#~ msgstr "¸°¤¬ÉÔÀµ¤Ç¤¹"
-
-#~ msgid "file write error"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤Î½ñ¹þ¤ß¥¨¥é¡¼"
-
-#~ msgid "file open error"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥×¥ó¡¦¥¨¥é¡¼"
-
-#~ msgid "file create error"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤ÎºîÀ®¥¨¥é¡¼"
-
-#~ msgid "invalid passphrase"
-#~ msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤¬Ìµ¸ú¤Ç¤¹"
-
-#~ msgid "unimplemented pubkey algorithm"
-#~ msgstr "̤¼ÂÁõ¤Î¸ø³«¸°¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
-
-#~ msgid "unimplemented cipher algorithm"
-#~ msgstr "̤¼ÂÁõ¤Î°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
-
-#~ msgid "unknown signature class"
-#~ msgstr "̤ÃΤνð̾¥¯¥é¥¹¤Ç¤¹"
-
-#~ msgid "trust database error"
-#~ msgstr "¿®Íѥǡ¼¥¿¥Ù¡¼¥¹¤Î¥¨¥é¡¼¤Ç¤¹"
-
-#~ msgid "resource limit"
-#~ msgstr "¥ê¥½¡¼¥¹¤¬¸Â³¦¤Ç¤¹"
-
-#~ msgid "invalid keyring"
-#~ msgstr "̵¸ú¤Ê¸°ÎؤǤ¹"
-
-#~ msgid "malformed user id"
-#~ msgstr "¥æ¡¼¥¶¡¼ID¤Î½ñ¼°¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-
-#~ msgid "file close error"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤Î¥¯¥í¡¼¥º¡¦¥¨¥é¡¼"
-
-#~ msgid "file rename error"
-#~ msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊѹ¹¥¨¥é¡¼"
-
-#~ msgid "file delete error"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤Îºï½ü¥¨¥é¡¼"
-
-#~ msgid "unexpected data"
-#~ msgstr "ͽ´ü¤»¤Ì¥Ç¡¼¥¿¤Ç¤¹"
-
-#~ msgid "timestamp conflict"
-#~ msgstr "Æü»þ¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
-
-#~ msgid "unusable pubkey algorithm"
-#~ msgstr "»ÈÍѤǤ­¤Ê¤¤¸ø³«¸°¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹"
-
-#~ msgid "file exists"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹"
-
-#~ msgid "weak key"
-#~ msgstr "¼å¤¤¸°¤Ç¤¹"
-
-#~ msgid "bad URI"
-#~ msgstr "URI¤¬ÉÔÀµ¤Ç¤¹"
-
-#~ msgid "unsupported URI"
-#~ msgstr "¤½¤ÎURI¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#~ msgid "network error"
-#~ msgstr "¥Í¥Ã¥È¥ï¡¼¥¯¡¦¥¨¥é¡¼"
-
-#~ msgid "not processed"
-#~ msgstr "̤½èÍý"
-
-#~ msgid "unusable public key"
-#~ msgstr "»ÈÍѤǤ­¤Ê¤¤¸ø³«¸°¤Ç¤¹"
-
-#~ msgid "unusable secret key"
-#~ msgstr "»ÈÍѤǤ­¤Ê¤¤ÈëÌ©¸°¤Ç¤¹"
-
-#~ msgid "keyserver error"
-#~ msgstr "¸°¥µ¡¼¥Ð¡¼¤Î¥¨¥é¡¼"
-
-#~ msgid "no card"
-#~ msgstr "¥«¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#, fuzzy
-#~ msgid "no data"
-#~ msgstr "½ð̾¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "ERROR: "
-#~ msgstr "¥¨¥é¡¼: "
-
-#~ msgid "WARNING: "
-#~ msgstr "·Ù¹ð: "
-
-#~ msgid "... this is a bug (%s:%d:%s)\n"
-#~ msgstr "... ¥Ð¥°¤Ç¤¹ (%s:%d:%s)\n"
-
-#~ msgid "WARNING: using insecure memory!\n"
-#~ msgstr "·Ù¹ð: ·õÆݤʥá¥â¥ê¡¼¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹!\n"
-
-#~ msgid "operation is not possible without initialized secure memory\n"
-#~ msgstr "½é´ü²½ºÑ¤ß¤Î°ÂÁ´¤Ê¥á¥â¥ê¡¼¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁàºî¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "(you may have used the wrong program for this task)\n"
-#~ msgstr "(¤³¤ÎÌÜŪ¤Ë¤Ï¸í¤Ã¤¿¥×¥í¥°¥é¥à¤ò»È¤Ã¤¿¤Î¤Ç¤·¤ç¤¦)\n"
-
-#~ msgid ""
-#~ "please see http://www.gnupg.org/why-not-idea.html for more information\n"
-#~ msgstr "¾ÜºÙ¤Ï¡¢http://www.gnupg.org/why-not-idea.html¤ò¤´Í÷¤¯¤À¤µ¤¤\n"
-
-#~ msgid "expired: %s)"
-#~ msgstr "Ëþλ: %s)"
-
-#, fuzzy
-#~ msgid "key %s: expired signature from key %s - skipped\n"
-#~ msgstr "¸°%s: Í½´ü¤»¤Ì½ð̾¥¯¥é¥¹ (0x%02X) - ¤È¤Ð¤·¤Þ¤¹\n"
-
-#, fuzzy
-#~ msgid "Unable to clean `%s'\n"
-#~ msgstr "¡Ö%s¡×¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó: %s\n"
-
-#, fuzzy
-#~ msgid "No user IDs are removable.\n"
-#~ msgstr "¥æ¡¼¥¶¡¼ID¡È%s¡É¤Ï¡¢¤â¤¦¼º¸ú¤µ¤ì¤Æ¤¤¤Þ¤¹\n"
-
-#~ msgid "length of RSA modulus is not %d\n"
-#~ msgstr "RSA¤ÎË¡(modulus)¤ÎŤµ¤¬%d¤Ç¤¢¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "length of an RSA prime is not %d\n"
-#~ msgstr "RSA¤ÎÁÇ¿ô¤¬%d¤Ç¤¢¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "bad passphrase or unknown cipher algorithm (%d)\n"
-#~ msgstr "ÉÔÀµ¤Ê¥Ñ¥¹¥Õ¥ì¡¼¥º¤Þ¤¿¤Ï̤ÃΤΰŹ楢¥ë¥´¥ê¥º¥à¤Ç¤¹(%d)\n"
-
-#~ msgid "can't set client pid for the agent\n"
-#~ msgstr "¥¨¡¼¥¸¥§¥ó¥È¤Î¥¯¥é¥¤¥¢¥ó¥Èpid¤òÀßÄê¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "can't get server read FD for the agent\n"
-#~ msgstr "¥¨¡¼¥¸¥§¥ó¥ÈÍѤΥµ¡¼¥Ð¡¼ÆɽФ·FD¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "can't get server write FD for the agent\n"
-#~ msgstr "¥¨¡¼¥¸¥§¥ó¥ÈÍѤΥµ¡¼¥Ð¡¼½ñ¹þ¤ßFD¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó\n"
-
-#~ msgid "invalid response from agent\n"
-#~ msgstr "¥¨¡¼¥¸¥§¥ó¥È¤«¤é¤Î̵¸ú¤Ê±þÅú\n"
-
-#~ msgid "select secondary key N"
-#~ msgstr "Éû¸°N¤ÎÁªÂò"
-
-#~ msgid "list signatures"
-#~ msgstr "½ð̾¤Î°ìÍ÷"
-
-#~ msgid "sign the key"
-#~ msgstr "¸°¤Ø½ð̾"
-
-#~ msgid "add a secondary key"
-#~ msgstr "Éû¸°¤ÎÄɲÃ"
-
-#~ msgid "delete signatures"
-#~ msgstr "½ð̾¤Îºï½ü"
-
-#~ msgid "change the expire date"
-#~ msgstr "ËþλÆü¤ÎÊѹ¹"
-
-#~ msgid "set preference list"
-#~ msgstr "Áª¹¥¤Î°ìÍ÷¤òÀßÄê"
-
-#~ msgid "updated preferences"
-#~ msgstr "Áª¹¥¤Î°ìÍ÷¤ò¹¹¿·"
-
-#~ msgid "No secondary key with index %d\n"
-#~ msgstr "%dÈÖ¤ÎÉû¸°¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-
-#~ msgid "--nrsign-key user-id"
-#~ msgstr "--nrsign-key ¥æ¡¼¥¶¡¼id"
-
-#~ msgid "--nrlsign-key user-id"
-#~ msgstr "--nrlsign-key ¥æ¡¼¥¶¡¼id"
-
-#~ msgid "sign the key non-revocably"
-#~ msgstr "¼º¸ú¤Ç¤­¤Ê¤¤¤è¤¦¸°¤Ø½ð̾"
-
-#~ msgid "sign the key locally and non-revocably"
-#~ msgstr "¼º¸ú¤Ç¤­¤Ê¤¤¤è¤¦¸°¤ØÆâÉôŪ¤Ë½ð̾"
-
-#~ msgid "q"
-#~ msgstr "q"
-
-#~ msgid "list"
-#~ msgstr "list"
-
-#~ msgid "l"
-#~ msgstr "l"
-
-#~ msgid "debug"
-#~ msgstr "debug"
-
-#~ msgid "name"
-#~ msgstr "name"
-
-#~ msgid "url"
-#~ msgstr "url"
-
-#~ msgid "fetch"
-#~ msgstr "fetch"
-
-#~ msgid "login"
-#~ msgstr "login"
-
-#~ msgid "lang"
-#~ msgstr "lang"
-
-#~ msgid "sex"
-#~ msgstr "sex"
-
-#~ msgid "cafpr"
-#~ msgstr "cafpr"
-
-#~ msgid "forcesig"
-#~ msgstr "forcesig"
-
-#~ msgid "generate"
-#~ msgstr "generate"
-
-#~ msgid "passwd"
-#~ msgstr "passwd"
-
-#~ msgid "save"
-#~ msgstr "save"
-
-#~ msgid "fpr"
-#~ msgstr "fpr"
-
-#~ msgid "uid"
-#~ msgstr "uid"
-
-#~ msgid "key"
-#~ msgstr "key"
-
-#~ msgid "check"
-#~ msgstr "check"
-
-#~ msgid "c"
-#~ msgstr "c"
-
-#~ msgid "sign"
-#~ msgstr "sign"
-
-#~ msgid "s"
-#~ msgstr "s"
-
-#~ msgid "tsign"
-#~ msgstr "tsign"
-
-#~ msgid "lsign"
-#~ msgstr "lsign"
-
-#~ msgid "nrsign"
-#~ msgstr "nrsign"
-
-#~ msgid "nrlsign"
-#~ msgstr "nrlsign"
-
-#~ msgid "adduid"
-#~ msgstr "adduid"
-
-#~ msgid "addphoto"
-#~ msgstr "addphoto"
-
-#~ msgid "deluid"
-#~ msgstr "deluid"
-
-#~ msgid "delphoto"
-#~ msgstr "delphoto"
-
-#~ msgid "addcardkey"
-#~ msgstr "addcardkey"
-
-#~ msgid "keytocard"
-#~ msgstr "keytocard"
-
-#~ msgid "delkey"
-#~ msgstr "delkey"
-
-#~ msgid "addrevoker"
-#~ msgstr "addrevoker"
-
-#~ msgid "delsig"
-#~ msgstr "delsig"
-
-#~ msgid "expire"
-#~ msgstr "expire"
-
-#~ msgid "primary"
-#~ msgstr "primary"
-
-#~ msgid "toggle"
-#~ msgstr "toggle"
-
-#~ msgid "t"
-#~ msgstr "t"
-
-#~ msgid "pref"
-#~ msgstr "pref"
-
-#~ msgid "showpref"
-#~ msgstr "showpref"
-
-#~ msgid "setpref"
-#~ msgstr "setpref"
-
-#~ msgid "updpref"
-#~ msgstr "updpref"
-
-#~ msgid "keyserver"
-#~ msgstr "keyserver"
-
-#~ msgid "trust"
-#~ msgstr "trust"
-
-#~ msgid "revsig"
-#~ msgstr "revsig"
-
-#~ msgid "revuid"
-#~ msgstr "revuid"
-
-#~ msgid "revkey"
-#~ msgstr "revkey"
-
-#~ msgid "disable"
-#~ msgstr "disable"
-
-#~ msgid "enable"
-#~ msgstr "enable"
-
-#~ msgid "showphoto"
-#~ msgstr "showphoto"
-
-#~ msgid "digest algorithm `%s' is read-only in this release\n"
-#~ msgstr "Í×Ì󥢥르¥ê¥º¥à¡Ö%s¡×¤Ï¡¢¤³¤ÎÈǤÀ¤ÈÆɽФ·¤À¤±¤Ç¤¹\n"
-
-#~ msgid "[%8.8s] "
-#~ msgstr "[%8.8s] "
-
-#~ msgid ""
-#~ "About to generate a new %s keypair.\n"
-#~ "              minimum keysize is  768 bits\n"
-#~ "              default keysize is 1024 bits\n"
-#~ "    highest suggested keysize is 2048 bits\n"
-#~ msgstr ""
-#~ "¿·¤·¤¤%s¸°ÂФòÀ¸À®¤·¤Þ¤¹¡£\n"
-#~ "        ºÇû¤Î¸°Ä¹¤Ï  768 ¥Ó¥Ã¥È\n"
-#~ "        ´ûÄê¤Î¸°Ä¹¤Ï 1024 ¥Ó¥Ã¥È\n"
-#~ "    ºÇĹ¤Î¿ä¾©¸°Ä¹¤Ï 2048 ¥Ó¥Ã¥È\n"
-
-#~ msgid "DSA only allows keysizes from 512 to 1024\n"
-#~ msgstr "DSA¤Î¸°Ä¹¤Ï512¤«¤é1024¤Þ¤Ç¤Ç¤¹\n"
-
-#~ msgid "keysize too small; 1024 is smallest value allowed for RSA.\n"
-#~ msgstr "¸°Ä¹¤¬¾®¤µ¤¹¤®¤Þ¤¹¡£RSA¤ÏºÇ¾®¤Ç¤â1024¤Ç¤¹¡£\n"
-
-#~ msgid "keysize too small; 768 is smallest value allowed.\n"
-#~ msgstr "¸°Ä¹¤¬¾®¤µ¤¹¤®¤Þ¤¹¡£ºÇ¾®¤Ç¤â768¤Ç¤¹¡£\n"
-
-#~ msgid "keysize too large; %d is largest value allowed.\n"
-#~ msgstr "¸°Ä¹¤¬Â礭¤¹¤®¤Þ¤¹¡£%d¤¬ºÇÂç¤Ç¤¹¡£\n"
-
-#~ msgid ""
-#~ "Keysizes larger than 2048 are not suggested because\n"
-#~ "computations take REALLY long!\n"
-#~ msgstr ""
-#~ "2048¤è¤êÂ礭¤Ê¸°Ä¹¤Ï¡¢·×»»»þ´Ö¤¬ Èó¾ï¤Ë Ä¹¤¯¤Ê¤ë¤Î¤Ç\n"
-#~ "¿ä¾©¤·¤Þ¤»¤ó!\n"
-
-#~ msgid "Are you sure that you want this keysize? (y/N) "
-#~ msgstr "¤³¤Î¸°Ä¹¤ÇËÜÅö¤Ë¤è¤¤¤Ç¤¹¤«? (y/N) "
-
-#~ msgid ""
-#~ "Okay, but keep in mind that your monitor and keyboard radiation is also "
-#~ "very vulnerable to attacks!\n"
-#~ msgstr ""
-#~ "¤ï¤«¤ê¤Þ¤·¤¿¡£¤·¤«¤·¡¢¤¢¤Ê¤¿¤Î¥â¥Ë¥¿¡¼¤ä¥­¡¼¥Ü¡¼¥Éíռͤϡ¢\n"
-#~ "¹¶·â¤Ë¤¿¤¤¤·¤ÆÀȼå¤Ç¤¢¤ë¤³¤È¤òǰƬ¤Ë¤ª¤¤¤Æ¤¯¤À¤µ¤¤!\n"
-
-#~ msgid "Experimental algorithms should not be used!\n"
-#~ msgstr "¼Â¸³Ãæ¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó!\n"
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "まず gpg-agent を開始したいでしょう\n"
 
-#~ msgid ""
-#~ "this cipher algorithm is deprecated; please use a more standard one!\n"
-#~ msgstr ""
-#~ "¤³¤Î°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ÌäÂê»ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
-#~ "¤â¤Ã¤Èɸ½àŪ¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤!\n"
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "「%s」の読込みエラー: %s\n"
index dbf1022..a9771c0 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index 7b223c1..d9ae3cc 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -10,15 +10,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.3\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2006-06-13 20:31+0200\n"
 "Last-Translator: Trond Endrestøl <Trond.Endrestol@fagskolen.gjovik.no>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "klarte ikke å lagre fingeravtrykket: %s\n"
@@ -28,21 +29,21 @@ msgstr "klarte ikke 
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 #, fuzzy
 msgid "Quality:"
 msgstr "gyldighet: %s"
@@ -53,168 +54,171 @@ msgstr "gyldighet: %s"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "for lang linje"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "for lang linje"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Ugyldig tegn i navn\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "ugyldig MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "ugyldig passfrase"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "ugyldig passfrase"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "kan ikke opprette «%s»: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "kan ikke åpne «%s»: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "feil ved henting av ny PIN: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "feil ved henting av nåværende nøkkelinfo: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "ingen skrivbart hemmelig nøkkelknippe ble funnet: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "lesing av offentlig nøkkel mislyktes: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "feil ved skriving av nøkkelknippet «%s»: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Tast inn den nye passfrasen for denne hemmelige nøkklen.\n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "endre passfrasen"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Du trenger en passfrase for å beskytte din hemmelige nøkkel.\n"
 "\n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "klarte ikke å lagre nøkkelen: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 #, fuzzy
 msgid "Please insert the card with serial number"
 msgstr ""
 "Vennligst fjern det nåværende kortet og sett inn kortet med serienummeret:\n"
 "   %.*s\n"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 #, fuzzy
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
@@ -238,7 +242,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -344,7 +348,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Du trenger en passfrase for å beskytte din hemmelige nøkkel.\n"
 "\n"
@@ -354,7 +358,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "endre passfrasen"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -365,281 +369,286 @@ msgstr ""
 "Valg:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "fyldig output"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "være noenlunde stille"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "leser valg fra «%s»\n"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "søke etter nøkler på en nøkkelserver"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "sette en notasjon for de valgte brukeridene"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "ikke oppdatér tillitsdatabasen etter import"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "feil ved opprettelse av passfrase: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr ""
+
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
 msgstr ""
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Vennligst rapporter feil til <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "MERK: ingen standard valgfil «%s»\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "valgfil «%s»: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "leser valg fra «%s»\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "kan ikke opprette katalogen «%s»: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "kan ikke opprette «%s»: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "feil ved henting av ny PIN: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "feil ved søking etter tillitspost i «%s»: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "oppdatering mislyktes: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "skriver hemmelig nøkkel til «%s»\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "katalogen «%s» ble opprettet\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fstat(%d) mislyktes in %s: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "kan ikke opprette katalogen «%s»: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "feil ved lesing av «%s»: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "oppdatering av hemmelig mislyktes: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: hoppet over: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr ""
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -648,7 +657,7 @@ msgstr ""
 "@Kommandoer:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -660,48 +669,48 @@ msgstr ""
 "Valg:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "ugyldig passfrase"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "cancel|cancel"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "feil ved opprettelse av passfrase: %s\n"
@@ -816,8 +825,8 @@ msgstr "endre passfrasen"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "feil ved opprettelse av passfrase: %s\n"
@@ -857,12 +866,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "feil ved lesing av «%s»: %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "feil ved lesing av nøkkelblokk: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[Brukerid ikke funnet]"
@@ -892,17 +901,17 @@ msgstr ""
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr ""
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "ADVARSEL: utrygt eierskap på utvidelsen «%s»\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "ADVARSEL: utrygge rettigheter på utvidelsen «%s»\n"
@@ -1135,12 +1144,12 @@ msgstr "Denne n
 msgid "Root certificate trustworthy"
 msgstr "ugyldig sertifikat"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "ugyldig sertifikat"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Nøkkel tilgjengelig ved: "
@@ -1221,7 +1230,7 @@ msgstr "uforventet armering:"
 msgid "invalid dash escaped line: "
 msgstr "ugyldig bindestrekbeskyttet linje: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "hoppet over ugyldig radix64-tegn %02x\n"
@@ -1238,7 +1247,7 @@ msgstr "for tidlig eof (i CRC)\n"
 msgid "malformed CRC\n"
 msgstr "misdannet CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC-feil; %06lX - %06lX\n"
@@ -1251,16 +1260,16 @@ msgstr "for tidlig eof (i trailer)\n"
 msgid "error in trailer line\n"
 msgstr "feil i trailerlinje\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "ingen gyldig OpenPGP-data funnet.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "ugyldig armor: linje lengre enn %d tegn\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1293,7 +1302,7 @@ msgstr "ingen gyldig OpenPGP-data funnet.\n"
 msgid "not human readable"
 msgstr ""
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP-kort er ikke tilgjengelig: %s\n"
@@ -1303,8 +1312,8 @@ msgstr "OpenPGP-kort er ikke tilgjengelig: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP-kortnummer %s oppdaget\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "kan ikke gjøre dette i batchmodus\n"
 
@@ -1313,211 +1322,211 @@ msgstr "kan ikke gj
 msgid "This command is only available for version 2 cards\n"
 msgstr "Denne kommandoen er ikke tillatt i %s-modus.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr ""
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Ditt valg? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[ikke satt]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "mann"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "dame"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "uspesifisert"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "ikke tvunget"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "tvunget"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Feil: Bare ren ASCII er foreløpig tillatt.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Feil: Tegnet «<» kan ikke brukes.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Feil: Doble mellomrom er ikke tillatt.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Kortholders etternavn: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Kortholders fornavn: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Feil: Det kombinerte navnet er for langt (grensa går ved %d tegn).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL for å hente offentlig nøkkel: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Feil: URL er for lang (grensa går ved %d tegn).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "feil ved opprettelse av nøkkelknippet «%s»: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "feil ved lesing av «%s»: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "feil ved skriving av nøkkelknippet «%s»: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Logindata (kontonavn): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Feil: Logindata er for langt (grensa går ved %d tegn).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Privat DO-data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Feil: Privat DO for lang (grensa går ved %d tegn).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Språkpreferanser:"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Feil: ugyldig lengde på preferansestrengen.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Feil: ugyldig tegn i preferansestrengen.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Kjønn ((M)ale, (F)emale eller mellomrom): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Feil: ugyldig respons.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA-fingeravtrykk: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Feil: ugyldig formattert fingeravtrykk.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "nøkkeloperasjonen er umulig: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "ikke et OpenPGP-kort"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "feil ved henting av nåværende nøkkelinfo: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Erstatte eksisterende nøkkel? (j/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Hvilken nøkkelstørrelse vil du ha? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Hvilken nøkkelstørrelse vil du ha? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Hvilken nøkkelstørrelse vil du ha? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rundet opp til %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "feil ved søking etter tillitspost i «%s»: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Lage sikkerhetskopi av krypteringsnøkler utenfor kortet? (J/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "hemmelig nøkkel er allerede lagret på et kort\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Erstatte eksisterende nøkler? (j/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1528,129 +1537,129 @@ msgstr ""
 "   PIN = «%s»     Admin PIN = «%s»\n"
 "Du bør endre dem med kommandoen --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Vennligst velg hvilken type nøkkel du vil generere:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signaturnøkkel\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Krypteringsnøkkel\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentiseringsnøkkel\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Ugyldig valg.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Vennligst velg hvor nøkkelen skal lagres:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "ukjent nøkkelbeskyttelsesalgoritme\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "hemmelige deler av nøkkelen er ikke tilgjengelig.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "hemmelig nøkkel er allerede lagret på et kort\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "feil ved skriving av nøkkelknippet «%s»: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "avslutte denne menyen"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "vise admin-kommandoer"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "vise denne hjelpen"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "vis alle tilgjengelige data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "endre kortholders navn"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "endre URL for å hente nøkkel"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "hente nøkkelen angitt i URL som er lagret i kortet"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "endre loginnavnet"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "endre språkpreferansene"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "endre kortholders kjønn"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "vise et CA-fingeravtrykk"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "veksle tving-signatur-PIN-flagget"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "generere nye nøkler"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "meny for å endre eller fjerne blokkering av PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "bekrefte PIN og vise alle data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Admin-reservert kommando\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Admin-kommandoer er tillatt\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Admin-kommandoer er ikke tillatt\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ugyldig kommando  (prøv «help»)\n"
 
@@ -1658,18 +1667,18 @@ msgstr "Ugyldig kommando  (pr
 msgid "--output doesn't work for this command\n"
 msgstr "--output virker ikke for denne kommandoen\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "kan ikke åpne «%s»\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "nøkkelen «%s» ble ikke funnet: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1773,7 +1782,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "påtvinging av symmetrisk cipher %s (%d) bryter med mottakerens preferanser\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "du kan ikke bruke %s i %s modus\n"
@@ -1783,77 +1792,77 @@ msgstr "du kan ikke bruke %s i %s modus\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s kryptert for: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s krypterte data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "kryptert med en ukjent algoritme %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ADVARSEL: meldingen er kryptert med en svak nøkkel for den symmetriske "
 "cipher.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problem ved håndtering av kryptert pakke\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "fjernutføring av programmer er ikke støttet\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "eksterne programkall er utkoblet på grunn av utrygge rettigheter på "
 "konfigurasjonsfila\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "denne plattformen krever midlertidige filer ved kall på eksterne programmer\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "kunne ikke utføre program «%s»: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "kunne ikke utføre skallet «%s»: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systemfeil under kall på eksternt program: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "unaturlig avslutning av eksternt program\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "klarte ikke å kjøre eksternt program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "klarte ikke å lese reponsen fra eksternt program: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "ADVARSEL: klarte ikke å fjerne midlertidig fil (%s) «%s»: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "ADVARSEL: klarte ikke å fjerne midlertidig katalog «%s»: %s\n"
@@ -1946,199 +1955,199 @@ msgstr "feil ved lesing av 
 msgid "No fingerprint"
 msgstr "CA-fingeravtrykk: "
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Ugyldig nøkkel %s gjort gyldig av --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "ingen hemmelig undernøkkel for offentlig undernøkkel %s - ignorerer\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "bruker undernøkkel %s i stedet for primærnøkkel %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "nøkkel %s: hemmelig nøkkel uten offentlig nøkkel - hoppet over\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "|[fil]|lage en signatur"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fil]|lage en klartekstsignatur"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "lage en adskilt signatur"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "kryptere data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "kryptering med bare symmetrisk cipher"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "dekryptere data (standard)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "bekrefte en signatur"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "liste nøkler"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "liste nøkler og signaturer"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "vise og sjekke nøkkelsignaturer"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "liste nøkler og fingeravtrykk"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "liste hemmelige nøkler"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "generere et nytt nøkkelpar"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "generere et opphevingssertifikat"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "fjerne nøkler fra det offentlige nøkkelknippet"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "fjerne nøkler fra det hemmelige nøkkelknippet"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "signere en nøkkel"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "signere en nøkkel lokalt"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "signere eller redigere en nøkkel"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "endre passfrasen"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "eksportere nøkler"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "eksportere nøkler til en nøkkelserver"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importere nøkler fra en nøkkelserver"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "søke etter nøkler på en nøkkelserver"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "oppdatere alle nøklene fra en nøkkelserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importere/flette nøkler"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "vis kortets status"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "endre data på et kort"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "endre PIN på et kort"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "oppdatere tillitsdatabasen"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [filer]|skrive meldingsdigester"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "lage ASCII-beskyttet output"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NAVN|kryptere for NAVN"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "bruke denne brukeriden for signering eller dekryptering"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|sette kompresjonsnivå til N (0 slår av kompresjon)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "bruk kanonisk tekstmodus"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "leser valg fra «%s»\n"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "ikke gjør noen endringer"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "spør før overskriving"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "bruk streng OpenPGP-oppførsel"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2146,7 +2155,7 @@ msgstr ""
 "@\n"
 "(Se mansiden for en komplett liste over alle kommandoene og valgene)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2166,21 +2175,26 @@ msgstr ""
 " --list-keys [navn]         vise nøkler\n"
 " --fingerprint [navn]       vise fingeravtrykk\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Bruksmåte: gpg [valg] [filer]\n"
 "signere, sjekke, kryptere eller dekryptere\n"
 "standard operasjon avhenger av inputdata\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2188,93 +2202,94 @@ msgstr ""
 "\n"
 "Støttede algoritmer:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Offentlig nøkkel: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Kompresjon: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "bruksmåte: gpg [valg] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "motstridende kommandoer\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "fant ingen «=»-tegn i gruppedefinisjonen «%s»\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "ADVARSEL: utrygt eierskap på hjemmekatalogen «%s»\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "ADVARSEL: utrygt eierskap på konfigurasjonsfilen «%s»\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "ADVARSEL: utrygt eierskap på utvidelsen «%s»\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "ADVARSEL: utrygge rettigheter på hjemmekatalogen «%s»\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "ADVARSEL: utrygge rettigheter på konfigurasjonsfilen «%s»\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "ADVARSEL: utrygge rettigheter på utvidelsen «%s»\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
-"ADVARSEL: utrygt eierskap på katalogene på nivåene over hjemmekatalogen «%s»\n"
+"ADVARSEL: utrygt eierskap på katalogene på nivåene over hjemmekatalogen "
+"«%s»\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
-"ADVARSEL: utrygt eierskap på katalogene på nivåene over konfigurasjonsfilen «%"
-"s»\n"
+"ADVARSEL: utrygt eierskap på katalogene på nivåene over konfigurasjonsfilen "
+"«%s»\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "ADVARSEL: utrygt eierskap på katalogene på nivåene over utvidelsen «%s»\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
-"ADVARSEL: utrygge rettigheter på katalogene på nivåene over hjemmekatalogen «%"
-"s»\n"
+"ADVARSEL: utrygge rettigheter på katalogene på nivåene over hjemmekatalogen "
+"«%s»\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2282,461 +2297,461 @@ msgstr ""
 "ADVARSEL: utrygge rettigheter på katalogene på nivåene over "
 "konfigurasjonsfilen «%s»\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "ADVARSEL: utrygge rettigheter på katalogene på nivåene over utvidelsen «%s»\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "ukjent konfigurasjonspunkt «%s»\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "vise navnet til nøkkelknippene i nøkkellister"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "MERK: den gamle valgfila «%s» ble ignorert\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "MERK: %s er ikke for vanlig bruk!\n"
 
 # Tenk litt på denne du, Trond.
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "«%s» er ikke en gyldig signaturutgåelse\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "«%s» er ikke et gyldig tegnsett\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "kunne ikke parse nøkkelserverens URL\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ugyldige valg for nøkkelserver\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "ugyldige valg for nøkkelserver\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ugyldige importvalg\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "ugyldige importvalg\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ugyldige eksportvalg\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "ugyldige eksportvalg\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ugyldige listevalg\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "ugyldige listevalg\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ugyldige valg for bekreftelse\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "ugyldige valg for bekreftelse\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "kunne ikke sette exec-path til %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ugyldig auto-key-locate-liste\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "ADVARSEL: programmet kan opprette en corefil!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ADVARSEL: %s overstyrere %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s er ikke tillatt sammen med %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s er ikke fornuftig med %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr ""
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "du kan bare lage adskilte eller klare signaturer i --pgp2-modus\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "du kan ikke signere og kryptere samtidig i --pgp2-modus\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "du må bruke filer (og ikke en pipe) når --pgp2 er påslått\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "kryptering en melding i --pgp2-modus krever IDEA-algoritmen\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valgt krypteringsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "valg digestalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "valgt kompresjonsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valgt sertifikasjondigestalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed må være større enn 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-neede må være større enn 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth må være i intervallet fra 1 til 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ugyldig default-cert-level; må være 0, 1, 2 eller 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ugyldig min-cert-level; må være 0, 1, 2 eller 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "MERK: enkel S2K-modus (0) er sterkt frarådet\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ugyldig S2K-modus; må være 0, 1 eller 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "ugyldig standard preferanser\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "ugyldig personlig cipherpreferanser\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "ugyldig personlig digestpreferanser\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "ugyldig personlig kompresjonspreferanser\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s virker ikke ennå med %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "du kan ikke bruke cipheralgoritmen «%s» i %s-modus\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "du kan ikke bruke digestalgoritmen «%s» i %s-modus\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "du kan ikke bruke kompresjonsalgoritmen «%s» i %s-modus\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "klarte ikke å initialisere tillitsdatabasen: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ADVARSEL: mottakere (-r) angitt uten å bruke offentlig nøkkelkryptering\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [filnavn]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [filnavn]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "symmetrisk kryptering av «%s» mislyktes: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [filnavn]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [filnavn]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "du kan ikke bruke --symmtric --encrypt i %s-modus\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [filnavn]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [filnavn]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [filnavn]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "du kan ikke bruke --symmetric --sign --encrypt i %s-modus\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [filnavn]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [filnavn]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [filnavn]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key brukerid"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key brukerid"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key brukerid [kommandoer]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key brukerid"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "sending til nøkkelserver mislyktes: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "mottak fra nøkkelserver mislyktes: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "nøkkeleksport mislyktes: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "søk på nøkkelserver mislyktes: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "refresh på nøkkelserver mislyktes: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "ugyldig hashalgoritme «%s»\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[filnavn]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Sett i gang og tast inn meldingen din ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "den angitte URLen for sertifikasjonspolicyen er ugyldig\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "den angitte URLen for signaturpolicy er ugyldig\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "den angitte URLen for den foretrukkede nøkkelserveren er ugyldig\n"
 
@@ -2775,468 +2790,484 @@ msgstr ""
 msgid "No help available for `%s'"
 msgstr ""
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "ikke oppdatér tillitsdatabasen etter import"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr ""
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "hopper over blokk av typen %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu nøkler behandlet hittil\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Totalt antall behandlet: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "nye nøkler som ble hoppet over: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "               uten brukerider: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                     importert: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                       uendret: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "                nye brukerider: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "               nye undernøkler: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                nye signaturer: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "         nye nøkkelopphevinger: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "        leste hemmelige nøkler: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "   importerte hemmelige nøkler: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "  uforandrede hemmelige nøkler: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                ikke importert: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         oppryddete signaturer: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "         oppryddete brukerider: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         «%s» preferanse for digestalgoritme %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "nøkkel %s: ingen brukerid\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "hoppet over «%s»: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "nøkkel %s: PKS-undernøkkel reparert\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "nøkkel %s: akseptert ikke-selvsignert brukerid «%s»\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "nøkkel %s: ingen gyldig brukerid\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "dette kan skyldes en manglende selvsignatur\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "nøkkel %s: offentlig nøkkel ikke funnet: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "nøkkel %s: ny nøkkel - hoppet over\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "ingen skrivbart nøkkelknippe funnet: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "skriver til «%s»\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "feil ved skriving av nøkkelknippet «%s»: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "nøkkel %s: offentlig nøkkel «%s» importert\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "nøkkel %s: stemmer ikke med vår kopi\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "nøkkel %s: kan ikke finne original nøkkelblokk: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "nøkkel %s: kan ikke lese original nøkkelblokk: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "nøkkel %s: «%s» 1 ny brukerid\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "nøkkel %s: «%s» %d nye brukerider\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "nøkkel %s: «%s» 1 ny signatur\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "nøkkel %s: «%s» 1 ny undernøkkel\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "nøkkel %s: «%s» %d nye undernøkler\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "nøkkel %s: «%s» %d nye brukerider\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "nøkkel %s: «%s» %d nye brukerider\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "nøkkel %s: «%s» ikke endret\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "nøkkel %s: hemmelig nøkkel med ugyldig cipher %d - hoppet over\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "hemmelig nøkkel «%s» ble ikke funnet: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "import av hemmelig nøkkel er ikke tillatt\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "nøkkel %s: hemmelig nøkkel med ugyldig cipher %d - hoppet over\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "ingen standard hemmelig nøkkelknippe: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "nøkkel %s: hemmelig nøkkel importert\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "nøkkel %s: finnes allerede i hemmelig nøkkelknippe\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "nøkkel %s: hemmelig nøkkel ikke funnet: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "nøkkel %s: ingen offentlig nøkkel - kan ikke anvende opphevingssertifikat\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "nøkkel %s: ugyldig opphevingssertifikat: %s - avvist\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "nøkkel %s: «%s» opphevingssertifikat importert\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "nøkkel %s: ingen brukerid for signatur\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "nøkkel %s: ustøttet offentlig nøkkelalgoritme for brukerid «%s»\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "nøkkel %s: ugyldig selvsignatur for brukerid «%s»\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "nøkkel %s: ustøttet offentlig nøkkelalgoritme\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "nøkkel %s: direkte nøkkelsignatur lagt til\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "nøkkel %s: ingen undernøkkel for nøkkelbinding\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "nøkkel %s: ugyldig undernøkkelbinding\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "nøkkel %s: fjernet flere undernøkkelbindinger\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "nøkkel %s: ingen undernøkkel for nøkkeloppheving\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "nøkkel %s: ugyldig undernøkkeloppheving\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "nøkkel %s: fjernet flere undernøkkelopphevinger\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "nøkkel %s: hoppet over brukerid «%s»\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "nøkkel %s: hoppet over undernøkkel\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "nøkkel %s: ikke-eksporterbar signatur (klasse 0x%02X) - hoppet over\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "nøkkel %s: opphevingssertifikat på feil plass - hoppet over\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "nøkkel %s: ugyldig opphevingssertifikat: %s - hoppet over\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "nøkkel %s: undernøkkelsignatur på feil plass - hoppet over\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "nøkkel %s: uforventet signaturklasse (0x%02X) - hoppet over\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "nøkkel %s: duplikert brukerid oppdaget - flettet sammen\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "ADVARSEL: nøkkel %s kan være opphevet: henter opphevingsnøkkel %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ADVARSEL: nøkkel %s kan være opphevet: opphevingsnøkkel %s ikke tilstede.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "nøkkel %s: «%s» opphevingssertifikat lagt til\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "nøkkel %s: direkte nøkkelsignatur lagt til\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr ""
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr ""
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "feil ved opprettelse av nøkkelknippet «%s»: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "nøkkelknippet «%s» ble opprettet\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "nøkkelblokkressurs «%s»: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr ""
@@ -3323,12 +3354,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Brukerid «%s» er opphevet."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Er du fortsatt sikker på at du vil signerere den? (j/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Kunne ikke signere.\n"
 
@@ -3512,8 +3543,8 @@ msgstr "Jeg har sjekket denne n
 msgid "Really sign? (y/N) "
 msgstr "Virkelig signere? (j/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signering mislyktes: %s\n"
@@ -3522,19 +3553,19 @@ msgstr "signering mislyktes: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Denne nøkkelen er ikke beskyttet.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Hemmelige deler av primærnøkkelen er ikke tilgjengelig.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Hemmelige deler av primærnøkkelen er lagret på kort.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Nøkkelen er beskyttet.\n"
 
@@ -3549,7 +3580,7 @@ msgid ""
 "\n"
 msgstr "Tast inn den nye passfrasen for denne hemmelige nøkklen.\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "passfrasen ble ikke gjentatt korrekt; prøv igjen"
 
@@ -3719,24 +3750,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "feil ved lesing av hemmelig nøkkelblokk «%s»: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Hemmelig nøkkel er tilgjengelig\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Trenger den hemmelige nøkkelen for å gjøre dette.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Vennligst bruk kommandoen «toggle» først.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3744,580 +3775,580 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Nøkkelen er opphevet."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Virkelig signerere alle brukerider? (j/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tips: Velg brukeriden som skal signeres\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Ukjent signaturtype «%s»\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Denne kommandoen er ikke tillatt i %s-modus.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Du må velge minst en brukerid.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Du kan ikke slette den siste brukeriden!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Virkelig fjerne alle valgte brukerider? (j/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Virkelig fjerne denne brukeriden? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Virkelig flytte primærnøkkelen? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Du må velge minst en nøkkel.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Kan ikke åpne «%s»: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Feil ved lesing av sikkerhetskopiert nøkkel «%s»: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Du må velge minst en nøkkel.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vil du virkelig slette den valgte nøkkelen? (j/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vil du virkelig slette denne nøkkelen? (j/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Virkelig oppheve alle de valgte brukeridene? (j/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Virkelig oppheve denne brukeriden? (j/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vil du virkelig oppheve hele nøkkelen? (j/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Vil du virkelig oppheve de valgte undernøklene? (j/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Vil du virkelig oppheve denne undernøkkelen? (j/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "sette preferanseliste til:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Virkelig oppdatere preferansene for de valgte brukeridene? (j/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Virkelig oppdatere preferansene? (j/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Lagre endringene? (j/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Avslutte uten å lagre? (j/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "oppdatering mislyktes: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "oppdatering av hemmelig mislyktes: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Nøkkelen ble ikke endret, så ingen oppdatering er nødvendig.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Særtrekk: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Notasjoner: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Det er ingen preferanser for en PGP 2.x-aktig brukerid.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Denne nøkkelen ble opphevet den %s av %s med nøkkelen %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Denne nøkkelen kan bli opphevet av %s med nøkkelen %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(sensitiv)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "opprettet: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "opphevet: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "utgikk: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "utgår: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "bruksmåte: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "tillit: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "gyldighet: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Denne nøkkelen har blitt utkoblet"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "opphevet"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "utgått"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Er du sikker på at du vil legge den til? (j/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Slette denne gode signaturen? (j/N/a)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr ""
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Slettet %d signatur.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Slettet %d signaturer.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Ingen ble slettet.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "ugyldig"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "brukerid «%s»: allerede renset\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "brukerid «%s»: allerede renset\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "brukerid «%s»: allerede renset\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Er du fortsatt sikker på at du vil gjøre denne nøkkelen til en opphever? (j/"
 "N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr ""
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Vennligst velg minst en undernøkkel.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr ""
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr ""
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Undernøkkel %s er allerede opphevet.\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "hopper over v3 selvsignatur for brukerid «%s»\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Er du sikker på at du vil erstatte den? (j/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Er du sikker på at du vil slette den? (j/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr ""
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (ikke-eksporterbar)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Denne signaturen utgikk den %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr ""
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (ikke-opphevbar)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr ""
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "ingen hemmelig nøkkel\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "brukerid «%s» er allerede opphevet\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "ADVARSEL: en brukeridsignatur er datert %d sekunder i fremtiden\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Nøkkelen %s er allerede opphevet.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Undernøkkel %s er allerede opphevet.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferansen %s er duplisert\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "for mange cipher-preferanser\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "for mange digest-preferanser\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "for mange kompresjons-preferanser\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "ugyldig oppføring «%s» i preferansestreng\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "skriver direkte signatur\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "skriver selvsignatur\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "skriver nøkkelbindende signatur\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "nøkkelstørrelsen er ugyldig; bruker %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "nøkkelstørrelsen ble rundet opp til %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Signere"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Bekrefte"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Kryptere data"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Autentisere"
 
@@ -4335,104 +4366,104 @@ msgstr "Autentisere"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsKkAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr ""
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Vennligst velg hvilken type nøkkel du vil ha:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA og ElGamal (standard)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA og ElGamal (standard)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (bare signering)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (bare signering)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (bare kryptering)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (bare kryptering)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (sette dine egne muligheter)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (sette dine egne muligheter)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Hvilken nøkkelstørrelse vil du ha? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Hvilken nøkkelstørrelse vil du ha? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Ønsket nøkkelstørrelse er %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4448,7 +4479,7 @@ msgstr ""
 "      <n>m = nøkkelen utgår om n months\n"
 "      <n>y = nøkkelen utgår om n years\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4464,38 +4495,38 @@ msgstr ""
 "      <n>m = signaturen utgår om n months\n"
 "      <n>y = signaturen utgår om n years\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Nøkkelen er gyldig for? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Signaturen er gyldig for? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "ugyldig verdi\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Nøkkel utgår ikke i det hele tatt\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Signaturen utgår ikke i det hele tatt\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Nøkkel utgår den %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signaturen utgår den %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4503,11 +4534,11 @@ msgstr ""
 "Systemet ditt kan ikke vise datoer etter 2038.\n"
 "Likevel vil det bli håndtert korrekt opp til 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Er dette korrekt (j/N)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4518,7 +4549,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4534,44 +4565,44 @@ msgstr ""
 "    «Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>»\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Fullt navn: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ugyldig tegn i navn\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Navnet kan ikke starte med et siffer\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Navnet må være minst 5 tegn langt\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Epostadresse: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Ikke en gyldig epostadresse\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Kommentar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Ugyldig tegn i kommentar\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Du bruker tegnsettet «%s».\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4582,12 +4613,12 @@ msgstr ""
 "    «%s»\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Vennligst ikke putt epostadressen inn i fullt navn eller i kommentaren\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4602,23 +4633,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKeEeRrAa"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Endre (N)avn, (K)ommentar, (E)postadresse eller (A)vslutt? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Endre (N)avn, (K)ommentar, (E)postadresse eller (R)iktig/(A)vslutt? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Vennligst korriger feilen først\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4626,7 +4657,7 @@ msgstr ""
 "Du trenger en passfrase for å beskytte din hemmelige nøkkel.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
@@ -4635,12 +4666,12 @@ msgstr ""
 "Du trenger en passfrase for å beskytte din hemmelige nøkkel.\n"
 "\n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4652,7 +4683,7 @@ msgstr ""
 "hjelp av dette programmet og valget «--edit-key».\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4664,50 +4695,50 @@ msgstr ""
 "diskene jobbe) under primtallgenereringen; dette gir\n"
 "tilfeldig-tall-generatoren en bedre sjanse til å samle nok entropy.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Nøkkelgenereringen ble avbrutt.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "skriver offentlig nøkkel til «%s»\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "skriver foreløpig hemmelig nøkkel til «%s»\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "skriver hemmelig nøkkel til «%s»\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "ingen skrivbart offentlig nøkkelknippe ble funnet: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "ingen skrivbart hemmelig nøkkelknippe ble funnet: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "feil ved skriving av offentlig nøkkelknippe «%s»: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "feil ved skriving av hemmelig nøkkelknippe «%s»: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "offentlig og hemmelig nøkkel opprettet og signert.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4716,13 +4747,13 @@ msgstr ""
 "kanskje å bruke kommandoen «--edit-key» for å generere en\n"
 "sekundærnøkkel for dette formålet.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Nøkkelgenerering mislyktes: %s\n"
 
 # Er dette entallsformen av denne strengen?
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4731,7 +4762,7 @@ msgstr ""
 "klokkeproblem)\n"
 
 # Er dette flertallsformen av denne og den forrige strengen?
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4739,27 +4770,27 @@ msgstr ""
 "nøkkel har blitt opprettet %lu sekunder i fremtiden (time warp eller "
 "klokkeproblem)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 "MERK: opprettelse av undernøkler for v3-nøkler er ikke i samsvar med "
 "OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Virkelig opprette? (j/N)"
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "lagring av nøkkel på kort mislyktes: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "kan ikke opprette sikkerhetskopifil «%s»: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr ""
@@ -4792,29 +4823,29 @@ msgstr ""
 msgid "Keyring"
 msgstr "Nøkkelknippe"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Fingeravtrykk for primærnøkkel:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Fingeravtrykk for undernøkkel:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Fingeravtrykk for primærnøkkel:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Fingeravstrykk for undernøkkel:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr " Nøkkelfingeravtrykk ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Serienummer for kort ="
 
@@ -4895,454 +4926,454 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "ADVARSEL: nøkkelserver-valget «%s» er ikke i bruk på denne plattformen\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "utkoblet"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr ""
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "nøkkelen «%s» ble ikke funnet på nøkkelserveren\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "nøkkelen ble ikke funnet på nøkkelserver\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "ber om nøkkelen %s fra %s server %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "ber om nøkkel %s fra %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "søke etter navn fra %s server %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "søker etter navn fra %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "søke etter «%s» fra %s server %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "søker etter «%s» fra %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "ingen handling for nøkkelserver!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "nøkkelserver sendte ikke VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "nøkkelserver svarte ikke tidsnok\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "intern feil ved nøkkelserver\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "kommunikasjonsfeil med nøkkelserver: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ADVARSEL: klarte ikke å oppfriske nøkkel %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "oppfrisker 1 nøkkel fra %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "oppfrisker %d nøkler fra %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ADVARSEL: klarte ikke å fange URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "ADVARSEL: klarte ikke å parse URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "merkelig størrelse for en kryptert sesjonsnøkkel (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr ""
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passfrase er generert med en ukjent digest-algoritme %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "offentlig nøkkel er %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "offentlig nøkkel-kryptert data: god DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "kryptert med %u-bit %s-nøkkel, ID %s, opprettet %s\n"
 
 # Do we really need to translate this string.
 # The must some bug in the code.
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      «%s»\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "kryptert med %s-nøkkel, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "offentlig nøkkel-dekryptering mislyktes: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr ""
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr ""
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr ""
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr ""
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr ""
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekryptering mislyktes: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "opprinnelig filnavn=«%.*s»\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "ingen signatur ble funnet\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr ""
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr ""
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur opprettet %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               bruker %s nøkkel %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur laget %s ved hjelp av %s-nøkkel ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Nøkkel tilgjengelig ved: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "DÅRLIG signatur fra «%s»"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Utgått signatur fra «%s»"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "God signatur fra «%s»"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[usikker]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka «%s»"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signatur utgått %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signatur utgår %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s signatur, digestalgoritme %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binær"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "tekstmodus"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "ukjent"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr ""
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr ""
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) mislyktes in %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "ADVARSEL: bruker eksperimentell offentlig nøkkel-algoritme %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "ADVARSEL: digestalgoritmen «%s» er avlegs\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "ADVARSEL: bruker eksperimentell cipheralgoritme %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "ADVARSEL: bruker eksperimentell digest-algoritme %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "ADVARSEL: digestalgoritmen «%s» er avlegs\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "vennligst se %s for mer informasjon\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr ""
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr ""
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr ""
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr ""
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "flertydig valg «%s»\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "ukjent valg «%s»\n"
@@ -5384,16 +5415,16 @@ msgstr "ny konfigurasjonsfil 
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "ADVARSEL: valgene i «%s» er ikke aktive under denne kjøringen\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr ""
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr ""
@@ -5448,7 +5479,7 @@ msgstr "%u-bit %s-n
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5457,34 +5488,34 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "kan ikke åpne JPEG-fil «%s»: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Er du sikker på at du vil bruke den? (j/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "«%s» er ikke et JPEG-fil\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr ""
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr ""
 
@@ -5516,6 +5547,16 @@ msgstr "grunnen for opphevelse: "
 msgid "revocation comment: "
 msgstr "kommentar til opphevelse: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5699,25 +5740,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Det er ikke sikkert at signaturen tilhører brukeren.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: hoppet over: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: hoppet over: offentlig nøkkel er allerede tilstede\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Du oppga ikke en brukerid. (Du kan bruke «-r»)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5725,42 +5766,42 @@ msgstr ""
 "\n"
 "Tast inn brukeriden.  Avslutt med en blank linje: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Det finnes ingen slik brukerid.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "hoppet over: offentlig nøkkel allerede satt som standard mottaker\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Offentlig nøkkel er utkoblet.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "hoppet over: offentlig nøkkel er allerede satt\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "ukjent standardmottaker «%s»\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: hoppet over: offentlig nøkkel er utkoblet\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "ingen gyldige adressater\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "nøkkel %s: ingen brukerid\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "nøkkel %s: ingen brukerid\n"
@@ -6044,17 +6085,23 @@ msgstr "NOTIS: signaturn
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTIS: signaturnøkkelen %s utgikk %s\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s signatur, digestalgoritme %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "nøkkel %s: ingen undernøkkel for undernøkkelopphevingssignatur\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "nøkkel %s: ingen undernøkkel for undernøkkelbindingssignatur\n"
@@ -6134,7 +6181,7 @@ msgstr ""
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr ""
@@ -6177,17 +6224,17 @@ msgstr "feil ved s
 msgid "read error in `%s': %s\n"
 msgstr "lesefeil ved «%s»: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -6196,117 +6243,117 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr ""
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "kan ikke aksere «%s»: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr ""
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "kan ikke opprette lås for «%s»\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "kan ikke låse «%s»\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr ""
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr ""
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr ""
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr ""
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr ""
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr ""
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr ""
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr ""
 
@@ -6320,169 +6367,177 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr ""
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr ""
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "nøkkel %s: godtatt som betrodd nøkkel\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "nøkkel %s: ingen offentlig nøkkel for betrodd nøkkel - hoppet over\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "nøkkel %s markert som endelig betrodd.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr ""
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ opphevet]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[ utgått]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[ ukjent]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[ udef ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr ""
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr ""
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "fant ikke offentlig nøkkel %s: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6504,77 +6559,77 @@ msgstr ""
 msgid "can't open fd %d: %s\n"
 msgstr "kan ikke åpne «%s»: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "Admin-kommandoer er ikke tillatt\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "feil ved lesing av fil"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "for lang linje"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "ugydig argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "Admin-reservert kommando\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "ugyldige listevalg\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "ikke tvunget"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "ugyldige listevalg\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Ugyldig kommando  (prøv «help»)\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "ikke tvunget"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "ugyldige listevalg\n"
@@ -6584,22 +6639,17 @@ msgstr "ugyldige listevalg\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "du fant en feil ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "feil ved lesing av «%s»: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "signering mislyktes: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "omdøping fra «%s» til «%s» mislyktes: %s\n"
@@ -6656,24 +6706,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA-modulus mangler eller har ikke en størrelse på %d bits\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "offentlig RSA-eksponent mangler eller er større enn %d bits\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-callback returnerte en feil: %s\n"
@@ -6722,203 +6773,217 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "feil ved henting av ny PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "klarte ikke å lagre fingeravtrykket: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "klarte ikke å lagre opprettelsesdatoen: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "lesing av offentlig nøkkel mislyktes: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "respons inneholder ikke data om offentlig nøkkel\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "respons inneholder ikke RSA-modulus\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "respons inneholder ikke den offentlige RSA-eksponenten\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d er for kort; minum lengde er %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "bekreftelse av CHV%d mislyktes: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "feil ved henting av CHV-status fra kort\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "kort er permanent låst!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d Admin PIN-forsøk før kortet blir låst permanent\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "tilgang til admin-kommandoer er ikke konfigurert\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, fuzzy, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d er for kort; minum lengde er %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Ny Admin PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Ny PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "feil ved lesing av applikasjonsdata\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "feil ved lesing av fingeravtrykk DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "nøkkel finnes allerede\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "eksisterende nøkkel vil bli erstattet\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generere en ny nøkkel\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "generere en ny nøkkel\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "tidsstempel for opprettelse mangler\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA-primtall %s mangler eller har ikke en størrelse på %d bits\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "klarte ikke å lagre nøkkelen: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "vennligst vent mens nøkkel blir generert ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "nøkkelgenerering mislyktes\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "nøkkelgenerering fullført (%d sekunder)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "ugyldig struktur i OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kortet støtter ikke digestalgoritme %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signaturer opprettet så langt: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "bekrefting av Admin PIN er foreløpig nektet gjennom denne kommandoen\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kan ikke aksere %s - ugyldig OpenPGP-kort?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6928,69 +6993,73 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "|N|Ny PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "leser valg fra «%s»\n"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr ""
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr ""
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr ""
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "vise admin-kommandoer"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Bruksmåte: gpg [valg] [filer] (-h for hjelp)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7028,11 +7097,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr ""
 
@@ -7063,208 +7132,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "eksportering av hemmelige nøkler er ikke tillatt\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "feil ved opprettelse av passfrase: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "lesing av offentlig nøkkel mislyktes: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "klarte ikke å lagre nøkkelen: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr ""
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "sleting av nøkkelblokk mislyktes: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "eksportering av hemmelige nøkler er ikke tillatt\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Denne nøkkelen er utgått!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Denne nøkkelen er utgått!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Denne nøkkelen er utgått!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Denne nøkkelen er utgått!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "         oppryddete signaturer: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "preferansen %s er duplisert\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "ugyldig sertifikat"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 #, fuzzy
 msgid "  (     issuer valid from "
 msgstr "      Serienummer for kort ="
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "CA-fingeravtrykk: "
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "generere et opphevingssertifikat"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "omdøping fra «%s» til «%s» mislyktes: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "bekrefte en signatur"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "preferansen %s er duplisert\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "nøkkel %s: ugyldig opphevingssertifikat: %s - avvist\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "ugyldig sertifikat"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7329,19 +7399,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "feil ved henting av nåværende nøkkelinfo: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7550,7 +7620,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "hemmelig nøkkel «%s» ble ikke funnet: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "feil ved lesing av nøkkelblokk: %s\n"
@@ -7686,7 +7756,7 @@ msgstr "hent n
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
 
@@ -7709,8 +7779,8 @@ msgstr "Bruksm
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Bruksmåte: gpg [valg] [filer]\n"
 "signere, sjekke, kryptere eller dekryptere\n"
@@ -7746,26 +7816,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr "  s = hopp over denne nøkkelen\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "kunne ikke parse nøkkelserverens URL\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "kan ikke aksere «%s»: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7783,12 +7853,7 @@ msgstr "generere et opphevingssertifikat"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "klarte ikke å lagre nøkkelen: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "feil ved henting av ny PIN: %s\n"
@@ -7803,46 +7868,42 @@ msgstr "feil ved opprettelse av passfrase: %s\n"
 msgid "error reading input: %s\n"
 msgstr "feil ved lesing av «%s»: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "feil ved opprettelse av nøkkelknippet «%s»: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "nøkkelknippet «%s» ble opprettet\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "klarte ikke å lagre fingeravtrykket: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "feil ved søking etter tillitspost i «%s»: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "feil ved henting av nåværende nøkkelinfo: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "feil ved lesing av «%s»: %s\n"
@@ -8028,147 +8089,147 @@ msgstr "feil ved lesing av 
 msgid "error sending standard options: %s\n"
 msgstr "feil ved søking etter tillitspost i «%s»: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr ""
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "feil ved opprettelse av passfrase: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr ""
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAVN|kryptere for NAVN"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "kunne ikke parse nøkkelserverens URL\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8429,6 +8490,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "feil ved lesing av «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "klarte ikke å lagre nøkkelen: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Kommando> "
 
@@ -8445,10 +8514,6 @@ msgstr ""
 #~ msgid "Repeat passphrase\n"
 #~ msgstr "Gjenta passfrase\n"
 
-#, fuzzy
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "||Vennligst tast inn PIN%%0A[signaturer utført: %lu]"
-
 #~ msgid "|A|Admin PIN"
 #~ msgstr "|A|Admin PIN"
 
index 46f395d..4ff1eed 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 4e95250..f31d674 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -2,23 +2,24 @@
 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 
 #               2007 Free Software Foundation, Inc.
 # Janusz A. Urbanowicz <alex@bofh.net.pl>, 1999, 2000, 2001, 2002, 2003-2004
-# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2011.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg-2.0.17\n"
+"Project-Id-Version: gnupg-2.0.20\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2011-01-12 08:34+0100\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-05-12 17:25+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "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"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "nie uda³o siê uzyskaæ blokady pinentry: %s\n"
@@ -28,21 +29,21 @@ msgstr "nie uda
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "|pinentry-label|_Anuluj"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "|pinentry-label|PIN:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Jako¶æ:"
 
@@ -52,161 +53,165 @@ msgstr "Jako
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Jako¶æ wpisanego wy¿ej tekstu.\n"
 "Kryteria jako¶ci mo¿na uzyskaæ od administratora."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr "Proszê wprowadziæ swój PIN, ¿eby odblokowaæ klucz tajny dla tej sesji"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 "Proszê wprowadziæ swoje has³o, ¿eby odblokowaæ klucz tajny dla tej sesji"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (próba %d z %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN zbyt d³ugi"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Has³o zbyt d³ugie"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Niew³a¶ciwy znak w PIN-ie"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN zbyt krótki"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Niepoprawny PIN"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Niepoprawne has³o"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Has³o"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "klucze ssh wiêksze ni¿ %d bitów nie s± obs³ugiwane\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "nie mo¿na utworzyæ ,,%s'': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "nie mo¿na otworzyæ ,,%s'': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "b³±d pobierania numeru seryjnego karty: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "wykryto kartê o numerze seryjnym: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "b³±d pobierania domy¶lnego keyID uwierzytelnienia karty: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "nie znaleziono pasuj±cego klucza karty: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "zaciemnienie klucza nie powiod³o siê: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "b³±d zapisu klucza: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
+"Proces ssh zarz±da³ u¿ycia klucza%%0a  %s%%0A  (%s)%%0ACzy zezwoliæ na to?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
-msgstr ""
+msgstr "Zgoda"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
-msgstr ""
+msgstr "Odmowa"
 
-#: agent/command-ssh.c:2155
-#, fuzzy, c-format
+#: agent/command-ssh.c:2514
+#, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
-msgstr "Proszê wprowadziæ has³o dla klucza ssh%0A  %c"
+msgstr "Proszê wprowadziæ has³o dla klucza ssh%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Proszê ponownie wprowadziæ to has³o"
 
-#: agent/command-ssh.c:2509
-#, fuzzy, c-format
+#: agent/command-ssh.c:2858
+#, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Proszê wprowadziæ has³o do zabezpieczenia odebranego klucza tajnego%%0A   %s%"
-"%0A w miejscu przechowywania kluczy gpg-agenta"
+"Proszê wprowadziæ has³o do zabezpieczenia odebranego klucza tajnego%%0A   %s"
+"%%0A   %s%%0Aw miejscu przechowywania kluczy gpg-agenta"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "nie pasuj± - proszê spróbowaæ jeszcze raz"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "nie uda³o siê utworzyæ strumienia z gniazda: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Proszê w³o¿yæ kartê z numerem seryjnym"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Proszê wyj±æ obecn± kartê i w³o¿yæ kartê z numerem seryjnym"
 
@@ -226,7 +231,7 @@ msgstr "Kod resetuj
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr "%s%%0A%%0ADo wpisywania nale¿y u¿yæ klawiatury czytnika."
 
 #: agent/divert-scd.c:287
@@ -343,14 +348,14 @@ msgstr "Tak, ochrona nie jest potrzebna"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Proszê wprowadziæ has³o do%0Azabezpieczenia swojego nowego klucza"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Proszê wprowadziæ nowe has³o"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -359,113 +364,119 @@ msgstr ""
 "@Opcje:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "uruchomienie w trybie demona (w tle)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "z dodatkowymi informacjami"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "mniej komunikatów"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "wyj¶cie poleceñ w stylu sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "wyj¶cie poleceñ w stylu csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|PLIK|odczyt opcji z PLIKU"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "nie odczepianie od konsoli"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "nie przechwytywanie klawiatury i myszy"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "u¿ycie pliku loga dla serwera"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "u¿ycie standardowego po³o¿enia gniazda"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|u¿ycie PGM jako programu do wprowadzania PIN-u"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|u¿ycie PGM jako programu SCdaemon"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "nie u¿ywanie SCdaemona"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignorowanie ¿±dañ zmiany TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignorowanie ¿±dañ zmiany ekranu X"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|przedawnienie pamiêtanych PIN-ów po N sekundach"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "nie u¿ywanie pamiêci PIN-ów przy podpisywaniu"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "zezwolenie klientom na oznaczanie kluczy jako \"zaufanych\""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "zezwolenie na predefiniowane has³o"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr "w³±czenie emulacji ssh-agenta"
+#: agent/gpg-agent.c:193
+msgid "enable ssh support"
+msgstr ""
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|PLIK|zapis ustawieñ ¶rodowiska tak¿e do PLIKU"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "B³êdy prosimy zg³aszaæ na adres <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Wywo³anie: gpg-agent [opcje] (-h podaje pomoc)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -473,155 +484,156 @@ msgstr ""
 "Sk³adnia: gpg-agent [opcje] [polecenie [argumenty]]\n"
 "Zarz±dzanie kluczem tajnym dla GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "podano b³êdny poziom diagnostyki ,,%s''\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "biblioteka %s jest zbyt stara (potrzebna %s, zainstalowana %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "UWAGA: brak domy¶lnego pliku opcji ,,%s''\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "plik opcji ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "odczyt opcji z ,,%s''\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "b³±d tworzenia ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "nie mo¿na utworzyæ katalogu ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "nazwa gniazda zbyt d³uga\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "nie mo¿na utworzyæ gniazda: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "nazwa gniazda `%s' zbyt d³uga\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ju¿ dzia³a - nie uruchamianie nowego\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "b³±d podczas pobierania nonce z gniazda\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "b³±d podczas przypisywania gniazda do ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() nie powiod³o siê: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "nas³uchiwanie na gnie¼dzie ,,%s''\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "katalog ,,%s'' utworzony\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() nie powiod³o siê dla ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "nie mo¿na u¿yæ ,,%s'' jako katalogu domowego\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "b³±d odczytu nonce z fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "obs³uga 0x%lx dla fd %d uruchomiona\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "obs³uga 0x%lx dla fd %d zakoñczona\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "obs³uga ssh 0x%lx dla fd %d uruchomiona\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "obs³uga ssh 0x%lx dla fd %d zakoñczona\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select nie powiod³o siê: %s - czekanie 1s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s zatrzymany\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "brak dzia³aj±cego gpg-agenta w tej sesji\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "z³y format zmiennej ¶rodowiskowej GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "wersja %d protoko³u agenta nie jest obs³ugiwana\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 "Wywo³anie: gpg-preset-passphrase [opcje] UCHWYT_KLUCZA (-h podaje pomoc)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -629,7 +641,7 @@ msgstr ""
 "Sk³adnia: gpg-preset-passphrase [opcje] UCHWYT_KLUCZA\n"
 "Utrzymuwanie pamiêci hase³\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -638,7 +650,7 @@ msgstr ""
 "@Polecenia:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -650,11 +662,11 @@ msgstr ""
 "Opcje:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Wywo³anie: gpg-protect-tool [opcje] (-h podaje pomoc)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -662,22 +674,22 @@ msgstr ""
 "Sk³adnia: gpg-protect-tool [opcje] [argumenty]\n"
 "Narzêdzie do utrzymywania kluczy tajnych\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Proszê wprowadziæ has³o do odbezpieczenia obiektu PKCS#12."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Proszê wprowadziæ has³o do zabezpieczenia obiektu PKCS#12."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 "Proszê wprowadziæ has³o do zabezpieczenia wa¿nego obiektu w systemie GnuPG."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -685,15 +697,15 @@ msgstr ""
 "Proszê wprowadziæ has³o lub PIN\n"
 "Potrzebny do zakoñczenia tej operacji."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Has³o:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "anulowano\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "b³±d podczas pytania o has³o: %s\n"
@@ -811,8 +823,8 @@ msgstr "Zmiana has
 msgid "I'll change it later"
 msgstr "Zmieniê je pó¼niej"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "b³±d tworzenia potoku: %s\n"
@@ -852,12 +864,12 @@ msgstr "b
 msgid "error running `%s': terminated\n"
 msgstr "b³±d uruchamiania ,,%s'': zakoñczono\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "b³±d tworzenia gniazda: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "nie znaleziono hosta"
 
@@ -886,17 +898,17 @@ msgstr "anulowano przez u
 msgid "problem with the agent\n"
 msgstr "problem z agentem\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "nie mo¿na wy³±czyæ zrzutów pamiêci: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Ostrze¿enie: niebezpieczne prawa w³asno¶ci do %s ,,%s''\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Ostrze¿enie: niebezpieczne prawa dostêpu do %s ,,%s''\n"
@@ -1111,11 +1123,11 @@ msgstr "
 msgid "Root certificate trustworthy"
 msgstr "Certyfikat g³ówny jest zaufany"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "nie znaleziono CRL dla certyfikatu"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "dostêpny CRL jest zbyt stary"
 
@@ -1189,7 +1201,7 @@ msgstr "nieoczekiwane opakowanie: "
 msgid "invalid dash escaped line: "
 msgstr "niepoprawne oznaczenie linii minusami: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "niew³a¶ciwy znak formatu radix64 ,,%02X'' zosta³ pominiêty\n"
@@ -1206,7 +1218,7 @@ msgstr "przedwczesny koniec pliku (w CRC)\n"
 msgid "malformed CRC\n"
 msgstr "b³±d formatu CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "B³±d sumy CRC; %06lX - %06lX\n"
@@ -1219,16 +1231,16 @@ msgstr "przedwczesny koniec pliku (w linii ko
 msgid "error in trailer line\n"
 msgstr "b³±d w linii koñcz±cej\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nie odnaleziono poprawnych danych w formacie OpenPGP.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "b³±d opakowania: linia d³u¿sza ni¿ %d znaków\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1263,7 +1275,7 @@ msgstr "OSTRZE
 msgid "not human readable"
 msgstr "nieczytelne dla cz³owieka"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Karta OpenPGP niedostêpna: %s\n"
@@ -1273,8 +1285,8 @@ msgstr "Karta OpenPGP niedost
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Wykryto kartê OpenPGP nr %s\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "nie dzia³a w trybie wsadowym\n"
 
@@ -1282,155 +1294,155 @@ msgstr "nie dzia
 msgid "This command is only available for version 2 cards\n"
 msgstr "To polecenie jest dostêpne tylko dla kart w wersji 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Kod resetuj±cy nie jest (ju¿ lub w ogóle) dostêpny\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Twój wybór? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[nie ustawiono]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "mê¿czyzna"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "kobieta"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "nie podano"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "nie wymuszono"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "wymuszono"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "B³±d: aktualnie dopuszczalne jest tylko czyste ASCII.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "B³±d: znak ,,<'' nie mo¿e byæ u¿yty.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "B³±d: podwójne spacje nie s± dopuszczalne.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Nazwisko posiadacza karty: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Imiê posiadacza karty: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "B³±d: pe³ne personalia zbyt d³ugie (limit to %d znaków).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL do odczytania klucza publicznego: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "B³±d: URL zbyt d³ugi (limit to %d znaków).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "b³±d przydzielania wystarczaj±cej ilo¶ci pamiêci: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "b³±d odczytu ,,%s'': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "b³±d zapisu ,,%s'': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Dane logowania (nazwa konta): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "B³±d: dane logowania zbyt d³ugie (limit to %d znaków).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Prywatne dane DO: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "B³±d: prywatne DO zbyt d³ugie (limit to %d znaków).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Preferowane jêzyki: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "B³±d: niew³a¶ciwa d³ugo¶æ tekstu preferencji.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "B³±d: niew³a¶ciwe znaki w tek¶cie preferencji.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "P³eæ (M - mê¿czyzna, F - kobieta lub spacja): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "B³±d: niew³a¶ciwa odpowied¼.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "Odcisk CA:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "B³±d: niew³a¶ciwie sformatowany odcisk.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operacja na kluczu niewykonalna: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "to nie jest karta OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "b³±d podczas odczytu aktualnych informacji o kluczu: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Zast±piæ istniej±cy klucz? (t/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1440,55 +1452,55 @@ msgstr ""
 "       Je¶li tworzenie klucza nie powiedzie siê, proszê sprawdziæ\n"
 "       dokumentacjê karty, aby poznaæ dozwolone rozmiary.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Jakiej d³ugo¶ci klucz do podpisywania wygenerowaæ? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Jakiej d³ugo¶ci klucz do szyfrowania wygenerowaæ? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Jakiej d³ugo¶ci klucz do uwierzytelniania wygenerowaæ? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokr±glono do %u bitów\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "Rozmiary kluczy %s musz± byæ z przedzia³u %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "b³±d podczas zmiany rozmiaru klucza %d na %u bitów: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Stworzyæ poza kart± kopiê zapasow± klucza szyfruj±cego? (T/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "UWAGA: klucze s± ju¿ zapisane na karcie!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Zast±piæ istniej±ce klucze? (t/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1499,129 +1511,129 @@ msgstr ""
 "   PIN = ,,%s''   PIN administracyjny = ,,%s''\n"
 "Nale¿y je zmieniæ przy u¿yciu polecenia --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Proszê wybraæ rodzaj klucza do wygenerowania:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Klucz do podpisów\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Klucz do szyfrowania\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Klucz do uwierzytelniania\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Niew³a¶ciwy wybór.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Proszê wybraæ gdzie zapisaæ klucz:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "nieznany algorytm ochrony klucza\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "czê¶ci tajne klucza s± niedostêpne\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "klucz prywatny jest ju¿ zapisany na karcie\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "b³±d zapisu klucza na karcie: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "wyj¶cie z tego menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "pokazanie poleceñ administratora"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "ten tekst pomocy"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "wypisanie wszystkich dostêpnych danych"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "zmiana nazwy posiadacza karty"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "zmiana URL-a do odczytu klucza"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "pobranie klucza okre¶lonego w URL-u karty"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "zmiana nazwy logowania"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "zmiana preferowanych jêzyków"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "zmiana p³ci posiadacza karty"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "zmiana odcisku CA"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "zmiana flagi wymuszenia PIN-u do podpisu"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "wygenerowanie nowych kluczy"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "menu do zmiany lub odblokowania PIN-u"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "sprawdzenie PIN-u i wypisanie wszystkich danych"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "odblokowanie PIN-u przy u¿yciu kodu resetuj±cego"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/karta> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Polecenie tylko dla administratora\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Polecenia dla administratora s± dozwolone\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Polecenia dla administratora nie s± dozwolone\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Niepoprawne polecenie  (spróbuj ,,help'')\n"
 
@@ -1629,18 +1641,18 @@ msgstr "Niepoprawne polecenie  (spr
 msgid "--output doesn't work for this command\n"
 msgstr "opcja --output nie dzia³a z tym poleceniem\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "nie mo¿na otworzyæ ,,%s''\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "klucz ,,%s'' nie zosta³ odnaleziony: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1743,7 +1755,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "wymuszone u¿ycie szyfru %s (%d) k³óci siê z ustawieniami adresata\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "%s nie jest dostêpne w trybie %s\n"
@@ -1753,76 +1765,76 @@ msgstr "%s nie jest dost
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s zaszyfrowany dla: ,,%s''\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "dane zaszyfrowano za pomoc± %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "dane zaszyfrowano nieznanym algorytmem numer %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "OSTRZE¯ENIE: wiadomo¶æ by³a szyfrowana kluczem s³abym szyfru symetrycznego.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problem podczas obróbki pakietu szyfrowego\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "odwo³ania do zewnêtrznych programów s± wy³±czone\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "nieszczelne uprawnienia ustawieñ - wo³anie zewnêtrznych programów wy³±czone\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "platforma wymaga u¿ycia plików tymczasowych do wo³ania zewnêtrznych "
 "programów\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "nie mo¿na uruchomiæ programu ,,%s'': %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "nie mo¿na uruchomiæ pow³oki ,,%s'': %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "b³±d systemu podczas wo³ania programu zewnêtrznego: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "nienaturalne zakoñczenie pracy zewnêtrznego programu\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "nie mo¿na uruchomiæ zewnêtrznego programu\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nie mo¿na odczytaæ odpowiedzi programu zewnêtrznego: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "OSTRZE¯ENIE: nie mo¿na skasowaæ pliku tymczasowego (%s) ,,%s'': %s.\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "OSTRZE¯ENIE: nie mo¿na skasowaæ tymczasowego katalogu ,,%s'': %s.\n"
@@ -1914,194 +1926,194 @@ msgstr "b
 msgid "No fingerprint"
 msgstr "Brak odcisku"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Opcja --allow-non-selfsigned-uid wymusi³a uznanie za poprawny klucza %s.\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "brak prywatnego odpowiednika podklucza publicznego %s - pominiêty\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "u¿ywany jest podklucz %s zamiast klucza g³ównego %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "klucz %s: klucz tajny bez klucza jawnego - pominiêty\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "z³o¿enie podpisu"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "z³o¿enie podpisu pod dokumentem"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "z³o¿enie podpisu oddzielonego od dokumentu"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "szyfrowanie danych"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "szyfrowanie tylko szyfrem symetrycznym"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "odszyfrowywanie danych (domy¶lne)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "sprawdzenie podpisu"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "lista kluczy"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "lista kluczy i podpisów"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "wypisanie i sprawdzenie podpisów kluczy"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "lista kluczy i ich odcisków"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "lista kluczy prywatnych"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "generacja nowej pary kluczy"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "tworzenie certyfikatu uniewa¿nienia klucza"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "usuniêcie klucza ze zbioru kluczy publicznych"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "usuniêcie klucza ze zbioru kluczy prywatnych"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "z³o¿enie podpisu na kluczu"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "z³o¿enie prywatnego podpisu na kluczu"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "podpisanie lub modyfikacja klucza"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "zmiana has³a"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "eksport kluczy do pliku"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "eksport kluczy do serwera kluczy"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "import kluczy z serwera kluczy"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "szukanie kluczy na serwerze"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "od¶wie¿enie wszystkich kluczy z serwera"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "import/do³±czenie kluczy"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "wy¶wietlenie stanu karty"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "zmiana danych na karcie"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "zmiana PIN-u karty"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "uaktualnienie bazy zaufania"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "wypisanie skrótów wiadomo¶ci"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "uruchomienie w trybie serwera"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "opakowanie ASCII pliku wynikowego"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|U¯YTKOWNIK|szyfrowanie dla odbiorcy o tym identyfikatorze"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|U¯YTKOWNIK|u¿ycie tego identyfikatora u¿ytkownika do podpisania lub "
 "odszyfrowania"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|ustawienie poziomu kompresji N (0 - bez)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "kanoniczny format tekstowy"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|PLIK|zapis wyj¶cia do PLIKU"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "pozostawienie bez zmian"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "pytanie przed nadpisaniem plików"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "¶cis³e zachowanie OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2109,7 +2121,7 @@ msgstr ""
 "@\n"
 "(Pe³n± listê poleceñ i opcji mo¿na znale¼æ w podrêczniku systemowym.)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2131,21 +2143,21 @@ msgstr ""
 " --list-keys [nazwy]        pokazanie klucze\n"
 " --fingerprint [nazwy]      pokazanie odcisków kluczy\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Wywo³anie: gpg [opcje] [pliki] (-h podaje pomoc)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sk³adnia: gpg [opcje] [pliki]\n"
-"podpisywanie, sprawdzanie podpisów, szyfrowanie, deszyfrowanie\n"
-"domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n"
+"Podpisywanie, sprawdzanie podpisów, szyfrowanie, rozszyfrowywanie\n"
+"Domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2153,76 +2165,76 @@ msgstr ""
 "\n"
 "Obs³ugiwane algorytmy:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Asymetryczne: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Symetryczne: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Skrótów: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Kompresji: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "wywo³anie: gpg [opcje]"
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "sprzeczne polecenia\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "w definicji grupy ,,%s'' brak znaku ,,=''\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do katalogu domowego ,,%s''\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do pliku konfiguracyjnego ,,%s''\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do rozszerzenia ,,%s''\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do katalogu domowego ,,%s''\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do pliku konfiguracyjnego ,,%s''\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do rozszerzenia ,,%s''\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do katalogu zawieraj±cego katalog "
 "domowy ,,%s''\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2230,21 +2242,21 @@ msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do katalogu zawieraj±cego plik "
 "konfiguracyjny ,,%s''\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa w³asno¶ci do katalogu zawieraj±cego "
 "rozszerzenie ,,%s''\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do katalogu zawieraj±cego katalog "
 "domowy ,,%s''\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2252,469 +2264,469 @@ msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do katalogu zawieraj±cego plik "
 "konfiguracyjny ,,%s''\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "OSTRZE¯ENIE: niebezpieczne prawa dostêpu do katalogu zawieraj±cego "
 "rozszerzenie ,,%s''\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "nieznana opcja konfiguracyjna ,,%s''\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "wy¶wietlenie ID zdjêæ przy wypisywaniu kluczy"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "pokazywanie URL-i polityk przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "pokazywanie wszystkich adnotacji przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "pokazywanie standardowych adnotacji IETF przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "pokazywanie adnotacji u¿ytkownika przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 "pokazywanie URL-i preferowanych serwerów kluczy przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "pokazywanie poprawno¶ci ID u¿ytkownika przy wypisywaniu kluczy"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "pokazywanie uniewa¿nionych i wygas³ych ID u¿ytkownika na listach kluczy"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "pokazywanie uniewa¿nionych i wygas³ych podkluczy na listach kluczy"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "pokazywanie nazwy zbioru kluczy na listach kluczy"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "pokazywanie dat wyga¶niêcia przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "UWAGA: stary domy¶lny plik opcji ,,%s'' zosta³ zignorowany\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 "biblioteka libgcrypt jest zbyt stara (potrzebna %s, zainstalowana %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "UWAGA: %s nie jest do normalnego u¿ytku!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr ",,%s'' nie jest poprawnym czasem wyga¶niêcia podpisu\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr ",,%s'' nie jest poprawn± nazw± zestawu znaków\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "niezrozumia³y URL serwera kluczy\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: niepoprawne opcje serwera kluczy\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "niepoprawne opcje serwera kluczy\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: niepoprawne opcje wczytania kluczy\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "niepoprawne opcje wczytania kluczy\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d niepoprawne opcje eksportu kluczy\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "niepoprawne opcje eksportu kluczy\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: niepoprawne opcje wypisywania\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "niepoprawne opcje wypisywania\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "wy¶wietlanie ID zdjêæ przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "pokazywanie URL-i polityk przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "pokazywanie wszystkich adnotacji przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "pokazywanie standardowych adnotacji IETF przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "pokazywanie adnotacji u¿ytkownika przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "pokazywanie URL-i preferowanych serwerów kluczy przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "pokazywanie poprawno¶ci ID u¿ytkownika przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "pokazywanie uniewa¿nionych i wygas³ych ID u¿ytkownika przy sprawdzaniu "
 "podpisów"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "pokazywanie tylko g³ównego ID u¿ytkownika przy sprawdzaniu podpisu"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "sprawdzanie podpisów z danymi PKA"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "zwiêkszenie zaufania podpisów z poprawnymi danymi PKA"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: niepoprawne opcje sprawdzania\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "niepoprawne opcje sprawdzania\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nie mo¿na ustawiæ ¶cie¿ki programów wykonywalnych na %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: niepoprawna lista auto-key-locate\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "Niepoprawna lista auto-key-locate\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "OSTRZE¯ENIE: program mo¿e stworzyæ plik zrzutu pamiêci!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "OSTRZE¯ENIE: %s powoduje obej¶cie %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Nie wolno u¿ywaæ %s z %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nie ma sensu w po³±czeniu z %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nie zadzia³a z niebezpieczn± pamiêci± z powodu %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "w trybie --pgp2 mo¿na sk³adaæ tylko podpisy oddzielne lub do³±czone do "
 "tekstu\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "w trybie --pgp2 nie mo¿na jednocze¶nie szyfrowaæ i podpisywaæ\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "w trybie --pgp2 trzeba u¿ywaæ plików a nie potoków.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "szyfrowanie wiadomo¶ci w trybie --pgp2 wymaga modu³u szyfru IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "wybrany algorytm szyfruj±cy jest niepoprawny\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "wybrany algorytm skrótów wiadomo¶ci jest niepoprawny\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "wybrany algorytm kompresji jest niepoprawny\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "wybrany algorytm skrótów po¶wiadczeñ jest niepoprawny\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "warto¶æ completes-needed musi byæ wiêksza od 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "warto¶æ marginals-needed musi byæ wiêksza od 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "warto¶æ max-cert-depth musi mie¶ciæ siê w zakresie od 1 do 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "niew³a¶ciwy domy¶lny poziom sprawdzania; musi mieæ warto¶æ 0, 1, 2 lub 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 "niew³a¶ciwy minimalny poziom sprawdzania; musi mieæ warto¶æ 0, 1, 2 lub 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "UWAGA: prosty tryb S2K (0) jest stanowczo odradzany\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "niepoprawny tryb S2K; musi mieæ warto¶æ 0, 1 lub 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "niew³a¶ciwe domy¶lne ustawienia\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "niew³a¶ciwe ustawienia szyfrów\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "niew³a¶ciwe ustawienia skrótów\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "niew³a¶ciwe ustawienia algorytmów kompresji\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s jeszcze nie dzia³a z %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "szyfr ,,%s'' nie jest dostêpny w trybie %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "skrót ,,%s'' nie jest dostêpny w trybie %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "kompresja ,,%s'' nie jest dostêpna w trybie %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inicjowanie Bazy Zaufania nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "OSTRZE¯ENIE: podano adresatów (-r) w dzia³aniu które ich nie dotyczy\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [plik]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [plik]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "szyfrowanie symetryczne ,,%s'' nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [plik]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [plik]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nie mo¿na u¿yæ --symmetric --encrypt wraz z --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "nie mo¿na u¿yæ --symmetric --encrypt w trybie %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [plik]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [plik]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [plik]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nie mo¿na u¿yæ --symmetric --sign --encrypt wraz z --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "nie mo¿na u¿yæ --symmetric --sign --encrypt w trybie %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [plik]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [plik]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [plik]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key nazwa u¿ytkownika"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key nazwa u¿ytkownika"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key nazwa u¿ytkownika [polecenia]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <id-u¿ytkownika>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "wysy³ka do serwera kluczy nie powiod³a siê: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "odbiór z serwera kluczy nie powiód³ siê: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "eksport kluczy nie powiód³ siê: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "szukanie w serwerze kluczy nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "od¶wie¿enie kluczy z serwera nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "zdjêcie opakowania ASCII nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "opakowywanie ASCII nie powiod³o siê: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "niew³a¶ciwy algorytm skrótu ,,%s''\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nazwa pliku]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Wpisz tutaj swoj± wiadomo¶æ ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "podany URL regulaminu po¶wiadczania jest niepoprawny\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "podany URL regulaminu podpisów jest niepoprawny\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "podany preferowany URL serwera kluczy jest niepoprawny\n"
 
@@ -2751,120 +2763,120 @@ msgstr "Pomoc niedost
 msgid "No help available for `%s'"
 msgstr "Brak pomocy o ,,%s''"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "import podpisów oznaczonych jako tylko lokalne"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "naprawienie uszkodzeñ z serwera pks przy imporcie"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "nie uaktualnianie bazy zaufania po imporcie"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "tworzenie kluczy publicznych przy imporcie kluczy tajnych"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "przyjmowanie tylko uaktualnieñ istniej±cych kluczy"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "usuwanie bezu¿ytecznych czê¶ci kluczy po imporcie"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "usuwanie jak najwiêkszej czê¶ci kluczy po imporcie"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d zostaje pominiêty\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kluczy przetworzonych do tej chwili\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Ogó³em przetworzonych kluczy: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "   pominiêtych nowych kluczy: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          bez identyfikatora: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "         do³±czono do zbioru: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                   bez zmian: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      nowych identyfikatorów: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "            nowych podkluczy: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "             nowych podpisów: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   nowych uniewa¿nieñ kluczy: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   tajnych kluczy wczytanych: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "     tajnych kluczy dodanych: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "    tajnych kluczy bez zmian: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "      nie w³±czono do zbioru: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "     podpisów wyczyszczonych: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "ID u¿ytkownika wyczyszczonych: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2873,355 +2885,371 @@ msgstr ""
 "OSTRZE¯ENIE: klucz %s zawiera preferencje dla niedostêpnych\n"
 "algorytmów dla tych ID u¿ytkownika:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         ,,%s'': preferowany szyfr %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         ,,%s'': preferowany algorytm skrótu %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         ,,%s'': preferowany algorytm kompresji %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "zdecydowanie sugerowane jest uaktualnienie ustawieñ i ponowne\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "rozes³anie tego klucza w celu unikniêcia niezgodno¶ci algorytmów\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "mo¿na uaktualniæ swoje ustawienia poprzez: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "klucz %s: brak identyfikatora u¿ytkownika\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "pominiêty ,,%s'': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "klucz %s: podklucz uszkodzony przez serwer zosta³ naprawiony\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "klucz %s: przyjêto identyfikator nie podpisany nim samym ,,%s''\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "klucz %s: brak poprawnych identyfikatorów u¿ytkownika\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "to mo¿e byæ spowodowane brakiem podpisu klucza nim samym\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "klucz %s: brak klucza publicznego: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "klucz %s: nowy klucz - pominiêty\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "brak zapisywalnego zbioru kluczy: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "zapis do ,,%s''\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "b³±d zapisu zbioru kluczy ,,%s'': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "klucz %s: klucz publiczny ,,%s'' wczytano do zbioru\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "klucz %s: nie zgadza siê z lokaln± kopi±\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "klucz %s: brak oryginalnego bloku klucza; %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "klucz %s: nie mo¿na odczytaæ oryginalnego bloku klucza: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "klucz %s: ,,%s'' 1 nowy identyfikator u¿ytkownika\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "klucz %s: ,,%s'' %d nowych identyfikatorów u¿ytkownika\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "klucz %s: ,,%s'' 1 nowy podpis\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "klucz %s: ,,%s'' %d nowych podpisów\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "klucz %s: ,,%s'' 1 nowy podklucz\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "klucz %s: ,,%s'' %d nowych podkluczy\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "klucz %s: ,,%s'' %d podpis wyczyszczony\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "klucz %s: ,,%s'' %d podpisów wyczyszczonych\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "klucz %s: ,,%s'' %d identyfikator u¿ytkownika wyczyszczony\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "klucz %s: ,,%s'' %d identyfikatorów u¿ytkownika wyczyszczonych\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "klucz %s: ,,%s'' bez zmian\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "klucz %s: klucz tajny z b³êdnym szyfrem %d - pominiêty\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "klucz prywatny ,,%s'' nie zosta³ odnaleziony: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "wczytywanie kluczy tajnych nie jest dozwolone\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "klucz %s: klucz tajny z b³êdnym szyfrem %d - pominiêty\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "brak domy¶lnego zbioru kluczy tajnych: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "klucz %s: klucz tajny wczytany do zbioru\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "klucz %s: ten klucz tajny ju¿ znajduje siê w zbiorze\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "klucz %s: brak klucza tajnego: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "klucz %s: brak klucza publicznego którego dotyczy wczytany certyfikat\n"
 "              uniewa¿nienia\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "klucz %s: niepoprawny certyfikat uniewa¿nienia: %s - odrzucony\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "klucz %s: ,,%s'' certyfikat uniewa¿nienia zosta³ ju¿ wczytany\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "klucz %s: brak identyfikatora u¿ytkownika do podpisu\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "klucz %s: algorytm asymetryczny dla id ,,%s'' nie jest obs³ugiwany\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "klucz %s: niepoprawny podpis na identyfikatorze ,,%s''\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "klucz %s: nieobs³ugiwany algorytm asymetryczny\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "klucz %s: nieprawid³owy bezpo¶redni podpis\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "klucz %s: brak podklucza do dowi±zania\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "klucz %s: niepoprawne dowi±zanie podklucza\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "klucz %s: usuniêto wielokrotne dowi±zanie podklucza\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "klucz %s: brak podklucza, którego dotyczy uniewa¿nienie\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "klucz %s: niepoprawne uniewa¿nienie podklucza\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "klucz %s: usuniêto wielokrotne uniewa¿nienie podklucza\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "klucz %s: pominiêto identyfikator u¿ytkownika ,,%s''\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "klucz %s: podklucz pominiêty\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "klucz %s: podpis nieeksportowalny (klasy 0x%02X) - pominiêty\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "klucz %s: pominiêto certyfikat uniewa¿nienia umieszczony\n"
 "              w niew³a¶ciwym miejscu\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "klucz %s: pominiêto -  niepoprawny certyfikat uniewa¿nienia: %s\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "klucz %s: pominiêto - podpis na podkluczu w niew³a¶ciwym miejscu\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "klucz %s: pominiêto - nieoczekiwana klasa podpisu (0x%02X)\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: do³±czono powtórzony identyfikator u¿ytkownika\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "OSTRZE¯ENIE: klucz %s móg³ zostaæ uniewa¿niony:\n"
 "             zapytanie o uniewa¿niaj±cy klucz %s w serwerze kluczy\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "OSTRZE¯ENIE: klucz %s móg³ zostaæ uniewa¿niony:\n"
 "             brak uniewa¿niaj±cego klucza %s.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "klucz %s: ,,%s'' dodany certyfikat uniewa¿nienia\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "klucz %s: dodano bezpo¶redni podpis\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "UWAGA: numer seryjny klucza nie zgadza siê z numerem karty\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "UWAGA: klucz g³ówny jest aktywny i zapisany na karcie\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "UWAGA: klucz dodatkowy jest aktywny i zapisany na karcie\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "b³±d tworzenia zbioru kluczy `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "zbiór kluczy ,,%s'' zosta³ utworzony\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "zasób bloku klucza `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "nie powiod³a siê odbudowa bufora bazy: %s\n"
@@ -3312,12 +3340,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Identyfikator u¿ytkownika ,,%s'' zosta³ uniewa¿niony."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Czy na pewno chcesz podpisaæ? (t/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr " Nie da siê z³o¿yæ podpisu.\n"
 
@@ -3506,8 +3534,8 @@ msgstr "To
 msgid "Really sign? (y/N) "
 msgstr "Czy na pewno podpisaæ? (t/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "z³o¿enie podpisu nie powiod³o siê: %s\n"
@@ -3517,19 +3545,19 @@ msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Klucz ma tylko za¶lepkê albo elementy na karcie - nie ma has³a do zmiany.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Ten klucz nie jest chroniony.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Czê¶æ tajna g³ównego klucza jest niedostêpna.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Czê¶æ tajna g³ównego klucza jest zapisana na karcie.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Klucz jest chroniony.\n"
 
@@ -3546,7 +3574,7 @@ msgstr ""
 "Wprowad¼ nowe d³ugie, skomplikowane has³o dla tego klucza tajnego.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "has³o nie zosta³o poprawnie powtórzone; jeszcze jedna próba"
 
@@ -3730,24 +3758,24 @@ msgstr ""
 "zagêszczanie bezu¿ytecznych ID u¿ytkowników i usuwanie wszystkich podpisów z "
 "kluczy"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "b³±d odczytu bloku klucza tajnego ,,%s'': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Dostêpny jest klucz tajny.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Do wykonania tej operacji potrzebny jest klucz tajny.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Najpierw trzeba u¿yæ polecenia \"prze³\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3760,228 +3788,228 @@ msgstr ""
 "(ltsign,\n"
 "  tnrsign itd.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Klucz uniewa¿niony."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Czy na pewno podpisaæ wszystkie identyfikatory u¿ytkownika? (t/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Podpowied¼: wybierz identyfikatory u¿ytkownika do podpisania.\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Nieznany rodzaj podpisu ,,%s''\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "To polecenie nie jest dostêpne w trybie %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Musisz wybraæ co najmniej jeden identyfikator u¿ytkownika.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Nie mo¿esz usun±æ ostatniego identyfikatora u¿ytkownika!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno usun±æ wszystkie wybrane identyfikatory u¿ytkownika? (t/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Czy na pewno usun±æ ten identyfikator u¿ytkownika? (t/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Czy na pewno przenie¶æ g³ówny klucz (t/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Musisz wybraæ dok³adnie jeden klucz.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Polecenie oczekuje argumentu bêd±cego nazw± pliku\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Nie mo¿na otworzyæ ,,%s'': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "B³±d podczas odczytu klucza zapasowego z `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Musisz wybraæ co najmniej jeden klucz.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Czy na pewno chcesz usun±æ wybrane klucze? (t/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Czy na pewno chcesz usun±æ ten klucz? (t/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno uniewa¿niæ wszystkie wybrane identyfikatory u¿ytkownika? (t/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Czy na pewno uniewa¿niæ ten identyfikator u¿ytkownika? (t/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Czy na pewno chcesz uniewa¿niæ ca³y klucz? (t/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Czy na pewno chcesz uniewa¿niæ wybrane podklucze? (t/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Czy na pewno chcesz uniewa¿niæ ten podklucz? (t/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Zaufanie u¿ytkownika nie mo¿e byæ ustawione podczas u¿ywania bazy zaufania\n"
 "dostarczonej przez u¿ytkownika\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Ustawienie listy ustawieñ na:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno uaktualniæ ustawienia dla wybranych identyfikatorów? (t/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Czy na pewno uaktualniæ ustawienia? (t/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Zapisaæ zmiany? (t/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Wyj¶æ bez zapisania zmian? (t/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "zapis zmian nie powiód³ siê: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "zapis zmian na kluczu prywatnym nie powiód³ siê: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Klucz nie zosta³ zmieniony wiêc zapis zmian nie jest konieczny.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Skrót: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Ustawienia: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "no-modify dla serwera kluczy"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Preferowany serwer kluczy: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Adnotacje: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Klucze PGP 2.x nie zawieraj± opisu ustawieñ.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Ten klucz zosta³ uniewa¿niony %s przez klucz u¿ytkownika %s %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Klucz mo¿e zostaæ uniewa¿niony przez klucz %s u¿ytkownika %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(poufne)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "utworzono: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "uniewa¿niono: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "wygas³: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "wygasa: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "u¿ycie: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "zaufanie: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "poprawno¶æ: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Ten klucz zosta³ wy³±czony z u¿ytku"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "nr-karty: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3989,17 +4017,17 @@ msgstr ""
 "Pokazana warto¶æ wiarygodno¶ci klucza mo¿e byæ niepoprawna,\n"
 "dopóki program nie zostanie uruchomiony ponownie.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "uniewa¿niony"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "wygas³"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4008,7 +4036,7 @@ msgstr ""
 "             jako g³ówny. Wykonanie tego polecenie mo¿e wiêc spowodowaæ\n"
 "             wy¶wietlanie innego identyfikatora jako domy¶lnego g³ównego.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4017,74 +4045,74 @@ msgstr ""
 "OSTRZE¯ENIE: To jest klucz PGP wersji 2. Dodanie zdjêcia spowoduje, ¿e\n"
 "             niektóre wersje przestan± go rozumieæ.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Czy dalej chcesz je dodaæ? (t/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Do klucza dla PGP 2.x nie mo¿na dodaæ zdjêcia.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Usun±æ ten poprawny podpis? (t/N/w) "
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Usun±æ ten niepoprawny podpis? (t/N/w) "
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Usun±æ ten nieznany podpis? (t/N/w) "
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Na pewno usun±æ ten podpis klucza nim samym? (t/N) "
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d podpis usuniêty.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d podpisów usuniêtych.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nic nie zosta³o usuniête.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "niepoprawny"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Identyfikator u¿ytkownika ,,%s'' upakowany: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Identyfikator u¿ytkownika ,,%s'': %d podpis wyczyszczony\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Identyfikator u¿ytkownika ,,%s'': %d podpisów wyczyszczonych\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Identyfikator u¿ytkownika ,,%s'': ju¿ zmniejszony.\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Identyfikator u¿ytkownika ,,%s'': ju¿ czysty.\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4094,267 +4122,267 @@ msgstr ""
 "             uniewa¿niaj±cego spowoduje, ¿e niektóre wersje PGP przestan±\n"
 "             go rozumieæ.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Do klucza dla PGP 2.x nie mo¿na wyznaczyæ klucza uniewa¿niaj±cego.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Podaj identyfikator klucza uniewa¿niaj±cego: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "klucza PGP 2.x nie mo¿na wyznaczyæ jako uniewa¿niaj±cego\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "nie mo¿na wyznaczyæ klucza do uniewa¿niania jego samego\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "ten klucz zosta³ ju¿ uznany kluczem uniewa¿niaj±cym\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "OSTRZE¯ENIE: nie mo¿na cofn±æ wyznaczenia klucza jako uniewa¿niaj±cego!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Czy na pewno chcesz wyznaczyæ ten klucz jako uniewa¿niaj±cy? (t/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Proszê usun±æ znacznik wyboru z kluczy prywatnych.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Proszê wybraæ najwy¿ej jeden podklucz.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Zmiana daty wa¿no¶ci podklucza.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Zmiana daty wa¿no¶ci g³ównego klucza.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nie mo¿na zmieniæ daty wa¿no¶ci klucza w wersji 3.\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Brak odpowiadaj±cego podpisu w zbiorze kluczy prywatnych\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "podklucz podpisuj±cy %s jest ju¿ skro¶nie podpisany\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "podklucz %s nie jest podpisuj±cy, wiêc nie musi byæ skro¶nie podpisany\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Proszê wybraæ dok³adnie jeden identyfikator u¿ytkownika.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "podpis w wersji 3 na identyfikatorze ,,%s'' zostaje pominiêty\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Podaj preferowany URL serwera kluczy: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Czy na pewno chcesz go zast±piæ? (t/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Czy na pewno chcesz go usun±æ? (t/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Adnotacje: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Kontynuowaæ? (t/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Brak identyfikatora u¿ytkownika o numerze %d.\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Brak identyfikatora u¿ytkownika o skrócie %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Brak podklucza o numerze %d.\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "identyfikator u¿ytkownika: ,,%s''\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "podpisany twoim kluczem %s w %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (podpis nieeksportowalny) "
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Wa¿no¶æ tego klucza wygas³a %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Czy dalej chcesz go uniewa¿niæ? (t/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Stworzyæ certyfikat uniewa¿nienia tego podpisu? (t/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Nie podpisane przez ciebie.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Te identyfikatory na kluczu %s s± podpisane przez Ciebie:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (podpis nieuniewa¿nialny) "
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "uniewa¿niony przez twój klucz %s w %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Czy na pewno chcesz uniewa¿niæ te podpisy:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Na pewno utworzyæ certyfikaty uniewa¿nienia ? (t/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "brak klucza tajnego\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "identyfikator u¿ytkownika ,,%s'' zosta³ ju¿ uniewa¿niony\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "OSTRZE¯ENIE: identyfikator u¿ytkownika podpisany za %d sekund (w "
 "przysz³o¶ci)\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Klucz %s jest ju¿ uniewa¿niony.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Podklucz %s jest ju¿ uniewa¿niony.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
-"Wy¶wietlanie zdjêcia w formacie %s o rozmiarze %ld bajtów dla klucza %s (id %"
-"d).\n"
+"Wy¶wietlanie zdjêcia w formacie %s o rozmiarze %ld bajtów dla klucza %s (id "
+"%d).\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "ustawienie ,,%s'' powtarza siê\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "zbyt wiele ustawieñ szyfru\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "zbyt wiele ustawieñ funkcji skrótu\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "zbyt wiele ustawieñ kompresji\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "niew³a¶ciwy element `%s' w tek¶cie ustawieñ\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "zapis podpisu bezpo¶redniego\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "zapis podpisu klucza nim samym\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "zapis podpisu wi±¿±cego klucz\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "niew³a¶ciwa d³ugo¶æ klucza; wykorzystano %u bitów\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "rozmiar klucza zaokr±glony w górê do %u bitów\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "OSTRZE¯ENIE: niektóre programy OpenPGP nie potrafi± obs³u¿yæ klucza RSA o "
 "tej d³ugo¶ci skrótu\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Podpisywanie"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certyfikowanie"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Szyfrowanie"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Uwierzytelnianie"
 
@@ -4368,104 +4396,104 @@ msgstr "Uwierzytelnianie"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "PpSsUuZz"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Mo¿liwe akcje dla klucza %s: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Aktualnie dopuszczalne akcje: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Prze³±czenie mo¿liwo¶ci podpisywania\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Prze³±czenie mo¿liwo¶ci szyfrowania\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Prze³±czenie mo¿liwo¶ci uwierzytelniania\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Zakoñczenie\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Proszê wybraæ rodzaj klucza:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA i RSA (domy¶lne)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA i Elgamala\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (tylko do podpisywania)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (tylko do podpisywania)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamala (tylko do szyfrowania)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (tylko do szyfrowania)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (mo¿liwo¶ci do ustawienia)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (mo¿liwo¶ci do ustawienia)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "Klucze %s bêd± mia³y od %u do %u bitów d³ugo¶ci.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Jakiej d³ugo¶ci podklucz wygenerowaæ? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Jakiej d³ugo¶ci klucz wygenerowaæ? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "¯±dana d³ugo¶æ klucza to %u bitów.\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4481,7 +4509,7 @@ msgstr ""
 "      <n>m = termin wa¿no¶ci klucza up³ywa za n miesiêcy\n"
 "      <n>y = termin wa¿no¶ci klucza up³ywa za n lat\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4497,38 +4525,38 @@ msgstr ""
 "      <n>m = termin wa¿no¶ci podpisu up³ywa za n miesiêcy\n"
 "      <n>y = termin wa¿no¶ci podpisu up³ywa za n lat\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Okres wa¿no¶ci klucza? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Okres wa¿no¶ci podpisu? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "niepoprawna warto¶æ\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Klucz nie wyga¶nie w ogóle\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Podpis nie wyga¶nie w ogóle\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Klucz traci wa¿no¶æ %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Wa¿no¶æ podpisu wygasa %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4536,11 +4564,11 @@ msgstr ""
 "Twój system nie potrafi pokazaæ daty po roku 2038.\n"
 "Niemniej daty do roku 2106 bêd± poprawnie obs³ugiwane.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Czy wszystko siê zgadza (t/N)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4554,7 +4582,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4570,44 +4598,44 @@ msgstr ""
 "    \"Tadeusz ¯eleñski (Boy) <tzb@ziemianska.pl>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Imiê i nazwisko: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Niew³a¶ciwy znak w imieniu lub nazwisku\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Imiê lub nazwisko nie mo¿e zaczynaæ siê od cyfry\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Imiê i nazwisko musz± mieæ co najmniej 5 znaków d³ugo¶ci.\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Adres poczty elektronicznej: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "To nie jest poprawny adres poczty elektronicznej\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Komentarz: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Niew³a¶ciwy znak w komentarzu\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "U¿ywasz zestawu znaków %s.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4618,13 +4646,13 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Nie nale¿y umieszczaæ adresu poczty elektronicznej w polu nazwiska czy\n"
 "komentarza.\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Taki identyfikator u¿ytkownika ju¿ istnieje na tym kluczu!\n"
 
@@ -4639,25 +4667,25 @@ msgstr "Taki identyfikator u
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "IiKkEeDdWw"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Zmieniæ (I)miê/nazwisko, (K)omentarz, adres (E)mail, czy (W)yj¶æ? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "Zmieniæ (I)miê/nazwisko, (K)omentarz, adres (E)mail, przej¶æ (D)alej,\n"
 "czy (W)yj¶æ z programu? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Najpierw trzeba poprawiæ ten b³±d\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4665,7 +4693,7 @@ msgstr ""
 "Musisz podaæ d³ugie, skomplikowane has³o aby ochroniæ swój klucz tajny.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4673,12 +4701,12 @@ msgstr ""
 "Proszê wprowadziæ has³o do zabezpieczenia kopii zapasowej poza kart± nowego "
 "klucza szyfruj±cego."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4690,7 +4718,7 @@ msgstr ""
 "\"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4706,50 +4734,50 @@ msgstr ""
 "ilo¶ci\n"
 "entropii.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Procedura generacji klucza zosta³a anulowana.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "zapisujê klucz publiczny w ,,%s''\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "zapisujê za¶lepkê klucza tajnego w ,,%s''\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "zapisujê klucz tajny w ,,%s''\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "brak zapisywalnego zbioru kluczy publicznych: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "brak zapisywalnego zbioru kluczy tajnych: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "b³±d podczas zapisu zbioru kluczy publicznych ,,%s'': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "b³±d podczas zapisu zbioru kluczy tajnych ,,%s'': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "klucz publiczny i prywatny (tajny) zosta³y utworzone i podpisane.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4757,12 +4785,12 @@ msgstr ""
 "Ten klucz nie mo¿e byæ wykorzystany do szyfrowania. Komend± \"--edit-key\"\n"
 "mo¿na dodaæ do niego podklucz szyfruj±cy.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Generacja klucza nie powiod³a siê: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4770,7 +4798,7 @@ msgstr ""
 "klucz zosta³ stworzony %lu sekundê w przysz³o¶ci (zaburzenia\n"
 "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4778,26 +4806,26 @@ msgstr ""
 "klucz zosta³ stworzony %lu sekund w przysz³o¶ci (zaburzenia\n"
 "czasoprzestrzeni, lub ¼le ustawiony zegar systemowy)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 "UWAGA: tworzenie podkluczy dla kluczy wersji 3 jest niezgodne z OpenPGP.\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Czy na pewno utworzyæ? (t/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "zapis klucza na karcie nie powiód³ siê: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "nie mo¿na utworzyæ pliku kopii zapasowej ,,%s'': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "UWAGA: kopia zapasowa klucza karty zapisana do ,,%s''\n"
@@ -4830,29 +4858,29 @@ msgstr "Adnotacje podpisu: "
 msgid "Keyring"
 msgstr "Zbiór kluczy"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Odcisk klucza g³ównego:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "      Odcisk podklucza:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Odcisk klucza g³ównego:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "       Odcisk podklucza:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "       Odcisk klucza ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "    Nr seryjny karty ="
 
@@ -4936,459 +4964,459 @@ msgstr ""
 "OSTRZE¯ENIE: opcja serwera kluczy ,,%s'' nie jest u¿ywana na tej "
 "platformie.\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "wy³±czony"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Wprowad¼ numer(y), N)astêpny lub Q)uit > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "niepoprawny protokó³ serwera kluczy (nasz %d != modu³ obs³ugi %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "klucz ,,%s'' nie zosta³ odnaleziony na serwerze kluczy\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "klucz nie zosta³ odnaleziony na serwerze kluczy\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "zapytanie o klucz %s z serwera %s %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "zapytanie o klucz %s z %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "poszukiwanie nazw z serwera %s %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "poszukiwanie nazw z %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "wysy³anie klucza %s na serwer %s %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "wysy³anie klucza %s na %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "poszukiwanie ,,%s'' z serwera %s %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "poszukiwanie ,,%s'' z %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "brak akcji serwera kluczy!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "OSTRZE¯ENIE: modu³ obs³ugi serwera kluczy z innej wersji GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "serwer kluczy nie wys³a³ VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "brak znanyk serwerów kluczy (u¿yj opcji --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 "zewnêtrzne wywo³ania serwera kluczy nie s± obs³ugiwane w tej kompilacji\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "brak modu³u obs³ugi dla schematu serwera kluczy ,,%s''\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 "akcja ,,%s'' nie jest obs³ugiwana przez schemat serwera kluczy ,,%s''\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s nie obs³uguje modu³u obs³ugi w wersji %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "zbyt d³ugi czas oczekiwania na serwer kluczy\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "b³±d wewnêtrzny serwera kluczy\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "b³±d komunikacji z serwerem kluczy: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ",,%s'' nie jest identyfikatorem klucza - pominiêto\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "OSTRZE¯ENIE: nie mo¿na od¶wie¿yæ klucza %s przez %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "od¶wie¿anie 1 klucza z %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "od¶wie¿anie %d kluczy z %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "OSTRZE¯ENIE: nie mo¿na pobraæ URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "OSTRZE¯ENIE: nie mo¿na przeanalizowaæ URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "dziwny rozmiar jak na zaszyfrowany klucz sesyjny (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "klucz sesyjny zaszyfrowany %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "has³o wygenerowane nieznanym algorytmem skrótu %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "klucz publiczny to %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dane zaszyfrowane kluczem publicznym: poprawny klucz sesyjny\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "zaszyfrowano %u-bitowym kluczem %s o identyfikatorze %s, stworzonym %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      ,,%s''\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "zaszyfrowano kluczem %s o identyfikatorze %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "b³±d odszyfrowywania kluczem publicznym: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "zaszyfrowane za pomoc± %lu hase³\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "zaszyfrowane jednym has³em\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "przyjmuj±c ¿e dane zosta³y zaszyfrowane za pomoc± %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "szyfr IDEA nie jest dostêpny, próba u¿ycia %s zamiast niego\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "odszyfrowanie poprawne\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "OSTRZE¯ENIE: wiadomo¶æ nie by³a zabezpieczona przed manipulacj±\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "OSTRZE¯ENIE: zaszyfrowana wiadomo¶æ by³a manipulowana!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "wyczyszczono has³o zapamiêtane z ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "b³±d odszyfrowywania: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "UWAGA: nadawca zaznaczy³ ¿e wiadomo¶æ nie powinna byæ zapisywana\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "pierwotna nazwa pliku='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "OSTRZE¯ENIE: widziano wiele czystych tekstów\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "osobny certyfikat uniewa¿nienia - u¿yj ,,gpg --import'' aby go wczytaæ\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "nie znaleziono podpisu\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "wymuszono pominiêcie sprawdzenia podpisu\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "nie mo¿na obs³u¿yæ tych wieloznacznych danych podpisu\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Podpisano w %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               przy u¿yciu klucza %s %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpisano w %s kluczem %s o numerze %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Klucz dostêpny w: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "NIEPOPRAWNY podpis z³o¿ony przez ,,%s''"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Przeterminowany podpis z³o¿ony przez ,,%s''"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Poprawny podpis z³o¿ony przez ,,%s''"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[niepewne]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                        alias ,,%s''"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Wa¿no¶æ podpisu wygas³a %s.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Wa¿no¶æ podpisu wygasa %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "podpis %s, skrót %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binarny"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "tekstowy"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "nieznany"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nie mo¿na sprawdziæ podpisu: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "nie jest oddzielonym podpisem.\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "OSTRZE¯ENIE: wielokrotne podpisy. Tylko pierwszy zostanie sprawdzony.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "oddzielony podpis klasy 0x%02x.\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starego typu (PGP 2.x).\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "wykryto niepoprawny pakiet pierwotny w proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat na ,,%s'' nie powiod³o siê w %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) nie powiod³o siê w %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
 "OSTRZE¯ENIE: u¿ycie eksperymentalnego algorytmu klucza publicznego %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "OSTRZE¯ENIE: klucze do podpisywania i szyfrowania Elgamala s± odradzane\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "OSTRZE¯ENIE: u¿ycie eksperymentalnego szyfru %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "OSTRZE¯ENIE: u¿ycie eksperymentalnego algorytmu skrótu %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "OSTRZE¯ENIE: algorytm skrótu %s jest odradzany\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "modu³ szyfru IDEA nie jest dostêpny\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "obja¶nienie mo¿na przeczytaæ tutaj: %s\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d jest przestarza³± opcj± ,,%s''\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "OSTRZE¯ENIE: ,,%s'' jest przestarza³± opcj±.\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "w jej miejsce nale¿y u¿yæ ,,%s%s''\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 "OSTRZE¯ENIE: ,,%s'' jest przestarza³ym poleceniem - nie nale¿y go u¿ywaæ\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: przestarza³a opcja ,,%s'' - nie ma efektu\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "OSTRZE¯ENIE: ,,%s'' jest przestarza³± opcj± - nie ma efektu\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Nieskompresowany"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "nieskompresowany|brak"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "ta wiadomo¶æ mo¿e nie daæ siê odczytaæ za pomoc± %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "niejednoznaczna opcja ,,%s''\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "nieznana opcja ,,%s''\n"
@@ -5430,18 +5458,18 @@ msgstr "nowy plik ustawie
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "OSTRZE¯ENIE: opcje w ,,%s'' nie s± jeszcze uwzglêdnione.\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "nie mo¿na obs³u¿yæ tego algorytmu klucza publicznego: %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "OSTRZE¯ENIE: symetrycznie zaszyfrowany klucz sesyjny mo¿e nie byæ "
 "bezpieczny\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpakiet typu %d ma ustawiony krytyczny bit\n"
@@ -5497,7 +5525,7 @@ msgstr "d
 msgid "         (subkey on main key ID %s)"
 msgstr "         (podklucz dla g³ównego klucza o ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5511,34 +5539,34 @@ msgstr ""
 "publicznym. Je¶li bêdzie du¿y, powiêkszy to tak¿e rozmiar Twojego klucza!\n"
 "Dobry rozmiar to oko³o 240 na 288 pikseli.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Nazwa pliku ze zdjêciem w formacie JPEG: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "nie mo¿na otworzyæ pliku JPEG ,,%s'': %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Ten JPEG jest naprawdê du¿y (%d bajtów)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Czy na pewno chcesz go u¿yæ? (t/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr ",,%s'' nie jest plikiem JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Czy zdjêcie jest w porz±dku? (t/N/w) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "nie mo¿na wy¶wietliæ zdjêcia!\n"
 
@@ -5570,6 +5598,16 @@ msgstr "pow
 msgid "revocation comment: "
 msgstr "komentarz do uniewa¿nienia: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMwWpP"
@@ -5752,25 +5790,25 @@ msgstr ""
 "             Nie ma pewno¶ci co do to¿samo¶ci osoby która z³o¿y³a ten "
 "podpis.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: pominiêty: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: pominiêty: zosta³ ju¿ wybrany w innej opcji\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Nie zosta³ podany identyfikator u¿ytkownika (np. za pomoc± ,,-r'')\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Aktualni odbiorcy:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5778,42 +5816,42 @@ msgstr ""
 "\n"
 "Identyfikator u¿ytkownika (pusta linia oznacza koniec): "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Brak takiego identyfikatora u¿ytkownika.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "pominiêty: klucz publiczny ju¿ jest domy¶lnym adresatem\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Klucz publiczny wy³±czony z u¿ycia.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "pominiêty: zosta³ ju¿ wybrany w innej opcji\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "nieznany domy¶lny adresat ,,%s''\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: pominiêty: klucz publiczny wy³±czony z u¿ytku\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "brak poprawnych adresatów\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Uwaga: klucz %s nie ma cechy %s\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Uwaga: klucz %s nie ma preferencji dla %s\n"
@@ -6110,19 +6148,25 @@ msgstr "UWAGA: klucz podpisuj
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "UWAGA: klucz podpisuj±cy %s zosta³ uniewa¿niony\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "podpis %s, skrót %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "uznano za z³y podpis utworzony kluczem %s z powodu nieznanego bitu "
 "krytycznego\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "klucz %s: brak podklucza dla podpisu uniewa¿nienia podklucza\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "klucz %s: brak podklucza dowi±zywanego podpisem\n"
@@ -6214,7 +6258,7 @@ msgstr ""
 "klucz algorytmu Elgamala wygenerowany przez PGP nie zapewniaj±cy "
 "bezpiecznych podpisów!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "wpis zaufania %lu, typ zapytania %d: zapis nie powiód³ siê: %s\n"
@@ -6259,17 +6303,17 @@ msgstr "b
 msgid "read error in `%s': %s\n"
 msgstr "b³±d odczytu w ,,%s'': %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "baza zaufania: synchronizacja nie powiod³a siê %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "baza zaufania, wpis %lu: funkcja lseek() nie powiod³a siê: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "baza zaufania, wpis %lu: zapis nie powiód³ siê (n=%d): %s\n"
@@ -6278,117 +6322,117 @@ msgstr "baza zaufania, wpis %lu: zapis nie powi
 msgid "trustdb transaction too large\n"
 msgstr "zbyt du¿e zlecenie dla bazy zaufania\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "nie mo¿na dostaæ siê do ,,%s'': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: katalog nie istnieje!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "nie mo¿na utworzyæ blokady dla ,,%s''\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "nie mo¿na zablokowaæ ,,%s''\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: stworzenie zapisu o wersji nie powiod³o siê: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: stworzony niepoprawny plik bazy zaufania\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: baza zaufania utworzona\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "UWAGA: nie mo¿na zapisywaæ bazy zaufania\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: niepoprawny plik bazy zaufania\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: tworzenie tablicy skrótów nie powiod³o siê: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: b³±d przy uaktualnianiu numeru wersji: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: b³±d odczytu numeru wersji: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: b³±d zapisu numeru wersji: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "baza zaufania: funkcja lseek() zawiod³a: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "baza zaufania: funkcja read() (n=%d) zawiod³a: %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: to nie jest plik bazy zaufania\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: wpis wersji z numerem %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: niew³a¶ciwa wersja pliku %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: b³±d odczytu pustego wpisu: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: b³±d zapisu wpisu katalogowego: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: zerowanie rekordu nie powiod³o siê: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: dopisanie rekordu nie powiod³o siê: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "B³±d: uszkodzona baza zaufania.\n"
 
@@ -6402,177 +6446,185 @@ msgstr "nie mo
 msgid "input line longer than %d characters\n"
 msgstr "linia d³u¿sza ni¿ %d znaków\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr ",,%s'' nie jest poprawnym d³ugim numerem klucza\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "klucz %s: zaakceptowany jako klucz zaufany\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "klucz %s jest wpisany wiêcej ni¿ raz w bazie zaufania\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "klucz %s: brak klucza publicznego dla zaufanego klucza - pominiêty\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "klucz %s zosta³ oznaczony jako obdarzony absolutnym zaufaniem.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "wpis zaufania %lu, typ zapytania %d: odczyt nie powiód³ siê: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "wpis zaufania %lu jest typu innego ni¿ poszukiwany %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "Mo¿na próbowaæ odtworzyæ bazê zaufania przy u¿yciu poleceñ:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "Je¶li to nie dzia³a, nale¿y poradziæ siê instrukcji\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "nie mo¿na u¿yæ nieznanego modelu zaufania (%d) - przyjêto model zaufania %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "u¿ycie modelu zaufania %s\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "17"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[  uniewa¿niony ]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[przeterminowany]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[    nieznane   ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[  nieokre¶lone ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[   marginalne  ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[      pe³ne    ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[    absolutne   ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "nieokre¶lone"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "nigdy"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginalne"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "pe³ne"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "absolutne"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "sprawdzanie bazy jest niepotrzebne\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "nastêpne sprawdzanie bazy odbêdzie siê %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "sprawdzanie bazy jest niepotrzebne przy modelu zaufania ,,%s''\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "aktualizacja bazy jest niepotrzebna przy modelu zaufania ,,%s''\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "klucz publiczny %s nie odnaleziony: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "nale¿y uruchomiæ gpg z opcj± ,,--check-trustdb''\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "sprawdzanie bazy zaufania\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "przetworzono %d kluczy (rozwi±zano %d przeliczeñ zaufania)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "brak absolutnie zaufanych kluczy\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "klucz publiczny absolutnie zaufanego klucza %s nie odnaleziony\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "potrzeba %d marginalnych, %d pe³nych, model zaufania %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"poziom: %d poprawnych: %3d podpisanych: %3d zaufanie: %d-,%dq,%dn,%dm,%df,%"
-"du\n"
+"poziom: %d poprawnych: %3d podpisanych: %3d zaufanie: %d-,%dq,%dn,%dm,%df,"
+"%du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
-"nie mo¿na uaktualniæ rekordu wersji bazy zaufania: zapis nie powiód³ siê: %"
-"s\n"
+"nie mo¿na uaktualniæ rekordu wersji bazy zaufania: zapis nie powiód³ siê: "
+"%s\n"
 
 #: g10/verify.c:118
 msgid ""
@@ -6594,68 +6646,68 @@ msgstr "linia wej
 msgid "can't open fd %d: %s\n"
 msgstr "nie mo¿na otworzyæ fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "nieoczekiwany argument"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "b³±d odczytu"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "s³owo kluczowe zbyt d³ugie"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "brak argumentu"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "b³êdne polecenie"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "b³êdna definicja aliasu"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "brak pamiêci"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "b³êdna opcja"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "brak argumentu dla opcji ,,%.50s''\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "opcja ,,%.50s'' nie mo¿e mieæ argumentów\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "b³êdne polecenie ,,%.50s''\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "opcja ,,%.50s'' jest niejednoznaczna\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "polecenie ,,%.50s'' jest niejednoznaczne\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "brak pamiêci\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "b³êdna opcja ,,%.50s''\n"
@@ -6665,22 +6717,17 @@ msgstr "b
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "znalaz³e¶(a¶) b³±d w programie ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "b³±d odczytu ,,%s'': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "konwersja z ,,%s'' do ,,%s'' niedostêpna\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open nie powiod³o siê: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "konwersja z ,,%s'' do ,,%s'' nie powiod³a siê: %s\n"
@@ -6738,24 +6785,24 @@ msgstr "Wywo
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Sk³adnia: kbxutil [opcje] [pliki]\n"
-"wypisywanie, eksport, import danych Keybox\n"
+"Wypisywanie, eksport, import danych Keybox\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "reszta RSA brakuj±ca lub o rozmiarze innym ni¿ %d bity\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "publiczny wyk³adnik RSA brakuj±cy lub wiêkszy ni¿ %d bity\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Zapytanie zwrotne o PIN zwróci³o b³±d: %s\n"
@@ -6808,79 +6855,79 @@ msgstr ""
 "|P|Proszê wprowadziæ kod odblokowuj±cy PIN (PUK) dla klucza do tworzenia "
 "podpisów kwalifikowanych."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "b³±d podczas odczytu nowego PIN-u: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "nie powiód³ siê zapis odcisku: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "nie powiód³ siê zapis daty utworzenia: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "odczyt klucza publicznego nie powiód³ siê: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "odpowied¼ nie zawiera danych klucza publicznego\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "odpowied¼ nie zawiera wspó³czynnika RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "odpowied¼ nie zawiera publicznego wyk³adnika RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "u¿ycie domy¶lnego PIN-u jako %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "nie uda³o siê u¿yæ domy¶lnego PIN-u jako %s: %s - wy³±czenie dalszego "
 "domy¶lnego u¿ycia\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Proszê wpisaæ PIN%%0A[podpisów wykonanych: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Proszê wpisaæ PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN dla CHV%d jest zbyt krótki; minimalna d³ugo¶æ to %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "weryfikacja CHV%d nie powiod³a siê: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "b³±d podczas odczytu stanu CHV z karty\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "karta zosta³a trwale zablokowana!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
@@ -6888,123 +6935,134 @@ msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Proszê wprowadziæ PIN administracyjny%%0A[pozosta³o prób: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Proszê wprowadziæ PIN administracyjny"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "dostêp do poleceñ administratora nie zosta³ skonfigurowany\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Proszê wprowadziæ kod resetuj±cy dla karty"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Kod resetuj±cy zbyt krótki; minimalna d³ugo¶æ to %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nowy kod resetuj±cy"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nowy PIN administracyjny"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Nowy PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Proszê wprowadziæ PIN administracyjny i nowy PIN administracyjny"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Proszê wprowadziæ PIN i nowy PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "b³±d podczas odczytu danych aplikacji\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "b³±d podczas odczytu odcisku DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "klucz ju¿ istnieje\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "istniej±cy klucz zostanie zast±piony\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generowanie nowego klucza\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "zapisywanie nowego klucza\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "brak datownika utworzenia\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "liczba pierwsza %s RSA brakuj±ca lub o rozmiarze innym ni¿ %d bitów\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nie powiód³ siê zapis klucza: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "proszê czekaæ na wygenerowanie klucza...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "generowanie klucza nie powiod³o siê\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "generowanie klucza zakoñczone (%d sekund)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "niepoprawna struktura karty OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "odcisk na karcie nie zgadza siê z ¿±danym\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "karta nie obs³uguje algorytmu skrótu %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "dotychczas stworzono podpisów: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "weryfikacja PIN-u administracyjnego tym poleceniem jest aktualnie "
 "zabroniona\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nie mo¿na dostaæ siê do %s - niepoprawna karta OpenPGP?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Proszê wprowadziæ PIN na klawiaturze czytnika"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7014,51 +7072,55 @@ msgstr "||Prosz
 msgid "|N|Initial New PIN"
 msgstr "|N|Pocz±tkowy nowy PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|POZIOM|ustawienie POZIOMU diagnostyki"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|PLIK|zapisanie logów do PLIKu"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|po³±czenie z czytnikiem na porcie N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAZWA|u¿ycie NAZWY jako sterownika ct-API"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAZWA|u¿ycie NAZWY jako sterownika PC/SC"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "nie u¿ywanie wewnêtrznego sterownika CCID"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|od³±czenie karty po N sekundach nieaktywno¶ci"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr "nie u¿ywanie klawiatury czytnika"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "zabronienie u¿ywania poleceñ karty administratora"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "u¿ycie wej¶cia z klawiatury czytnika o zmiennej d³ugo¶ci"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Wywo³anie: scdaemon [opcje] (-h podaje pomoc)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7066,16 +7128,16 @@ msgstr ""
 "Sk³adnia: scdaemon [opcje] [polecenie [argumenty]]\n"
 "Demon kart procesorowych dla GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr "proszê u¿yæ opcji ,,--daemon'' do uruchomienia programu w tle\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "obs³uga fd %d uruchomiona\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "obs³uga fd %d zakoñczona\n"
@@ -7113,11 +7175,11 @@ msgstr "nie mo
 msgid "validation model requested by certificate: %s"
 msgstr "model poprawno¶ci ¿±dany przez certyfikat: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "³añcuchowy"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "pow³okowy"
 
@@ -7147,194 +7209,195 @@ msgstr "uwaga: niekrytyczna polityka certyfikatu niedozwolona"
 msgid "certificate policy not allowed"
 msgstr "polityka certyfikatu niedozwolona"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "poszukiwanie wystawcy na zewn±trz\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "liczba pasuj±cych wystawców: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "poszukiwanie wystawcy w pamiêci podrêcznej Dirmngr\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "liczba pasuj±cych certyfikatów: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr ""
 "wyszukiwanie klucza tylko w pamiêci podrêcznej dirmngr nie powiod³o siê: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr "nie uda³o siê przydzieliæ uchwytu keyDB\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "certyfikat zosta³ uniewa¿niony"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "status certyfikatu jest nieznany"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "proszê upewniæ siê, ¿e ,,dirmngr'' jest poprawnie zainstalowany\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "sprawdzenie CRL nie powiod³o siê: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "certyfikat o niewa¿nej wa¿no¶ci: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "certyfikat jeszcze nie jest wa¿ny"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "certyfikat g³ówny jeszcze nie jest wa¿ny"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "certyfikat po¶redni jeszcze nie jest wa¿ny"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certyfikat wygas³"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "certyfikat g³ówny wygas³"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "certyfikat po¶redni wygas³"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "brak wymaganych atrybutów certyfikatu: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "certyfikat o niewa¿nej wa¿no¶ci"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "podpis nie utworzony w czasie ¿ycia certyfikatu"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "certyfikat nie utworzony w czasie ¿ycia wystawcy"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "po¶redni certyfikat nie utworzony w czasie ¿ycia wystawcy"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  podpis utworzony "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (certyfikat utworzony "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (certyfikat wa¿ny od "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     wystawca wa¿ny od "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "odcisk=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "g³ówny certyfikat nie zosta³ oznaczony jako zaufany\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "interaktywne oznaczanie zaufania nie w³±czone w gpg-agencie\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "interaktywne oznaczanie zaufania wy³±czone dla tej sesji\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "UWAGA: czas utworzenia podpisu nie jest znany - przyjêto czas bie¿±cy"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "nie znaleziono wystawcy w certyfikacie"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "w³asnorêcznie podpisany certyfikat ma Z£Y podpis"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "g³ówny certyfikat nie jest oznaczony jako zaufany"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "sprawdzenie listy zaufania nie powiod³o siê: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "³añcuch certyfikatów zbyt d³ugi\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "nie znaleziono wystawcy certyfikatu"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "certyfikat ma Z£Y podpis"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "znaleziono inny byæ mo¿e pasuj±cy certyfikat CA - ponawianie próby"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "³añcuch certyfikatów d³u¿szy ni¿ zezwala CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certyfikat jest dobry\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "certyfikat po¶redni jest dobry\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "certyfikat g³ówny jest dobry\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "prze³±czanie do modelu ³añcuchowego"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "u¿yty model poprawno¶ci: %s"
@@ -7398,19 +7461,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "b³±d podczas pobierania informacji o wykorzystaniu klucza: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "certyfikat nie powinien byæ u¿ywany do po¶wiadczania\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "certyfikat nie powinien byæ u¿ywany do podpisywania odpowiedzi OCSP\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "certyfikat nie powinien byæ u¿ywany do szyfrowania\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "certyfikat nie powinien byæ u¿ywany do podpisywania\n"
 
 #: sm/certlist.c:167
@@ -7612,7 +7675,7 @@ msgstr "(to nie wygl
 msgid "certificate `%s' not found: %s\n"
 msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "b³±d blokowania keyboksa: %s\n"
@@ -7740,7 +7803,7 @@ msgstr "|PLIK|dodanie tego zbioru kluczy do listy zbior
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|U¯YTKOWNIK|u¿ycie tego identyfikatora jako domy¶lnego klucza tajnego"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|u¿ycie tego serwera do wyszukiwania kluczy"
 
@@ -7759,13 +7822,13 @@ msgstr "Wywo
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sk³adnia: gpgsm [opcje] [pliki]\n"
-"podpisywanie, sprawdzanie podpisów, szyfrowanie, deszyfrowanie z u¿yciem S/"
-"MIME\n"
-"domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n"
+"Podpisywanie, sprawdzanie podpisów, szyfrowanie, rozszyfrowywanie z u¿yciem "
+"S/MIME\n"
+"Domy¶lnie wykonywana operacja zale¿y od danych wej¶ciowych\n"
 
 #: sm/gpgsm.c:617
 msgid "usage: gpgsm [options] "
@@ -7796,25 +7859,25 @@ msgstr "%s:%u: podano has
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: linia pominiêta\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "niezrozumia³y adres serwera kluczy\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "OSTRZE¯ENIE: dzia³anie z fa³szywym czasem systemowym: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "import wspólnych certyfikatów ,,%s''\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "nie mo¿na podpisaæ z u¿yciem ,,%s'': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "b³êdne polecenie (nie ma polecenia domy¶lnego)\n"
 
@@ -7832,11 +7895,7 @@ msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 "podstawowe sprawdzenia certyikatu nie powiod³y siê - nie zaimportowany\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "nie uda³o siê przydzieliæ uchwytu keyDB\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "b³±d pobierania zapisanych flag: %s\n"
@@ -7851,45 +7910,41 @@ msgstr "b
 msgid "error reading input: %s\n"
 msgstr "b³±d odczytu wej¶cia: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "b³±d tworzenia keyboksa ,,%s'': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "mo¿na najpierw uruchomiæ najpierw gpg-agenta\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "keybox ,,%s'' utworzony\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "nie uda³o siê pobraæ odcisku\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem odszukaniem istniej±cego certyfikatu: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "b³±d podczas szukania zapisywalnego keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "b³±d zapisywania certyfikatu: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem z ponownym odszukaniem certyfikatu: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "b³±d zapisywania flag: %s\n"
@@ -7952,8 +8007,8 @@ msgstr ""
 #, c-format
 msgid "hash algorithm %d (%s) for signer %d not supported; using %s\n"
 msgstr ""
-"algorytm skrótu %d (%s) dla podpisuj±cego %d nie jest obs³ugiwany; u¿ycie %"
-"s\n"
+"algorytm skrótu %d (%s) dla podpisuj±cego %d nie jest obs³ugiwany; u¿ycie "
+"%s\n"
 
 #: sm/sign.c:463
 #, c-format
@@ -8082,147 +8137,147 @@ msgstr "b
 msgid "error sending standard options: %s\n"
 msgstr "b³±d wysy³ania standardowych opcji: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Opcje steruj±ce wyj¶ciem diagnostycznym"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Opcje steruj±ce konfiguracj±"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Opcje przydatne do diagnostyki"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|PLIK|zapisanie logów trybu serwerowego do PLIKu"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Opcje steruj±ce bezpieczeñstwem"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|przedawnienie kluczy SSH po N sekundach"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 "|N|ustawienie maksymalnego czasu ¿ycia pamiêci podrêcznej PIN-ów na N sekund"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|ustawienie maksymalnego czasu ¿ycia kluczy SSH na N sekund"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Opcje wymuszaj±ce politykê hase³"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "nie zezwalanie na pominiêcie polityki hase³"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|ustawienie minimalnej d³ugo¶ci nowych hase³ na N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|wymaganie przynajmniej N znaków niealfanumerycznych w nowym ha¶le"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|PLIK|sprawdzanie nowych hase³ pod k±tem wzorców z PLIKU"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|przedawnianie hase³ po N dniach"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "nie zezwalanie na ponowne u¿ycie starych hase³"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAZWA|u¿ycie NAZWY jako domy¶lnego klucza tajnego"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAZWA|szyfrowanie tak¿e dla odbiorcy NAZWA"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|okre¶l adres email"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Konfiguracja dla serwerów kluczy"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|u¿ywaj serwera kluczy URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "zezwolenie na wyszukiwania PKA (¿±dania DNS)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANIZMY|wykorzystaj MECHANIZMY do wyszukiwania kluczy na podstawie "
 "adresów e-mail"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "zablokuj dostêp do dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAZWA|u¿ycie kodowania NAZWA dla hase³ PKCS#12"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "nie sprawdzanie CRL dla g³ównych certyfikatów"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Opcje steruj±ce formatem wyj¶cia"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Opcje steruj±ce interaktywno¶ci± i wymuszaniem"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguracja dla serwerów HTTP"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "u¿ycie systemowego ustawienia proxy HTTP"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguracja u¿ywanych serwerów LDAP"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "lista serwerów LDAP"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Konfiguracja dla OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Zewnêtrzna weryfikacja komponentu %s nie powiod³a siê"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Uwaga, okre¶lenia grup s± ignorowane\n"
 
@@ -8310,7 +8365,7 @@ msgstr ""
 
 #: tools/symcryptrun.c:156
 msgid "decryption modus"
-msgstr "tryb deszyfrowania"
+msgstr "tryb rozszyfrowywania"
 
 #: tools/symcryptrun.c:157
 msgid "encryption modus"
@@ -8477,3 +8532,12 @@ msgid ""
 msgstr ""
 "Sk³adnia: gpg-check-pattern [opcje] plik-wzorców\n"
 "Sprawdzanie has³a ze standardowego wej¶cia wzglêdem pliku wzorców\n"
+
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "mo¿na najpierw uruchomiæ najpierw gpg-agenta\n"
+
+#~ msgid "enable ssh-agent emulation"
+#~ msgstr "w³±czenie emulacji ssh-agenta"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "b³±d odczytu ,,%s'': %s\n"
index 2097466..d9d8785 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 25bce8b..2ad7715 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -9,15 +9,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2002-09-13 18:26+0100\n"
 "Last-Translator: Pedro Morais <morais@kde.org>\n"
 "Language-Team: pt <morais@kde.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
@@ -27,21 +28,21 @@ msgstr "falha ao inicializar a base de dados de confian
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -51,164 +52,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "frase secreta demasiado longa\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "frase secreta demasiado longa\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Caracter inválido no nome\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI incorreto"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "frase secreta incorrecta"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "frase secreta incorrecta"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritmo de protecção %d%s não é suportado\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "impossível criar `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "nenhum porta-chaves secreto com permissões de escrita encontrado: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muda a frase secreta"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: falha ao criar tabela de dispersão: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -228,7 +232,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -335,7 +339,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Você precisa de uma frase secreta para proteger a sua chave.\n"
 "\n"
@@ -345,7 +349,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "muda a frase secreta"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -356,284 +360,293 @@ msgstr ""
 "Opções:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "detalhado"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "ser mais silencioso"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "procurar chaves num servidor de chaves"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "actualizar a base de dados de confiança"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "não suportado"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "não suportado"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: ficheiro de opções por omissão `%s' inexistente\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "ficheiro de opções `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "a ler opções de `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: impossível criar directoria: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossível criar %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "o gpg-agent não está disponível nesta sessão\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "actualização falhou: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: directoria criada\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "base de dados de confiança: leitura falhou (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: impossível criar directoria: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "actualização da chave secreta falhou: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ignorado: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "o gpg-agent não está disponível nesta sessão\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variável de ambiente GPG_AGENT_INFO inválida\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "a versão %d do protocolo gpg-agent não é suportada\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -642,7 +655,7 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -654,51 +667,51 @@ msgstr ""
 "Opções:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "frase secreta incorrecta"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "cancelado pelo utilizador\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -813,8 +826,8 @@ msgstr "muda a frase secreta"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -854,12 +867,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[Utilizador não encontrado]"
@@ -892,17 +905,17 @@ msgstr "cancelado pelo utilizador\n"
 msgid "problem with the agent\n"
 msgstr "problema com o agente: o agente returnou 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "impossível desactivar core dumps: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
@@ -1138,12 +1151,12 @@ msgstr "Esta chave expirou!"
 msgid "Root certificate trustworthy"
 msgstr "certificado incorrecto"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "certificado incorrecto"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Nenhuma ajuda disponível"
@@ -1225,7 +1238,7 @@ msgstr "armadura inesperada:"
 msgid "invalid dash escaped line: "
 msgstr "linha com hífen inválida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "caracter radix64 inválido %02x ignorado\n"
@@ -1242,7 +1255,7 @@ msgstr "fim de ficheiro prematuro (no CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC malformado\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "erro de CRC; %06lx - %06lx\n"
@@ -1256,16 +1269,16 @@ msgstr "fim de ficheiro prematuro (no \"Trailer\")\n"
 msgid "error in trailer line\n"
 msgstr "erro na última linha\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armadura inválida: linha maior que %d caracteres\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1301,7 +1314,7 @@ msgstr "AVISO: dados de nota
 msgid "not human readable"
 msgstr "não legível por humanos"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "chave secreta não disponível"
@@ -1311,8 +1324,8 @@ msgstr "chave secreta n
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "impossível fazer isso em modo não-interativo\n"
@@ -1322,224 +1335,224 @@ msgstr "imposs
 msgid "This command is only available for version 2 cards\n"
 msgstr "Este comando não é permitido no modo %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "partes da chave secreta não disponíveis\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Opção? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Nenhum motivo especificado"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "não processado"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "a escrever chave pública para `%s'\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferências actualizadas"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "caracter inválido na cadeia de caractéres da preferência\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "caracter inválido na cadeia de caractéres da preferência\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "mostra impressão digital"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arredondado para %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1547,145 +1560,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Opção inválida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "motivo da revocação: "
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "algoritmo de compressão desconhecido"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Componentes secretas da chave primária não disponíveis.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "sair deste menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "mostra esta ajuda"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "muda a data de validade"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muda os valores de confiança"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "gerar um novo par de chaves"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando inválido (tente \"help\")\n"
 
@@ -1693,18 +1706,18 @@ msgstr "Comando inv
 msgid "--output doesn't work for this command\n"
 msgstr "--output não funciona para este comando\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "impossível abrir `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1809,7 +1822,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "ao forçar a cifra simétrica %s (%d) viola as preferências do destinatário\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
@@ -1819,75 +1832,75 @@ msgstr "n
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s cifrado para: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "dados cifrados com %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado com algoritmo desconhecido %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "AVISO: A mensagem foi cifrada com uma chave fraca na cifragem simétrica.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problema ao tratar pacote cifrado\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "%s: erro ao ler registo de versão: %s\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, fuzzy, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "%s: erro ao ler registo de versão: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 #, fuzzy
 msgid "unable to execute external program\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, fuzzy, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, fuzzy, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
@@ -1987,204 +2000,204 @@ msgstr "erro ao criar `%s': %s\n"
 msgid "No fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Chave inválida %08lX tornada válida por --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "há uma chave secreta para a chave pública \"%s\"!\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "usando chave secundária %08lX ao invés de chave primária %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[ficheiro]|fazer uma assinatura em texto puro"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "cifrar dados"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "cifrar apenas com cifra simétrica"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "decifrar dados (acção por omissão)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verificar uma assinatura"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "listar as chaves"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "listar as chaves e as assinaturas"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "verificar as assinaturas das chaves"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "listar as chaves e as impressões digitais"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "listar as chaves secretas"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "gerar um certificado de revogação"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "remover chaves do porta-chaves público"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "remover chaves do porta-chaves secreto"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "assinar uma chave"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "assinar uma chave localmente"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "assinar ou editar uma chave"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muda a frase secreta"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportar chaves"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportar chaves para um servidor de chaves"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importar chaves de um servidor de chaves"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "procurar chaves num servidor de chaves"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "actualizar todas as chaves a partir de um servidor de chaves"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importar/fundir chaves"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "actualizar a base de dados de confiança"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [ficheiros]|imprimir \"digests\" de mensagens"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "criar saída com armadura ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|cifrar para NOME"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "usar este identificador de utilizador para\n"
 "assinar ou decifrar"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 "|N|estabelecer nível de compressão N\n"
 "(0 desactiva)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usar modo de texto canônico"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "não fazer alterações"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "perguntar antes de sobrepôr"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2192,7 +2205,7 @@ msgstr ""
 "@\n"
 "(Veja a página man para uma lista completa de comandos e opções)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2212,21 +2225,26 @@ msgstr ""
 " --list-keys [nomes]        mostrar chaves\n"
 " --fingerprint [nomes]      mostrar impressões digitais\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opções] [ficheiros]\n"
 "assina, verifica, cifra ou decifra\n"
 "a operação por omissão depende dos dados de entrada\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2234,564 +2252,564 @@ msgstr ""
 "\n"
 "Algoritmos suportados:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Chave pública: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cifra: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Dispersão: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compressão: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opções] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "comandos em conflito\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "nenhum sinal = encontrada na definição de grupo \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "criado um novo ficheiro de configuração `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mostrar em que porta-chave a chave está"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTA: o ficheiro antigo de opções por omissão `%s' foi ignorado\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: %s não é para uso normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opções de importação inválidas\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opções de importação inválidas\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVISO: O programa pode criar um ficheiro core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s sobrepõe %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s não é permitido com %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "só pode fazer assinaturas separadas ou em texto puro no modo --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "não pode assinar e cifrar ao mesmo tempo no modo --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "deve utilizar ficheiros (e não um 'pipe') quando trabalho no modo --pgp2.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "cifrar uma mensagem no modo --pgp2 necessita da cifra IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "o algoritmo de cifragem selecionado é inválido\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" selecionado é inválido\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "o algoritmo de cifragem selecionado é inválido\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" de certificação selecionado é inválido\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed deve ser maior que 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed deve ser maior que 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth deve estar na entre 1 e 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 #, fuzzy
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nível de verificação por omissão inválido: deve ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 #, fuzzy
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nível de verificação por omissão inválido: deve ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: o modo S2K simples (0) não é recomendável\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferências por omissão inválidas\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferências pessoais de cifra inválidas\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferências pessoais de 'digest' inválidas\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferências pessoais de compressão inválidas\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVISO: destinatários (-r) dados sem utilizar uma cifra de chave pública\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nome_do_ficheiro]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nome_do_ficheiro]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "decifragem falhou: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nome_do_ficheiro]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_ficheiro]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nome_do_ficheiro]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_ficheiro]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_ficheiro]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [nome_do_ficheiro]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nome_do_ficheiro]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nome_do_ficheiro]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-utilizador"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-utilizador"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-utilizador [comandos]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id-utilizador"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, fuzzy, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "actualização da chave secreta falhou: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "retirada de armadura falhou: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo de dispersão inválido `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nome_do_ficheiro]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Digite a sua mensagem ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "a URL de política de certificação dada é inválida\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "a URL de política de assinatura dada é inválida\n"
@@ -2832,478 +2850,492 @@ msgstr "Nenhuma ajuda dispon
 msgid "No help available for `%s'"
 msgstr "Nenhuma ajuda disponível para `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "actualizar a base de dados de confiança"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr ""
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "chave secreta não utilizável"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ignorando bloco do tipo %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chaves processadas até agora\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Número total processado: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      ignorei novas chaves: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          sem IDs de utilizadores: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importados: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             não modificados: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          novos IDs de utilizadores: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           novas subchaves: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   novas revogações de chaves: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chaves secretas importadas: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " chaves secretas não modificadas: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "        não importadas: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chave %08lX: sem ID de utilizador\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "ignorado `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chave %08lX: subchave HKP corrompida foi reparada\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chave %08lX: aceite ID de utilizador sem auto-assinatura '%s'\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chave %08lX: sem IDs de utilizadores válidos\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "isto pode ser causado por falta de auto-assinatura\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chave %08lX: chave pública não encontrada: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chave %08lX: chave nova - ignorada\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "não foi encontrada nenhum porta-chaves onde escrever: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "a escrever para `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chave %08lX: chave pública \"%s\" importada\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chave %08lX: não corresponde à nossa cópia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "chave %08lX: impossível localizar bloco de chaves original: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chave %8lX: \"%s\" 1 novo ID de utilizador\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chave %08lX: \"%s\" 1 nova assinatura\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chave %08lX: \"%s\" 1 nova subchave\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chave %08lX: \"%s\" %d novas subchaves\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chave %08lX: \"%s\" não modificada\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "chave %08lX: chave secreta com cifra inválida %d - ignorada\n"
+msgid "secret key %s: %s\n"
+msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "chave %08lX: chave secreta com cifra inválida %d - ignorada\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "sem porta-chaves público por omissão: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chave %08lX: chave secreta importada\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "chave %08lX: já está no porta-chaves secreto\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "chave %08lX: chave secreta não encontrada: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chave %08lX: sem chave pública - impossível aplicar certificado\n"
 "de revogação\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - rejeitado\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chave %08lX: \"%s\" certificado de revogação importado\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chave %08lX: nenhum ID de utilizador para assinatura\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: algoritmo de chave pública não suportado no utilizador \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "chave %08lX: auto-assinatura inválida do utilizador \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chave %08lX: algoritmo de chave pública não suportado\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chave %08lX: assinatura directa de chave adicionada\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chave %08lX: ligação de subchave inválida\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chave %08lX: apagada ligação múltipla de subchave \n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chave %08lX: sem subchave para revocação de chave\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chave %08lX: revocação de subchave inválida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chave %08lX: removida revogação múltiplace de subchaves\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chave %08lX: ignorado ID de utilizador '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chave %08lX: subchave ignorada\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revogação no local errado - ignorado\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - ignorado\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chave %08lX: assintura da subchave no local errado - ignorado\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chave %08lX: classe de assinatura inesperada (%02x) - ignorada\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chave %08lX: detectado ID de utilizador duplicado - fundido\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"AVISO: a chave %08lX pode estar revocada: a transferir a chave de revocação %"
-"08lX\n"
+"AVISO: a chave %08lX pode estar revocada: a transferir a chave de revocação "
+"%08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: chave de revocação %08lX não "
 "presente.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chave %08lX: certificado de revogação \"%s\" adicionado\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chave %08lX: assinatura directa de chave adicionada\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "porta-chaves `%s' criado\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "falha ao criar 'cache' do porta-chaves: %s\n"
@@ -3392,12 +3424,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Utilizador \"%s\" está revocado."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Não foi possível assinar.\n"
 
@@ -3609,8 +3641,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "assinatura falhou: %s\n"
@@ -3619,20 +3651,20 @@ msgstr "assinatura falhou: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Componentes secretas da chave primária não disponíveis.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Componentes secretas da chave primária não disponíveis.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "A chave é protegida.\n"
 
@@ -3649,7 +3681,7 @@ msgstr ""
 "Digite a nova frase para esta chave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "a frase secreta não foi repetida corretamente; tente outra vez"
 
@@ -3846,24 +3878,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "erro na leitura do bloco de chave secreto `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Chave secreta disponível.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "A chave secreta é necessária para fazer isto.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Por favor utilize o comando \"toggle\" primeiro.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3871,243 +3903,243 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "A chave está revogada."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Realmente assinar todos os IDs de utilizador? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugestão: Selecione os IDs de utilizador para assinar\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "classe de assinatura desconhecida"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Este comando não é permitido no modo %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Você precisa selecionar pelo menos um ID de utilizador.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Você não pode remover o último ID de utilizador!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Realmente remover todos os IDs de utilizador seleccionados? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Realmente remover este ID de utilizador? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Realmente remover este ID de utilizador? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Você quer realmente remover as chaves selecionadas? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Você quer realmente remover esta chave? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Realmente revocar todos os IDs de utilizador seleccionados? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Realmente revocar este ID de utilizador? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Você quer realmente revogar esta chave? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Você quer realmente revogar as chaves selecionadas? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Você quer realmente revogar esta chave? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "configurar lista de preferências"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Realmente actualizar as preferências?"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Gravar alterações? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Sair sem gravar? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualização falhou: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "actualização da chave secreta falhou: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Chave não alterada, nenhuma actualização é necessária.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "'Digest': "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notação: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Não há preferências no ID de utilizador tipo PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Esta chave pode ser revogada pela chave %s "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta chave pode ser revogada pela chave %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensível)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "impossível criar %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "revkey"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr "[expira: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr "[expira: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Esta chave foi desactivada"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4115,25 +4147,25 @@ msgstr ""
 "Não se esqueça que a validade de chave mostrada não é necessáriamente a\n"
 "correcta a não ser que reinicie o programa.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "revkey"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4142,76 +4174,76 @@ msgstr ""
 "AVISO: Esta chave é do tipo PGP2. Se adicionar um identificador fotográfico\n"
 "       algumas versão do PGP podem rejeitá-la.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Tem a certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Não pode adicionar um identificador fotográfico a uma chave tipo PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Apagar esta assinatura válida? (s/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Apagar esta assinatura inválida? (s/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Apagar esta assinatura desconhecida? (s/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Realmente remover esta auto-assinatura? (s/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d assinatura removida.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d assinaturas removidas.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nada removido.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "armadura inválida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4220,277 +4252,277 @@ msgstr ""
 "AVISO: Esta chave é do tipo PGP 2.x. Se adicionar um revogador designado\n"
 "       algumas versão do PGP podem rejeitá-la.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Não pode adicionar um revogador designado a uma chave tipo PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Insira o ID de utilizador do revogador escolhido: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "não pode escolher uma chave do tipo PGP 2.x como revogadora\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 #, fuzzy
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Por favor remova as selecções das chaves secretas.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Por favor seleccione no máximo uma chave secundária.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "A modificar a data de validade para uma chave secundária.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Modificar a data de validade para uma chave primária.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Você não pode modificar a data de validade de uma chave v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Seleccione exactamente um identificador de utilizador.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "a ignorar auto-assinatura v3 no utilizar com o id \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notação de assinatura: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Escrever por cima (s/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de utilizador: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   assinado por %08lX em %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr "  (não-exportável)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Tem a certeza de que quer revogá-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Gerar um certificado de revogação para esta assinatura? (s/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   assinado por %08lX em %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Assinou estes identificadores de utilizadores:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr "  (não-exportável)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revogado por %08lX em %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Está prestes a revogar estas assinaturas:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Realmente criar os certificados de revogação? (s/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "nenhuma chave secreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVISO: a assintura do ID do utilizador tem data %d segundos no futuro\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "A mostrar a fotografia %s com o tamanho %ld da chave 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferência %c%lu duplicada\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "demasiadas preferências `%c'\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "demasiadas preferências `%c'\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "demasiadas preferências `%c'\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "caracter inválido na cadeia de caractéres da preferência\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "a escrever a assinatura directa\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "a escrever a auto-assinatura\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "a escrever a assinatura ligada a uma chave\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "tamanho de chave inválido; a utilizar %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "tamanho da chave arredondado para %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "cifrar dados"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4504,104 +4536,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (apenas cifragem)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA e ElGamal (por omissão)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA e ElGamal (por omissão)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (apenas assinatura)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (apenas assinatura)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (apenas cifragem)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "O tamanho de chave pedido é %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4617,7 +4649,7 @@ msgstr ""
 "      <n>m = chave expira em n meses\n"
 "      <n>y = chave expira em n anos\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4633,40 +4665,40 @@ msgstr ""
 "      <n>m = assinatura expira em n meses\n"
 "      <n>y = assinatura expira em n anos\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "A chave é valida por? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "A assinatura é valida por? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valor inválido\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "A %s não expira nunca\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "A %s não expira nunca\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "%s expira em %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4674,12 +4706,12 @@ msgstr ""
 "O seu sistema não consegue mostrar datas para além de 2038.\n"
 "No entanto, estas vão ser tratadas correctamente até 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Está correto (s/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4690,7 +4722,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4708,44 +4740,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nome completo: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Caracter inválido no nome\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "O nome não pode começar com um dígito\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "O nome deve ter pelo menos 5 caracteres\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Endereço de correio eletrónico: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Endereço eletrónico inválido\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentário: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Caracter inválido no comentário\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Você está usando o conjunto de caracteres `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4756,13 +4788,13 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Por favor não coloque o endereço de email no nome verdadeiro ou no "
 "comentário\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4777,23 +4809,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoSs"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Mudar (N)ome, (C)omentário, (E)mail ou (S)air? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Mudar (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Por favor corrija primeiro o erro\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4801,19 +4833,19 @@ msgstr ""
 "Você precisa de uma frase secreta para proteger a sua chave.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Por favor digite a frase secreta \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4825,7 +4857,7 @@ msgstr ""
 "qualquer hora, usando este programa com a opção \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4837,50 +4869,50 @@ msgstr ""
 "geração dos números primos; isso dá ao gerador de números aleatórios\n"
 "uma hipótese maior de ganhar entropia suficiente.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Geração de chave cancelada.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "a escrever chave pública para `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "nenhum porta-chaves público com permissões de escrita encontrado: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "nenhum porta-chaves secreto com permissões de escrita encontrado: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "erro ao escrever no porta-chaves público `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "chaves pública e privada criadas e assinadas.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4889,12 +4921,12 @@ msgstr ""
 "Note que esta chave não pode ser usada para cifragem. Você pode usar\n"
 "o comando \"--edit-key\" para gerar uma chave secundária para esse fim.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4902,7 +4934,7 @@ msgstr ""
 "a chave foi criada %lu segundo no futuro\n"
 "(viagem no tempo ou problema no relógio)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4910,26 +4942,26 @@ msgstr ""
 "a chave foi criada %lu segundos no futuro\n"
 "(viagem no tempo ou problema no relógio)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTA: a criação de sub-chave para chaves v3 não respeito o OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Realmente criar? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "impossível criar `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTA: chave secreta %08lX expirou em %s\n"
@@ -4962,30 +4994,30 @@ msgstr "Nota
 msgid "Keyring"
 msgstr "Porta-chaves"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Impressão da chave primária:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "      Impressão da subchave:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "Impressão da chave primária:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Impressão da subchave:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "  Impressão da chave ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5066,472 +5098,472 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "AVISO: opções em `%s' ainda não estão activas nesta execução\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "assinado com a sua chave %08lX em %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "erro do servidor de chaves"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "erro do servidor de chaves"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "tamanho estranho para uma chave de sessão cifrada (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, fuzzy, c-format
 msgid "%s encrypted session key\n"
 msgstr "tamanho estranho para uma chave de sessão cifrada (%d)\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "cifrado com algoritmo desconhecido %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "a chave pública é %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dados cifrados com chave pública: DEK válido\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado com chave %u-bit %s, ID %08lX, criada em %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado com chave %s, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decifragem de chave pública falhou: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Repita a frase secreta\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 #, fuzzy
 msgid "encrypted with 1 passphrase\n"
 msgstr "Repita a frase secreta\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "a assumir dados cifrados %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cifra IDEO não disponível, a tentar utilizar %s em substituição\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "decifragem correcta\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVISO: a mensagem não tinha a sua integridade protegida\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "CUIDADO: a mensagem cifrada foi manipulada!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decifragem falhou: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome do ficheiro original='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocação solitária - utilize \"gpg --import\" para aplicar\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Assinatura correcta de \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verificação de assinatura suprimida\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "não consigo tratar estas assinaturas múltiplas\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 #, fuzzy
 msgid "Key available at: "
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Assinatura INCORRECTA de \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Assinatura expirada de \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Assinatura correcta de \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[incerto]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                   ou \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, fuzzy, c-format
 msgid "Signature expired %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, fuzzy, c-format
 msgid "Signature expires %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 #, fuzzy
 msgid "binary"
 msgstr "primary"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 #, fuzzy
 msgid "unknown"
 msgstr "versão desconhecida"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossível verificar assinatura: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "não é uma assinatura separada\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVISO: várias assinaturas detectadas.  Apenas a primeira será verificada.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "assinatura de classe 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "formato de assinatura antigo (PGP2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "pacote raiz inválido detectado em proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "impossível abrir %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "base de dados de confiança: leitura falhou (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "impossível manipular algoritmo de chave pública %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "forçar o algoritmo de 'digest' %s (%d) viola as preferências do "
 "destinatário\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "algoritmo de criptografia não implementado"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "forçar o algoritmo de 'digest' %s (%d) viola as preferências do "
 "destinatário\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "o 'plugin' com a cifra IDEA não está presente\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = mostrar mais informações\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: opção depreciada \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVISO: \"%s\" é uma opção depreciada\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "por favor utilize \"%s%s\" em vez dela\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVISO: \"%s\" é uma opção depreciada\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVISO: \"%s\" é uma opção depreciada\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 #, fuzzy
 msgid "Uncompressed"
 msgstr "não processado"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "não processado"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "esta mensagem poderá não ser utilizável pelo %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "a ler opções de `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "destinatário por omissão desconhecido `%s'\n"
@@ -5574,16 +5606,16 @@ msgstr "criado um novo ficheiro de configura
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "AVISO: opções em `%s' ainda não estão activas nesta execução\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "impossível manipular algoritmo de chave pública %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacote do tipo %d tem bit crítico ligado\n"
@@ -5641,7 +5673,7 @@ msgstr "chave de %u-bit/%s, ID %08lX, criada em %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5650,36 +5682,36 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "impossível abrir %s: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "%s: não é um base de dados de confiança\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 #, fuzzy
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Está correto (s/n)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 #, fuzzy
 msgid "unable to display photo ID!\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
@@ -5712,6 +5744,16 @@ msgstr "motivo da revoca
 msgid "revocation comment: "
 msgstr "comentário da revocação: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5905,25 +5947,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Não se tem certeza de que a assinatura pertence ao dono.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ignorado: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: ignorado: a chave pública já está presente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Não especificou um identificador de utilizador. (pode usar \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5931,42 +5973,42 @@ msgstr ""
 "\n"
 "Insira o identificador do utilizador. Termine com uma linha vazia: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Identificador de utilizador inexistente.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "ignorado: chave pública já colocada como destinatário por omissão\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "A chave pública está desativada.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "ignorado: a chave pública já está presente\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "destinatário por omissão desconhecido `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: ignorado: a chave pública está desactivada\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "nenhum endereço válido\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "chave %08lX: sem ID de utilizador\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "chave %08lX: sem ID de utilizador\n"
@@ -6259,19 +6301,24 @@ msgstr "NOTA: chave de assinatura %08lx expirou %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTA: a chave foi revogada"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "assinatura %s de: \"%s\"\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "assumindo assinatura incorrecta na chave %08lX devido a um bit crítico "
 "desconhecido\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "chave %08lX: sem subchave para o pacote revocação de subchave\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
@@ -6361,7 +6408,7 @@ msgstr ""
 "ignorado `%s': esta é uma chave ElGamal gerada pelo PGP que não é segura "
 "para assinaturas!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registo de confiança %lu, tipo %d: escrita falhou: %s\n"
@@ -6407,17 +6454,17 @@ msgstr "%s: erro ao escrever registo de diret
 msgid "read error in `%s': %s\n"
 msgstr "armadura: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de dados de confiança: sincronização falhou: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "base de dados de confiança rec %lu: lseek falhou: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "base de dados de confiança rec %lu: escrita falhou (n=%d): %s\n"
@@ -6426,117 +6473,117 @@ msgstr "base de dados de confian
 msgid "trustdb transaction too large\n"
 msgstr "transação de base de dados de confiança muito grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "impossível fechar `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: diretoria inexistente!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "impossível criar `%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "impossível abrir `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: falha ao criar registo de versão: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: base de dados de confiança inválida criada\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: base de dados de confiança criada\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTA: não é possível escrever na trustdb\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: base de dados de confiança inválida\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: falha ao criar tabela de dispersão: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: erro a actualizar registo de versão: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: erro ao ler registo de versão: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: erro ao escrever registo de versão: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de dados de confiança: lseek falhou: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "base de dados de confiança: leitura falhou (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: não é um base de dados de confiança\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: registo de versão com recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: erro ao ler registo livre: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: erro ao escrever registo de diretório: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: falha ao zerar um registo: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: falha ao anexar um registo: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: base de dados de confiança criada\n"
@@ -6551,177 +6598,185 @@ msgstr "imposs
 msgid "input line longer than %d characters\n"
 msgstr "linha de entrada maior que %d caracteres\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' não é um identificador longo de chave válido\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "chave %08lX: aceite como chave de confiança\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "chave %08lX ocrreu mais do que uma vez na base de dados de confiança\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "chave %08lX: nenhuma chave pública para chave de confiança - ignorada\n"
 "\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "chave marcada como de confiança absoluta\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "registo de confiança %lu, tipo req %d: falha na leitura: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "registo de confiança %lu não é do tipo pedido %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "revkey"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "expire"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "versão desconhecida"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "não é necessária uma verificação da base de dados de confiança\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "proxima verificação da base de dados de confiança a %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "não é necessária uma verificação da base de dados de confiança\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "não é necessária uma verificação da base de dados de confiança\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "chave pública %08lX não encontrada: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "a verificar a base de dados de confiança\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 #, fuzzy
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 "chave pública da chave absolutamente de confiança %08lX não encontrada\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "chave pública da chave absolutamente de confiança %08lX não encontrada\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "registo de confiança %lu, tipo %d: escrita falhou: %s\n"
@@ -6746,77 +6801,77 @@ msgstr "linha de entrada %u demasiado longa ou falta o LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "erro de leitura"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "frase secreta demasiado longa\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argumento inválido"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "comandos em conflito\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opções de importação inválidas\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "não processado"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opções de importação inválidas\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Comando inválido (tente \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "não processado"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opções de importação inválidas\n"
@@ -6826,22 +6881,17 @@ msgstr "op
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "você encontrou um bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "erro na leitura de `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "impossível abrir %s: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
@@ -6898,24 +6948,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6964,208 +7015,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "falha ao criar 'cache' do porta-chaves: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "motivo da revocação: "
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "muda a frase secreta"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "muda a frase secreta"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "erro na leitura do bloco de chave: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: erro ao ler registo livre: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "%s' já comprimido\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "muda a frase secreta"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7174,72 +7239,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOME|usar NOME como destinatário por omissão"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|usar NOME como destinatário por omissão"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "nunca usar o terminal"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandos em conflito\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7278,11 +7347,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7314,208 +7383,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "NOTA: a chave foi revogada"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "verificação da assinatura criada falhou: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Esta chave expirou!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Esta chave expirou!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Esta chave expirou!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Esta chave expirou!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "        novas assinaturas: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "chave %08lX: certificado de revogação \"%s\" adicionado\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "certificado incorrecto"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "mostra impressão digital"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "gerar um certificado de revogação"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "verificação da assinatura criada falhou: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verificar uma assinatura"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "preferência %c%lu duplicada\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "chave %08lX: certificado de revogação \"%s\" adicionado\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "certificado incorrecto"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7582,19 +7652,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7804,7 +7874,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erro na leitura do bloco de chave: %s\n"
@@ -7943,7 +8013,7 @@ msgstr ""
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ENDEREÇO|usar este servidor para buscar chaves"
@@ -7965,8 +8035,8 @@ msgstr "Uso: gpg [op
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opções] [ficheiros]\n"
 "assina, verifica, cifra ou decifra\n"
@@ -8002,26 +8072,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = saltar esta chave\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "a escrever para `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "impossível fechar `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8039,12 +8109,7 @@ msgstr "gerar um certificado de revoga
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "falha ao inicializar a base de dados de confiança: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -8059,46 +8124,42 @@ msgstr "erro na cria
 msgid "error reading input: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "porta-chaves `%s' criado\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problema ao verificar revogação: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -8286,151 +8347,151 @@ msgstr "erro ao enviar para `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|usar mode de frase secreta N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|cifrar para NOME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 "|NOME|usar algoritmo de criptografia NOME para\n"
 "frases secretas"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8690,6 +8751,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "erro na leitura de `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "falha ao inicializar a base de dados de confiança: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Comando> "
 
@@ -9219,9 +9288,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "chave secreta incorrecta"
 
-#~ msgid "not supported"
-#~ msgstr "não suportado"
-
 #~ msgid "bad key"
 #~ msgstr "chave incorrecta"
 
@@ -9869,8 +9935,8 @@ msgstr ""
 
 #~ msgid "checking at depth %d signed=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%d\n"
 #~ msgstr ""
-#~ "a verificar à profundidade %d assinado=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/%"
-#~ "d\n"
+#~ "a verificar à profundidade %d assinado=%d ot(-/q/n/m/f/u)=%d/%d/%d/%d/%d/"
+#~ "%d\n"
 
 #~ msgid ""
 #~ "Select the algorithm to use.\n"
index 8aa49dd..b04a910 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index f1ecae7..2c1980d 100644 (file)
@@ -13,15 +13,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2007-08-16 11:35+0200\n"
 "Last-Translator:\n"
 "Language-Team: ?\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
@@ -31,21 +32,21 @@ msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -55,164 +56,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Por favor digite a frase secreta"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "linha muito longa\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "linha muito longa\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Caractere inválido no nome\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI incorreto"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "frase secreta incorreta"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "frase secreta incorreta"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritmo de proteção %d não é suportado\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, fuzzy, c-format
 msgid "can't create `%s': %s\n"
 msgstr "impossível criar %s: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "impossível bloquear chaveiro secreto: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "enumeração de blocos de chaves falhou: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "erro na escrita do chaveiro `%': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor digite a frase secreta"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muda a frase secreta"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Por favor digite a frase secreta"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -233,7 +237,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -340,7 +344,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Você precisa de uma frase secreta para proteger sua chave.\n"
 "\n"
@@ -350,7 +354,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "muda a frase secreta"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -361,281 +365,292 @@ msgstr ""
 "Opções:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "detalhado"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "ser mais silencioso"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|ARQUIVO|carregar módulo de extensão ARQUIVO"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "exportar chaves para um servidor"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Realmente remover todos os IDs de usuário selecionados? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "atualizar o banco de dados de confiabilidade"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+# suportado ???
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "não suportado"
+
+# suportado ???
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "não suportado"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: arquivo de opções padrão `%s' inexistente\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "arquivo de opções `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "lendo opções de `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, fuzzy, c-format
 msgid "error creating `%s': %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: impossível criar diretório: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossível criar %s: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, fuzzy, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "Certificado de revogação válido"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "atualização falhou: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: diretório criado\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "banco de dados de confiabilidade: leitura falhou (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: impossível criar diretório: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "atualização da chave secreta falhou: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu chaves ignoradas\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, fuzzy, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "algoritmo de proteção %d não é suportado\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -644,7 +659,7 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -656,50 +671,50 @@ msgstr ""
 "Opções:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Por favor digite a frase secreta"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Por favor digite a frase secreta"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Por favor digite a frase secreta"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "frase secreta incorreta"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr ""
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -814,8 +829,8 @@ msgstr "muda a frase secreta"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -855,12 +870,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "%s: usuário não encontrado\n"
@@ -890,17 +905,17 @@ msgstr ""
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "impossível desativar core dumps: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "%s: novo arquivo de opções criado\n"
@@ -1144,12 +1159,12 @@ msgstr ""
 "Nenhum certificado com confiança indefinida encontrado.\n"
 "\n"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "Certificado correto"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Nenhuma ajuda disponível"
@@ -1231,7 +1246,7 @@ msgstr "armadura inesperada:"
 msgid "invalid dash escaped line: "
 msgstr "linha com hífen inválida: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "caractere radix64 inválido %02x ignorado\n"
@@ -1248,7 +1263,7 @@ msgstr "fim de arquivo prematuro (no CRC)\n"
 msgid "malformed CRC\n"
 msgstr "CRC malformado\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "erro de CRC; %06lx - %06lx\n"
@@ -1262,16 +1277,16 @@ msgstr "fim de arquivo prematuro (no \"Trailer\")\n"
 msgid "error in trailer line\n"
 msgstr "erro na linha \"trailer\"\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armadura inválida: linha maior que %d caracteres\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1309,7 +1324,7 @@ msgstr "AVISO: dados de nota
 msgid "not human readable"
 msgstr ""
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "chave secreta não disponível"
@@ -1319,8 +1334,8 @@ msgstr "chave secreta n
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "impossível fazer isso em modo não-interativo\n"
@@ -1329,225 +1344,225 @@ msgstr "imposs
 msgid "This command is only available for version 2 cards\n"
 msgstr ""
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "a chave pública não está mais disponível"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Sua opção? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr ""
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "não processado(s)"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "escrevendo certificado público para `%s'\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "lista preferências"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Caractere inválido no nome\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Caractere inválido no nome\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "erro: impressão digital inválida\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Impressão digital:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "erro: impressão digital inválida\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 #, fuzzy
 msgid "Replace existing key? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Que tamanho de chave você quer? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Que tamanho de chave você quer? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Que tamanho de chave você quer? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arredondado para %u bits\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 #, fuzzy
 msgid "Replace existing keys? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1555,146 +1570,146 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Opção inválida.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "rev- revogações de chaves incorreta\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "algoritmo de compressão desconhecido"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "chave secreta não disponível"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "erro na escrita do chaveiro `%': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "sair deste menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandos conflitantes\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "mostra esta ajuda"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "muda a data de validade"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muda os valores de confiança"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "gerar um novo par de chaves"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandos conflitantes\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandos conflitantes\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
 # help ou ajuda ???
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando inválido (tente \"help\")\n"
 
@@ -1702,18 +1717,18 @@ msgstr "Comando inv
 msgid "--output doesn't work for this command\n"
 msgstr ""
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "impossível abrir `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "usuário `%s' não encontrado: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, fuzzy, c-format
 msgid "error reading keyblock: %s\n"
@@ -1813,7 +1828,7 @@ msgstr "NOTA: algoritmo de criptografia %d n
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr ""
@@ -1823,76 +1838,76 @@ msgstr ""
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s criptografado para: %s\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "dados criptografados com %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "criptografado com algoritmo desconhecido %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "AVISO: A mensagem foi criptografada com uma chave fraca na criptografia\n"
 "simétrica.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 #, fuzzy
 msgid "problem handling encrypted packet\n"
 msgstr "eliminar o campo keyid dos pacotes criptografados\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "%s: erro lendo registro de versão: %s\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "impossível abrir %s: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "impossível abrir %s: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, fuzzy, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "%s: erro lendo registro de versão: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr ""
@@ -1992,216 +2007,216 @@ msgstr "erro na leitura de `%s': %s\n"
 msgid "No fingerprint"
 msgstr "Impressão digital:"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "há uma chave secreta para esta chave pública!\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "usando chave secundária %08lX ao invés de chave primária %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[arquivo]|fazer uma assinatura em texto puro"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "criptografar dados"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr ""
 "criptografar apenas com criptografia\n"
 "simétrica"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "descriptografar dados (padrão)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verificar uma assinatura"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "listar as chaves"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "listar as chaves e as assinaturas"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "verificar as assinaturas das chaves"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "listar as chaves e as impressões digitais"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "listar as chaves secretas"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "gerar um certificado de revogação"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 #, fuzzy
 msgid "remove keys from the public keyring"
 msgstr "remover a chave do chaveiro público"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 #, fuzzy
 msgid "remove keys from the secret keyring"
 msgstr "remover a chave do chaveiro secreto"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "assinar uma chave"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "assinar uma chave localmente"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "assinar ou editar uma chave"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muda a frase secreta"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportar chaves"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportar chaves para um servidor"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importar chaves de um servidor"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 #, fuzzy
 msgid "search for keys on a key server"
 msgstr "exportar chaves para um servidor"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 #, fuzzy
 msgid "update all keys from a keyserver"
 msgstr "importar chaves de um servidor"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importar/fundir chaves"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "atualizar o banco de dados de confiabilidade"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "imprime todos os \"digests\" de mensagens"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "criar saída com armadura ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|criptografar para NOME"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "usar este identificador de usuário para\n"
 "assinar ou descriptografar"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 "|N|estabelecer nível de compressão N\n"
 "(0 desabilita)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "usar modo de texto canônico"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|ARQUIVO|carregar módulo de extensão ARQUIVO"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "não fazer alterações"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr ""
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2221,21 +2236,26 @@ msgstr ""
 " --list-keys [nomes]        mostrar chaves\n"
 " --fingerprint [nomes]      mostrar impressões digitais\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opções] [arquivos]\n"
 "assina, verifica, criptografa ou descriptografa\n"
 "a operação padrão depende dos dados de entrada\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2243,574 +2263,574 @@ msgstr ""
 "\n"
 "Algoritmos suportados:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 #, fuzzy
 msgid "Compression: "
 msgstr "Comentário: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opções] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "comandos conflitantes\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "a URL de política dada é inválida\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "alterna entre listagem de chave secreta e pública"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, fuzzy, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTA: arquivo de opções padrão `%s' inexistente\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTA: %s não é para uso normal!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "chaveiro inválido"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, fuzzy, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 #, fuzzy
 msgid "invalid import options\n"
 msgstr "armadura inválida"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, fuzzy, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 #, fuzzy
 msgid "invalid export options\n"
 msgstr "chaveiro inválido"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "armadura inválida"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "a URL de política dada é inválida\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "chaveiro inválido"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVISO: O programa pode criar um arquivo core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr ""
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s não é permitido com %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "o algoritmo de criptografia selecionado não é válido\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" selecionado não é válido\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "o algoritmo de criptografia selecionado não é válido\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 #, fuzzy
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" selecionado não é válido\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed deve ser maior que 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed deve ser maior que 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth deve estar na entre 1 e 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 #, fuzzy
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 #, fuzzy
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: o modo S2K simples (0) não é recomendável\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 #, fuzzy
 msgid "invalid default preferences\n"
 msgstr "lista preferências"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 #, fuzzy
 msgid "invalid personal cipher preferences\n"
 msgstr "lista preferências"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 #, fuzzy
 msgid "invalid personal digest preferences\n"
 msgstr "lista preferências"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 #, fuzzy
 msgid "invalid personal compress preferences\n"
 msgstr "lista preferências"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "o algoritmo de criptografia selecionado não é válido\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nome_do_arquivo]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nome_do_arquivo]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "descriptografia falhou: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nome_do_arquivo]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_arquivo]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nome_do_arquivo]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_arquivo]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [nome_do_arquivo]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 #, fuzzy
 msgid "--sign --symmetric [filename]"
 msgstr "--symmetric [nome_do_arquivo]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nome_do_arquivo]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nome_do_arquivo]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-usuário"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-usuário"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-usuário [comandos]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id-usuário"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "enumeração de chaves secretas falhou: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "get_dir_record: search_record falhou: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, fuzzy, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "enumeração de chaves secretas falhou: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "retirada de armadura falhou: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
 
 # "hash" poderia ser "espalhamento", mas não fica claro
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo de hash inválido `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nome_do_arquivo]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Vá em frente e digite sua mensagem ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 #, fuzzy
 msgid "the given certification policy URL is invalid\n"
 msgstr "a URL de política dada é inválida\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 #, fuzzy
 msgid "the given signature policy URL is invalid\n"
 msgstr "a URL de política dada é inválida\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "a URL de política dada é inválida\n"
@@ -2854,475 +2874,489 @@ msgstr "Nenhuma ajuda dispon
 msgid "No help available for `%s'"
 msgstr "Nenhuma ajuda disponível para `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "atualizar o banco de dados de confiabilidade"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "lid %lu não tem chave\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "chave secreta incorreta"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ignorando bloco do tipo %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chaves processadas até agora\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Número total processado: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, fuzzy, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "           novas subchaves: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          sem IDs de usuários: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importados: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             não modificados: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          novos IDs de usuários: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           novas subchaves: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   novas revogações de chaves: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chaves secretas importadas: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " chaves secretas não modificadas: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, fuzzy, c-format
 msgid "          not imported: %lu\n"
 msgstr "              importados: %lu"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "assinatura %s de: %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chave %08lX: sem ID de usuário\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "ignorado `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chave %08lX: aceito ID de usuário sem auto-assinatura '"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chave %08lX: sem IDs de usuários válidos\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "isto pode ser causado por falta de auto-assinatura\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chave %08lX: chave pública não encontrada: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chave %08lX: não é uma chave rfc2440 - ignorada\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, fuzzy, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "impossível escrever chaveiro: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "escrevendo para `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chave %08lX: chave pública importada\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chave %08lX: não corresponde à nossa cópia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "chave %08lX: impossível localizar bloco de chaves original: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chave %8lX: 1 novo ID de usuário\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chave %08lX: %d novos IDs de usuários\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chave %08lX: 1 nova assinatura\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chave %08lX: %d novas assinaturas\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chave %08lX: 1 nova subchave\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chave %08lX: %d novas subchaves\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chave %08lX: %d novas assinaturas\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chave %08lX: %d novas assinaturas\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chave %08lX: %d novos IDs de usuários\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chave %08lX: %d novos IDs de usuários\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chave %08lX: não modificada\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n"
+msgid "secret key %s: %s\n"
+msgstr "usuário `%s' não encontrado: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, fuzzy, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "impossível bloquear chaveiro secreto: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chave %08lX: chave secreta importada\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "chave %08lX: já está no chaveiro secreto\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "chave %08lX: chave secreta não encontrada: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chave %08lX: sem chave pública - impossível aplicar certificado\n"
 "de revogação\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - rejeitado\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chave %08lX: certificado de revogação importado\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chave %08lX: nenhum ID de usuário para assinatura\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "chave %08lX: algoritmo de chave pública não suportado\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "chave %08lX: auto-assinatura inválida\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chave %08lX: algoritmo de chave pública não suportado\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chave %08lX: %d novas assinaturas\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chave %08lX: ligação de subchave inválida\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chave %08lX: ligação de subchave inválida\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chave %08lX.%lu: Revogação de subchave válida\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chave %08lX: ligação de subchave inválida\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chave %08lX: ignorado ID de usuário '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chave %08lX: subchave ignorada\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revogação no local errado - ignorada\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - ignorada\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revogação no local errado - ignorada\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chave %08lX: detectado ID de usuário duplicado - unido\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chave %08lX: certificado de revogação adicionado\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chave %08lX: %d novas assinaturas\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "lid %lu não tem chave\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, fuzzy, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, fuzzy, c-format
 msgid "keyring `%s' created\n"
 msgstr "%s: chaveiro criado\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "%s: erro de leitura de bloco de chaves: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, fuzzy, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
@@ -3417,13 +3451,13 @@ msgid "User ID \"%s\" is revoked."
 msgstr "A chave é protegida.\n"
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 #, fuzzy
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -3614,8 +3648,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "assinatura falhou: %s\n"
@@ -3624,21 +3658,21 @@ msgstr "assinatura falhou: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 #, fuzzy
 msgid "Secret parts of primary key are not available.\n"
 msgstr "chave secreta não disponível"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "chave secreta não disponível"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "A chave é protegida.\n"
 
@@ -3655,7 +3689,7 @@ msgstr ""
 "Digite a nova frase para esta chave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 #, fuzzy
 msgid "passphrase not correctly repeated; try again"
 msgstr "A frase secreta não foi repetida corretamente; tente outra vez.\n"
@@ -3852,24 +3886,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Chave secreta disponível.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "A chave secreta é necessária para fazer isto.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr ""
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3877,626 +3911,626 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 #, fuzzy
 msgid "Key is revoked."
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Realmente assinar todos os IDs de usuário? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugestão: Selecione os IDs de usuário para assinar\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "classe de assinatura desconhecida"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr ""
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Você precisa selecionar pelo menos um ID de usuário.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Você não pode remover o último ID de usuário!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Realmente remover todos os IDs de usuário selecionados? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Realmente remover este ID de usuário? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Realmente remover este ID de usuário? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Você realmente quer remover as chaves selecionadas? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Você realmente quer remover esta chave? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Realmente remover todos os IDs de usuário selecionados? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Realmente remover este ID de usuário? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Você realmente quer revogar esta chave? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Você realmente quer revogar as chaves selecionadas? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Você realmente quer revogar esta chave? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "lista preferências"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Realmente remover todos os IDs de usuário selecionados? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Realmente gerar os certificados de revogação? (s/N)"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Salvar alterações? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Sair sem salvar? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "atualização falhou: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "atualização da chave secreta falhou: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Chave não alterada, nenhuma atualização é necessária.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notação: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr ""
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "impossível criar %s: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "revkey"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr "A chave expira em %s\n"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr "A chave expira em %s\n"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr "trust"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr "trust"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Esta chave foi desativada"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "revkey"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 #, fuzzy
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Deletar esta assinatura válida? (s/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Deletar esta assinatura inválida? (s/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Deletar esta assinatura desconhecida? (s/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Realmente remover esta auto-assinatura? (s/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d assinatura removida.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d assinaturas removidas.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nada removido.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "armadura inválida"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 #, fuzzy
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Digite o tamanho da chave"
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Por favor remova as seleções das chaves secretas.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Por favor selecione no máximo uma chave secundária.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Modificando a data de validade para uma chave secundária.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Modificando a data de validade para uma chave primária.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Você não pode modificar a data de validade de uma chave v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Nenhuma assinatura correspondente no chaveiro secreto\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 #, fuzzy
 msgid "Please select exactly one user ID.\n"
 msgstr "Você precisa selecionar pelo menos um ID de usuário.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "chave %08lX: auto-assinatura inválida\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notação: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Sobrescrever (s/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nenhum ID de usuário com índice %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nenhum ID de usuário com índice %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nenhum ID de usuário com índice %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de usuário: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   assinado por %08lX em %s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, fuzzy, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 #, fuzzy
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 #, fuzzy
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Gerar um certificado de revogação para esta assinatura? (s/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   assinado por %08lX em %s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Você assinou estes IDs de usuário:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr "assinar uma chave localmente"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revogado por %08lX em %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Você está prestes a revogar estas assinaturas:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 #, fuzzy
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Realmente gerar os certificados de revogação? (s/N)"
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "nenhuma chave secreta\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, fuzzy, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "A chave é protegida.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "ignorado `%s': duplicado\n"
 
 # muitas ou demais ???
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "Preferências demais"
 
 # muitas ou demais ???
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "Preferências demais"
 
 # muitas ou demais ???
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "Preferências demais"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "Caractere inválido no nome\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 #, fuzzy
 msgid "writing direct signature\n"
 msgstr "escrevendo auto-assinatura\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "escrevendo auto-assinatura\n"
 
 # key binding ???
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "escrevendo assinatura ligada a uma chave\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, fuzzy, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "O tamanho de chave pedido é %u bits\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, fuzzy, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "arredondado para %u bits\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "criptografar dados"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4510,104 +4544,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA e ElGamal (padrão)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA e ElGamal (padrão)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (apenas assinatura)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, fuzzy, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) DSA (apenas assinatura)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, fuzzy, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) ElGamal (apenas criptografia)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Que tamanho de chave você quer? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Que tamanho de chave você quer? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "O tamanho de chave pedido é %u bits\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4623,7 +4657,7 @@ msgstr ""
 "      <n>m = chave expira em n meses\n"
 "      <n>y = chave expira em n anos\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 #, fuzzy
 msgid ""
 "Please specify how long the signature should be valid.\n"
@@ -4640,40 +4674,40 @@ msgstr ""
 "      <n>m = chave expira em n meses\n"
 "      <n>y = chave expira em n anos\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "A chave é valida por? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "A chave é valida por? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valor inválido\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "A chave não expira nunca\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "A chave não expira nunca\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "A chave expira em %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4681,12 +4715,12 @@ msgstr ""
 "Seu sistema não consegue mostrar datas além de 2038.\n"
 "Apesar disso, elas serão corretamente manipuladas até 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Está correto (s/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4697,7 +4731,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4714,44 +4748,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nome completo: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Caractere inválido no nome\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "O nome não pode começar com um dígito\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "O nome deve ter pelo menos 5 caracteres\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Endereço de correio eletrônico: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Endereço eletrônico inválido\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentário: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Caractere inválido no comentário\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Você está usando o conjunto de caracteres `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4762,11 +4796,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4781,24 +4815,24 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoSs"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 #, fuzzy
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr ""
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4806,19 +4840,19 @@ msgstr ""
 "Você precisa de uma frase secreta para proteger sua chave.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Por favor digite a frase secreta"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr ""
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4830,7 +4864,7 @@ msgstr ""
 "qualquer hora, usando este programa com a opção \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4842,50 +4876,50 @@ msgstr ""
 "geração dos números primos; isso dá ao gerador de números aleatórios\n"
 "uma chance melhor de conseguir entropia suficiente.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Geração de chave cancelada.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, fuzzy, c-format
 msgid "writing public key to `%s'\n"
 msgstr "escrevendo certificado público para `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, fuzzy, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, fuzzy, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "chave %08lX: chave pública não encontrada: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, fuzzy, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "impossível bloquear chaveiro secreto: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, fuzzy, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, fuzzy, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "chaves pública e privada criadas e assinadas.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4894,12 +4928,12 @@ msgstr ""
 "Note que esta chave não pode ser usada para criptografia. Você pode usar\n"
 "o comando \"--edit-key\" para gerar uma chave secundária para esse fim.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4907,7 +4941,7 @@ msgstr ""
 "a chave foi criada %lu segundo no futuro\n"
 "(viagem no tempo ou problema no relógio)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4915,26 +4949,26 @@ msgstr ""
 "a chave foi criada %lu segundos no futuro\n"
 "(viagem no tempo ou problema no relógio)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Realmente criar? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "enumeração de blocos de chaves falhou: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "impossível criar %s: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTA: chave secreta %08lX expirou %s\n"
@@ -4971,34 +5005,34 @@ msgstr "Nota
 msgid "Keyring"
 msgstr ""
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 #, fuzzy
 msgid "Primary key fingerprint:"
 msgstr "listar as chaves e as impressões digitais"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 #, fuzzy
 msgid "     Subkey fingerprint:"
 msgstr "       Impressão digital:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 #, fuzzy
 msgid " Primary key fingerprint:"
 msgstr "       Impressão digital:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 #, fuzzy
 msgid "      Subkey fingerprint:"
 msgstr "       Impressão digital:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "       Impressão digital:"
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5079,468 +5113,468 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "chaveiro inválido"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "usuário `%s' não encontrado: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "usuário `%s' não encontrado: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "exportar chaves para um servidor"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "lendo opções de `%s'\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "assinado com sua chave %08lX em %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "exportar chaves para um servidor"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "lendo opções de `%s'\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "chaveiro inválido"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "erro geral"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "erro geral"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "enumeração de chaves secretas falhou: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s não é um mapa de caracteres válido\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "%s: novo arquivo de opções criado\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr ""
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, fuzzy, c-format
 msgid "%s encrypted session key\n"
 msgstr "dados criptografados com %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "criptografado com algoritmo desconhecido %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "a chave pública é %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dados criptografados com chave pública: DEK válido\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "criptografado com chave %u-bit %s, ID %08lX, criada em %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "criptografado com chave %s, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "descriptografia de chave pública falhou: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Repita a frase secreta: "
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 #, fuzzy
 msgid "encrypted with 1 passphrase\n"
 msgstr "Repita a frase secreta: "
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, fuzzy, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "dados criptografados com %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "descriptografia correta\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 #, fuzzy
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVISO: nada exportado\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "CUIDADO: a mensagem criptografada foi manipulada!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "descriptografia falhou: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome de arquivo original='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revogação isolada - use \"gpg --import\" para aplicá-la\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Assinatura correta de \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verificação de assinatura suprimida\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "fazer uma assinatura separada"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 #, fuzzy
 msgid "Key available at: "
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Assinatura INCORRETA de \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Assinatura correta de \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Assinatura correta de \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr ""
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                   ou \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, fuzzy, c-format
 msgid "Signature expired %s\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, fuzzy, c-format
 msgid "Signature expires %s\n"
 msgstr "Esta chave não é protegida.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "assinatura %s de: %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr ""
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 #, fuzzy
 msgid "unknown"
 msgstr "versão desconhecida"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossível verificar assinatura: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 #, fuzzy
 msgid "not a detached signature\n"
 msgstr "fazer uma assinatura separada"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "assinatura isolada da classe 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "formato de assinatura antigo (PGP2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "pacote raiz inválido detectado em proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "atualização do banco de dados de confiabilidade falhou: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "banco de dados de confiabilidade: leitura falhou (n=%d): %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "impossível manipular algoritmo de chave pública %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "NOTA: algoritmo de criptografia %d não encontrado nas preferências\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "algoritmo de criptografia não implementado"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "assinatura %s de: %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "NOTA: algoritmo de criptografia %d não encontrado nas preferências\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr "rev- revogações de chaves incorreta\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, fuzzy, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVISO: `%s' é um arquivo vazio\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 #, fuzzy
 msgid "Uncompressed"
 msgstr "não processado(s)"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "não processado(s)"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "lendo opções de `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "destinatário padrão desconhecido `%s'\n"
@@ -5583,16 +5617,16 @@ msgstr "%s: novo arquivo de op
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "impossível manipular algoritmo de chave pública %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacote do tipo %d tem bit crítico ligado\n"
@@ -5650,7 +5684,7 @@ msgstr "chave de %u-bit/%s, ID %08lX, criada em %s"
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5659,36 +5693,36 @@ msgid ""
 "Keeping the image close to 240x288 is a good size to use.\n"
 msgstr ""
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr ""
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "impossível abrir arquivo: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Você tem certeza de que quer este tamanho de chave? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "%s: não é um banco de dados de confiabilidade\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 #, fuzzy
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Está correto (s/n)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 #, fuzzy
 msgid "unable to display photo ID!\n"
 msgstr "impossível abrir %s: %s\n"
@@ -5725,6 +5759,16 @@ msgstr "rev- revoga
 msgid "revocation comment: "
 msgstr "[revogação]"
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr ""
@@ -5915,70 +5959,70 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "       Não se tem certeza de que a assinatura pertence ao dono.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ignorado: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: ignorado: a chave pública já está presente\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 #, fuzzy
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Você não especificou um identificador de usuário. (pode-se usar \"-r\")\n"
 "\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
 msgstr ""
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Identificador de usuário inexistente.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "ignorado: chave pública já marcada como destinatário padrão\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "A chave pública está desativada.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 #, fuzzy
 msgid "skipped: public key already set\n"
 msgstr "%s: ignorado: a chave pública já está presente\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "destinatário padrão desconhecido `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: ignorado: a chave pública está desativada\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "nenhum endereço válido\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "chave %08lX: sem ID de usuário\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "chave %08lX: sem ID de usuário\n"
@@ -6272,17 +6316,22 @@ msgstr "NOTA: chave de assinatura %08lX expirou %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "chave %08lX: a chave foi revogada!\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "assinatura %s de: %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "assumindo assinatura incorreta devido a um bit crítico desconhecido\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
@@ -6366,7 +6415,7 @@ msgstr ""
 "ignorado `%s': esta é uma chave ElGamal gerada pelo PGP que não é segura "
 "para assinaturas!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registro de confiança %lu, tipo %d: escrita falhou: %s\n"
@@ -6414,17 +6463,17 @@ msgstr "erro lendo registro de diret
 msgid "read error in `%s': %s\n"
 msgstr "erro de leitura: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "banco de dados de confiabilidade: sincronização falhou: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "banco de dados de confiabilidade rec %lu: lseek falhou: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "banco de dados de confiabilidade rec %lu: escrita falhou (n=%d): %s\n"
@@ -6433,117 +6482,117 @@ msgstr "banco de dados de confiabilidade rec %lu: escrita falhou (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "transação de banco de dados de confiabilidade muito grande\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: diretório inexistente!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "impossível criar %s: %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "impossível abrir `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: falha ao criar registro de versão: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: banco de dados de confiabilidade inválido criado\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: banco de dados de confiabilidade criado\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr ""
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: banco de dados de confiabilidade inválido\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: erro atualizando registro de versão: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: erro lendo registro de versão: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: erro escrevendo registro de versão: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "banco de dados de confiabilidade: lseek falhou: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "banco de dados de confiabilidade: leitura falhou (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: não é um banco de dados de confiabilidade\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: registro de versão com recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versão de arquivo inválida %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: erro lendo registro livre: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: erro escrevendo registro de diretório: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: falha ao zerar um registro: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: falha ao anexar um registro: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: banco de dados de confiabilidade criado\n"
@@ -6558,176 +6607,184 @@ msgstr "imposs
 msgid "input line longer than %d characters\n"
 msgstr "linha de entrada maior que %d caracteres\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, fuzzy, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "%s não é um mapa de caracteres válido\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "chave %08lX: aceita como chave confiável.\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 "chave %08lX: impossível colocá-la no banco de dados de confiabilidade\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "chave %08lX: chave secreta sem chave pública - ignorada\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "Certificados que levam a uma chave confiada plenamente:\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "registro de confiança %lu, tipo req %d: falha na leitura: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, fuzzy, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "registro de confiança %lu: remoção falhou: %s\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "revkey"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "expire"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "versão desconhecida"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 #, fuzzy
 msgid "no need for a trustdb check\n"
 msgstr "%s: não é um banco de dados de confiabilidade\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, fuzzy, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "inserção de registro de confiança falhou: %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "%s: não é um banco de dados de confiabilidade\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "%s: não é um banco de dados de confiabilidade\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "chave pública não encontrada"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 #, fuzzy
 msgid "checking the trustdb\n"
 msgstr "muda os valores de confiança"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 #, fuzzy
 msgid "no ultimately trusted keys found\n"
 msgstr "Certificados que levam a uma chave confiada plenamente:\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "Certificados que levam a uma chave confiada plenamente:\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "registro de confiança %lu, tipo %d: escrita falhou: %s\n"
@@ -6752,78 +6809,78 @@ msgstr "linha %u muito longa ou sem LF\n"
 msgid "can't open fd %d: %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "erro de leitura"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "linha muito longa\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argumento inválido"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "comandos conflitantes\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "armadura inválida"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "não processado(s)"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "armadura inválida"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
 # help ou ajuda ???
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Comando inválido (tente \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "não processado(s)"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "armadura inválida"
@@ -6833,22 +6890,17 @@ msgstr "armadura inv
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "você encontrou um bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "erro na leitura de `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "impossível abrir arquivo: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
@@ -6905,24 +6957,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Uso: gpg [opções] [arquivos] (-h para ajuda)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6971,208 +7024,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "enumeração de blocos de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "rev- revogações de chaves incorreta\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "muda a frase secreta"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "muda a frase secreta"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: erro lendo registro livre: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "%lu chaves processadas\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "enumeração de blocos de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "assinatura %s de: %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "muda a frase secreta"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7182,72 +7249,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "Digite o identificador de usuário: "
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|ARQUIVO|carregar módulo de extensão ARQUIVO"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NOME|usar NOME como destinatário padrão"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|usar NOME como destinatário padrão"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "nunca usar o terminal"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandos conflitantes\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Uso: gpgm [opções] [arquivos] (-h para ajuda)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7285,11 +7356,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7321,220 +7392,221 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "escrevendo certificado privado para `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "enumeração de blocos de chaves falhou: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "chave %08lX: a chave foi revogada!\n"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "leitura de registro de assinatura falhou: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, fuzzy, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "erro de leitura do certificado: %s\n"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 #, fuzzy
 msgid "certificate not yet valid"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 #, fuzzy
 msgid "intermediate certificate not yet valid"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "erro de leitura do certificado: %s\n"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "erro de leitura do certificado: %s\n"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "erro de leitura do certificado: %s\n"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "erro de leitura do certificado: %s\n"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "        novas assinaturas: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "chave %08lX: certificado de revogação adicionado\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "Impressão digital:"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 #, fuzzy
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 "Nenhum certificado com confiança indefinida encontrado.\n"
 "\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "Certificado correto"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 #, fuzzy
 msgid "root certificate is not marked trusted"
 msgstr ""
 "Nenhum certificado com confiança indefinida encontrado.\n"
 "\n"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "leitura de registro de assinatura falhou: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 #, fuzzy
 msgid "issuer certificate not found"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verificar uma assinatura"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "Certificado de revogação válido"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "certificado duplicado - removido"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr ""
 "Nenhum certificado com confiança indefinida encontrado.\n"
 "\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7600,19 +7672,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7819,7 +7891,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "usuário `%s' não encontrado: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -7956,7 +8028,7 @@ msgstr "adicionar este chaveiro 
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|usar NOME como chave secreta padrão"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ENDEREÇO|usar este servidor para buscar chaves"
@@ -7978,8 +8050,8 @@ msgstr "Uso: gpgm [op
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxe: gpg [opções] [arquivos]\n"
 "assina, verifica, criptografa ou descriptografa\n"
@@ -8015,26 +8087,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr "chave %08lX: subchave ignorada\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "escrevendo para `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8052,12 +8124,7 @@ msgstr "Certificado correto"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -8072,46 +8139,42 @@ msgstr "erro na cria
 msgid "error reading input: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "erro na escrita do chaveiro `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "%s: chaveiro criado\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -8298,152 +8361,152 @@ msgstr "erro na leitura de `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 #, fuzzy
 msgid "Options useful for debugging"
 msgstr "habilitar depuração completa"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|usar frase secreta modo N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|usar NOME como chave secreta padrão"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|criptografar para NOME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "impossível escrever para o chaveiro: %s\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 "|NOME|usar algoritmo de criptografia NOME para\n"
 "frases secretas"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8703,6 +8766,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "erro na leitura de `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Comando> "
 
@@ -9049,10 +9120,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "chave secreta incorreta"
 
-# suportado ???
-#~ msgid "not supported"
-#~ msgstr "não suportado"
-
 #~ msgid "bad key"
 #~ msgstr "chave incorreta"
 
index 9d52891..216ef22 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 205c745..a61e146 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -9,16 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.2rc1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2005-05-31 22:00-0500\n"
 "Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "am eºuat sã stochez amprenta: %s\n"
@@ -28,21 +29,21 @@ msgstr "am e
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 #, fuzzy
 msgid "Quality:"
 msgstr "validitate: %s"
@@ -53,17 +54,17 @@ msgstr "validitate: %s"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
@@ -71,152 +72,155 @@ msgid ""
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "linie prea lungã"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "frazã-parolã prea lungã\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Caracter invalid în nume\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "MPI incorect"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "frazã-parolã incorectã"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "frazã-parolã incorectã"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritm rezumat %d nu este suportat\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "nu pot crea `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "nu pot deschide `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "eroare la obþinerea numãrului serial: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "eroare la obþinerea informaþiei pentru cheia curentã: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "nu am gãsit nici un inel de chei secret de scris: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "citirea cheii publice a eºuat: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "schimbã fraza-parolã"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: am eºuat sã creez hashtable: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 #, fuzzy
 msgid "Please insert the card with serial number"
 msgstr ""
 "Vã rugãm scoateþi cardul curent ºi introducaþi unul cu numãr de serie:\n"
 "   %.*s\n"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 #, fuzzy
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
@@ -240,7 +244,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -346,7 +350,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Aveþi nevoie de o frazã-parolã pentru a vã proteja cheia secretã.\n"
 "\n"
@@ -356,7 +360,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "schimbã fraza-parolã"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -367,283 +371,292 @@ msgstr ""
 "Opþiuni:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "locvace"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "fii oarecum mai tãcut"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FIªIER|încarcã modulul extensie FIªIER"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "cautã pentru chei pe un server de chei"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "seteazã lista de preferinþe pentru ID-urile utilizator selectate"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "actualizeazã baza de date de încredere"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "eroare la crearea frazei-parolã: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "nu este suportat(ã)"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "nu este suportat(ã)"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Raportaþi bug-uri la <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTÃ: nici un fiºier opþiuni implicit `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fiºier opþiuni `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "citesc opþiuni din `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "eroare la creearea `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "nu pot crea directorul `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "nu pot crea `%s': %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent nu este disponibil în aceastã sesiune\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "eroare la obþinere noului PIN: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "actualizarea a eºuat: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "scriu cheia secretã în `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "director `%s' creat\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fstat(%d) a eºuat în %s: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: nu pot crea director: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "actualizarea secretului a eºuat: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: sãritã: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent nu este disponibil în aceastã sesiune\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "variabila de mediu GPG_AGENT_INFO anormalã\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent versiune protocol %d nu este suportat\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -652,7 +665,7 @@ msgstr ""
 "@Comenzi:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -664,36 +677,36 @@ msgstr ""
 "Opþiuni:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
@@ -701,17 +714,17 @@ msgid ""
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "frazã-parolã incorectã"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "anulatã"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "eroare la crearea frazei-parolã: %s\n"
@@ -826,8 +839,8 @@ msgstr "schimb
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "eroare la crearea frazei-parolã: %s\n"
@@ -867,12 +880,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "eroare la creearea `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[ID utilizator nu a fost gãsit]"
@@ -905,17 +918,17 @@ msgstr "anulat
 msgid "problem with the agent\n"
 msgstr "problemã cu agentul: agentul returneazã 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "nu pot deactiva generarea fiºierelor core: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "AVERTISMENT: proprietate nesigurã (unsafe) pentru extensia `%s'\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "AVERTISMENT: permisiuni nesigure (unsafe) pentru extensia `%s'\n"
@@ -1150,12 +1163,12 @@ msgstr "Aceast
 msgid "Root certificate trustworthy"
 msgstr "certificat incorect"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "certificat incorect"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Cheie disponibilã la: "
@@ -1236,7 +1249,7 @@ msgstr "armur
 msgid "invalid dash escaped line: "
 msgstr "linie cu liniuþã escape invalidã: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "caracter radix64 invalid %02X sãrit\n"
@@ -1253,7 +1266,7 @@ msgstr "eof prematur (
 msgid "malformed CRC\n"
 msgstr "CRC anormal\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "eroare CRC; %06lX - %06lX\n"
@@ -1266,16 +1279,16 @@ msgstr "eof prematur (
 msgid "error in trailer line\n"
 msgstr "eroare linia de trailer\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nici o datã OpenPGP validã gãsitã.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "armurã invalidã: linie mai lungã de %d caractere\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1311,7 +1324,7 @@ msgstr "AVERTISMENT: am g
 msgid "not human readable"
 msgstr "ilizibil"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "cardul OpenPGP nu e disponibil: %s\n"
@@ -1321,8 +1334,8 @@ msgstr "cardul OpenPGP nu e disponibil: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "cardul OpenPGP nr. %s detectat\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "nu pot face acest lucru în modul batch\n"
 
@@ -1331,212 +1344,212 @@ msgstr "nu pot face acest lucru 
 msgid "This command is only available for version 2 cards\n"
 msgstr "Aceastã comandã nu este permisã în modul %s.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "pãrþi ale cheii secrete nu sunt disponibile\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Selecþia d-voastrã? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[nesetat(ã)]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "masculin"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "feminin"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "nespecificat(ã)"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "neforþat(ã)"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "forþat(ã)"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Eroare: Deocamdatã sunt permise numai caractere ASCII.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Eroare: Caracterul \"<\" nu poate fi folosit.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Eroare: Spaþiile duble nu sunt permise.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Numele de familie al proprietarului cardului: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Prenumele proprietarului cardului: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Eroare: Nume combinat prea lung (limita este de %d caractere).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL pentru a aduce cheia publicã: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Eroare: URL prea lung (limita este de %d caractere).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Date login (nume cont): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Eroare: datele de login prea lungi (limita este de %d caractere).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Date DO personale: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Eroare DO personal pre lung (limita este de %d caractere).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Preferinþe limbã: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Eroare: lungime invalidã pentru ºir preferinþe.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Eroare: caractere invalide în ºir preferinþe.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Sex ((M)asculin, (F)eminin sau spaþiu): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Eroare: rãspuns invalid.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "Amprenta CA: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Eroare: amprentã formatatã invalid.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operaþia pe cheie nu e posibilã: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "nu este un card OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "eroare la obþinerea informaþiei pentru cheia curentã: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Înlocuiesc cheia existentã? (d/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Ce lungime de cheie doriþi? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Ce lungime de cheie doriþi? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Ce lungime de cheie doriþi? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rotunjitã prin adaos la %u biþi\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "dimensiunile cheii %s trebuie sã fie în intervalul %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Creez copie de rezervã a cheii de cifrare în afara cardului? (d/N) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "cheia secretã deja stocatã pe un card\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Înlocuiesc cheile existente? (d/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1547,129 +1560,129 @@ msgstr ""
 "   PIN = `%s'     PIN Admin = `%s'\n"
 "Ar trebui sã le schimbaþi folosind comanda --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Vã rugãm selectaþi tipul de cheie de generat:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Cheie de semnare\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Cheie de cifrare\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Cheie de autentificare\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Selecþie invalidã.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Vã rugãm selectaþi unde sã fie stocatã cheia:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "algoritm de protecþie a cheii necunoscut\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "pãrþi secrete ale cheii nu sunt disponibile\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "cheia secretã deja stocatã pe un card\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ieºi din acest meniu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "aratã comenzi administrare"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "afiºeazã acest mesaj"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "afiºeazã toate datele disponibile"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "schimbã numele purtãtorului cardului"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "schimbã URL-ul de unde sã fie adusã cheia"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "adu cheia specificatã de URL-ul de pe card"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "schimbã numele de login"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "schimbã preferinþele de limbã"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "schimbã sexul purtãtorului cardului"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "schimbã o amprentã CA"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "comutã fanionul PIN de forþare a semnãturii"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "genereazã noi chei"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "meniu pentru a schimba sau debloca PIN-ul"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "verificã PIN-ul ºi listeazã toate datele"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Comandã numai-administrare\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Sunt permise comenzi administrare\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Nu sunt permise comenzi administrare\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comandã invalidã  (încercaþi \"ajutor\")\n"
 
@@ -1677,18 +1690,18 @@ msgstr "Comand
 msgid "--output doesn't work for this command\n"
 msgstr "--output nu merge pentru aceastã comandã\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "nu pot deschide `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "cheia \"%s\" nu a fost gãsitã: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1792,7 +1805,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "forþând cifrul simetric %s (%d) violaþi preferinþele destinatarului\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "nu puteþi folosi %s câtã vreme în modul %s\n"
@@ -1802,77 +1815,77 @@ msgstr "nu pute
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s cifrat pentru: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s date cifrate\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrat cu un algoritm necunoscut %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "AVERTISMENT: mesajul a fost cifrat cu o cheie slabã din cifrul simetric.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problemã cu mânuirea pachetului cifrat\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "nu este suportatã execuþia nici unui program la distanþã\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "chemarea programelor externe sunt deactivate datoritã opþiunilor nesigure "
 "pentru permisiunile fiºierului\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "aceastã platformã necesitã fiºiere temporare când sunt chemate programe "
 "externe\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "nu pot executa programul `%s': %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "nu pot executa shell-ul `%s': %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "eroare de sistem la chemarea programului extern: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "ieºire nenaturalã a programului extern\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "nu pot executa programul extern\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nu pot citi rãspunsul programului extern: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "AVERTISMENT: nu pot ºterge fiºierul temporar (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "AVERTISMENT: nu pot ºterge directorul temporar `%s': %s\n"
@@ -1969,199 +1982,199 @@ msgstr "eroare la creearea `%s': %s\n"
 msgid "No fingerprint"
 msgstr "Amprenta CA: "
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Cheia invalidã %s fãcutã validã de --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "nici o subcheie secretã pentru subcheia publicã %s - ignoratã\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "folosim subcheia %s în loc de cheia primarã %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "cheia %s: cheie secretã fãrã cheie publicã - sãritã\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "|[fiºier]|creazã o semnãturã"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fiºier]|creazã o semnãturã text în clar"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "creazã o semnãturã detaºatã"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "cifreazã datele"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "cifreazã numai cu cifru simetric"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "decripteazã datele (implicit)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verificã o semnãturã"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "enumerã chei"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "enumerã chei ºi semnãturi"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "enumerã ºi verificã semnãturile cheii"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "enumerã chei ºi amprente"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "enumerã chei secrete"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "genereazã o nouã perechi de chei"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "genereazã un certificat de revocare"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "ºterge chei de pe inelul de chei public"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "ºterge chei de pe inelul de chei secret"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "semneazã o cheie"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "semneazã o cheie local"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "semneazã sau editeazã o cheie"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "schimbã fraza-parolã"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportã chei"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportã chei pentru un server de chei"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importã chei de la un server de chei"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "cautã pentru chei pe un server de chei"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "actualizeazã toate cheile de la un server de chei"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importã/combinã chei"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "afiºeazã starea cardului"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "schimbã data de pe card"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "schimbã PIN-ul unui card"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "actualizeazã baza de date de încredere"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fiºiere]|afiºeazã rezumate mesaje"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "creazã ieºire în armurã ascii"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NUME|cifrare pentru NUME"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "foloseºte acest id-utilizator pentru a semna sau decripta"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|seteazã nivel de compresie N (0 deactiveazã)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "foloseºte modul text canonic"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FIªIER|încarcã modulul extensie FIªIER"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "nu face nici o schimbare"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "întreabã înainte de a suprascrie"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "foloseºte comportament strict OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2169,7 +2182,7 @@ msgstr ""
 "@\n"
 "(Aratã pagina man pentru o listã completã a comenzilor ºi opþiunilor)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2189,21 +2202,26 @@ msgstr ""
 " --list-keys [nume]         aratã chei\n"
 " --fingerprint [nume]       aratã amprente\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxã: gpg [opþiuni] [fiºiere]\n"
 "sign, check, encrypt sau decrypt\n"
 "operaþiunea implicitã depinde de datele de intrare\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2211,77 +2229,77 @@ msgstr ""
 "\n"
 "Algoritmuri suportate:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Cifru: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Compresie: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "folosire: gpg [opþiuni] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "comenzi în conflict\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "nu am gãsit nici un semn = în definiþia grupului `%s'\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate nesigurã (unsafe) pentru directorul home `%s'\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate nesigurã (unsafe) pentru fiºier configurare `%s'\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "AVERTISMENT: proprietate nesigurã (unsafe) pentru extensia `%s'\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni nesigure (unsafe) pentru directorul home `%s'\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni nesigure (unsafe) pentru fiºier configurare `%s'\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "AVERTISMENT: permisiuni nesigure (unsafe) pentru extensia `%s'\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru "
 "directorul home `%s'\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2289,21 +2307,21 @@ msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru fiºier "
 "configurare `%s'\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru "
 "extensia `%s'\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru "
 "directorul home `%s'\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2311,476 +2329,476 @@ msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru fiºier "
 "configurare `%s'\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru "
 "extensia `%s'\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "articol configurare necunoscut `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nici o semnãturã corespunzãtoare în inelul secret\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "aratã cãruia dintre inelele de chei îi aparþine o cheie enumeratã"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nici o semnãturã corespunzãtoare în inelul secret\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "NOTÃ: fisier opþiuni implicite vechi `%s' ignorat\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "NOTÃ: %s nu este pentru o folosire normalã!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' nu este expirare de semnãturã validã\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' nu este un set de carectere valid\n"
 
 #
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opþiuni server de chei invalide\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "opþiuni server de chei invalide\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opþiuni import invalide\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "opþiuni import invalide\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opþiuni export invalide\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "opþiuni export invalide\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opþiuni enumerare invalide\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "opþiuni enumerare invalide\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "`%s' nu este expirare de semnãturã validã\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "`%s' nu este expirare de semnãturã validã\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "`%s' nu este expirare de semnãturã validã\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opþiuni verificare invalide\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "opþiuni verificare invalide\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nu pot seta cale-execuþie ca %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opþiuni verificare invalide\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVERTISMENT: programul ar putea crea un fiºier core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVERTISMENT: %s înlocuieºte %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s nu este permis cu %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nu are sens cu %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nu va rula cu memorie neprotejatã (insecure) pentru cã %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "puteþi crea doar semnãturi detaºate sau în clar câtã vreme sunteþi în modul "
 "--pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 "nu puteþi semna ºi cifra în acelaºi timp câtã vreme sunteþi în modul --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "trebuie sã folosiþi fiºiere (ºi nu un pipe) când lucraþi cu modul --pgp2 "
 "activat.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "cifrarea unui mesaj în modul --pgp2 necesitã un cifru IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "algoritm cifrare selectat este invalid\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "algoritm rezumat selectat este invalid\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "algoritm compresie selectat este invalid\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "algoritm rezumat certificare selectat este invalid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed trebuie sã fie mai mare decât 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed trebuie sã fie mai mare decât 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth trebuie sã fie în intervalul de la 1 la 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level invalid; trebuie sã fie 0, 1, 2 sau 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level invalid; trebuie sã fie 0, 1, 2 sau 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTÃ: modul S2K simplu (0) este contraindicat cu insistenþã\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mod S2K invalid; trebuie sã fie 0, 1 sau 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "preferinþe implicite invalide\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "preferinþe cifrare personale invalide\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "preferinþe rezumat personale invalide\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "preferinþe compresie personale invalide\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s nu merge încã cu %s!\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "nu puteþi folosi algoritmul de cifrare `%s' câtã vreme în modul %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "nu puteþi folosi algorimul de rezumat `%s' câtã vreme în modul %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "nu puteþi folosi algoritmul de compresie `%s' câtã vreme în modul %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "am eºuat sã iniþializez TrustDB:%s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVERTISMENT: destinatari (-r) furnizaþi fãrã a folosi cifrare cu cheie "
 "publicã\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [nume_fiºier]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nume_fiºier]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "cifrarea simetricã a lui `%s' a eºuat: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nume_fiºier]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [nume_fiºier]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nu puteþi folosi --symmetric --encrypt cu --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "nu puteþi folosi --symmetric --encrypt câtã vreme în modul %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [nume_fiºier]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nume_fiºier]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [nume_fiºier]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nu puteþi folosi --symmetric --sign --encrypt cu --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "nu puteþi folosi --symmetric --sign --encrypt câtã vreme în modul %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [nume_fiºier]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nume_fiºier]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nume_fiºier]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id-utilizator"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id-utilizator"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id-utilizator [comenzi]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id-utilizator"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "trimitere server de chei eºuatã: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "recepþie server de chei eºuatã: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export cheie eºuat: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "cãutare server de chei eºuatã: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "actualizare server de chei eºuatã: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "eliminarea armurii a eºuat: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "punerea armurii a eºuat: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritm hash invalid `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[nume_fiºier]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Daþi-i drumul ºi scrieþi mesajul ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL-ul politicii de certificare furnizat este invalid\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL-ul politicii de semnãturi furnizat este invalid\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
 
@@ -2819,477 +2837,493 @@ msgstr "Nici un ajutor disponibil"
 msgid "No help available for `%s'"
 msgstr "Nici un disponibil disponibil pentru `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "actualizeazã baza de date de încredere"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "cheia publicã nu se potriveºte cu cheia secretã!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "cheie secretã de nefolosit"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "bloc de tip %d sãrit\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chei procesate pânã acum\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Numãr total procesate: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      chei noi sãrite: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "  fãrã ID-uri utilizator: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "               importate: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             neschimbate: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "   noi ID-uri utilizator: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "             noi subchei: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "           noi semnãturi: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "    noi revocãri de chei: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     chei secrete citite: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chei secrete importate: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "chei secrete neschimbate: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "            ne importate: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "semnãturi create pânã acum: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     chei secrete citite: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, fuzzy, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr "AVERTISMENT: cheia %s conþine preferinþe pentru indisponibil\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": preferinþã pentru algoritm de cifrare %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": preferinþã pentru algoritm rezumat %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": preferinþã pentru algoritm compresie %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 "este puternic sugerat sã vã actualizaþi preferinþele ºi re-distribuiþi\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "aceastã cheie pentru a avita probleme potenþiale de ne-potrivire de "
 "algoritm\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "vã puteþi actualiza preferinþele cu: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "cheia %s: nici un ID utilizator\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "sãritã \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "cheia %s: subcheia HPK coruptã a fost reparatã\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "cheia %s: am acceptat ID-ul utilizator ce nu e auto-semnat \"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "cheia %s: nici un ID utilizator valid\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "aceasta poate fi cauzatã de o auto-semnãturã ce lipseºte\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "cheia %s: cheia publicã nu a fost gãsitã: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "cheia %s: cheie nouã - sãritã\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "n-am gãsit nici un inel de chei ce poate fi scris: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "scriu în `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "cheia %s: cheia publicã \"%s\" importatã\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "cheia %s: nu se potriveºte cu copia noastrã\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "cheia %s: nu pot gãsi keyblock-ul original: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "cheia %s: nu pot citi keyblock-ul original: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "cheia %s: \"%s\" 1 nou ID utilizator\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "cheia %s: \"%s\" 1 nouã semnãturã\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "cheia %s: \"%s\" %d noi semnãturi\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "cheia %s: \"%s\" 1 nouã subcheie\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "cheia %s: \"%s\" %d noi subchei\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi semnãturi\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi semnãturi\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "cheia %s: \"%s\" nu a fost schimbatã\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "cheia %s: cheie secretã cu cifru invalid %d - sãritã\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "cheia secretã \"%s\" nu a fost gãsitã: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "importul de chei secrete nu este permis\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "cheia %s: cheie secretã cu cifru invalid %d - sãritã\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "nici un inel de chei secrete implicit: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "cheia %s: cheie secretã importatã\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "cheia %s: deja în inelul de chei secrete\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "cheia %s: cheia secretã nu a fost gãsitã: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "cheia %s: nici o cheie publicã - nu pot aplica certificatul de revocare\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "cheia %s: certificat de revocare invalid: %s - respins\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "cheia %s: certificatul de revocare \"%s\" importat\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "cheia %s: nici un ID utilizator pentru semnãturã\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "cheia %s: algoritm cu cheie publicã nesuportat pentru ID-ul utilizator \"%s"
 "\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "cheia %s: auto-semnãturã invalidã pentru ID-ul utilizator \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "cheia %s: algoritm cu cheie publicã nesuportat\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "cheia %s: am adãugat semnãtura de cheie directã\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "cheia %s: nici o subcheie pentru legarea cheii\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "cheia %s: legare subcheie invalidã\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "cheia %s: am ºters multiple legãturi de subchei\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "cheia %s: nici o subcheie pentru revocare de cheie\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "cheia %s: revocare de subcheie invalidã\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "cheia %s: am ºters multiple revocãri de subcheie\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "cheia %s: am sãrit ID-ul utilizator \"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "cheia %s: am sãrit subcheia\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "cheia %s: semnãtura nu poate fi exportatã (clasa 0x%02X) - sãritã\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "cheia %s: certificat de revocare într-un loc greºit - sãrit\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "cheia %s: certificat de revocare invalid: %s - sãrit\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "cheia %s: semnãturã subcheie într-un loc greºit - sãritã\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "cheia %s: clasã de semnãturã neaºteptatã (0x%02X) - sãritã\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "cheia %s: am detectat un ID utilizator duplicat - combinate\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "AVERTISMENT: cheia %s poate fi revocatã: aduc revocarea cheii %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVERTISMENT: cheia %s poate fi revocatã: cheia de revocare %s nu este "
 "prezentã.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "cheia %s: am adãugat certificatul de revocare \"%s\"\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "cheia %s: am adãugat semnãtura de cheie directã\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "NOTÃ: S/N-ul unei chei nu se potriveºte cu cel al cardului\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "NOTÃ: cheia primarã este online ºi stocatã pe card\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "NOTÃ: cheia secundarã este online ºi stocatã pe card\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "inelul de chei `%s' creat\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "resursã keyblock `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "am eºuat sã reconstruiesc cache-ul inelului de chei: %s\n"
@@ -3381,12 +3415,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "ID utilizator \"%s\" a fost revocat."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Sunteþi sigur(ã) cã doriþi sã ºtergeþi permanent \"%s\"? (d/N)"
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Nu pot semna.\n"
 
@@ -3573,8 +3607,8 @@ msgstr "Am verificat aceast
 msgid "Really sign? (y/N) "
 msgstr "Doriþi cu adevãrat sã semnaþi? (d/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "semnarea a eºuat: %s\n"
@@ -3585,19 +3619,19 @@ msgstr ""
 "Cheia are numai articole de cheie sau talon (stub) pe card - nici o frazã "
 "parolã de schimbat.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Aceastã cheie nu este protejatã.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Pãrþile secrete ale cheii primare nu sunt disponibile.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Pãrþi secrete ale cheii primare sunt stacate pe card.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Cheia este protejatã.\n"
 
@@ -3614,7 +3648,7 @@ msgstr ""
 "Introduceþi noua frazã-parolã pentru acestã cheie secretã.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "fraza-parolã nu a fost repetatã corect; mai încercaþi o datã"
 
@@ -3792,24 +3826,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "eroare la citire keyblock secret \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Cheia secretã este disponibilã.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Aveþi nevoie de cheia secretã pentru a face aceasta.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Vã rugãm folosiþi mai întâi comanda \"toggle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3821,229 +3855,229 @@ msgstr ""
 "  pentru semnãturi irevocabile (nrsign), sau orice combinaþie a acestora\n"
 "  (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Cheia este revocatã."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Semnaþi într-adevãr toate ID-urile utilizator? (d/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugestie: Selectaþi ID-ul utilizator de semnat\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Tip de semnãturã necunoscut `%s'\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Aceastã comandã nu este permisã în modul %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Trebuie mai întâi sã selectaþi cel puþin un ID utilizator.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Nu puteþi ºterge ultimul ID utilizator!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "ªtergeþi într-adevãr toate ID-urile utilizator selectate? (d/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "ªtergeþi într-adevãr acest ID utilizator? (d/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Mutaþi într-adevãr cheia primarã? (d/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Trebuie sã selectaþi exact o cheie.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Comanda aºteaptã un nume de fiºier ca argument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Nu pot deschide `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Eroare citind cheia de rezervã de pe `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Trebuie sã selectaþi cel puþin o cheie.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Doriþi într-adevãr sã ºtergeþi cheile selectate? (d/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Doriþi într-adevãr sã ºtergeþi aceastã cheie? (d/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Doriþi într-adevãr sã revocaþi toate ID-urile utilizator selectate? (d/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Doriþi într-adevãr sã revocaþi acest ID utilizator? (d/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Doriþi într-adevãr sã revocaþi toatã cheia? (d/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Doriþi într-adevãr sã revocaþi subcheile selectate? (d/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Doriþi într-adevãr sã revocaþi aceastã subcheie? (d/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Încrederea proprietar nu poate fi setatã când este folositã o bazã de date "
 "de încredere furnizatã de utilizator\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Seteazã lista de preferinþe ca:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Doriþi într-adevãr sã actualizaþi preferinþele pentru ID-urile utilizator "
 "selectate? (d/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Doriþi într-adevãr sã actualizaþi preferinþele? (d/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Salvaþi schimbãrile?  (d/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Terminaþi fãrã a salva?  (d/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualizarea a eºuat: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "actualizarea secretului a eºuat: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Cheia nu a fost schimbatã aºa cã nici o actualizare a fost necesarã.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Rezumat: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Capabilitãþi: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Server de chei no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Server de chei preferat: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notaþie:"
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Nu existã nici o preferinþã pentru un ID utilizator stil PGP 2.x.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Aceastã cheie a fost revocatã pe %s de %s cheia %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Aceastã cheie poate fi revocatã de %s cheia %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr " (senzitiv)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "creatã: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "revocatã: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "expiratã: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "expirã: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "folosire: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "încredere: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "validitate: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Aceastã cheie a fost deactivatã"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "nr-card: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4052,17 +4086,17 @@ msgstr ""
 "corectã dacã nu reporniþi programul.\n"
 
 #
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "revocatã"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "expiratã"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4071,7 +4105,7 @@ msgstr ""
 "              Aceastã comandã poate cauza ca un alt ID utilizator\n"
 "              sã devinã ID-ul utilizator primar presupus.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4080,74 +4114,74 @@ msgstr ""
 "AVERTISMENT: Aceasta este o cheie stil PGP2.  Adãugarea unei poze ID poate\n"
 "         cauza unele versiuni de PGP sã respingã aceastã cheie.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Sunteþi încã sigur(ã) cã doriþi sã o adãugaþi? (d/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Nu puteþi adãuga o pozã ID la o cheie stil PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "ªtergeþi aceastã semnãturã bunã? (d/N/t)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "ªtergeþi aceastã semnãturã invalidã? (d/N/t)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "ªtergeþi aceastã semnãturã necunoscutã? (d/N/t)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "ªtergeþi într-adevãr aceastã auto-semnãturã? (d/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Am ºters %d semnãturi.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Am ºters %d semnãturi.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Nu am ºters nimic.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "invalid(ã)"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ID-ul utilizator \"%s\": este deja curat.\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ID-ul utilizator \"%s\": este deja curat.\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4157,268 +4191,268 @@ msgstr ""
 "             desemnat poate face ca unele versiuni de PGP sã respingã "
 "cheia.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Nu puteþi adãuga un revocator desemnat la o cheie stil PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduceþi ID-ul utilizator al revocatorului desemnat: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "nu pot desemna o cheie stil PGP 2.x ca un revocator desemnat\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "nu puteþi desemna o cheie ca propriul sãu revocator desemnat\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "aceastã cheie a fost deja desemnatã ca un revocator\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVERTISMENT: desemnarea unei chei ca un revocator desemnat nu poate fi "
 "anulatã!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Sunteþi sigur(ã) cã doriþi sã desemnaþi aceastã cheie ca ºi un revocator "
 "desemnat? (d/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Vã rugãm ºtergeþi selecþiile din cheile secrete.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Vã rugãm selectaþi cel mult o subcheie.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Schimb timpul de expirare pentru o subcheie.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Schimb timpul de expirare pentru cheia primarã.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nu puteþi schimba data de expirare a unei chei v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Nici o semnãturã corespunzãtoare în inelul secret\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVERTISMENT: subcheia de semnare %s nu este certificatã reciproc (cross-"
 "certified)\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Vã rugãm selectaþi exact un ID utilizator.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "auto-semnãturã v3 sãritã pentru ID-ul utilizator \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Introduceþi URL-ul serverului de chei preferat: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Sunteþi sigur(ã) cã doriþi sã o folosiþi? (d/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Sunteþi sigur(ã) cã doriþi sã o folosiþi? (d/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notare semnãturã: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Suprascriu? (d/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nici un ID utilizator cu indicele %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nici un ID utilizator cu hash-ul %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nici o subcheie cu indicele %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID utilizator: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "semnatã de cheia d-voastrã %s la %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (non-exportabilã)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Aceastã semnãturã a expirat pe %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Sunteþi încã sigur(ã) cã doriþi sã o revocaþi? (d/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Creaþi un certificat de revocare pentru aceastã semnãturã? (d/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Aþi semnat aceste ID-uri utilizator pe cheia %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (non-revocabilã)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revocatã de cheia d-voastrã %s pe %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Sunteþi pe cale sã revocaþi aceste semnãturi:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Doriþi într-adevãr sã creaþi certificatele de revocare? (d/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "nici o cheie secretã\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ID-ul utilizator \"%s\" este deja revocat\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVERTISMENT: o semnãturã ID utilizator este datatã %d secunde în viitor\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Cheia %s este deja revocatã.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subcheia %s este deja revocatã.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Afiºez poza ID %s de dimensiune %ld pentru cheia %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "preferinþa `%s' duplicatã\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "prea multe preferinþe de cifrare\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "prea multe preferinþe de rezumat\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "prea multe preferinþe de compresie\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "articol invalid `%s' în ºirul de preferinþe\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "scriu semnãturã directã\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "scriu auto semnãturã\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "scriu semnãturã legatã de cheie\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "lungime cheie invalidã; folosesc %u biþi\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "lungime cheie rotunjitã la %u biþi\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Semneazã"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Cifreazã"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Autentificã"
 
@@ -4432,104 +4466,104 @@ msgstr "Autentific
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsCcAaTt"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Acþiuni posibile pentru o cheie %s: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Acþiuni permise curent: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Comutã capabilitatea de semnare\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Comutã capabilitatea de cifrare\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Comutã capabilitatea de autentificare\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Terminat\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Selectaþi ce fel de cheie doriþi:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA ºi Elgamal (implicit)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA ºi Elgamal (implicit)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (numai semnare)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (numai semnare)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (numai cifrare)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (numai cifrare)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (seteazã singur capabilitãþile)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (seteazã singur capabilitãþile)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "cheile %s pot avea lungimea între %u ºi %u biþi.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Ce lungime de cheie doriþi? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Ce lungime de cheie doriþi? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Lungimea cheii necesarã este %u biþi\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4545,7 +4579,7 @@ msgstr ""
 "      <n>m = cheia expirã în n luni\n"
 "      <n>y = cheia expirã în n ani\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4561,38 +4595,38 @@ msgstr ""
 "      <n>m = semnãtura expirã în n luni\n"
 "      <n>y = semnãtura expirã în n ani\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Cheia este validã pentru? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Semnãtura este validã pentru? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "valoare invalidã\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Cheia nu expirã deloc\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Semnãtura nu expirã deloc\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Cheia expirã pe %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Semnãtura expirã pe %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4600,11 +4634,11 @@ msgstr ""
 "Sistemul d-voastrã nu poate afiºa date dupã 2038.\n"
 "Totuºi, acestea vor fi corect mânuite pânã în 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Este aceasta corect? (d/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4615,7 +4649,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4632,44 +4666,44 @@ msgstr ""
 "    \"Popa Ioan (popicã) <popa.ioan@compania.ro>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Nume real: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Caracter invalid în nume\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Numele nu poate începe cu o cifrã\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Numele trebuie sã fie de cel puþin 5 caractere\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Adresã de email: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Nu este o adresã de email validã\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Comentariu: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Caracter invalid în comentariu\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Folosiþi setul de caractere `%s'\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4680,11 +4714,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Vã rugãm nu puneþi adresa de email în numele real sau comentariu\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4699,23 +4733,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoTt"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Schimbã (N)ume, (C)omentariu, (E)mail sau (T)Terminã? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Schimbã (N)ume, (C)omentariu, (E)mail sau (O)K/(T)Terminã? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Vã rugãm corectaþi mai întâi eroarea\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4723,7 +4757,7 @@ msgstr ""
 "Aveþi nevoie de o frazã-parolã pentru a vã proteja cheia secretã.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
@@ -4731,12 +4765,12 @@ msgid ""
 msgstr ""
 "Vã rugãm introduceþi fraza-parolã; aceasta este o propoziþie secretã \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4747,7 +4781,7 @@ msgstr ""
 "O sã o fac oricum.  Puteþi schimba fraza-parolã oricând, folosind acest\n"
 "program cu opþiunea \"--edit-key\".\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4759,50 +4793,50 @@ msgstr ""
 "în timpul generãrii numerelor prime; aceasta dã o ºansã generatorului de\n"
 "numere aleatoare o ºansã mai bunã de a aduna destulã entropie.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Generarea cheii a fost anulatã.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "scriu cheia publicã în `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "scriu talonul (stub) cheii secrete în `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "scriu cheia secretã în `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "nu am gãsit nici un inel de chei public de scris: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "nu am gãsit nici un inel de chei secret de scris: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "eroare la scrierea inelului de chei public `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "eroare la scrierea inelului de chei secret `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "cheile secretã ºi publicã au fost create ºi semnate.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4812,12 +4846,12 @@ msgstr ""
 "sã folosiþi comanda \"--edit-key\" pentru a genera o subcheie secundarã\n"
 "pentru acest scop.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Generarea cheii a eºuat: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4825,7 +4859,7 @@ msgstr ""
 "cheia a fost creatã %lu secundã în viitor (warp în timp sau probleme cu "
 "ceasul)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4833,25 +4867,25 @@ msgstr ""
 "cheia a fost creatã %lu secunde în viitor (warp în timp sau probleme cu "
 "ceasul)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "NOTÃ: crearea de subchei pentru chei v3 nu este conform OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Creaþi într-adevãr? (d/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "stocarea cheii pe card a eºuat: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "nu pot crea fiºier de rezervã `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "NOTÃ: copia de siguranþa a cheii cardului salvatã la `%s'\n"
@@ -4884,29 +4918,29 @@ msgstr "Notare semn
 msgid "Keyring"
 msgstr "Inel de chei"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Amprentã cheie primarã:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Amprentã subcheie:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Amprentã cheie primarã:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Amprentã subcheie:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      Amprentã cheie ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Card nr. serie ="
 
@@ -4989,459 +5023,459 @@ msgstr ""
 "AVERTISMENT: opþiunile serverului de chei `%s' nu sunt folosite pe aceastã "
 "platformã\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "deactivat(ã)"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Introduceþi numãr/numere, N)ext (urmãtor), sau Q)uit (terminã) > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocol server de chei invalid (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "cheia \"%s\" nu a fost gãsitã pe serverul de chei\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "cheia nu a fost gãsitã pe serverul de chei\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "cer cheia %s de la serverul %s %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "cer cheia %s de la %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "caut \"%s\" de pe serverul %s %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "caut \"%s\" de pe %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "trimit cheia %s serverului %s %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "trimit cheia %s lui %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "caut \"%s\" de pe serverul %s %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "caut \"%s\" de pe %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "nici o acþiune pentru serverul de chei!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
-"AVERTISMENT: manipulator server de chei dintr-o versiune diferitã de GnuPG (%"
-"s)\n"
+"AVERTISMENT: manipulator server de chei dintr-o versiune diferitã de GnuPG "
+"(%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "serverul de chei nu a trimis VERSION (versiune)\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "nici un server de chei cunoscut (folosiþi opþiunea --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 "apeluri cãtre server de chei extern nu este suportat de acest program\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "nici un manipulator (handler) pentru schema serverului de chei `%s'\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "acþiunea `%s' nu este suportatã cu schema serverului de chei `%s'\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s nu suportã versiunea de manipulator (handler) %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "serverul de chei a epuizat timpul de aºteptare (timed out)\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "eroare internã server de chei\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "eroare de comunicare server de chei: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" nu este un ID de cheie: sãrit\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVERTISMENT: nu pot reactualiza cheia %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "reactualizez 1 cheie de la %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "reactualizez %d chei de la %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVERTISMENT: nu pot reactualiza cheia %s via %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "AVERTISMENT: nu pot reactualiza cheia %s via %s: %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "dimensiune ciudatã pentru o cheie de sesiune cifratã (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s cheie de sesiune cifratã\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "fraza-parolã generatã cu un algoritm rezumat necunoscut %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "cheia publicã este %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "date cigrate cu cheie publicã: DEK bun\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrat cu cheia %u-bit %s, ID %s, creatã %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrat cu cheia %s, ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decriptarea cu cheie publicã a eºuat: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifratã cu %lu fraze-parolã\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifratã cu 1 frazã-parolã\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "presupunem date cifrate %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "cifru IDEA indisponibil, vom încerca sã folosim %s în loc\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "decriptare OK\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVERTISMENT: mesajul nu a avut integritatea protejatã\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVERTISMENT: mesajul cifrat a fost manipulat!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decriptarea a eºuat: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTÃ: expeditorul a cerut \"doar-pentru-ochii-d-voastrã\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nume fiºier original='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocare standalone - folosiþi \"gpg --import\" pentru a aplica\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Semnãturã bunã din \"%s\""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verificare semnãturã eliminatã\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "nu pot mânui aceste semnãturi multiple\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Semnãturã fãcutã %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               folosind cheia %s %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Semnãturã fãcutã %s folosind cheia %s cu ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Cheie disponibilã la: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Semnãturã INCORECTàdin \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Semnãturã expiratã din \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Semnãturã bunã din \"%s\""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[nesigur]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Semnãturã expiratã %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Semnãtura expirã %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "semnãturã %s, algoritm rezumat %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binar"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "modtext"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "necunoscut"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nu pot verifica semnãtura: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "nu o semnãturã detaºatã\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVERTISMENT: am detectat multiple semnãturi.  Numai prima va fi verificatã.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "semnãturã de sine stãtãtoare (standalone) de clasã 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "semnãturã de stil vechi (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "pachet root invalid detectat în proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat pentru `%s' a eºuat în %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) a eºuat în %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "AVERTISMENT: folosesc algoritmul cu cheie publicã experimental %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "AVERTISMENT: algoritmul rezumat %s este prea vechi (deprecated)\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "AVERTISMENT: folosesc algoritmul de cifrare experimental %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "AVERTISMENT: folosesc algoritmul rezumat experimental %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "AVERTISMENT: algoritmul rezumat %s este prea vechi (deprecated)\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "plugin-ul pentru cifrare IDEA nu este prezent\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = aratã-mi mai multe informaþii\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: opþiune învechitã \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVERTISMENT: \"%s\" este o opþiune învechitã\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "vã rugãm folosiþi \"%s%s\" în loc\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVERTISMENT: \"%s\" este o comandã învechitã - nu o folosiþi\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVERTISMENT: \"%s\" este o opþiune învechitã\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Necompresat"
 
 #
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "necompresat|niciunul"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "acest mesaj s-ar putea sã nu poatã fi folosit de %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "opþiune ambiguã `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "opþiune necunoscutã `%s'\n"
@@ -5484,18 +5518,18 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "AVERTISMENT: opþiunile din %s nu sunt încã active în timpul acestei rulãri\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "nu pot mânui algoritmul cu cheie publicã %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "AVERTISMENT: cheie de sesiune cifratã simetric potenþial nesigurã "
 "(insecure)\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpachetul de tip %d are bitul critic setat\n"
@@ -5551,7 +5585,7 @@ msgstr "cheia %u-bit %s, ID %s, creat
 msgid "         (subkey on main key ID %s)"
 msgstr "         (subcheie pe cheia principalã ID %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5567,34 +5601,34 @@ msgstr ""
 "foarte largã!\n"
 "Încercaþi sã folosiþi o imagine de aproximativ 240x288 pixeli.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Introduceþi nume-fiºier JPEG pentru pozã ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "nu pot deschide fiºierul JPEG `%s': %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Acest JPEG este foarte mare (%d octeþi) !\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Sunteþi sigur(ã) cã doriþi sã îl folosiþi? (d/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "`%s' nu este un fiºier JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Este aceastã pozã corectã (d/N/t)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "nu pot afiºa poza ID!\n"
 
@@ -5626,6 +5660,16 @@ msgstr "motiv pentru revocare: "
 msgid "revocation comment: "
 msgstr "comentariu revocare: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMtTsS"
@@ -5813,25 +5857,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Nu este sigur cã semnãtura aparþine proprietarului.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: sãritã: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: sãritã: cheia publicã este deja prezentã\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Nu aþi specificat un ID utilizator. (puteþi folosi \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Destinatari curenþi:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5839,42 +5883,42 @@ msgstr ""
 "\n"
 "Introduceþi ID-ul utilizator.  Terminaþi cu o linie nouã: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Nu existã acest ID utilizator.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "sãritã: cheia publicã setatã deja ca destinatar implicit\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Cheia publicã este deactivatã.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "sãritã: cheia publicã setatã deja\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "destinatar implicit necunoscut \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: sãritã: cheia publicã este deactivatã\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "nici un destinatar valid\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "cheia %s nu are nici un ID utilizator\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "cheia %s nu are nici un ID utilizator\n"
@@ -6169,19 +6213,25 @@ msgstr "NOT
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "NOTÃ: cheia a fost revocatã"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "semnãturã %s, algoritm rezumat %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "presupun semnãturã incorectã din cheia %s datoritã unui bit critic "
 "necunoscut\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "cheia %s: nici o subcheie pentru semnãtura de revocare a subcheii\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "cheia %s: nici o subcheie pentru semnãtura legatã de subcheie\n"
@@ -6268,7 +6318,7 @@ msgstr ""
 "aceasta este o cheie ElGamal generatã de PGP care nu e sigurã pentru "
 "semnãturi!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "înregistrare încredere %lu, tip %d: scrierea a eºuat: %s\n"
@@ -6313,17 +6363,17 @@ msgstr "eroare g
 msgid "read error in `%s': %s\n"
 msgstr "eroare citire în `%s': %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sincronizarea a eºuat: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb rec %lu: lseek a eºuat: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb rec %lu: scrierea a eºuat (n=%d): %s\n"
@@ -6332,117 +6382,117 @@ msgstr "trustdb rec %lu: scrierea a e
 msgid "trustdb transaction too large\n"
 msgstr "tranzacþia trustdb prea mare\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "nu pot accesa `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: directorul nu existã!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "nu pot crea încuietoare (lock) pentru `%s'\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "nu pot încuia (lock) `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: am eºuat sã creez înregistrare versiune: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: a fost creat trustdb invalid\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: a fost creat trustdb\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "NOTÃ: nu poate fi scris în trustdb\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: trustdb invalid\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: am eºuat sã creez hashtable: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: eroare actualizare înregistrare versiune: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: eroare citire înregistrare versiune: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: eroare scriere înregistrare versiune: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek a eºuat: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: citirea a eºuat (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: nu e un fiºier trustdb\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: înregistrare versiune cu recnum %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versiune fiºier invalidã %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: eroare citire înregistrare liberã: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: eroare scriere înregistrare dir: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: eroare setere la zero a înregistrãrii: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: adãugarea unei înregistrãri a eºuat: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: a fost creat trustdb\n"
@@ -6457,172 +6507,180 @@ msgstr "nu pot m
 msgid "input line longer than %d characters\n"
 msgstr "linii de intrare mai lungi de %d caractere\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' nu este un ID-cheie de lungime validã\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "cheia %s: acceptatã ca cheie de încredere\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "cheia %s apare de mai multe ori în trustdb\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "cheia %s: nici o cheie publicã pentru cheia de încredere - sãritã\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "cheia %s marcatã ca având încredere supremã\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "înregistrare încredere %lu, tip req %d: citirea a eºuat: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "înregistrare încredere %lu nu este de tipul cerut %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "nu pot folosi model de încredere (%d) - presupun model de încredere %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "folosesc model de încredere %s\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 traducãtor vezi trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[revocatã]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[expiratã] "
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[necunoscutã]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[  nedef ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[marginal]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ deplinã]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[ supremã]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "nedefinitã"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "niciodatã"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginal"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "deplinã"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "supremã"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "nu e nevoie de o verificare trustdb\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "urmãtoarea verificare trustdb programatã pe %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "nu e nevoie de o verificare trustdb cu modelul de încredere `%s'\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "nu e nevoie de o actualizare trustdb cu modelul de încredere `%s'\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "cheia publicã %s nu a fost gãsitã: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "vã rugãm faceþi un --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "verific trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d chei procesate (%d numãrãtori valide anulate)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "nu am gãsit nici o cheie cu încredere supremã\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "cheia publicã a cheii cu încredere supremã %s nu a fost gãsitã\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 "%d marginal(e) necesare, %d complet(e) necesare, model de încredere %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 "adânc: %d  valid: %3d  semnat: %3d  încredere: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6648,77 +6706,77 @@ msgstr "linia de intrare %u prea lung
 msgid "can't open fd %d: %s\n"
 msgstr "nu pot deschide `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "Nu sunt permise comenzi administrare\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "eroare citire fiºier"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "linie prea lungã"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "argument invalid"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "Comandã numai-administrare\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "opþiuni enumerare invalide\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "neforþat(ã)"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "opþiuni enumerare invalide\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Comandã invalidã  (încercaþi \"ajutor\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "neforþat(ã)"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "opþiuni enumerare invalide\n"
@@ -6728,22 +6786,17 @@ msgstr "op
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "aþi gãsit un bug ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "eroare la citire `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "nu pot deschide fiºierul: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "redenumirea `%s' ca `%s' a eºuat: %s\n"
@@ -6800,24 +6853,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "modulus-ul RSA lipseºte sau nu are %d biþi\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, fuzzy, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "exponentul public RSA lipseºte sau are mai mult de %d biþi\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "apelul PIN a returnat eroare: %s\n"
@@ -6866,204 +6920,218 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "eroare la obþinere noului PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "am eºuat sã stochez amprenta: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "am eºuat sã stochez data creãrii: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "citirea cheii publice a eºuat: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "rãspunsul nu conþine datele cheii publice\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "rãspunsul nu conþine modulul RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "rãspunsul nu conþine exponentul public RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minimã este %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verificarea CHV%d a eºuat: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "eroare la recuperarea stãrii CHV de pe card\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "cardul este încuiat permanent!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d încercãri PIN Admin rãmase înainte de a încuia cardul permanent\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "accesul la comenzile de administrare nu este configuratã\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, fuzzy, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minimã este %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|PIN Admin Nou"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|PIN Nou"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "eroare la citirea datelor aplicaþiei\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "eroare la citirea amprentei DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "cheia existã deja\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "cheia existentã va fi înlocuitã\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "generez o nouã cheie\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "generez o nouã cheie\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "timestamp-ul de creare lipseºte\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "prime-ul RSA %s lipseºte sau nu are %d biþi\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "am eºuat sã stochez cheia: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "vã rugãm aºteptaþi câtã vreme este creatã noua cheie ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "generarea cheii a eºuat\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "generarea cheii este completã (%d secunde)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "structurã invalidã a cardului OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "semnãturã %s, algoritm rezumat %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "semnãturi create pânã acum: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verificarea PIN-ului Admin este deocamdatã interzisã prin aceastã comandã\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nu pot accesa %s - card OpenPGP invalid?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7073,72 +7141,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "|N|PIN Nou"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|FIªIER|încarcã modulul extensie FIªIER"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NUME|foloseºte NUME ca destinatar implicit"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NUME|foloseºte NUME ca destinatar implicit"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "nu folosi deloc terminalul"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "aratã comenzi administrare"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Folosire: gpg [opþiuni] [fiºiere] (-h pentru ajutor)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7177,11 +7249,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "ajutor"
@@ -7213,209 +7285,210 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "exportul cheilor secrete nu este permis\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "eroare la obþinerea numãrului serial: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "citirea cheii publice a eºuat: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "am eºuat sã stochez cheia: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "NOTÃ: cheia a fost revocatã"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "verificarea semnãturii create a eºuat: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "exportul cheilor secrete nu este permis\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Aceastã cheie a expirat!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Aceastã cheie a expirat!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Aceastã cheie a expirat!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Aceastã cheie a expirat!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "semnãturi create pânã acum: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Certificat de revocare creat.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "certificat incorect"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 #, fuzzy
 msgid "  (     issuer valid from "
 msgstr "      Card nr. serie ="
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "Amprenta CA: "
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "genereazã un certificat de revocare"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "verificarea semnãturii create a eºuat: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verificã o semnãturã"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "preferinþa `%s' duplicatã\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Certificat de revocare creat.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "certificat incorect"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7481,19 +7554,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "eroare la obþinerea informaþiei pentru cheia curentã: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7703,7 +7776,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "cheia secretã \"%s\" nu a fost gãsitã: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "eroare la citire keyblock: %s\n"
@@ -7841,7 +7914,7 @@ msgstr "adaug
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NUME|foloseºte NUME ca cheie secretã implicitã"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|foloseºte acest server de chei pentru a cãuta chei"
@@ -7863,8 +7936,8 @@ msgstr "Folosire: gpg [op
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sintaxã: gpg [opþiuni] [fiºiere]\n"
 "sign, check, encrypt sau decrypt\n"
@@ -7901,26 +7974,26 @@ msgid "%s:%u: skipping this line\n"
 msgstr "  s = sãri peste cheia asta\n"
 
 #
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "nu pot accesa `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7938,12 +8011,7 @@ msgstr "genereaz
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "am eºuat sã stochez cheia: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "eroare la obþinere noului PIN: %s\n"
@@ -7958,46 +8026,42 @@ msgstr "eroare la ob
 msgid "error reading input: %s\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "inelul de chei `%s' creat\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "am eºuat sã stochez amprenta: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "eroare la obþinerea numãrului serial: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "eroare la obþinerea numãrului serial: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? probleme la verificare revocãrii: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "eroare la citire `%s': %s\n"
@@ -8183,150 +8247,150 @@ msgstr "eroare trimitere la `%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|foloseºte modul frazã-parolã N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "eroare la crearea frazei-parolã: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NUME|foloseºte NUME ca cheie secretã implicitã"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NUME|cifrare pentru NUME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
 #
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NUME|foloseºte algoritm cifrare NUME pentru fraza-parolã"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8587,6 +8651,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "eroare la citire `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "am eºuat sã stochez cheia: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Comandã> "
 
@@ -8606,10 +8678,6 @@ msgstr ""
 #~ msgid "Repeat passphrase\n"
 #~ msgstr "Repetaþi fraza-parolã\n"
 
-#, fuzzy
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "||Vã rugãm introduceþi PIN%%0A[semnãturi fãcute: %lu]"
-
 #~ msgid "|A|Admin PIN"
 #~ msgstr "|A|PIN Admin"
 
@@ -9177,9 +9245,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "a fost folositã o cheie secretã greºitã"
 
-#~ msgid "not supported"
-#~ msgstr "nu este suportat(ã)"
-
 #~ msgid "bad key"
 #~ msgstr "cheie incorectã"
 
index b0104fe..dee60fe 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index af5c6d4..a234223 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -11,17 +11,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GnuPG 2.0.10\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2008-12-21 00:40+0200\n"
 "Last-Translator: Maxim Britov <maxim.britov@gmail.com>\n"
 "Language-Team: Russian <gnupg-ru@gnupg.org>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "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"
+"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"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr ""
@@ -31,21 +32,21 @@ msgstr ""
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Стойкость:"
 
@@ -55,160 +56,163 @@ msgstr "Стойкость:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Стойкость введенного выше текста. Можете прокосультироваться у Вашего "
 "администратора о критериях оценки стойкости."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr "Введите PIN-код для получения доступа к закрытому ключу"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Введите фразу-пароль для получения доступа к закрытому ключу"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (попытка %d из %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN слишком длинен"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "фраза-пароль слишком длинная"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Недопустимый символ в PIN-коде"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN-код слишком короткий"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "плохой PIN"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Неверная фраза-пароль"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Фраза-пароль"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "не поддерживаются ssh ключи превышающие %d бит\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "не могу создать `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "не могу открыть `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "ошибка получения серийного номера карты: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "обнаружена карта, серийный номер: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "ошибка получения аутентификационного keyID по умолчанию карты: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "в карте не обнаружен пригодный ключ: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "сбой записи ключа: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Введите фразу-пароль для ssh ключа%0A  %c"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Повторно введите фразу-пароль:"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Введите фразу-пароль для защиты принятого закрытого ключа%%0A   %s%%0Aвнутри "
 "хранилища ключей gpg-agent"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "не совпало, попробуйте еще раз"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "сбой создания потока из сокета: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -228,7 +232,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -346,15 +350,16 @@ msgid "Yes, protection is not needed"
 msgstr "Да, защита мне не нужна"
 
 #: agent/genkey.c:308
-#, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+#, fuzzy, c-format
+#| msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Введите фразу-пароль%0Aдля защиты нового ключа"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Введите новую фразу-пароль"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -363,113 +368,121 @@ msgstr ""
 "@Параметры:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "запуск в режиме сервера (foreground)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "запуск в режиме демона (background)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "запуск в режиме сервера (foreground)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "подробно"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "уменьшить количество выводимой информации"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "вывод результатов в sh-стиле"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "вывод результатов в csh-стиле"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|взять параметры из FILE"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "не отсоединяться от консоли"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "не перехватывать события мыши и клавиатуры"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "использовать файл журнала для сервера"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "стандартное расположение сокета"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|использовать PGM как PIN-Entry"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM| использовать PGM как SCdaemon"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "не использовать SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "игнорировать запросы смены TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "игнорировать запросы смены X дисплея"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|кеш PIN просрочен после N секунд"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "не использовать кеш PIN при подписывании"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "позволить клиентам помечать ключи как \"доверяемые\""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "разрешить предустановленную фразу-пароль"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "разрешить эмуляцию ssh-агента"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|FILE|сохранить состояние окружения и в файл"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "О найденных ошибка сообщайте <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Использование: gpg-agent [параметры] (-h для подсказки)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -477,155 +490,156 @@ msgstr ""
 "Синтаксис: gpg-agent [параметры] [команда [аргументы]]\n"
 "Управление закрытыми ключами для GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "запрошен недупустимый уровень отладки `%s'\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s слишком устарело (требуется %s, имеется %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "ЗАМЕЧАНИЕ: файл конфигурации `%s' не обнаружен\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "файл конфигурации `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "параметры конфигурации из файла `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "ошибка создания `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "не могу создать каталог `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "имя сокета слишком длинное\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "не могу создать сокет: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "имя сокета `%s' слишком длинное\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent уже запущен - еще один, новый, запущен не будет\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "ошибка связывния сокета с `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "слушаем сокет `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "создан каталог `%s'\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "невозможно использовать `%s' как домашний каталог\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s: остановлен\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "нет gpg-agent доступого для данной сессии\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "неправильная переменная окружения GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "протокол gpg-agent версии %d не поддерживается\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 "Использование: gpg-preset-passphrase [параметры] KEYGRIP (-h для подсказки)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -633,7 +647,7 @@ msgstr ""
 "Синтаксис: gpg-preset-passphrase [параметры] KEYGRIP\n"
 "Кеширование паролей\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -642,7 +656,7 @@ msgstr ""
 "@Команды:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -654,11 +668,11 @@ msgstr ""
 "Параметры:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Использование: gpg-protect-tool [параметры] (-h для подсказки)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -666,21 +680,21 @@ msgstr ""
 "Синтаксис: gpg-protect-tool [параметры] [аргументы]\n"
 "Инструмент для работы с закрытыми ключами\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Введите фразу-пароль для доступа к PKCS#12 объекту."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Введите фразу-пароль для защиты нового PKCS#12 объекта."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr "Введите фразу-пароль для защиты импортированных в GnuPG объектов."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -688,15 +702,15 @@ msgstr ""
 "Введите фразу-пароль или PIN\n"
 "необходимые для выполения данной операции."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Фраза-пароль:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "отменено\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "ошибка запроса ввода фразы-пароля: %s\n"
@@ -816,8 +830,8 @@ msgstr "Cменить фразу-пароль"
 msgid "I'll change it later"
 msgstr "Сменю позже"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr ""
@@ -857,12 +871,12 @@ msgstr "ошибка запуска `%s': позможно не установл
 msgid "error running `%s': terminated\n"
 msgstr "ошибка чтения `%s': прервано\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr ""
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "хост не найден"
 
@@ -891,17 +905,17 @@ msgstr "прервано пользователем\n"
 msgid "problem with the agent\n"
 msgstr "проблема с агентом\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "не могу отключить создание файла дампа образа памяти: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "ВНИМАНИЕ: небезопасный владелец %s \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "ВНИМАНИЕ: небезопасные права доступа %s \"%s\"\n"
@@ -1124,11 +1138,11 @@ msgstr "Цепочка сертифицирования действительн
 msgid "Root certificate trustworthy"
 msgstr "Корневой сертификат достоверен"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "не найдена CRL для сертификата"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "достпуная CRL слишком стара"
 
@@ -1202,7 +1216,7 @@ msgstr "неожидаемый формат ASCII:"
 msgid "invalid dash escaped line: "
 msgstr "неправильный отступ из минусов: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "недопустимый символ radix64 %02X пропущен\n"
@@ -1219,7 +1233,7 @@ msgstr "преждевременный конец файла (в CRC)\n"
 msgid "malformed CRC\n"
 msgstr "поврежденный CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "ошибка CRC; %06lX - %06lX\n"
@@ -1232,16 +1246,16 @@ msgstr "преждевременный конец файла (в дополне
 msgid "error in trailer line\n"
 msgstr "ошибка в строке дополнения\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "не найдено данных формата OpenPGP.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "неправильный ASCII формат: строка длиннее %d символов\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1276,7 +1290,7 @@ msgstr "ВНИМАНИЕ: обнаружено недопустимое прим
 msgid "not human readable"
 msgstr "не читаемое человеком"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Карта OpenPGP недоступна: %s\n"
@@ -1286,8 +1300,8 @@ msgstr "Карта OpenPGP недоступна: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Обнаружена карта OpenPGP номер %s \n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "невозможно сделать это в пакетном режиме\n"
 
@@ -1295,211 +1309,211 @@ msgstr "невозможно сделать это в пакетном режи
 msgid "This command is only available for version 2 cards\n"
 msgstr "Данная команда допустима только для карт версии 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reset Code не задан или недоступен\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Ваш выбор (?-подробнее)? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[не установлено]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "мужской"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "женский"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "не задан"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "отключен"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "включен"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Ошибка: Допустим только чистый ASCII.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Ошибка: Нельзя использовать символ \"<\".\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Ошибка: Двойные пробелы недопустимы.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Фамилия владельца карты:"
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Имя владельца карты:"
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Ошибка: Скомбинированное имя слишком длинное (предел %d символов).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "URL для получения открытого ключа: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Ошибка: URL слишком длинный (предел - %d символов).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "ошибка распределения памяти: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "ошибка чтения `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "ошибка записи в `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Учетная запись (имя):"
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Ошибка: Данные учетной записи слишком длинные (предел %d символов).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Секретные DO данные:"
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Ошибка: Секретные DO данные слишком длинные (предел %d символов).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Предпочитаемый язык: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Ошибка: недопустимая длина строки предпочтений.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Ошибка: недопустимые символы в строке предпочтений.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Пол ((M)Мужской, (F)Женский или пробел): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Ошибка: недопустимый ответ.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "отпечаток CA: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Ошибка: неправильный формат отпечатка.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "операция с ключом невозможна: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "карта не OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "ошибка при считывании информации ключа: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Заменить существующий ключ? (y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Какой размер ключа необходим? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Какой размер ключа необходим? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Какой размер ключа необходим? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "округлен до %u бит\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "размер ключей %s должен быть в пределах %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "ошибка связывния сокета с `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Сделать резервную копию ключа шифрования вне карты? (Y/n)"
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "секретный ключ уже сохранен в карте\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Заменить существующие ключи? (y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1510,129 +1524,129 @@ msgstr ""
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "Следует изменить их используя команду --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Выберите тип создаваемого ключа:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Ключ подписи\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Ключ шифрования\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Ключ аутентификации\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Неправильный выбор.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Выберите, где сохранить ключ:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "неизвестный алгоритм защиты ключа\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "секретные части ключа недоступны\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "секретный ключ уже сохранен в карте\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "сбой записи ключа: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "выйти из этого меню"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "показать управляющие команды"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "показать данную справку"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "вывести все доступные данные"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "изменить имя владельца карты"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "изменить URL получения ключа"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "запросить ключ, указанный по заданному картой URL"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "изменить учетное имя"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "изменить языковые предпочтения"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "изменение пола владельца карты"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "сменить отпечаток CA"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "сгенерировать новые ключи"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "меню изменения или разблокировки PIN"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "проверить PIN и показать все данные"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "разблокировать PIN используя Reset Code"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Команды администратора\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Команды администрирования разрешены\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Команды администрирования не разрешены\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Недопустимая команда  (список команд: \"help\")\n"
 
@@ -1640,18 +1654,18 @@ msgstr "Недопустимая команда  (список команд: \"h
 msgid "--output doesn't work for this command\n"
 msgstr "--output не работает для данной команды\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "не могу открыть `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ключ \"%s\" не найден: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1750,7 +1764,7 @@ msgstr "ВНИМАНИЕ: сжатие алгоритмом %s (%d) наруша
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "использование шифра %s (%d) противоречит предпочтениям получателя\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "Нельзя использовать %s в режиме %s\n"
@@ -1760,75 +1774,75 @@ msgstr "Нельзя использовать %s в режиме %s\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s зашифровано для: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "Данные зашифрованы алгоритмом %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "зашифровано неизвестным алгоритмом %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "ВНИМАНИЕ: сообщение было зашифровано слабым ключом симметричного шифра.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "проблема обработки зашифрованного пакета\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "удаленный запуск программы не поддерживается\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr "вызов внешних программ отключен из-за небезопасных прав доступа\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "на данной платформе требуется использование временных файлов при вызове "
 "внешних программ\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "не могу запустить программу `%s': %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "не могу запустить оболочку `%s': %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "ошибка системы при вызове внешней программы: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "ненормальное завершение внешней программы\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "не могу запустить внешнюю программу\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "не могу прочитать ответ внешней программы: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "ВНИМАНИЕ: не могу удалить временный файл (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "ВНИМАНИЕ: не могу удалить временный каталог `%s': %s\n"
@@ -1920,193 +1934,193 @@ msgstr "ошибка получения `%s' через %s: %s\n"
 msgid "No fingerprint"
 msgstr "Нет отпечатка"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Дефектный ключ %s признан пригодным согласно параметра --allow-non-"
 "selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "нет секретного подключа для открытого подключа %s - игнорируем\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "использую подклключ %s вместо главного ключа %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "ключ %s: секретный ключ без открытого ключа - пропущен\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "создать подпись"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "создать прозрачную подпись"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "создать отделенную подпись"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "зашифровать данные"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "зашифровать только симметричным шифром"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "расшифровать данные (по умолчанию)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "проверить подпись"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "вывести список ключей"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "вывести список ключей и подписи"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "вывести и проверить подписи"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "вывести список ключей c отпечатками"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "вывести список секретных ключей"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "создать новую пару ключей"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "создать сертификат отзыва"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "удалить ключи из таблицы открытых ключей"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "удалить ключи из таблицы закрытых ключей"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "подписать ключ"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "подписать ключ локально"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "подписать или редактировать ключ"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "сменить фразу-пароль"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "экспортировать ключи"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "экспортировать ключи на сервер ключей"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "импортировать ключи с сервера ключей"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "искать ключи на сервере ключей"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "обновить все ключи с сервера ключей"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "импортировать/объединить ключи"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "показать состояние карты"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "изменить данные на карте"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "сменить PIN карты"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "обновить таблицу доверий"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "вывести хэши файлов"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "запуск в режиме сервера"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "вывод в ASCII формате"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|зашифровать для USER-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|использовать USER-ID для подписывания и расшифрования"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|установить уровень сжатия N (0 без сжатия)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "использовать канонический текстовый режим"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|взять параметры из FILE"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "не делать никаких изменений"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "спросить перед перезаписью"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "строго следовать стандарту OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2114,7 +2128,7 @@ msgstr ""
 "@\n"
 "(См. документацию для более полного ознакомления с командами и параметрами)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2134,21 +2148,26 @@ msgstr ""
 " --list-keys [имена]        показать ключи\n"
 " --fingerprint [имена]      показать отпечатки\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Использование: gpg [параметры] [файлы] (-h для подсказки)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Синтаксис: gpg [параметры] [файлы]\n"
 "Подписи и их проверка, зашифрование и расшифрование.\n"
 "Действие по умолчанию зависит от входных данных.\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2156,92 +2175,92 @@ msgstr ""
 "\n"
 "Поддерживаются следующие алгоритмы:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "  с открытым ключом: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "  симметричные шифры: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "  хэш-функции: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "  алгоритмы сжатия: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "использование: gpg [параметры] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "несовместимые команды\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "отсутствует знак = в определении группы `%s'\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасный владелец домашнего каталога `%s'\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасный владелец файла конфигурации `%s'\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасный владелец файла модуля расширения `%s'\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасные права доступа у домашнего каталога `%s'\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасные права доступа у файла конфигурации `%s'\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "ВНИМАНИЕ: небезопасные права доступа у файла модуля расширения `%s'\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "ВНИМАНИЕ: небезопасный владелец каталога содержащего домашний каталог `%s'\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
 "ВНИМАНИЕ: небезопасный владелец каталога содержащего файл конфигурации `%s'\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "ВНИМАНИЕ: небезопасный владелец каталога содержащего модуль расширения `%s'\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "ВНИМАНИЕ: небезопасные права доступа у каталога содержащего домашний каталог "
 "`%s'\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2249,465 +2268,465 @@ msgstr ""
 "ВНИМАНИЕ: небезопасные права доступа у каталога содержащего файл "
 "конфигурации `%s'\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "ВНИМАНИЕ: небезопасные права доступа у каталогу содержащего файл модуля "
 "расширения `%s'\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "неизвестный параметр в файле конфигурации `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "отображать Фото ID при распечатке ключей"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "показывать ссылку на политики при распечатке подписей"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "показывать все примечания при распечатке подписей"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "показывать стандартные IETF примечания при распечатке подписей"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 "показывать добавленные пользователем примечания при распечатке подписей"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "показывать предпочитаемый сервер ключей при распечатке подписей"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "показывать действительность Used ID при распечатке ключей"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "показывать отозванные и просроченные User ID при распечатке ключей"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "показывать отозванные и просроченные ключи при распечатке ключей"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "печатать имя таблиц ключей при распечатке ключей"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "печатать даты истечения при распечатке подписей"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "ЗАМЕЧАНИЕ: старый файл конфигурации по умолчанию `%s' проигнорирован\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libcrypt слишком старой версии (требуется %s, обнаружено %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "ЗАМЕЧАНИЕ: %s не предназначен для обычного применения!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' недопустимый срок действия подписи\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' недопустимая таблица символов\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "не могу проанализировать URL сервера ключей\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: недопустимые параметры для сервера ключей\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "недопустимые параметры для сервера ключей\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: недопустимые параметры импорта\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "недопустимые параметры импорта\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: недопустимые параметры экспорта\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "недопустимые параметры экспорта\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: недопустимый список параметров\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "недопустимый список параметров\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "отображать Фото ID при проверке подписи"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "печатать ссылку на политики при проверке подписи"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "печатать все примечания в процессе проверки подписей"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "печатать стандартные IETF примечания в процессе проверки подписей"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "печатать добавленные пользователем примечания при проверке подписей"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "печатать предпочитаемые серверы ключей при проверке подписей"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "печатать действительность UserID при проверке подписей"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "печатать отозванные и просроченные User ID при проверке подписей"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "печатать только главный User ID при проверке подписей"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: недопустимые параметры проверки \n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "недопустимые параметры проверки\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "не могу определить путь запуска для %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: недопустимый список auto-key-locate\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "недопустимый список auto-key-locate\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "ВНИМАНИЕ: возможно создание файла дампа памяти программы!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ВНИМАНИЕ: %s заместит %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s не допускается использовать с %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s не имеет смысла совместно с %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "не будет работать с небезопасной памятью из-за %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "можно сделать только отделенную или прозрачную подпись в режиме --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "Нельзя одновременно подписать и зашифровать в режиме --pgp2\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "Следует использовать файлы (а не каналы (pipe)) в режиме --pgp2.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "для зашифрования сообщения в режиме --pgp2 требуется шифр IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "выбран неверный алгоритм шифрования\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "выбрана неверная хэш-функция\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "выбран неверный алгоритм сжатия\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "выбрана неверная хэш-функция для сертификации\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed должен быть больше 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed должен быть больше 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth должен быть в диапазоне от 1 до 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "недопустимый default-cert-level; должен быть 0, 1, 2 или 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "недопустимый min-cert-level; должен быть 0, 1, 2 или 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "ЗАМЕЧАНИЕ: простой режим S2K (0) строго не рекомендуется\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "недопустимый режим S2K; должно быть 0, 1 или 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "недопустимые предпочтения по умолчанию\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "недопустимые персональные предпочтения шифра\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "недопустимые персональные предпочтения хэш-функции\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "недопустимые персональные предпочтения алгоритмов сжатия\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s пока не работает совместно с %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "нельзя использовать шифрование `%s' в режиме %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "нельзя использовать хэш-функцию `%s' в режиме %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "нельзя использовать сжатие `%s' в режиме %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "сбой инициализации таблицы доверий: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ВНИМАНИЕ: получатели (-r) заданы без использования шифрования с открытым "
 "ключом\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [файл]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [файл]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "симметричное шифрование `%s' не удалось: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [файл]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [файл]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "нельзя использовать --symmetric --encrypt совместно с --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "невозможно использовать --symmetric --encrypt в режиме %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [файл]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [файл]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [файл]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "нельзя использовать --symmetric --sign --encrypt совместно с --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "невозможно использовать --symmetric --sign --encrypt в режиме %s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [файл]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [файл]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [файл]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [команды]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "сбой при отправке на сервер ключей: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "сбой при получении с сервера ключей: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "сбой при экспорте ключа: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "сбой при поиске на сервере ключей: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "сбой при обновлении с сервера ключей: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "ошибка преобразования из ASCII формата: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "ошибка преобразования в ASCII формат: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "недопустимая хэш-функция `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[имяфайла]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Набирайте Ваше сообщение ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "заданный URL политики сертификации неверен\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "заданный URL политики подписи неверен\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "заданный URL предпочитаемого сервера ключей неправилен\n"
 
@@ -2745,121 +2764,121 @@ msgstr "Нет доступной справки"
 msgid "No help available for `%s'"
 msgstr "Нет справки для `%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "импорт подписи помеченной как локальная"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "не обновлять таблицу доверий после импорта"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "создать открытый ключ при импорте секретного ключа"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "принимать только обновления имеющихся ключей"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "удалять неиспользуемые части из ключа после импорта"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "удалять всё что возможно из ключа после импорта"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "пропущен блок типа %d\n"
 
 # test it
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu ключей обработано\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Всего обработано: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        пропущено новых ключей: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                   без User ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                 импортировано: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  неизмененных: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "                 новых User ID: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "               новых подключей: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                новых подписей: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          новых отзывов ключей: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "    прочитано секретных ключей: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "импортировано секретных ключей: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " неизмененных секретных ключей: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              не импортировано: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    подписей очищено: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      очищено User ID: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2868,351 +2887,367 @@ msgstr ""
 "ВНИМАНИЕ: ключ %s содержит предпочтения для недоступных\n"
 "алгоритмов для данных User IDs:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": предпочитает шифр %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": предпочитает хеш-функцию %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": предпочитает сжатие %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "крайне желательно, чтобы Вы обновили Ваши предпочтения и\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "распространите данный ключ, чтобы избежать потенциальных проблем "
 "несовпадения алгоритмов\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "можете обновить список предпочтений используя: gpg --edit-key %s updpref "
 "save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "ключ %s: не имеет User ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "пропущено \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "ключ %s: PKS повреждение подключа исправлено\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "ключ %s: принят несамоподписанный User ID \"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "ключ %s: нет действительных User ID\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "причиной этого может быть отсутствие самоподписи\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "ключ %s: не найден открытый ключ: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "ключ %s: новый ключ - пропущен\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "нет доступной для записи таблицы ключей: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "сохраняю в `%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "ошибка записи таблицы ключей `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "ключ %s: открытый ключ \"%s\" импортирован\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "ключ %s: не совпадает с копией хранимой у нас\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "ключ %s: не нахожу оригинальный блок ключей: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "ключ %s: не могу прочитать оригинальный блок ключей: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "ключ %s: \"%s\" 1 новый User ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "ключ %s: \"%s\" %d новых User ID\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "ключ %s: \"%s\" 1 новая подпись\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "ключ %s: \"%s\" %d новых подписей\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "ключ %s: \"%s\" 1 новый подключ\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "ключ %s: \"%s\" %d новых подключей\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "ключ %s: \"%s\" %d подпись очищена\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "ключ %s: \"%s\" %d очищеных подписей\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "ключ %s: \"%s\" %d User ID очищен\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "ключ %s: \"%s\" %d  очищенных User ID\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "ключ %s: \"%s\" не изменен\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "ключ %s: секретный ключ с недопустимым шифром %d - пропущен\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "секретный ключ \"%s\" не найден: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "импортирование секретного ключа не позволено\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "ключ %s: секретный ключ с недопустимым шифром %d - пропущен\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "нет основной таблицы секретных ключей: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "ключ %s: секретный ключ импортирован\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "ключ %s: уже есть в таблице секретных ключей\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "ключ %s: не найден секретный ключ: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "ключ %s: нет открытого ключа - не могу применить сертификат отзыва\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "ключ %s: неправильный сертификат отзыва: %s - отвергнут\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "ключ %s: \"%s\" сертификат отзыва импортирован\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "ключ %s: нет User ID для подписи\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "ключ %s: неподдерживаемый алгоритм с открытым ключом у User ID \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "ключ %s: неправильная самоподпись на User ID \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "ключ %s: неподдерживаемый алгоритм с открытым ключом\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "ключ %s: direct key signature добавлена\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "ключ %s: нет подключа для связывания подключей\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "ключ %s: неправильная связь подключей\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "ключ %s: удалено многократное связывание подключей\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "ключ %s: нет подключа для отзывающего ключа\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "ключ %s: неправильный отзыв подключа\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "ключ %s: удалена многожественность подключей отзыва\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "ключ %s: пропущен User ID \"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "ключ %s: пропущен подключ\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "ключ %s: не экспортируемая подпись (класс 0x%02X) - пропущена\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "ключ %s: сертификат отзыва в неправильном месте - пропущен\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "ключ %s: неправильный сертификат отзыва: %s - пропущен\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "ключ %s: подпись подключа в неправильном месте - пропущена\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "ключ %s: неизвестный класс подписи (0x%02X) - пропущена\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "ключ %s: обнаружено дублирование User ID - объединены\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "ВНИМАНИЕ: ключ %s возможно отозван: запрашиваю ключ отзыва %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "ВНИМАНИЕ: ключ %s возможно отозван: ключ отзыва %s не получен.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "ключ %s: \"%s\" добавлен сертификат отзыва\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "ключ %s: direct key signature добавлена\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "ПРЕДУПРЕЖДАЮ: S/N ключа не соответствует S/N ключа на карте\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ПРЕДУПРЕЖДАЮ: главный ключ готов и сохранен в карте\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ПРЕДУПРЕЖДАЮ: вторичный ключ готов и сохранен в карте\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "ошибка создания таблицы ключей `%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "создана таблица ключей `%s'\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr ""
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "сбой перестройки кэша таблицы ключей: %s\n"
@@ -3305,12 +3340,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User ID \"%s\" отозван."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Вы уверены, что хотите подписать? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Не могу подписать.\n"
 
@@ -3493,8 +3528,8 @@ msgstr "Я очень тщательно проверил этот ключ.\n"
 msgid "Really sign? (y/N) "
 msgstr "Действительно подписать? (y/N)"
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "не удалось подписать: %s\n"
@@ -3503,19 +3538,19 @@ msgstr "не удалось подписать: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Данный ключ не защищен.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Секретная часть главного ключа отсутствует.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Секретная часть главного ключа сохранена на карте.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Ключ защищен.\n"
 
@@ -3532,7 +3567,7 @@ msgstr ""
 "Введите новую фразу-пароль для данного секретного ключа.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "повторный ввод фразы-пароля некорректен; попробуйте еще раз"
 
@@ -3704,24 +3739,24 @@ msgstr "сжать неиспользуемые User ID и удалить неи
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "сжать неиспользуемые User ID и удалить все подписи с ключа"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "ошибка чтения секретного блока ключа \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Секретный ключ доступен.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Для данного действия нужен секретный ключ.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Сначала воспользуйтесь командой \"toggle\".\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3733,225 +3768,225 @@ msgstr ""
 "  `t' - trust подпись (tsign), `nr' - без возможности отзыва\n"
 "  (nrsign) или любым их сочетанием (ltsign, tnrsign и т.д.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Ключ отозван."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Действительно хотите подписать ВСЕ User ID? (y/N)"
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Совет: Выберите User ID для подписания\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Неизвестный тип подписи `%s'\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Данная команда не допустима в режиме %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Следует выбрать хотя бы один User ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Нельзя удалить последний User ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Действительно хотите удалить ВСЕ выбранные User IDs? (y/N)"
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Действительно хотите удалить данный User ID? (y/N)"
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Действительно удалить главный ключ? (y/N)"
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Следует выбрать хотя бы один ключ.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Команда ожидает аргумент: имя файла\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Не могу открыть `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Ошибка чтения резервного ключа с `%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Следует выбрать хотя бы один ключ.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Действительно хотите удалить выбранные ключи? (y/N)"
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Действительно хотите удалить данный ключ? (y/N)"
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Действительно отозвать ВСЕ выбранные User ID? (y/N)"
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Действительно отозвать данный User ID? (y/N)"
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Действительно хотите отозвать ключ целиком? (y/N)"
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Действительно хотите отозвать выбранные подключи? (y/N)"
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Действительно хотите отозвать данный подключ? (y/N)"
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Доверие владельцу не может быть настроено с предоставленной пользователем "
 "таблицы доверий\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Установить предпочтения в:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Действительно обновить предпочтения для выбранных User ID? (y/N)"
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Действительно обновить предпочтения? (y/N)"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Сохранить изменения? (y/N)"
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Выйти без сохранения? (y/N)"
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "сбой при обновлении: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "сбой при обновлений секретного ключа: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Ключ не изменялся - обновление не нужно.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Хэш-функции: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Опции: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Предпочитаемый сервер ключей: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Примечания: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Не может быть предпочтений в PGP 2.x-стиле User ID.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Данный ключ был отозван %s - %s ключом %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Данный ключ может быть отозван %s ключом %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr ""
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "создан: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "отозван: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "просрочен с: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "годен до: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "применяемость: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "доверие: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "достоверность: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Данный ключ отключен"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3959,17 +3994,17 @@ msgstr ""
 "Учтите, что показанные степени достоверности могут быть неверными,\n"
 "пока программа не будет перезапущена.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "отозван"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "просрочен с"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -3977,7 +4012,7 @@ msgstr ""
 "ВНИМАНИЕ: нет User ID помеченного как главный. Данная команда может\n"
 "              воспользоваться другим user ID, используя его как главный.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3986,74 +4021,74 @@ msgstr ""
 "ВНИМАНИЕ: Это ключ PGP2.  Добавление фото ID может в некоторых версиях\n"
 "         PGP вызвать выбраковку ключа.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Вы уверены, что хотите добавить это? (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Нельзя добавлять фото ID в ключ PGP2-типа.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Удалить данную действительную подпись? (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Удалить данную недействительную подпись? (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Удалить данную неизвестную подпись? (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Действительно удалить данную самоподпись? (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Удалена %d подпись.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Удалено %d подписи.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Ничего не удалено.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "недопустимый"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID \"%s\": сжат: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "User ID \"%s\": %d подпись удалена\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "User ID \"%s\": %d удалено подписей\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID \"%s\": уже минимизирован\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID \"%s\": уже очищен\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4062,261 +4097,261 @@ msgstr ""
 "ВНИМАНИЕ: Это ключ PGP 2.x. Добавление назначенного отзывающим ключа\n"
 "          может в некоторых версиях PGP вызвать выбраковку ключа.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Нельзя добавлять назначенный отзывающим ключ в PGP 2.x ключ.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Укажите User ID ключа, назначенного отзывающим: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "нельзя назначить ключ PGP 2.x отзывающим\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "ключ не может быть назначен отзывающим сам себя\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "этот ключ уже назначен отзывающим\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "ВНИМАНИЕ: назначение ключа отзывающим невозможно будет отменить!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Вы уверены, что хотите назначить данный ключ отзывающим? (y/N)"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Снимите выделение с секретного ключа.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Выделите не менее одного подключа.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Смена срока действительности подключа.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Смена срока действия главного ключа\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Нельзя изменять срок действия v3 ключа\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Нет соответствующей подписи в связке секретных\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "подписываемый подключ %s уже имеет перекрестную сертификацию\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "подключ %s не подписывающий и не нуждается в перекрестной подписи\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Выберите только один User ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "пропуск v3 самоподписи на User ID \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Введите URL предпочтаемого сервера ключей: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Действительно хотите заменить его? (y/N)"
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Действительно хотите удалить его? (y/N)"
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Введите примечание:"
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Обработать? (y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Нет User ID с индексом %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Нет User ID с хешем %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Нет подключа с индексом %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "User ID: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "подписано Вашим ключом %s от %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (не экспортируемая)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Срок действительности подписи закончился %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Вы уверены, что хотите отозвать? (y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Создать сертификат отзыва для данной подписи? (y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Вы подписали данные User ID на ключе %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (не отзываемая)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "отзыв Вашим ключом %s от %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Вы отзываете следующие подписи:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Действительно создать сертификат отзыва? (y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "нет секретного ключа\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User ID \"%s\" уже отозван\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "ВНИМАНИЕ: User ID подпись датирована %d секундами в будущем\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Ключ %s уже отозван\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Подключ %s уже отозван\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Показ %s фото ID размера %ld для ключа %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "предпочтение `%s' дублируется\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "слишком много предпочтений для шифра\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "слишком много предпочтений для хэш-функций\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "слишком много предпочтений для методов сжатия\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "недопустимое вхождение `%s' в строке предпочтений\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr ""
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "сохраняем самоподпись\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "сохраняем объединяющую подпись\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "неверный размер ключа; используется %u бит\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "размер ключа приведен к %u битам\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "ВНИМАНИЕ: некоторые реализации OpenPGP не смогут обработать DSA ключи с "
 "такой длиной хеш-функции\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Подписать"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Сертифицировать"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Зашифровать"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Атентифицировать"
 
@@ -4330,104 +4365,104 @@ msgstr "Атентифицировать"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Возможные действия для ключа %s:"
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Допустимы действия:"
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Переключить возможность использования для подписи\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Переключить возможность использования для шифрования\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Переключить возможность использования для аутентификации\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Завершено\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Выберите требуемый тип ключа:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA и ElGamal (по умолчанию)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA и ElGamal (по умолчанию)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (только для подписи)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (только для подписи)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (только для шифрования)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (только для шифрования)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (с требуемыми возможностями)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (с требуемыми возможностями)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "ключи %s могут иметь длину от %u до %u бит.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Какой размер ключа необходим? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Какой размер ключа необходим? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Запрашиваемый размер ключа %u бит\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4443,7 +4478,7 @@ msgstr ""
 "      <n>m = срок действительности n месяцев\n"
 "      <n>y = срок действительности n лет\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4459,38 +4494,38 @@ msgstr ""
 "      <n>m = срок действительности подписи n месяцев\n"
 "      <n>y = срок действительности подписи n лет\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Ключ действителен до? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Подпись действительна до? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "недопустимое значение\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Ключ не имеет ограничения срока действительности\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Подпись не имеет ограничения срока действительности\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Ключ действителен до: %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Подпись действительна до: %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4498,11 +4533,11 @@ msgstr ""
 "Ваша система не может корректно отображать даты после 2038.\n"
 "Однако, даты не превышающие 2106 будут обработаны корректно.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Все верно? (y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4516,7 +4551,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4531,44 +4566,44 @@ msgstr ""
 "    \"Baba Yaga (pensioner) <yaga@deepforest.ru>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Ваше настоящее имя: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Недопустимый символ в Имени\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Имя не должно начинаться с цифры\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Имя не должно быть короче 5 символов\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Email-адрес: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Неправильный e-mail адрес\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Комментарий: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Недопустимый символ в комментарии\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Используемая таблица символов: `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4579,11 +4614,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Не вставляйте email-адрес в имя пользователя или комментарий\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4598,24 +4633,24 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr ""
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (Q)Выход? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Сначала исправьте ошибку\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4623,19 +4658,19 @@ msgstr ""
 "Для защиты секретного ключа необходима фраза-пароль.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Введите фразу-пароль для защиты импортированных в GnuPG объектов."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4647,7 +4682,7 @@ msgstr ""
 "запустив данную программу с ключом \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4660,50 +4695,50 @@ msgstr ""
 "обращения к дискам) в процессе генерации; это даст генератору\n"
 "случайных чисел возможность получить лучшую энтропию.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Создание ключа прервано.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "сохранение открытого ключа в `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "сохранение заглушки секретного ключа в `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "сохранение секретного ключа в `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "нет доступной для записи таблицы открытых ключей: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "нет доступной для записи таблицы закрытых ключей: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "ошибка записи таблицы открытых ключей `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "ошибка записи таблицы секретных ключей `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "открытый и закрытый ключи созданы и подписаны.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4711,44 +4746,44 @@ msgstr ""
 "Учтите, данный ключ не может использоваться для шифрования.  Можно\n"
 "воспользоваться командой \"--edit-key\" и создать подключ для этих целей.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Сбой при создании ключа: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr ""
 "ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "ЗАМЕЧАНИЕ: создание подключа для ключей v3 не совместимо с OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Действительно создать? (y/N)"
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "сбой сохранения ключа на карту: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "не могу создать резервную копию, файл `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "ЗАМЕЧАНИЕ: архивная копия ключа карты сохранена в `%s'\n"
@@ -4781,29 +4816,29 @@ msgstr "Примечание к подписи"
 msgid "Keyring"
 msgstr "Таблица ключей"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr " Отпечаток главного ключа:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "         Отпечаток подключа:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Отпечаток главного ключа:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "         Отпечаток подключа:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "Отпечаток ключа ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -4884,458 +4919,458 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "ВНИМАНИЕ: параметр сервера ключей `%s' не используется на данной платформе\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Введите число(а), N) Следующий или Q) Выход> "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "invalid keyserver protocol (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ключ \"%s\" не найден на сервере ключей\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "ключ не найден на сервере ключей\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "запрашиваю ключ %s с %s сервера %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "получение ключа %s с %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "поиск по именам %s на сервере %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "поиск по именам на %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "отправляю ключ %s на %s сервер %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "отправка ключа %s на %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "поиск \"%s\" на %s сервере %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "поиск \"%s\" на %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr ""
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "ВНИМАНИЕ: обработчик сервера ключей от другой версии GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "сервер ключей не прислал VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "не заданы серверы ключей (используйте --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "данная сборка не поддерживает внешние вызовы для сервера ключей.\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "нет обработчика для схемы сервера ключей `%s'\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "действие `%s' не поддерживается схемой сервера ключей `%s'\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s не поддерживает версию обработчика %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "превышено время ожидания сервера ключей\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "ошибка сервера ключей\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "ошибка связи с сервером ключей: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" не идентификатор ключа: пропущен\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ВНИМАНИЕ: невозможно обновить ключ %s с %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "обновление 1 ключа из %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "обновление %d ключей из %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ВНИМАНИЕ: невозможно загрузить ссылку %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "ВНИМАНИЕ: невозможно проанализировать ссылку %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "странный размер зашифрованного сеансового ключа (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "сеансовый ключ зашифрован %s\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "фраза-пароль создана с незнакомой хеш-фкнкцией %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "открытый ключ %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "данные зашифрованы открытым ключом: правильный DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "зашифровано %u-битным ключом %s, с ID %s, созданным %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "зашифровано ключом %s с ID %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "сбой расшифрования с открытым ключом: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "зашифровано с %lu фразами-паролями\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "зашифровано с 1 фразой-паролем\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "принятие %s зашифрованных данных\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "шифр IDEA недоступен, попробуйте использовать взамен %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "расшифровано\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ВНИМАНИЕ: целостность сообщения не защищена\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ВНИМАНИЕ: зашифрованное сообщение было изменено!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "сбой расшифрования: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "ЗАМЕЧАНИЕ: отправитель требует \"только для просмотра Вами\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "оригинальное имя файла='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "самостоятельный сертификат отзыва: \"gpg --import\" для применения\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "подпись не найдена\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "проверка подписи подавлена\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "не могу обработать эти множественные подписи\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Подпись сделана %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               ключом %s с ID %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Подпись создана %s ключом %s с ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Ключ доступен на:"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ПЛОХАЯ подпись от  \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Просроченная подпись от \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Действительная подпись от \"%s\""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[сомнительно]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Подпись просрочена %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Подпись действительна до %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s подпись, хэш-функция %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "двоичный"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "текстовый"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "неизвестно"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Не могу проверить подпись: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "не отделенная подпись\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "ВНИМАНИЕ: обнаружено множество подписей.  Только первая будет проверена.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "самостоятельная подпись класса 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "старый (PGP 2.x) стиль подписи\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr ""
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr ""
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
 "ВНИМАНИЕ: используется экспериментальный алгоритм %s шифрования с открытым "
 "ключом\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "ВНИМАНИЕ: Ключи Elgamal для шифрования+сжатие более не поддерживаются\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr ""
-"ВНИМАНИЕ: используется экспериментальный алгоритм симметричного шифрования %"
-"s\n"
+"ВНИМАНИЕ: используется экспериментальный алгоритм симметричного шифрования "
+"%s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "ВНИМАНИЕ: используется экспериментальная хеш-функция %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "ВНИМАНИЕ: хеш-функция %s считается устаревшей\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "модуль поддержки шифра IDEA не обнаружен\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "для дополнительной информации см. %s\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: не рекомендуемая опция \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ВНИМАНИЕ: \"%s\" не рекомендуемая опция\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "используйте \"%s%s\" взамен\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 "ВНИМАНИЕ: команда \"%s\" является устаревшей - не следует применять ее\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ВНИМАНИЕ: \"%s\" устаревший параметр - он не задействован\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "без сжатия"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr ""
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "данное сообщение может быть не пригодно для %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "двусмысленный параметр `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "неизвестный параметр `%s'\n"
@@ -5377,18 +5412,18 @@ msgstr "создан новый файл настроек `%s'\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "ВНИМАНИЕ: параметры в `%s' еще не активны при этом запуске\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "не могу использовать алгоритм с открытым ключом %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "ВНИМАНИЕ: потенциально небезопасный сеансовый ключ, зашифрованный "
 "симметричным шифром\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "подпакет типа %d имеет выставленный критический бит\n"
@@ -5443,7 +5478,7 @@ msgstr "%u-бит %s ключ, ID %s, создан %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (подключ на главном ключе %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5457,34 +5492,34 @@ msgstr ""
 "с Вашим открытым ключом и увеличит его размер, т.е. не следует брать очень\n"
 "большое изображение. Рекомендуемый размер около 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Введите имя JPEG файла для Фото ID: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "Не могу открыть JPEG файл `%s': %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Этот JPEG очень велик (%d байт)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Действительно хотите использовать его? (y/N)"
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "`%s' - не JPEG файл\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Данное фото правильное (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "не могу отобразить Фото ID!\n"
 
@@ -5516,6 +5551,16 @@ msgstr "причина отзыва: "
 msgid "revocation comment: "
 msgstr "прокомментируйте отзыв: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr ""
@@ -5699,25 +5744,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Нет уверенности в том, что подпись принадлежит владельцу.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: пропущено: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: пропущено: открытый ключ уже имеется\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Не задан User ID. (можете использовать \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Текущие получатели:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5725,42 +5770,42 @@ msgstr ""
 "\n"
 "Введите User ID.  Пустая строка для завершения: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Нет такого User ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "пропущено: открытый ключ уже установлен для получателя по умолчанию\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Открытый ключ отключен.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "пропущено: открытый ключ уже установлен\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "неизвестный получатель по умолчанию \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: пропущено: открытый ключ отключен\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "нет действительных адресов\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Замечание: ключ %s не умеет %s\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Замечание: ключ %s не имеет предпочтения для %s\n"
@@ -6053,17 +6098,23 @@ msgstr "ЗАМЕЧАНИЕ: подписавший ключ %s - просроч
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "ЗАМЕЧАНИЕ: ключ %s подписи - отозван\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s подпись, хэш-функция %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "принята плохая подпись ключа %s с неизвестным критическим битом\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "ключ %s: нет подключа для подключа отзывающей подписи\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "ключ %s: нет подключа для подписи связи подключей\n"
@@ -6150,7 +6201,7 @@ msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "это созданный PGP ElGamal ключ, не обеспечивающий безопасность подписи!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "запись о доверии %lu, тип %d: ошибка записи: %s\n"
@@ -6195,17 +6246,17 @@ msgstr "ошибка при поиске записи о доверии в `%s':
 msgid "read error in `%s': %s\n"
 msgstr "ошибка чтения в `%s': %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -6214,117 +6265,117 @@ msgstr ""
 msgid "trustdb transaction too large\n"
 msgstr "trustdb транзакция слишком длинная\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "нет доступа к `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: каталог не существует!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "невозможно создать блокировку для `%s'\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "невозможно заблокировать `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: сбой создания записи о версии: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: создана недействительная таблица доверий\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: создана таблица доверий\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "ЗАМЕЧАНИЕ: таблица доверий доступна только для чтения\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: недействительная таблица доверий\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: сбой создания таблицы хэшей: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: ошибка обновления записи о версии: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: ошибка чтения записи о версии: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: ошибка сохранения записи о версии: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr ""
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: не является файлом таблицы доверий\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: запись о версии с номером записи %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: неправильная версия файла %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: ошибка чтения свободной записи: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: ошибка внесения записи каталога: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: сбой обнуления записи: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: сбой добавления записи: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: создана таблица доверий\n"
@@ -6339,165 +6390,173 @@ msgstr "не могу обработать строки текста длинн
 msgid "input line longer than %d characters\n"
 msgstr "введенная строка превышает %d символов\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' не является допустимым длинным ID ключа\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "ключ %s: принят как доверяемый ключ\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "ключ %s встречается более одного раза в таблице доверий\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "ключ %s: нет открытого ключа для доверяемого ключа - пропущен\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "ключ %s помечен как абсолютно доверяемый.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "запись о доверии %lu, тип запроса %d: сбой чтения: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "запись о доверии %lu не запрашиваемого типа %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "не могу использовать неизвестную модель (%d) - использую %s модель доверий\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "использую %s модель доверий\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ отозван]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[просрочн]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[неизвстн]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[неопредл]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[ограничн]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ полное ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[абсолютн]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "неопределено"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "никогда"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "ограниченно"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "полное"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "абсолютно"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "нет необходимости в проверке таблицы доверий\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "срок следующей проверки таблицы доверий %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "нет необходимости проверять таблицу доверий при `%s' модели доверий\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "нет необходимости обновлять таблицу доверий при '%s' модели доверий\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "открытый ключ %s не найден: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "выполните --check-trustdb, пожалуйста\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "проверка таблицы доверий\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d ключей обработано (%d действующих записей очищено)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "не найдено абсолютно доверяемых ключей\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "открытый ключ для абсолютно доверяемого ключа %s не найден\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 "%d ограниченных необходимо, %d выполненных необходимо, %s модель доверия\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
@@ -6505,7 +6564,7 @@ msgstr ""
 "глубина: %d  корректных: %3d  подписанных: %3d  доверия: %d-, %dq, %dn, %dm, "
 "%df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6531,68 +6590,68 @@ msgstr "входная строка %u слишком длинная или пр
 msgid "can't open fd %d: %s\n"
 msgstr "не могу открыть fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "неожиданный параметр"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "ошибка чтения"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "ключевое слово слишком длинное"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "пропущен аргумент"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "недопустимая команда"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr ""
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr ""
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "недопустимый параметр"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "параметр \"%.50s\" не ожидает аргумента\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Недопустимая команда \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "параметр \"%.50s\" не понят\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "команда \"%.50s\" не понята\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr ""
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "недопустимый параметр \"%.50s\"\n"
@@ -6602,22 +6661,17 @@ msgstr "недопустимый параметр \"%.50s\"\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Вы нашли ошибку ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "ошибка загрузки `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "преобразование из `%s' в `%s' недоступно\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "сбой преобразования `%s' в `%s': %s\n"
@@ -6673,26 +6727,30 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Использование: kbxutil [параметры] [файлы] (-h для подсказки)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
+#| msgid ""
+#| "Syntax: kbxutil [options] [files]\n"
+#| "list, export, import Keybox data\n"
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Синтаксис: kbxutil [параметры] [файлы]\n"
 "просморт, экспорт, импорт данных Keybox\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "Модули RSA пропущены или не имеют размер %d бит\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "отсутствует открытая экспонента RSA или превышает %d бит\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6741,203 +6799,219 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "ошибка при получении нового PIN: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "сбой сохранения отпечатка: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "сбой сохранения даты создания: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "сбой чтения открытого ключа: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "ответ не содержит данных открытого ключа\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "в ответе отсутствует модуль RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "в ответе отсутствует открытая экспонента RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Введите PIN%%0A[подписей: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Введите PIN"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN для CHV%d слишком короток, минимальная длина %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "при проверке CHV%d сбой: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "ошибка получения статуса CHV с карты\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "карта заблокирована!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "осталось %d попыток ввода административного PIN до блокировки карты\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr ""
 "|A|Введите Admin PID на клавиатуре считывателя%%0A[осталось попыток: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "||Введите PIN"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "доступ к командам управления не настроен\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Введите Reset Code к карте"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Reset Code слишком короток, минимальная длина %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN| Новый Reset Code"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Новый административный PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Новый PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Введите PIN"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+#| msgid "||Please enter the PIN"
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Введите PIN"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "ошибка чтения данных приложения\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "ошибка чтения отпечатка DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "ключ уже существует\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "существующий ключ будет заменен\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "генерация нового ключа\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "генерация нового ключа\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "пропущен штамп создания создания\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "Простое число RSA %s пропущено или не имеет размер %d бит\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "сбой сохранения ключа: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "пожалуйста, подождите, пока будет генерироваться ключ ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "сбой при генерации ключа\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "ключ сгенерирован (%d секунд)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "недопутимая структура OpenPGP карты (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "карта не поддерживает функцию хеширования %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "подписей создано: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "проверка административного PIN в данный момент запрещена этой командой\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "нет доступа %s - неработоспособная карта OpenPGP?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+#| msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||Введите PIN на клавиатуре считывателя%%0A[подписей: %lu]"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6946,52 +7020,58 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "|N|Новый PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|установить уровень отладки в LEVEL"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|сохранять журнал в FILE"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|подключаться к считывателю на порт N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr ""
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr ""
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "не использовать встроенный CCID драйвер"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|отсоединить карту по истечении N секунд неактивности"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+#, fuzzy
+#| msgid "do not use a reader's keypad"
+msgid "do not use a reader's pinpad"
 msgstr "не использовать клавиатуру считывателя"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "позволить использовать управляющие команды"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Использование: scdaemon [параметры] (-h для подсказки)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -6999,17 +7079,17 @@ msgstr ""
 "Синтаксис: scdaemon [параметры] [команда [аргументы]]\n"
 "Демон смарткарт для GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "Используйте параметр `--daemon' для запуска приложения в фоновом режиме\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "обработчик fd %d запущен\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "обработчик fd %d остановлен\n"
@@ -7047,11 +7127,11 @@ msgstr "не могу подсоединиться к dirmngr - пытаемся
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr ""
 
@@ -7081,194 +7161,195 @@ msgstr "замечание: не критичные политики серти
 msgid "certificate policy not allowed"
 msgstr "политика сертификата не дозволена"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "число совпавших издателей: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "число соотвествий сертификатов: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr ""
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr ""
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "сертификат был отозван"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "статус сертификата не известен"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "проверьте, что \"dirmngr\" установлен корректно\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "сбой проверки CRL: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "сертификат недостоверный: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "сертификат еще не достоверен"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "корневой сертификат еще не достоверен"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "промежуточный сертификат еще не достоверен"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "сертификат просрочен"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "корневой сертификат просрочен"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "промежуточный сертификат просрочен"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "сертификат не имеет требуемых атрибутов: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "сертификат недостоверен"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "подпись создана вне времени действительности сертификата"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "сертификат создан вне времени действительности издателя"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "промежуточный сертификат создан вне времени действительности издателя"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  подписей создано "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (сертификатов создано "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (сертификат достоверен с "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     издатель достоверен с "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "отпечаток=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "корневой сертификат теперь помечен доверяемым\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "в gpg-agent нельзя сделать сертификат доверяемым интерактивно\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 "для данной сессии запрещено делать сертификат доверяемым интерактивно\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "не найден издатель в сертификате"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "самоподписанный\tсертификат имеет ПЛОХУЮ подпись"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "корневой сертификат не помечен доверяемым"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "сбой проверки списка доверий: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "цепочка сертификации слишком длинная\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "не найден издатель сертификата"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "сертификат имеет ПЛОХУЮ подпись"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "найдено еще одно соответствие CA  сертификата - повторная попытки"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "цепочка сертификации длиннее дозволенной CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr ""
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7331,19 +7412,27 @@ msgid "error getting key usage information: %s\n"
 msgstr "ошибка получения информации применимости ключа: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+#, fuzzy
+#| msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "сертификат не следует использовать для сертификации\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
-msgstr ""
+#, fuzzy
+#| msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
+msgstr "сертификат не следует использовать для подписывания\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+#, fuzzy
+#| msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "сертификат не следует использовать для шифрования\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "сертификат не следует использовать для подписывания\n"
 
 #: sm/certlist.c:167
@@ -7546,7 +7635,7 @@ msgstr "(это не похоже не зашифрованное сообщен
 msgid "certificate `%s' not found: %s\n"
 msgstr "сертификат `%s' не найден: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "ошибка блокировки keybox: %s\n"
@@ -7674,7 +7763,7 @@ msgstr "|FILE|добавить таблицу ключей в список та
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|использовать USER-ID как секретный ключ по умолчанию"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|использовать данный сервер ключей для поиска ключей"
 
@@ -7691,10 +7780,15 @@ msgid "Usage: gpgsm [options] [files] (-h for help)"
 msgstr "Использование: gpgsm [параметры] [файлы] (-h для подсказки)"
 
 #: sm/gpgsm.c:525
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpgsm [options] [files]\n"
+#| "sign, check, encrypt or decrypt using the S/MIME protocol\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Синтаксис: gpgsm [параметры] [файлы]\n"
 "подписать и проверить, зашифровать или расшифровать используя S/MIME "
@@ -7730,25 +7824,25 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: не обрабатываем эту строку\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr ""
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "ВНИМАНИЕ: выполняемся с подделанным системным временем: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "невозможно подписать используя `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7765,11 +7859,7 @@ msgstr "ошибка сохранения сертификата\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "ошибка базовой проверки сертификата - не импортирован\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr ""
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "ошибка получения сохраненных флагов: %s\n"
@@ -7784,45 +7874,41 @@ msgstr "ошибка импортирования сертификата: %s\n"
 msgid "error reading input: %s\n"
 msgstr "ошибка чтения ввода: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "ошибка создания keybox `%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "возможно следует запустить gpg-agent сперва\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "создан keybox `%s'\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "сбой получения отпечатка\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "ошибка сохранения сертификата: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "ошибка сохранения флагов: %s\n"
@@ -8007,144 +8093,144 @@ msgstr "ошибка отправки %s команды: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "ошибка отправки стандартных параметров: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Параметры контролирующие вывод диагностики"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Параметры контролирующие конфигурацию"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Параметры полезные для отладки"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|сохранять журнал режима сервера в FILE"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Параметры контролирующие безопасность"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|считать ключ SSH истекшим по истечении N секунд"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|установить максимальный срок кешированного PIN N секунд"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|установить максимальный срок действия SSH ключа N секунд"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|установить минимальную длину фразы-пароля равной N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|n|требовать не менее N не алфавитных символов для новой фразы-пароля"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FILE|проверять новую фразу-пароль по файлу образцов FILE"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|срок жизни фразы-пароля N дней"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "не разрешать повторное использование старых фраз-паролей"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|использовать NAME как секретный ключ по умолчанию"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|зашифровать для User ID: NAME"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Конфигурация серверов ключей"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|использовать север ключей по URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "полностью запретить доступ к dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|использовать кодировку NAME для PKCS#12 фраз-паролей"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "не проверять CRLd для корневых сертификатов"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Параметры контрролирующие формат вывода"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Настройки HTTP серверов"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "использовать системные настройки HTTP проки"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Настройки LDAP серверов"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Настройки OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8399,6 +8485,12 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "возможно следует запустить gpg-agent сперва\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "ошибка загрузки `%s': %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Команда> "
 
@@ -8420,8 +8512,5 @@ msgstr ""
 #~ msgid "Repeat passphrase\n"
 #~ msgstr "Повторите ввод фразы-пароля\n"
 
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "||Введите PIN на клавиатуре считывателя%%0A[подписей: %lu]"
-
 #~ msgid "|A|Admin PIN"
 #~ msgstr "|A|Административный PID"
index 664e108..74b281a 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 79eea1e..6eec58e 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -9,15 +9,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.5\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2004-07-20 15:52+0200\n"
 "Last-Translator: Michal Majer <mmajer@econ.umb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"Language: sk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
@@ -27,21 +28,21 @@ msgstr "nem
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr ""
 
@@ -51,164 +52,167 @@ msgstr ""
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "riadok je príli¹ dlhý\n"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "heslo je príli¹ dlhé\n"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Neplatný znak ve mene\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "nesprávne MPI"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "nesprávne heslo"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "nesprávne heslo"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ochranný algoritmus %d%s nie je podporováný\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "nemô¾em vytvori» `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "nemô¾em otvori» `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "chyba pri zápise do súboru tajných kµúèov `%s': %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "nenájdený zapisovateµný súbor tajných kµúèov (secring): %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "zmazanie bloku kµúèa sa nepodarilo:  %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "chyba pri zápise súboru kµúèov (keyring)  `%s': %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "zmeni» heslo"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: nepodarilo sa vytvori» hashovaciu tabuµku: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -228,7 +232,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -335,7 +339,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "Na ochranu Vá¹ho tajného kµúèa musíte zada» heslo.\n"
 "\n"
@@ -345,7 +349,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "zmeni» heslo"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -356,108 +360,116 @@ msgstr ""
 "Mo¾nosti:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "s dodatoènými informáciami"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "by» o trochu tich¹í"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|SÚBOR|nahra» roz¹irujúci modul SÚBOR"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "vyhµada» kµúèe na serveri kµúèov"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Skutoène aktualizova» predvoµby pre vybrané id u¾ívateµa? "
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "aktualizova» databázu dôvery"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "nepodporované"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "nepodporované"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
@@ -466,175 +478,176 @@ msgstr ""
 "Chyby oznámte, prosím, na adresu <gnupg-bugs@gnu.org>.\n"
 "Pripomienky k prekladu <sk-i18n@lists.linux.sk>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "POZNÁMKA: neexistuje implicitný súbor s mo¾nos»ami `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "súbor s mo¾nos»ami `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "èítam mo¾nosti z `%s'\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "nemô¾em vytvori» adresár `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s: nemô¾em vytvori»: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent nie je v tomto sedení dostupný\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "aktualizácia zlyhala: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: adresár vytvorený\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "databáza dôvery: procedúra read() (n=%d) zlyhala: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: nemô¾em vytvori» adresár: %s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "chyba pri èítaní `%s': %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "aktualizácia tajného kµúèa zlyhala: %s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: preskoèené: %s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent nie je v tomto sedení dostupný\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "zlý formát premennej prostredia GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent protokol verzie %d nie je podporovaný\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -643,7 +656,7 @@ msgstr ""
 "@Príkazy:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -655,51 +668,51 @@ msgstr ""
 "Mo¾nosti:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "nesprávne heslo"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Zru¹i»"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -814,8 +827,8 @@ msgstr "zmeni
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -855,12 +868,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "chyba pri èítaní `%s': %s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[User id not found]"
@@ -893,17 +906,17 @@ msgstr "zru
 msgid "problem with the agent\n"
 msgstr "problém s agentom: agent vracia 0x%lx\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "nemô¾em vypnú» vytváranie core súborov: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpeène \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpeène \"%s\"\n"
@@ -1138,12 +1151,12 @@ msgstr "Platnos
 msgid "Root certificate trustworthy"
 msgstr "nesprávny certifikát"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "nesprávny certifikát"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "Kµúè k dispozícii na: "
@@ -1225,7 +1238,7 @@ msgstr "neo
 msgid "invalid dash escaped line: "
 msgstr "nesprávne oznaèenie riadku mínusmi: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, fuzzy, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "neplatný znak vo formáte radix64 %02x bol preskoèený\n"
@@ -1242,7 +1255,7 @@ msgstr "pred
 msgid "malformed CRC\n"
 msgstr "nesprávny formát CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, fuzzy, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Chyba CRC; %06lx - %06lx\n"
@@ -1256,16 +1269,16 @@ msgstr "pred
 msgid "error in trailer line\n"
 msgstr "chyba v pätièke\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "nenájdené ¾iadne platné dáta vo formáte OpenPGP.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "neplatné kódovanie ASCII: riadok je dlh¹í ako %d znakov\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1301,7 +1314,7 @@ msgstr "VAROVANIE: n
 msgid "not human readable"
 msgstr "nie je v priamo èitateµnom formáte"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "tajný kµúè nie je dostupný"
@@ -1311,8 +1324,8 @@ msgstr "tajn
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 #, fuzzy
 msgid "can't do this in batch mode\n"
 msgstr "nemo¾no previes» v dávkovom móde\n"
@@ -1322,224 +1335,224 @@ msgstr "nemo
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "tajné èasti kµúèa nie sú dostupné\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Vá¹ výber? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr ""
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 #, fuzzy
 msgid "male"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "female"
 msgstr "enable"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 #, fuzzy
 msgid "unspecified"
 msgstr "Dôvod nebol ¹pecifikovaný"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 #, fuzzy
 msgid "not forced"
 msgstr "nespracované"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "¾iadny zodpovedajúci verejný kµúè: %s\n"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "chyba pri vytváraní súboru kµúèov (keyring)`%s': %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "chyba pri èítaní `%s': %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "chyba pri zápise súboru kµúèov (keyring)  `%s': %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 #, fuzzy
 msgid "Language preferences: "
 msgstr "aktualizova» predvoµby"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "neplatný znak v re»azci s predvoµbami\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "neplatný znak v re»azci s predvoµbami\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr ""
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "chyba: neplatný odtlaèok\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "vypísa» fingerprint"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "chyba: neplatný odtlaèok\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Vytvorenie kµúèa sa nepodarilo: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "nenájdené ¾iadne platné dáta vo formáte OpenPGP.\n"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "chyba pri zápise do súboru tajných kµúèov `%s': %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Akú veµkos» kµúèa si prajete? (1024) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Akú veµkos» kµúèa si prajete? (1024) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Akú veµkos» kµúèa si prajete? (1024) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokrúhlené na %u bitov\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "preskoèené: tajný kµúè je u¾ v databáze\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1547,145 +1560,145 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Prosím, vyberte druh kµúèa, ktorý chcete:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Platnos» podpisu vypr¹ala %s\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (len na ¹ifrovanie)\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Neplatný výber.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Prosím výberte dôvod na revokáciu:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 #, fuzzy
 msgid "unknown key protection algorithm\n"
 msgstr "neznámy ochranný algoritmus\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 #, fuzzy
 msgid "secret parts of key are not available\n"
 msgstr "Tajné èasti primárneho kµúèa nie sú dostupné.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 #, fuzzy
 msgid "secret key already stored on a card\n"
 msgstr "preskoèené: tajný kµúè je u¾ v databáze\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "chyba pri zápise súboru kµúèov (keyring)  `%s': %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "ukonèi» toto menu"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 #, fuzzy
 msgid "show admin commands"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "ukáza» túto pomoc"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 #, fuzzy
 msgid "list all available data"
 msgstr "Kµúè k dispozícii na: "
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 #, fuzzy
 msgid "change the login name"
 msgstr "zmeni» dobu platnosti"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 #, fuzzy
 msgid "change the language preferences"
 msgstr "zmeni» dôveryhodnos» vlastníka kµúèa"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr ""
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "vypísa» fingerprint"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 #, fuzzy
 msgid "generate new keys"
 msgstr "vytvori» nový pár kµúèov"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Neplatný príkaz (skúste \"help\")\n"
 
@@ -1693,18 +1706,18 @@ msgstr "Neplatn
 msgid "--output doesn't work for this command\n"
 msgstr "--output pre tento príkaz nefunguje\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "nemo¾no otvori» `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "kµúè `%s' nebol nájdený: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1805,7 +1818,7 @@ msgstr ""
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "vy¾iadaná symetrická ¹ifra %s (%d) nevyhovuje predvoµbám príjemcu\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr ""
@@ -1817,77 +1830,77 @@ msgstr ""
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s za¹ifrovaný pre: %s\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s za¹ifrované dáta\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "za¹ifrované neznámym algoritmom %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "VAROVANIE: správa bola za¹ifrovaná slabým kµúèom v symetrickej ¹ifre.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problém so za¹ifrovaným paketom\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "¾iadne vzialené vykonávanie programu nie je podporované\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "volanie externého programu zru¹ené kvôli nebezpeèným právam súboru "
 "nastavení\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 #, fuzzy
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "táto platforma potrebuje doèasné súbory na spustenie externého programu\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "nemo¾no spusti» %s \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, fuzzy, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "nemo¾no spusti» %s \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systémová chyba pri volaní externého programu: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "nekorektné ukonèenie externého programu\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "nemo¾no spusti» externý program\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nemo¾no cíta» odozvu externého programu: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "VAROVANIE: nemô¾em vymaza» doèasný súbor (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "VAROVANIE: nemô¾em vymaza» doèasný adresár `%s': %s\n"
@@ -1989,205 +2002,205 @@ msgid "No fingerprint"
 msgstr "vypísa» fingerprint"
 
 # c-format
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Neplatný kµúè %08lX zmenený na platný pomocou --always-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, fuzzy, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "existuje tajný kµúè pre tento verejný kµúè %08lX!\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "pou¾ívam sekundárny kµúè %08lX namiesto primárneho kµúèa %08lX\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, fuzzy, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "kµúè %08lX: tajný kµúè bez verejného kµúèa - preskoèené\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "vytvori» podpis oddelený od dokumentu"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[súbor]|vytvori» podpis v èitateµnom dokumente"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "vytvori» podpis oddelený od dokumentu"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "¹ifrova» dáta"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "¹ifrovanie len so symetrickou ¹ifrou"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "de¹ifrova» dáta (implicitne)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "verifikova» podpis"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "vypísa» zoznam kµúèov"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "vypísa» zoznam kµúèov a podpisov"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "skontrolova» podpisy kµúèov"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "vypísa» zoznam kµúèov a fingerprintov"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "vypísa» zoznam tajných kµúèov"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "vytvori» nový pár kµúèov"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "vytvori» revokaèný certifikát"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "odstráni» kµúè zo súboru verejných kµúèov"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "odstráni» kµúè zo súboru tajných kµúèov"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "podpísa» kµúè"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "podpísa» kµúè lokálne"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "podpísa» alebo modifikova» kµúè"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "zmeni» heslo"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportova» kµúèe"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportova» kµúèe na server kµúèov"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importova» kµúèe zo servera kµúèov"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "vyhµada» kµúèe na serveri kµúèov"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "aktualizova» v¹etky kµúèe zo servera kµúèov"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importova»/zlúèi» kµúèe"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "aktualizova» databázu dôvery"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [súbory]|vypí¹ hash"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "vytvor výstup zakódovaný pomocou ASCII"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|MENO|¹ifrova» pre MENO"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "pou¾i» toto id u¾ívateµa na podpísanie\n"
 " alebo de¹ifrovanie"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 "|N|nastavi» úroveò komprimácie N (0 - ¾iadna\n"
 " komprimácia)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "pou¾i» kánonický textový mód"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|SÚBOR|nahra» roz¹irujúci modul SÚBOR"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "nevykona» ¾iadne zmeny"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "vy¾iada» potvrdenie pred prepísaním"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2196,7 +2209,7 @@ msgstr ""
 "(Pou¾ite manuálové stránky pre kompletný zoznam v¹etkých príkazov a "
 "mo¾ností)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2216,21 +2229,26 @@ msgstr ""
 " --list-keys [mená]        vypísa» kµúèe\n"
 " --fingerprint [mená]      vypísa» fingerprinty\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpg [mo¾nosti] [súbory]\n"
 "podpísa», overi», ¹ifrova» alebo de¹ifrova»\n"
 "implicitné operácie závisia od vstupných dát\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2238,570 +2256,570 @@ msgstr ""
 "\n"
 "Podporované algoritmy:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Verejné kµúèe: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "©ifry: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Kompresia: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "pou¾itie: gpg [mo¾nosti] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, fuzzy, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no = podpis nájdený v definícii skupiny \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpeène \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpeène \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, fuzzy, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "neznáma polo¾ka konfigurácie \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "V súbore tajných kµúèov chýba zodpovedajúci podpis\n"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "uká¾ v ktorom súbore kµúèov je vypísaný kµúè"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "V súbore tajných kµúèov chýba zodpovedajúci podpis\n"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "POZNÁMKA: starý implicitný súbor s mo¾nos»ami `%s ignorovaný'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "POZNÁMKA: %s nie je pre normálne pou¾itie!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, fuzzy, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, fuzzy, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 #, fuzzy
 msgid "could not parse keyserver URL\n"
 msgstr "nemo¾no pou¾i» URI servera kµúèov - chyba analýzy URI\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 #, fuzzy
 msgid "invalid keyserver options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: neplatný parameter pre import\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: neplatný parameter pre import\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 #, fuzzy
 msgid "invalid list options\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 #, fuzzy
 msgid "invalid verify options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nemo¾no nastavi» exec-path na %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROVANIE: program mô¾e vytvori» súbor core!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROVANIE: %s prepí¹e %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Nie je dovolené pou¾íva» %s s %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nedáva s %s zmysel!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "v móde --pgp2 mô¾ete vytvára» len oddelené podpisy alebo podpisy èitateµné "
 "ako text\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "v móde --pgp2 nemo¾no súèasne ¹ifrova» a podpisova»\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "v móde --pgp2 musíte pou¾i» súbor (nie rúru).\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "¹ifrovanie správ v móde --pgp2 vy¾aduje algoritmus IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "vybraný ¹ifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 #, fuzzy
 msgid "selected compression algorithm is invalid\n"
 msgstr "vybraný ¹ifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "polo¾ka completes-needed musí by» väè¹ia ako 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "polo¾ka marginals-needed musí by» väè¹ia ako 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 #, fuzzy
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "polo¾ka max-cert-depth musí by» v rozmedzí od 1 do 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "neplatná implicitná úroveò certifikácie; musí by» 0, 1, 2 alebo 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "neplatná minimálna úroveò certifikácie; musí by» 0, 1, 2 alebo 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "POZNÁMKA: jednoduchý mód S2K (0) je dôrazne nedoporuèovaný\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "neplatný mód S2K; musí by» 0, 1 alebo 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "neplatné defaultné predvoµby\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "neplatné u¾ívateµské predvoµby pre ¹ifrovanie\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "neplatné u¾ívateµské predvoµby pre hashovanie\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "neplatné u¾ívateµské predvoµby pre kompresiu\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s e¹te nepracuje s %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, fuzzy, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "nemô¾ete pou¾i» ¹ifrovací algoritmus \"%s\" v móde %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, fuzzy, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "nemô¾ete pou¾i» hashovací algoritmus \"%s\" v móde %s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, fuzzy, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "nemô¾ete pou¾i» kompresný algoritmus \"%s\" v móde %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROVANIE: daný adresát (-r) bez pou¾itia ¹ifrovania s verejným kµúèom\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [meno súboru]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [meno súboru]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, fuzzy, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "de¹ifrovanie zlyhalo: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [meno súboru]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 #, fuzzy
 msgid "--symmetric --encrypt [filename]"
 msgstr "--sign --encrypt [meno súboru]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr ""
 "pou¾itie %s nie je v móde %s dovolené\n"
 "\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [meno súboru]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [meno súboru]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 #, fuzzy
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--sign --encrypt [meno súboru]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 "pou¾itie %s nie je v móde %s dovolené\n"
 "\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [meno súboru]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [meno súboru]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [meno súboru]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key id u¾ívateµa"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key id u¾ívateµa"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key id u¾ívateµa [príkazy]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key id u¾ívateµa"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "nepodarilo posla» kµúè na server: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "nepodarilo sa prija» kµúè zo servera: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "nepodaril sa export kµúèa: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "nepodarilo sa nájs» server: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "aktualizácia servera zlyhala: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dekódovanie z ASCII formátu zlyhalo: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "neplatný hashovací algoritmus `%s'\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[meno súboru]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Zaènite písa» svoju správu ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "zadané URL pre certifikaènú politiku je neplatné\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 #, fuzzy
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
@@ -2841,482 +2859,496 @@ msgstr "Pomoc nie je k dispoz
 msgid "No help available for `%s'"
 msgstr "Pomoc nie je dostupná pre '%s'"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr ""
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr ""
 
-#: g10/import.c:98
+#: g10/import.c:101
 #, fuzzy
 msgid "do not update the trustdb after import"
 msgstr "aktualizova» databázu dôvery"
 
-#: g10/import.c:100
+#: g10/import.c:103
 #, fuzzy
 msgid "create a public key when importing a secret key"
 msgstr "verejný kµúè nesúhlasí s tajným!\n"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr ""
 
-#: g10/import.c:104
+#: g10/import.c:107
 #, fuzzy
 msgid "remove unusable parts from key after import"
 msgstr "nepou¾iteµný tajný kµúè"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr ""
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d bol preskoèený\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kµúèe boli doteraz spracované\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Celkovo spracovaných kµúèov: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      preskoèené nové kµúèe: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "        bez identifikátorov: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                importované: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  bez zmien: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         nové id u¾ívateµov: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              nové podkµúèe: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "               nové podpisy: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      nové revokácie kµúèov: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      preèítané tajné kµúèe: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "    importované tajné kµúèe: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "      tajné kµúèe nezmenené: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "           neimportované: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "               nové podpisy: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      preèítané tajné kµúèe: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "kµúè %08lX: chyba identifikátor u¾ívateµa\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+msgid "key %s: %s\n"
+msgstr "preskoèený `%s': %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "kµúè %08lX: HKP po¹kodenie podkµúèa opravené\n"
 
 # c-format
-#: g10/import.c:810
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "kµúè %08lX: prijaté id u¾ívateµa '%s', ktorý nie je podpísaný ním samým\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "kµúè %08lX: chýba platný identifikátor u¾ívateµa\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "mô¾e to by» spôsobené chýbajúcim podpisom kµúèa ním samým\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "kµúè %08lX: verejný kµúè nenájdený: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "kµúè %08lX: nový kµúè - preskoèený\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "nenájdený zapisovateµný súbor kµúèov (keyring): %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "zapisujem do '%s'\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "chyba pri zápise súboru kµúèov (keyring)  `%s': %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "kµúè %08lX: verejný kµúè \"%s\" importovaný\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "kµúè %08lX: nezodpovedá na¹ej kópii\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "kµúè %08lX: nemô¾em nájs» originálny blok kµúèa: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "kµúè %08lX: nemô¾em èíta» originálny blok kµúèa: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "kµúè %08lX: \"%s\" 1 nový identifikátor u¾ívateµa\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "kµúè %08lX: \"%s\" %d nových identifikátorov u¾ívateµa\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "kµúè %08lX: \"%s\" 1 nový podpis\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "kµúè %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "kµúè %08lX: \"%s\" 1 nový podkµúè\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "kµúè %08lX: \"%s\" %d nových podkµúèov\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "kµúè %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "kµúè %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "kµúè %08lX: \"%s\" %d nových identifikátorov u¾ívateµa\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "kµúè %08lX: \"%s\" %d nových identifikátorov u¾ívateµa\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "kµúè %08lX: \"%s\" bez zmeny\n"
 
-#: g10/import.c:1185
+#: g10/import.c:1205
 #, fuzzy, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "kµúè %08lX: tajný kµúè bez verejného kµúèa %d - preskoèené\n"
+msgid "secret key %s: %s\n"
+msgstr "tajný kµúè `%s' nebol nájdený: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 #, fuzzy
 msgid "importing secret keys not allowed\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, fuzzy, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "kµúè %08lX: tajný kµúè bez verejného kµúèa %d - preskoèené\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "nie je nastavený implicitný súbor tajných kµúèov %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "kµúè %08lX: tajný kµúè importovaný\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, fuzzy, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "kµúè %08lX: je u¾ v súbore tajných kµúèov\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, fuzzy, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "kµúè %08lX: nebol nájdený tajný kµúè: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "kµúè %08lX: chýba verejný kµúè - nemô¾em aplikova» revokaèný certifikát\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "kµúè %08lX: neplatný revokaèný certifikát: %s - zamietnuté\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "kµúè %08lX: \"%s\" revokaèný certifikát importovaný\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "kµúè %08lX: neexistuje id u¾ívateµa pre podpis\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "kµúè %08lX: nepodporovaný algoritmus verejného kµúèa u u¾ívateµského id \"%s"
 "\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 "kµúè %08lX: neplatný podpis kµúèa ním samým u u¾ívateµského id \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "kµúè %08lX: nepodporovaný algoritmus verejného kµúèa\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "kµúè %08lX: podpis kµúèa ním samým (direct key signature)\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "kµúè %08lX: neexistuje podkµúè pre viazanie kµúèov\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "kµúè %08lX: neplatná väzba podkµúèa\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "kµúè %08lX: zmazaná viacnásobná väzba podkµúèa\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "kµúè %08lX: neexistuje podkµúè na revokáciu kµúèa\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "kµúè %08lX: neplatný revokaèný podkµúè\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "kµúè %08lX: zmazaná viacnásobná revokácia podkµúèa\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "kµúè %08lX: identifikátor u¾ívateµa preskoèený '"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "kµúè %08lX: podkµúè preskoèený\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "kµúè %08lX: podpis nie je exportovateµný (trieda %02x) - preskoèené\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "kµúè %08lX: revokaèný certifikát na zlom mieste - preskoèené \n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "kµúè %08lX: neplatný revokaèný certifikát: %s - preskoèené\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "kµúè %08lX: podpis subkµúèa na zlom mieste - preskoèené \n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "kµúè %08lX: neoèakávaná podpisová trieda (0x%02X) - preskoèené\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "kµúè %08lX: zistený duplikovaný identifikátor u¾ívateµa - zlúèený\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
-"VAROVANIE: kµúè %08lX mô¾e by» revokovaný: skú¹am získa» revokaèný kµúè %"
-"08lX\n"
+"VAROVANIE: kµúè %08lX mô¾e by» revokovaný: skú¹am získa» revokaèný kµúè "
+"%08lX\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "VAROVANIE: kµúè %08lX mô¾e by» revokovaný: revokaèný kµúè %08lX nenájdený.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "kµúè %08lX: pridaný revokaèný certifikát \"%s\"\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "kµúè %08lX: podpis kµúèa ním samým (direct key signature)\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 #, fuzzy
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "verejný kµúè nesúhlasí s tajným!\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 #, fuzzy
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "preskoèené: tajný kµúè je u¾ v databáze\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 #, fuzzy
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "preskoèené: tajný kµúè je u¾ v databáze\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "chyba pri vytváraní súboru kµúèov (keyring)`%s': %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "súbor kµúèov (keyring) `%s' vytvorený\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, fuzzy, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "zlyhalo obnovenie vyrovnávacej pamäti kµúèov: %s\n"
@@ -3406,12 +3438,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "U¾ívateµské ID \"%s\" je revokované."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Ste si istý, ¾e stále chcete podpísa» tento kµúè? (a/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Nemo¾no podpísa».\n"
 
@@ -3625,8 +3657,8 @@ msgstr ""
 msgid "Really sign? (y/N) "
 msgstr "Skutoène podpísa»? "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "podpisovanie zlyhalo: %s\n"
@@ -3635,20 +3667,20 @@ msgstr "podpisovanie zlyhalo: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Tento kµúè nie je chránený.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Tajné èasti primárneho kµúèa nie sú dostupné.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 #, fuzzy
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Tajné èasti primárneho kµúèa nie sú dostupné.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "kµúè je chránený.\n"
 
@@ -3665,7 +3697,7 @@ msgstr ""
 "Vlo¾te nové heslo (passphrase) pre tento tajný kµúè.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "heslo nie je zopakované správne; skúste to znovu"
 
@@ -3859,24 +3891,24 @@ msgstr ""
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, fuzzy, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "chyba pri èítaní bloku tajného kµúèa `%s': %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Tajný kµúè je dostupný.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Na vykonanie tejto operácie je potrebný tajný kµúè.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Prosím, najskôr pou¾ite príkaz \"toggle\" (prepnú»).\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3884,242 +3916,242 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Kµúè revokovaný."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Skutoène podpísa» v¹etky id u¾ívateµa? "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Nápoveda: Vyberte id u¾ívateµa na podpísanie\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, fuzzy, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "neznáma trieda podpisu"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Musíte vybra» aspoò jedno id u¾ívateµa.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Nemô¾ete zmaza» posledné id u¾ívateµa!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Skutoène odstráni» v¹etky vybrané id u¾ívateµa? "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Skutoène odstráni» toto id u¾ívateµa? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Skutoène odstráni» toto id u¾ívateµa? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Musíte vybra» aspoò jeden kµúè.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, fuzzy, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "nemô¾em otvori» `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, fuzzy, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "chyba pri vytváraní súboru kµúèov (keyring)`%s': %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Musíte vybra» aspoò jeden kµúè.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Skutoène chcete zmaza» vybrané kµúèe? "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Skutoène chcete zmaza» tento kµúè? "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Skutoène revokova» v¹etky vybrané id u¾ívateµa? "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Skutoène revokova» toto id u¾ívateµa? "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Skutoène chcete revokova» tento kµúè? "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Skutoène chcete revokova» vybrané kµúèe? "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Skutoène chcete revokova» tento kµúè? "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "nastavi» zoznam predvolieb"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Skutoène aktualizova» predvoµby pre vybrané id u¾ívateµa? "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Skutoène aktualizova» predvoµby? "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Ulo¾i» zmeny? "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Ukonèi» bez ulo¾enia? "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualizácia zlyhala: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "aktualizácia tajného kµúèa zlyhala: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "kµúè nebol zmenený, tak¾e nie je potrebné ho aktualizova».\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Charakteristiky: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 #, fuzzy
 msgid "Notations: "
 msgstr "Notácie: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "U¾ívateµské ID vo formáte PGP 2.x nemá ¾iadne predvoµby\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Tento kµúè mô¾e by» revokovaný kµúèom %s "
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tento kµúè mô¾e by» revokovaný kµúèom %s "
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 #, fuzzy
 msgid "(sensitive)"
 msgstr "(citlivá informácia)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s: nemô¾em vytvori»: %s\n"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revokované]"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [platnos» skonèí: %s]"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [platnos» skonèí: %s]"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " dôvera: %c/%c"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " dôvera: %c/%c"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Tento kµúè bol oznaèený za neplatný (disabled)"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4127,19 +4159,19 @@ msgstr ""
 "Prosím nezabúdajte, ¾e zobrazované údaje o platnosti kµúèov nemusia\n"
 "by» správne, pokiaµ znovu nespustíte program.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 #, fuzzy
 msgid "revoked"
 msgstr "[revokované]"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4147,7 +4179,7 @@ msgstr ""
 "VAROVANIE: ¾iadne ID u¾ívateµa nebolo oznaèené ako primárne. Tento príkaz\n"
 "spôsobí, ¾e iné ID u¾ívateµa sa bude pova¾ova» primárne.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4156,75 +4188,75 @@ msgstr ""
 "VAROVANIE: Toto je PGP2 kµúè. Pridanie fotografického ID mô¾e v niektorých\n"
 "           verziách PGP vies» k odmietnutiu tohto kµúèa.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Ste si istý, ¾e ho chcete stále prida»? (a/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Nemali by ste pridáva» fotografické ID k PGP2 kµúèu.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Zmaza» tento dobrý podpis? (a/N/u)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Zmaza» tento neplatný podpis? (a/N/u)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Zmaza» tento neznámy podpis? (a/N/u)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Skutoène zmaza» tento podpis podpísaný sebou samým? (a/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Zmazaný %d podpis.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Zmazaných %d podpisov.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Niè nebolo zmaznané.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 #, fuzzy
 msgid "invalid"
 msgstr "neplatný spôsob reprezentácie v ASCII"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "U¾ívateµské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "U¾ívateµské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "U¾ívateµské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "u¾ívateµské ID \"%s\" je u¾ revokované\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "u¾ívateµské ID \"%s\" je u¾ revokované\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4233,275 +4265,275 @@ msgstr ""
 "VAROVANIE: Toto je PGP2 kµúè. Pridanie fotografického ID mô¾e v niektorých\n"
 "           verziách PGP vies» k odmietnutiu tohoto kµúèa.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Nemali by ste pridáva» fotografické ID k PGP2 kµúèu.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Vlo¾te identifikátor u¾ívateµa povereného revokáciou: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "kµúè vo formáte PGP 2.x nemo¾no poveri» revokáciou\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "kµúè nemo¾no poveri» revokáciou ním samým\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 #, fuzzy
 msgid "this key has already been designated as a revoker\n"
 msgstr "VAROVANIE: Tento kµúè bol revokovaný jeho urèeným revokátorom/!\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VAROVANIE: oznaèenie kµúèa ako revokovací u¾ nemô¾e by» zru¹ené!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Ste si istý, ¾e chcete oznaèi» tento kµúè ako revokovací? (a/N): "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Prosím, odstráòte výber z tajných kµúèov.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 #, fuzzy
 msgid "Please select at most one subkey.\n"
 msgstr "Prosím, vyberte najviac jeden sekundárny kµúè.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Mením dobu platnosti sekundárneho kµúèa.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Mením dobu platnosti primárneho kµúèa.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nemô¾ete zmeni» dobu platnosti kµúèa verzie 3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "V súbore tajných kµúèov chýba zodpovedajúci podpis\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "VAROVANIE: podpisovací podkµúè %08lX nie je krí¾ovo certifikovaný\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Prosím, vyberte práve jedno id u¾ívateµa.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "preskoèený v3 podpis kµúèa ním samým u u¾ívateµského id \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Ste si istý, ¾e ho chcete pou¾i»? (a/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Ste si istý, ¾e ho chcete pou¾i»? (a/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Podpisová notácia: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Prepísa» (a/N)? "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Neexistuje identifikátor u¾ívateµa s indexom %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Neexistuje identifikátor u¾ívateµa s indexom %d\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Neexistuje identifikátor u¾ívateµa s indexom %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "id u¾ívateµa: \""
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   podpísané %08lX v %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (nexeportovateµné)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Platnos» podpisu vypr¹í %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Ste si istý, ¾e ho chcete stále revokova»? (a/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vytvori» pre tento podpis revokaèný certifikát? (a/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 #, fuzzy
 msgid "Not signed by you.\n"
 msgstr "   podpísané %08lX v %s%s\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Podpísali ste nasledujúce identifikátory u¾ívateµa:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (nexeportovateµné)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revokované %08lX v %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Chystáte sa revokova» tieto podpisy:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Skutoène vytvori» revokaèné certifikáty? (a/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "neexistuje tajný kµúè\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "u¾ívateµské ID \"%s\" je u¾ revokované\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "VAROVANIE: podpis pou¾ivateµkého ID vznikol %d sekund v budúcnosti\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "u¾ívateµské ID \"%s\" je u¾ revokované\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "u¾ívateµské ID \"%s\" je u¾ revokované\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "Zobrazujem %s fotografické ID s veµkos»ou %ld pre kµúè 0x%08lX (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, fuzzy, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "duplicita predvoµby %c%lu\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 #, fuzzy
 msgid "too many cipher preferences\n"
 msgstr "príli¹ veµa `%c' predvolieb\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 #, fuzzy
 msgid "too many digest preferences\n"
 msgstr "príli¹ veµa `%c' predvolieb\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 #, fuzzy
 msgid "too many compression preferences\n"
 msgstr "príli¹ veµa `%c' predvolieb\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, fuzzy, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "neplatný znak v re»azci s predvoµbami\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "zapisujem podpis kµúèa ním samým (direct signature)\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "zapisujem podpis kµúèa sebou samým\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "zapisujem \"key-binding\" podpis\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "neplatná då¾ka kµúèa; pou¾ijem %u bitov\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "då¾ka kµúèa zaokrúhlená na %u bitov\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 #, fuzzy
 msgid "Sign"
 msgstr "sign"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr ""
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 #, fuzzy
 msgid "Encrypt"
 msgstr "¹ifrova» dáta"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr ""
 
@@ -4515,104 +4547,104 @@ msgstr ""
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr ""
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr ""
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr ""
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr ""
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, fuzzy, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%d) ElGamal (len na ¹ifrovanie)\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr ""
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Prosím, vyberte druh kµúèa, ktorý chcete:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA a ElGamal (implicitný)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA a ElGamal (implicitný)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (len na podpis)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (len na podpis)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, fuzzy, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (len na ¹ifrovanie)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (len na ¹ifrovanie)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, fuzzy, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (len na ¹ifrovanie)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, fuzzy, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (len na ¹ifrovanie)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr ""
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Akú veµkos» kµúèa si prajete? (1024) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Akú veµkos» kµúèa si prajete? (1024) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Po¾adovaná då¾ka kµúèa je %u bitov.\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4628,7 +4660,7 @@ msgstr ""
 "      <n>m = doba platnosti kµúèa skonèí za n mesiacov\n"
 "      <n>y = doba platnosti kµúèa skonèí za n rokov\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4644,40 +4676,40 @@ msgstr ""
 "      <n>m = doba platnosti podpisu skonèí za n mesiacov\n"
 "      <n>y = doba platnosti podpisu skonèí za n rokov\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Kµúè je platný na? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, fuzzy, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Podpis je platný na? (0) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "neplatná hodnota\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 #, fuzzy
 msgid "Key does not expire at all\n"
 msgstr "platnos» %s neskonèí\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 #, fuzzy
 msgid "Signature does not expire at all\n"
 msgstr "platnos» %s neskonèí\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, fuzzy, c-format
 msgid "Key expires at %s\n"
 msgstr "platnos» %s skonèí %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, fuzzy, c-format
 msgid "Signature expires at %s\n"
 msgstr "Platnos» podpisu vypr¹í %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4685,12 +4717,12 @@ msgstr ""
 "Vá¹ systém nevie zobrazi» dátumy po roku 2038.\n"
 "V ka¾dom prípade budú dátumy korektne spracovávané do roku 2106.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 #, fuzzy
 msgid "Is this correct? (y/N) "
 msgstr "Je to správne (a/n)? "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4701,7 +4733,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 #, fuzzy
 msgid ""
 "\n"
@@ -4718,44 +4750,44 @@ msgstr ""
 "    \"Jozko Mrkvicka (student) <jozko@mrkvicka.sk>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Meno a priezvisko: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Neplatný znak ve mene\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Meno nemô¾e zaèína» èíslicou\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Meno musí by» dlhé aspoò 5 znakov\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-mailová adresa: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Neplatná e-mailová adresa\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Komentár: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Neplatný znak v komentári\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Pou¾ívate znakovú sadu `%s'.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4766,11 +4798,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Do poµa meno alebo komentár nepí¹te, prosím, e-mailovú adresu.\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4785,23 +4817,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "mMkKeEPpUu"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Zmeni» (M)eno, (K)omentár, (E)-mail alebo (U)konèi»? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Zmeni» (M)eno, (K)omentár, (E)-mail alebo (P)okraèova»/(U)konèi»? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Najskôr, prosím, opravte chybu\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4809,19 +4841,19 @@ msgstr ""
 "Na ochranu Vá¹ho tajného kµúèa musíte zada» heslo.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "Prosím, vlo¾te heslo; toto je tajná veta \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4833,7 +4865,7 @@ msgstr ""
 "tohto programu s parametrom \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4845,50 +4877,50 @@ msgstr ""
 "pou¾íva» disky); vïaka tomu má generátor lep¹iu ¹ancu získa» dostatok "
 "entropie.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Vytváranie kµúèa bolo zru¹ené.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "zapisujem verejný kµúè do `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, fuzzy, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "nenájdený zapisovateµný súbor verejných kµúèov (pubring): %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "nenájdený zapisovateµný súbor tajných kµúèov (secring): %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "chyba pri zápise do súboru verejných kµúèov `%s': %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "chyba pri zápise do súboru tajných kµúèov `%s': %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "verejný a tajný kµúè boli vytvorené a podpísané.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 #, fuzzy
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
@@ -4897,12 +4929,12 @@ msgstr ""
 "Tento kµúè nemô¾e by» pou¾itý na ¹ifrovanie. Pre vytvorenie\n"
 "sekundárneho kµúèa na tento úèel mô¾ete pou¾i» príkaz \"--edit-key\".\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Vytvorenie kµúèa sa nepodarilo: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4910,7 +4942,7 @@ msgstr ""
 "kµúè bol vytvorený %lu sekund v budúcnosti (do¹lo k zmene èasu alebo\n"
 "je problém so systémovým èasom)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4918,26 +4950,26 @@ msgstr ""
 "kµúè bol vytvorený %lu sekund v budúcnosti (do¹lo k zmene èasu alebo\n"
 "je problém so systémovým èasom)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "POZNÁMKA: vytvorenie podkµúèa pre kµúèe v3 nie je v súlade s OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 #, fuzzy
 msgid "Really create? (y/N) "
 msgstr "Skutoène vytvori»? "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, fuzzy, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "zmazanie bloku kµúèa sa nepodarilo:  %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, fuzzy, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "nemô¾em vytvori» `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, fuzzy, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "POZNÁMKA: platnos» tajného kµúèa %08lX skonèila %s\n"
@@ -4970,30 +5002,30 @@ msgstr "Podpisov
 msgid "Keyring"
 msgstr "súbor kµúèov (keyring)"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Primárny fingerprint kµúèa:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Fingerprint podkµúèa:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Primárny fingerprint kµúèa:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Fingerprint podkµúèa:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 #, fuzzy
 msgid "      Key fingerprint ="
 msgstr "   Fingerprint kµúèa ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr ""
 
@@ -5074,471 +5106,471 @@ msgstr ""
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "VAROVANIE: nastavenie v `%s' e¹te nie je aktívne\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "kµúè `%s' nebol nájdený: %s\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 #, fuzzy
 msgid "key not found on keyserver\n"
 msgstr "kµúè `%s' nebol nájdený: %s\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, fuzzy, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "po¾adujem kµúè %08lX z %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "po¾adujem kµúè %08lX z %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, fuzzy, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "vyhµadávam \"%s\" na HKP serveri %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, fuzzy, c-format
 msgid "searching for names from %s\n"
 msgstr "vyhµadávam \"%s\" na HKP serveri %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, fuzzy, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "vyhµadávam \"%s\" na HKP serveri %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "podpísané Va¹ím kµúèom %08lX v %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "vyhµadávam \"%s\" na HKP serveri %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, fuzzy, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "vyhµadávam \"%s\" na HKP serveri %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 #, fuzzy
 msgid "no keyserver action!\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr ""
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr ""
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 #, fuzzy
 msgid "keyserver timed out\n"
 msgstr "chyba servera kµúèov"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 #, fuzzy
 msgid "keyserver internal error\n"
 msgstr "chyba servera kµúèov"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, fuzzy, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "nepodarilo sa prija» kµúè zo servera: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROVANIE: nemô¾em vymaza» doèasný súbor (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, fuzzy, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "po¾adujem kµúè %08lX z %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, fuzzy, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "po¾adujem kµúè %08lX z %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROVANIE: nemô¾em vymaza» doèasný súbor (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, fuzzy, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "VAROVANIE: nemô¾em vymaza» doèasný súbor (%s) `%s': %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "zvlá¹tna veµkos» ¹ifrovacieho kµúèa pre sedenie (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s kµúè ¹ifrovaného sedenia\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "za¹ifrované neznámym algoritmom %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "verejný kµúè je %08lX\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "dáta za¹ifrované verejným kµúèom: správny DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "za¹ifrované %u-bitovým %s kµúèom, ID %08lX, vytvoreným %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                alias \""
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "za¹ifrovaná %s kµúèom, ID %08lX\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "de¹ifrovanie verejným kµúèom zlyhalo: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "za¹ifrované s %lu heslami\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "za¹ifrované jedným heslom\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "predpokladám %s ¹ifrovaných dát\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "algoritmus IDEA nie je dostupný; optimisticky sa ho pokúsime nahradi» "
 "algoritmom %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "de¹ifrovanie o.k.\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROVANIE: správa nemá ochranu integrity\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROVANIE: so za¹ifrovanou správou bolo manipulované!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "de¹ifrovanie zlyhalo: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "POZNÁMKA: odosielateµ po¾adoval (\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "pôvodné meno súboru='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "samostatný revokaèný certifikát -  pou¾ite \"gpg --import\", ak ho chcete "
 "vyu¾i»\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 #, fuzzy
 msgid "no signature found\n"
 msgstr "Dobrý podpis od \""
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "verifikácia podpisu potlaèená\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 #, fuzzy
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neviem pracova» s týmito násobnými podpismi\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Platnos» podpisu vypr¹ala %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                alias \""
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpis vytvorený %.*s pomocou %s kµúèa ID %08lX\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Kµúè k dispozícii na: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ZLÝ podpis od \""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Podpis s vypr¹anou platnos»ou od \""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Dobrý podpis od \""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[neistý]  "
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                alias \""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Platnos» podpisu vypr¹ala %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Platnos» podpisu vypr¹í %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binárne"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "textový mód"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "neznáme"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nemô¾em overi» podpis: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "toto nie je podpis oddelený od dokumentu\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "VAROVANIE: Nájdené viacnásobne podpisy. Skontrolovaný bude len prvý.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "samostatný podpis triedy 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starého typu (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "nájdený neplatný koreòový paket v proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, fuzzy, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "nemo¾no otvori» súbor: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, fuzzy, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "databáza dôvery: procedúra read() (n=%d) zlyhala: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, fuzzy, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "nemô¾em pracova» s algoritmom verejného kµúèa %d\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "vy¾iadaný hashovací algoritmus %s (%d) nevyhovuje predvoµbám príjemcu\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, fuzzy, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "¹ifrovací algoritmus nie je implementovaný"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, fuzzy, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, fuzzy, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 "vy¾iadaný hashovací algoritmus %s (%d) nevyhovuje predvoµbám príjemcu\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA modul pre GnuPG nenájdený\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = prosím o viac informácíi\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: pou¾itie parametra \"%s\" sa neodporúèa\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "VAROVÁNÍ: pou¾itie parametra \"%s\" sa neodporúèa\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "pou¾ite namiesto neho \"%s%s\" \n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "VAROVÁNÍ: pou¾itie parametra \"%s\" sa neodporúèa\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "VAROVÁNÍ: pou¾itie parametra \"%s\" sa neodporúèa\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Nekomprimované"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Nekomprimované"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "táto správa nemusí pou¾iteµná s %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "èítam mo¾nosti z `%s'\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "neznámy implicitný adresát `%s'\n"
@@ -5581,17 +5613,17 @@ msgstr "vytvoren
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "VAROVANIE: nastavenie v `%s' e¹te nie je aktívne\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "nemô¾em pracova» s algoritmom verejného kµúèa %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "VAROVANIE: pravdepodobne nebezpeèný symetricky ¹ifrovaný kµúè sedenia\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpaket typu %d má nastavený kritický bit\n"
@@ -5647,7 +5679,7 @@ msgstr "d
 msgid "         (subkey on main key ID %s)"
 msgstr ""
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5662,35 +5694,35 @@ msgstr ""
 "Ak pou¾ijete veµmi veµký obrázok, kµúè bude tie¾ veµký! Odporúèaná veµkos»\n"
 "obrázka je okolo 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Meno súbor s fotografiou vo formáte JPEG: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, fuzzy, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "nemo¾no otvori» súbor: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr ""
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 #, fuzzy
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Ste si istý, ¾e ho chcete pou¾i»? (a/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, fuzzy, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" nie je súbor JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Je táto fotografia správna (a/N/u)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "nemo¾no nastavi» exec-path na %s\n"
 
@@ -5722,6 +5754,16 @@ msgstr "d
 msgid "revocation comment: "
 msgstr "revokaèná poznámka: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMuUsS"
@@ -5912,26 +5954,26 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Nie je isté, ¾e tento podpis patrí vlastníkovi.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: preskoèené: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: preskoèené: verejný kµúè je u¾ obsiahnutý v databáze\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Ne¹pecifikovali ste identifikátor u¾ívateµa (user ID). Mô¾ete pou¾i» \"-r\"\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr ""
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5939,42 +5981,42 @@ msgstr ""
 "\n"
 "Napí¹te identifikátor u¾ívateµa (user ID). Ukonèite prázdnym riadkom: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Takýto identifikátor u¾ívateµa neexistuje.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "preskoèené: verejný kµúè je u¾ nastavený podµa implicitného adresáta\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Verejný kµúè je neplatný (disabled).\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "preskoèené: verejný kµúè je u¾ nastavený\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, fuzzy, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "neznámy implicitný adresát `%s'\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: preskoèené: verejný kµúè je neplatný (disabled)\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "¾iadne platné adresy\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "kµúè %08lX: chyba identifikátor u¾ívateµa\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "kµúè %08lX: chyba identifikátor u¾ívateµa\n"
@@ -6267,19 +6309,25 @@ msgstr "POZN
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "POZNÁMKA: kµúè bol revokovaný"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s podpis, hashovací algoritmus %s\n"
+
+#: g10/sig-check.c:341
 #, fuzzy, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "predpokladám neplatný podpis kµúèom %08lX, preto¾e je nastavený neznámy "
 "kritický bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "kµúè %08lX: neexistuje podkµúè pre revokáciu kµúèa\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, fuzzy, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "kµúè %08lX: neexistuje podkµúè pre viazanie podkµúèov\n"
@@ -6372,7 +6420,7 @@ msgstr ""
 "preskoèený `%s': toto je vygenerovaný PGP kµúè podµa algoritmu ElGamal,\n"
 "podpisy vytvorené týmto kµúèom nie sú bezpeèné!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "záznam dôvery %lu, typ %d: zápis zlyhal: %s\n"
@@ -6422,17 +6470,17 @@ msgstr "chyba pri h
 msgid "read error in `%s': %s\n"
 msgstr "chyba pri èítaní: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "databáza dôvery: synchronizácia zlyhala %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "záznam v databáze dôvery %lu: lseek() sa nepodaril: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "záznam v databáze dôvery %lu: zápis sa nepodaril (n=%d): %s\n"
@@ -6441,117 +6489,117 @@ msgstr "z
 msgid "trustdb transaction too large\n"
 msgstr "transakcia s databázou dôvery je príli¹ dlhá\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, fuzzy, c-format
 msgid "can't access `%s': %s\n"
 msgstr "nemô¾em zavrie» `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: adresár neexistuje!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, fuzzy, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "nemô¾em vytvori» `%s': %s\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, fuzzy, c-format
 msgid "can't lock `%s'\n"
 msgstr "nemo¾no otvori» `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: nepodarilo sa vytvori» záznam verzie: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: vytvorená neplatná databáza dôvery\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: databáza dôvery vytvorená\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "POZNÁMKA: do trustdb nemo¾no zapisova»\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: neplatná databáze dôvery\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: nepodarilo sa vytvori» hashovaciu tabuµku: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: chyba pri aktualizácii záznamu verzie: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: chyba pri èítaní záznamu verzie: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: chyba pri zápise záznamu verzie: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "databáze dôvery: procedúra lseek() zlyhala: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "databáza dôvery: procedúra read() (n=%d) zlyhala: %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: nie je súbor databázy dôvery\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: záznam verzie s èíslom %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: neplatná verzia súboru %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: chyba pri èítaní voµného záznamu: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: chyba pri zápise adresárového záznamu: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: vynulovanie záznamu zlyhalo: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: pridanie záznamu zlyhalo: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: databáza dôvery vytvorená\n"
@@ -6566,174 +6614,182 @@ msgstr "nem
 msgid "input line longer than %d characters\n"
 msgstr "vstupný riadok je dlh¹í ako %d znakov\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' nie je platné dlhé keyID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "kµúè %08lX: akceptovaný ako dôveryhodný kµúè\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "kµúè %08lX sa v databáze dôvery vyskytuje viac ako raz\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "kµúè %08lX: nenájdený verejný kµúè k dôveryhodnému kµúèu - preskoèené\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "kµúè oznaèený ako absolútne dôveryhodný.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "záznam dôvery %lu, typ po¾. %d: èítanie zlyhalo: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "záznam dôvery %lu nie je po¾adovaného typu %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revokované]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 #, fuzzy
 msgid "[ expired]"
 msgstr "[expirované]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 #, fuzzy
 msgid "[ unknown]"
 msgstr "neznáme"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 #, fuzzy
 msgid "never"
 msgstr "nikdy     "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "nie je nutné kontrolova» databázu dôvery\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "dal¹ia kontrola databázy dôvery %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "nie je nutné kontrolova» databázu dôvery\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "nie je nutné kontrolova» databázu dôvery\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "verejný kµúè %08lX nebol nájdený: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "prosím vykonajte --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "kontrolujem databázu dôvery\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d kµúèov spracovaných (%d poètov platnosti vymazaných)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "neboli nájdené ¾iadne absolútne dôveryhodné kµúèe\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "verejný kµúè k absolútne dôveryhodnému kµúèu  %08lX nebol nájdený\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "záznam dôvery %lu, typ %d: zápis zlyhal: %s\n"
@@ -6758,77 +6814,77 @@ msgstr "vstupn
 msgid "can't open fd %d: %s\n"
 msgstr "nemô¾em otvori» `%s': %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "chyba pri èítaní súboru"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "riadok je príli¹ dlhý\n"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "neplatný argument"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "konfliktné príkazy\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "neplatný parameter pre import\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "nespracované"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "neplatný parameter pre import\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "Neplatný príkaz (skúste \"help\")\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "nespracované"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "neplatný parameter pre import\n"
@@ -6838,22 +6894,17 @@ msgstr "neplatn
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "nájdená chyba v programe ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "chyba pri èítaní `%s': %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "nemo¾no otvori» súbor: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
@@ -6910,24 +6961,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -6976,208 +7028,222 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "zlyhalo obnovenie vyrovnávacej pamäti kµúèov: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "zmazanie bloku kµúèa sa nepodarilo:  %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr ""
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "zmeni» heslo"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "nepodarilo posla» kµúè na server: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "zmeni» heslo"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "zmeni» heslo"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Prosím výberte dôvod na revokáciu:\n"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "zmeni» heslo"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "zmeni» heslo"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 #, fuzzy
 msgid "error reading application data\n"
 msgstr "chyba pri èítaní bloku kµúèa: %s\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 #, fuzzy
 msgid "error reading fingerprint DO\n"
 msgstr "%s: chyba pri èítaní voµného záznamu: %s\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 #, fuzzy
 msgid "key already exists\n"
 msgstr "`%s' je u¾ skomprimovaný\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 #, fuzzy
 msgid "generating new key\n"
 msgstr "vytvori» nový pár kµúèov"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "vytvori» nový pár kµúèov"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 #, fuzzy
 msgid "generating key failed\n"
 msgstr "zmazanie bloku kµúèa sa nepodarilo:  %s\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, fuzzy, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Vytvorenie kµúèa sa nepodarilo: %s\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nenájdené ¾iadne platné dáta vo formáte OpenPGP.\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "zmeni» heslo"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -7186,72 +7252,76 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr ""
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "|SÚBOR|nahra» roz¹irujúci modul SÚBOR"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 #, fuzzy
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|MENO|pou¾i» MENO ako implicitného adresáta"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 #, fuzzy
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|MENO|pou¾i» MENO ako implicitného adresáta"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "vôbec nepou¾íva» terminál"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "konfliktné príkazy\n"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Pou¾itie: gpg [mo¾nosti] [súbory] (-h pre pomoc)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7290,11 +7360,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 #, fuzzy
 msgid "shell"
 msgstr "help"
@@ -7326,208 +7396,209 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "zmazanie bloku kµúèa sa nepodarilo:  %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "POZNÁMKA: kµúè bol revokovaný"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "zapisujem tajný kµúè do `%s'\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "Platnos» kµúèa vypr¹ala!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "Platnos» kµúèa vypr¹ala!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "Platnos» kµúèa vypr¹ala!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "Platnos» kµúèa vypr¹ala!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "               nové podpisy: %lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "Revokaèný certifikát bol vytvorený.\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "nesprávny certifikát"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr ""
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "vypísa» fingerprint"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "vytvori» revokaèný certifikát"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "verifikova» podpis"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "duplicita predvoµby %c%lu\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "Revokaèný certifikát bol vytvorený.\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "nesprávny certifikát"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7592,19 +7663,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "chyba pri zápise do súboru tajných kµúèov `%s': %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7813,7 +7884,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "kµúè `%s' nebol nájdený: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "chyba pri èítaní bloku kµúèa: %s\n"
@@ -7952,7 +8023,7 @@ msgstr ""
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|MENO|pou¾i MENO ako implicitný tajný kµúè"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
@@ -7976,8 +8047,8 @@ msgstr "Pou
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpg [mo¾nosti] [súbory]\n"
 "podpísa», overi», ¹ifrova» alebo de¹ifrova»\n"
@@ -8013,26 +8084,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr " s = preskoèi» tento kµúè\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "nemo¾no pou¾i» URI servera kµúèov - chyba analýzy URI\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, fuzzy, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "zapisujem do '%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "nemô¾em zavrie» `%s': %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -8050,12 +8121,7 @@ msgstr "vytvori
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -8070,46 +8136,42 @@ msgstr "chyba pri vytv
 msgid "error reading input: %s\n"
 msgstr "chyba pri èítaní `%s': %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "chyba pri vytváraní súboru kµúèov (keyring)`%s': %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "súbor kµúèov (keyring) `%s' vytvorený\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problém overenia revokácie: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "chyba pri èítaní `%s': %s\n"
@@ -8297,149 +8359,149 @@ msgstr "chyba pri posielan
 msgid "error sending standard options: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|pou¾i» mód hesla N"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|MENO|pou¾i MENO ako implicitný tajný kµúè"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|MENO|¹ifrova» pre MENO"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "nemo¾no pou¾i» URI servera kµúèov - chyba analýzy URI\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|ALG|pou¾i» ¹ifrovací algoritmus ALG pre heslá"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8700,6 +8762,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "chyba pri èítaní `%s': %s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "nemô¾em inicializova» databázu dôvery: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Príkaz> "
 
@@ -9242,9 +9312,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "bol pou¾itý nesprávny tajný kµúè"
 
-#~ msgid "not supported"
-#~ msgstr "nepodporované"
-
 #~ msgid "bad key"
 #~ msgstr "nesprávny kµúè"
 
index e7386d8..5fffe07 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index fd72943..beec96a 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -24,16 +24,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg trunk\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2011-01-12 14:53+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "misslyckades med att ta kontroll över PIN-inmatningslåset: %s\n"
@@ -43,21 +44,21 @@ msgstr "misslyckades med att ta kontroll över PIN-inmatningslåset: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "_Avbryt"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "PIN-kod:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Kvalitet:"
 
@@ -67,7 +68,7 @@ msgstr "Kvalitet:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Denna rad indikerar kvaliteten för ovan angiven lösenfras.\n"
@@ -76,7 +77,7 @@ msgstr ""
 "och specialtecken. Fråga din administratör om mer exakt information hur\n"
 "man anger säkra lösenfraser."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -84,152 +85,155 @@ msgstr ""
 "Ange din PIN-kod så att den hemliga nyckeln kan låsas upp för den här "
 "sessionen"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 "Ange din lösenfras så att den hemliga nyckeln kan låsas upp för denna session"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (försök %d av %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN-koden är för lång"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Lösenfrasen är för lång"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Ogiltiga tecken i PIN-kod"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN-kod för kort"
 
 # MPI står för Multiple Precision Integer (tror jag)
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Felaktig PIN-kod"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Felaktig lösenfras"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Lösenfras"
 
 # Skyddssammandraget låter underligt
 # Kontrollsumma?
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh-nycklar större än %d bitar stöds inte\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "kan inte skapa \"%s\": %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "kan inte öppna \"%s\": %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "fel när serienumret hämtades från kortet: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "identifierade kort med serienummer: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "fel när nyckel-id för autentisering hämtades från kortet: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "ingen lämplig kortnyckel hittades: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "skuggning av nyckeln misslyckades: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "fel vid skrivning av nyckel: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Ange lösenfrasen för ssh-nyckeln%0A  %c"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Ange denna lösenfras igen"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "Ange en lösenfras för att skydda den mottagna hemliga nyckeln%%0A   %s%%0Ai  "
 "gpg-agents nyckellager"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "stämmer inte överens - försök igen"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "misslyckades med att skapa flöde från uttag: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Mata in kortet med serienummer"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Ta bort det aktuella kortet och mata in det med serienummer"
 
@@ -248,8 +252,9 @@ msgid "Reset Code"
 msgstr "Nollställ kod"
 
 #: agent/divert-scd.c:238
-#, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+#, fuzzy, c-format
+#| msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr "%s%%0A%%0AAnvänd läsarens knappsats för inmatning."
 
 #: agent/divert-scd.c:287
@@ -351,8 +356,8 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
-"Du har inte angivet en lösenfras - det här är oftast en dålig idé!%"
-"0ABekräfta att du inte vill ha något som helst skydd för din nyckel."
+"Du har inte angivet en lösenfras - det här är oftast en dålig idé!"
+"%0ABekräfta att du inte vill ha något som helst skydd för din nyckel."
 
 #: agent/genkey.c:264
 msgid "Yes, protection is not needed"
@@ -360,8 +365,9 @@ msgstr "Ja, skydd behövs inte"
 
 # fel kapitalisering i originalet?
 #: agent/genkey.c:308
-#, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+#, fuzzy, c-format
+#| msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Ange lösenfrasen för%0Aför att skydda din nya nyckel"
 
 #: agent/genkey.c:431
@@ -369,7 +375,7 @@ msgid "Please enter the new passphrase"
 msgstr "Ange den nya lösenfrasen"
 
 # Här bruksanvisning för kommandoraden. Resultatet har jag översatt med "inställningar", eftersom flaggorna även kan förekomma i en inställningsfil.
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -378,104 +384,112 @@ msgstr ""
 "@Flaggor:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "kör i serverläge (förgrund)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "kör i demonläge (bakgrund)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "kör i serverläge (förgrund)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "utförlig"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "var något tystare"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "sh-liknande kommandoutdata"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "csh-liknande kommandoutdata"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|FIL|läs inställningar från FIL"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "frigör inte från konsollen"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "fånga inte tangentbord och mus"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "använd en loggfil för servern"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "använd en standardplats för uttaget"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PRG|använd PRG som PIN-inmatningsprogrammet"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PRG|använd PRG som SCdaemon-programmet"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "använd inte SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ignorera begäran om att ändra TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ignorera begäran om att ändra X-display"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|låt mellanlagrade PIN-koder gå ut efter N sekunder"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "använd inte mellanlagring av PIN-kod vid signering"
 
 # Antar att värdet inte ska översättas.
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "tillåt klienter att markera nycklar som \"trusted\""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "tillåt förinställning av lösenfras"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "aktivera ssh-agent-emulering"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|FIL|skriv även miljöinställningar till FIL"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -483,11 +497,11 @@ msgstr ""
 "Rapportera fel till <@EMAIL@>.\n"
 "Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Användning: gpg-agent [flaggor] (-h för hjälp)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -495,157 +509,158 @@ msgstr ""
 "Syntax: gpg-agent [flaggor] [kommando [argument]]\n"
 "Hantering av hemliga nycklar för GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "ogiltig debug-level \"%s\" angiven\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s är för gammal (behöver %s, har %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "OBS: inställningsfilen \"%s\" saknas\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "inställningsfil \"%s\": %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "läser inställningar från \"%s\"\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "Fel när \"%s\" skapades: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: kan inte skapa katalog: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "namnet på uttaget är för långt\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "kan inte skapa uttag: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "namnet på uttaget \"%s\" är för långt\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "en gpg-agent är redan igång - startar inte en till\n"
 
 # Jag har valt att inte översätta nonce. Nonce är data eller information som endast används en gång
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "fel vid hämtning av nonce för uttaget\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "fel när \"%s\" bands till uttag: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() misslyckades: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "lyssnar på uttaget \"%s\"\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "katalogen \"%s\" skapades\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() misslyckades för \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "kan inte använda \"%s\" som hemkatalog\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fel vid läsning av nonce på fd %d: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "hanteraren 0x%lx för fd %d startad\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "hanteraren 0x%lx för fd %d avslutad\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "ssh-hanteraren 0x%lx för fd %d startad\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh-hanteraren 0x%lx för fd %d avslutad\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select misslyckades: %s - väntar 1 s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stoppad\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "ingen gpg-agent kör i den här sessionen\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "miljövariabeln GPG_AGENT_INFO är felformaterad\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "GPG-Agent protokoll version %d stöds inte\n"
 
 # KEYGRIP är ett hexadecimalt värde som representerar hashen för den publika nyckeln
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 "Användning: gpg-preset-passphrase [flaggor] NYCKELHASH (-h för hjälp)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -653,7 +668,7 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [flaggor] NYCKELHASH\n"
 "Underhåll av lösenordscache\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -663,7 +678,7 @@ msgstr ""
 " "
 
 # Här bruksanvisning för kommandoraden. Resultatet har jag översatt med "inställningar", eftersom flaggorna även kan förekomma i en inställningsfil.
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -675,11 +690,11 @@ msgstr ""
 "Flaggor:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Användning: gpg-protect-tool [flaggor] (-h för hjälp)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -687,22 +702,22 @@ msgstr ""
 "Syntax: gpg-protect-tool [flaggor] [argument]\n"
 "Underhållsverktyg för hemliga nycklar\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Ange lösenfrasen för att avskydda PKCS#12-objektet."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Ange lösenfrasen för att skydda det nya PKCS#12-objektet."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 "Ange lösenfrasen för att skydda det importerade objektet inom GnuPG-systemet."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -710,15 +725,15 @@ msgstr ""
 "Ange lösenfrasen eller PIN-koden som\n"
 "behövs för att färdigställa denna åtgärd."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Lösenfras:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "avbruten\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "fel vid fråga efter lösenfrasen: %s\n"
@@ -839,8 +854,8 @@ msgstr "ändra lösenfras"
 msgid "I'll change it later"
 msgstr "Jag ändrar den senare"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "fel när ett rör skapades: %s\n"
@@ -881,12 +896,12 @@ msgstr "fel vid körning av \"%s\": antagligen inte installerat\n"
 msgid "error running `%s': terminated\n"
 msgstr "fel vid körning av \"%s\": avslutades\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "fel när uttag skapades: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "värden hittades inte"
 
@@ -915,18 +930,18 @@ msgstr "avbruten av användaren\n"
 msgid "problem with the agent\n"
 msgstr "problem med agenten\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "kan inte stänga av minnesutskrifter: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Varning: osäkert ägarskap på %s \"%s\"\n"
 
 # Extension är vad? FIXME
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Varning: osäkra rättigheter på %s \"%s\"\n"
@@ -1141,11 +1156,11 @@ msgstr "Certifikatkedjan är giltig"
 msgid "Root certificate trustworthy"
 msgstr "rotcertifikatet är pålitligt"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "ingen spärrlista hittades för certifikatet"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "den tillgängliga spärrlistan är för gammal"
 
@@ -1221,7 +1236,7 @@ msgid "invalid dash escaped line: "
 msgstr "ogiltig rad som börjar med bindestreck: "
 
 # överhoppad eller hoppades över?
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "ogiltigt radix64-tecken %02X hoppades över\n"
@@ -1239,7 +1254,7 @@ msgstr "för tidigt filslut (i CRC-summan)\n"
 msgid "malformed CRC\n"
 msgstr "felformaterad CRC-summa\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC-fel; %06lX - %06lX\n"
@@ -1252,16 +1267,16 @@ msgstr "för tidigt filslut (i den avslutande raden)\n"
 msgid "error in trailer line\n"
 msgstr "fel i avslutande rad\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "hittade ingen giltig OpenPGP-data.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "ogiltigt ASCII-skal: raden är längre än %d tecken\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1298,7 +1313,7 @@ msgstr "VARNING: ogiltig notationsdata hittades\n"
 msgid "not human readable"
 msgstr "inte läsbart"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP-kort är inte tillgängligt: %s\n"
@@ -1308,8 +1323,8 @@ msgstr "OpenPGP-kort är inte tillgängligt: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP-kort nr. %s identifierades\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "kan inte göra detta i satsläge\n"
 
@@ -1317,155 +1332,155 @@ msgstr "kan inte göra detta i satsläge\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Detta kommando är endast tillgängligt för kort av version 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Återställningskoden är inte tillgänglig längre\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Vad väljer du? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[inte inställt]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "man"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "kvinna"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "ej angiven"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "inte tvingad"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "tvingad"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Fel: Endast ren ASCII tillåts för närvarande.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Fel: Tecknet \"<\" får inte användas.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Fel: Dubbla blanksteg tillåts inte.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Kortinnehavarens efternamn: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Kortinnehavarens förnamn: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Fel: Fullständigt namn för långt (gränsen är %d tecken).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "Url för att hämta publik nyckel: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Fel: URL:en är för lång (gränsen är %d tecken).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "fel vid allokering av tillräckligt mycket minne: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "fel vid läsning av \"%s\": %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "fel vid skrivning till \"%s\": %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Inloggningsdata (kontonamn): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Fel: Inloggningsdata är för långt (gräns är %d tecken).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Privat DO-data: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Fel: Privat DO för långt (gränsen är %d tecken).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Språkinställningar: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Fel: ogiltig längd på inställningssträngen\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Fel: ogiltiga tecken i inställningssträngen.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Kön ((M)an, Kvinna(F) eller blanksteg): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Fel: ogiltigt svar.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA-fingeravtryck: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Fel: ogiltigt formaterat fingeravtryck.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "nyckelåtgärden är inte möjlig: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "inte ett OpenPGP-kort"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "fel vid hämtning av aktuell nyckelinformation: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Ersätt existerande nyckel? (j/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1476,57 +1491,57 @@ msgstr ""
 "      kontrollera dokumentationen för ditt kort för att se vilka storlekar\n"
 "      som tillåts.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Vilken nyckelstorlek vill du använda för signaturnyckeln? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Vilken nyckelstorlek vill du använda för krypteringsnyckeln? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Vilken nyckelstorlek vill du använda för autentiseringsnyckeln? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "avrundade uppåt till %u bitar\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s nyckelstorlekar måste vara inom intervallet %u-%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
 "bitar\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "fel vid ändring av storlek för nyckel %d till %u bitar: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Skapa säkerhetskopia av krypteringsnyckel utanför kortet? (J/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "OBSERVERA: nycklar har redan lagrats på kortet!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Ersätt existerande nycklar? (j/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1537,131 +1552,131 @@ msgstr ""
 "   PIN-kod = \"%s\"     Admin PIN-kod = \"%s\"\n"
 "Du bör ändra dem med kommandot --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Välj vilken typ av nyckel som ska genereras:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signeringsnyckel\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Krypteringsnyckel\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentiseringsnyckel\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Ogiltigt val.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Välj var nyckeln ska sparas:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "okänd nyckelskyddsalgoritm\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "hemliga delar av nyckeln är inte tillgängliga.\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "hemlig nyckel redan lagrad på ett kort\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "fel vid skrivning av nyckel till kort: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "avsluta denna meny"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "visa administratörskommandon"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "visa denna hjälp"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "lista allt tillgängligt data"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "ändra kortinnehavarens namn"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "ändra url för att hämta nyckel"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "hämta nyckel som anges i kortets url"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "ändra inloggningsnamnet"
 
 # originalet borde ha ett value
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "ändra språkinställningarna"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "ändra kortinnehavarens kön"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "ändra ett CA-fingeravtryck"
 
 # den låter skum
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "växla flagga för att tvinga signatur-PIN-kod"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "generera nya nycklar"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "meny för att ändra eller avblockera PIN-koden"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "validera PIN-koden och lista allt data"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "lås upp PIN-koden med en nollställningskod"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/kort> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Kommandon endast för administratör\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Administrationskommandon tillåts\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Administrationskommandon tillåts inte\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ogiltigt kommando (prova med \"help\")\n"
 
@@ -1670,18 +1685,18 @@ msgid "--output doesn't work for this command\n"
 msgstr "--output kan inte användas för detta kommando\n"
 
 # se förra kommentaren
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "kan inte öppna \"%s\"\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1784,7 +1799,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "tvinga symmetriskt chiffer med %s (%d) strider mot mottagarinställningarna\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "du kan inte använda %s när du är i %s-läget\n"
@@ -1794,78 +1809,78 @@ msgstr "du kan inte använda %s när du är i %s-läget\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s krypterad för: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s-krypterad data\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "krypterad med en okänd algoritm %d\n"
 
 # I vissa algoritmer kan svaga nycklar förekomma. Dessa ska inte användas.
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "VARNING: meddelandet krypterades med en svag nyckel\n"
 "i det symmetriska chiffret.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "problem vid hanteringen av krypterat paket\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "ingen körning av fjärrprogram stöds\n"
 
 # Behörighet att komma åt inställningarna, tror jag. Inte behörigheter i inställningsfilen.
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "anrop av externa program är inaktiverat pga osäkra behörigheter för\n"
 "inställningsfilen\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "denna plattform kräver temporärfiler vid anrop till externa program\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "kunde inte köra programmet \"%s\": %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "kunde inte köra skalet \"%s\": %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systemfel när externa program anropades: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "externt program avslutades felaktigt\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "kunde inte köra det externa programmet\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "kan inte läsa svaret från det externa programmet: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "VARNING: kan inte ta bort tempfil (%s) \"%s\": %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "VARNING: kunde inte ta bort temp-katalogen \"%s\": %s\n"
@@ -1957,195 +1972,195 @@ msgstr "fel vid hämtning av \"%s\" via %s: %s\n"
 msgid "No fingerprint"
 msgstr "Inget fingeravtryck"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Ogiltiga nyckeln %s tvingades till giltig med --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "ingen hemlig undernyckel för publika undernyckeln %s - hoppar över\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "använder undernyckeln %s istället för primära nyckeln %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "nyckel %s: hemlig nyckel utan publik nyckel - hoppades över\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "skapa en signatur"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "skapa en klartextsignatur"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "skapa signatur i en separat fil"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "kryptera data"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "kryptering endast med symmetriskt chiffer"
 
 # gnupg dekrypterar data om inget kommando anges dvs. kommandot "decrypt" behöver inte användas.
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "dekryptera data (standard)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "validera en signatur"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "lista nycklar"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "lista nycklar och signaturer"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "lista och kontrollera nyckelsignaturer"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "lista nycklar och fingeravtryck"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "lista hemliga nycklar"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "generera ett spärrcertifikat"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "ta bort nycklar från den publika nyckelringen"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "ta bort nycklar från den hemliga nyckelringen"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "signera en nyckel"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "signera en nyckel lokalt"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "signera eller redigera en nyckel"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "ändra en lösenfras"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "exportera nycklar"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "exportera nycklar till en nyckelserver"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "importera nycklar från en nyckelserver"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "sök efter nycklar hos en nyckelserver"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "uppdatera alla nycklar nycklar från en nyckelserver"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "importera/slå samman nycklar"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "skriv ut kortstatus"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "ändra data på ett kort"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "ändra PIN-kod för ett kort"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "uppdatera tillitsdatabasen"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "skriv ut kontrollsummor"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "kör i serverläge"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "skapa utdata med ett ascii-skal"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ANVÄNDAR-ID|kryptera för ANVÄNDAR-ID"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|ANVÄNDAR-ID|använd ANVÄNDAR-ID för att signera eller dekryptera"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|ställ in komprimeringsnivån till N (0 för att inaktivera)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "använd \"ursprunglig text\"-läget"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FIL|skriv utdata till FIL"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "gör inga ändringar"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "fråga innan överskrivning"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "använd strikt OpenPGP-beteende"
 
 # inställningar istället för flaggor?
 # Nej, här är det bruksanvisningen för kommandoraden.
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2153,7 +2168,7 @@ msgstr ""
 "@\n"
 "(Se manualsidan för en fullständig lista över alla kommandon och flaggor)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2173,22 +2188,27 @@ msgstr ""
 "--list-keys [namn]          visa nycklar\n"
 "--fingerprint [namn]        visa fingeravtryck\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
 
 # Om inget kommando anges (decrypt/encrypt etc) väljs åtgärd efter indata.
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpg [flaggor] [filer]\n"
 "signera, kontrollera, kryptera eller dekryptera\n"
 "standardåtgärden beror på inmatningsdata\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2196,94 +2216,94 @@ msgstr ""
 "\n"
 "Algoritmer som stöds:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Publik nyckel: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Chiffer: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Kontrollsumma: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Komprimering: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "användning: gpg [flaggor] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "motstridiga kommandon\n"
 
 # Vad betyder detta?
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "no = signatur hittad i gruppdefinitionen \"%s\"\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "VARNING: osäkert ägarskap på hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "VARNING: osäkert ägarskap på konfigurationsfilen \"%s\"\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "VARNING: osäkert ägarskap på tillägget \"%s\"\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "VARNING: osäkra rättigheter på hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "VARNING: osäkra rättigheter på konfigurationsfilen \"%s\"\n"
 
 # Extension är vad? FIXME
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "VARNING: osäkra rättigheter på tillägget \"%s\"\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "VARNING: osäkert ägarskap på inneslutande katalog för hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr ""
-"VARNING: osäkert ägarskap på inneslutande katalog för konfigurationsfilen \"%"
-"s\"\n"
+"VARNING: osäkert ägarskap på inneslutande katalog för konfigurationsfilen "
+"\"%s\"\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
 "VARNING: osäkert ägarskap på inneslutande katalog för tillägget \"%s\"\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2291,474 +2311,474 @@ msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för konfigurationsfilen "
 "\"%s\"\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för tillägget \"%s\"\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "okänd konfigurationspost \"%s\"\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "visa foto-id under nyckellistning"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "visa policy-url:er under signaturlistningar"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "visa alla notationer under signaturlistningar"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "visa IETF-standardnotationer under signaturlistningar"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "visa användarangivna notationer under signaturlistningar"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "visa url:er till föredragna nyckelservrar under signaturlistningar"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "visa giltighet för användaridentitet vid nyckellistningar "
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "visa spärrade och utgångna användaridentiteter i nyckellistningar"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "visa spärrade och utgångna undernycklar i nyckellistningar"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "visa nyckelringens namn i nyckellistningar"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "visa utgångsdatum under signaturlistningar"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "OBS: den gamla inställningsfilen \"%s\" används inte\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt är för gammalt (behöver %s, har %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "OBS: %s är inte för normal användning!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "\"%s\" är inte ett giltigt utgångsdatum för en signatur\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "\"%s\" är ingen giltig teckentabell\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "kunde inte tolka url till nyckelserver\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ogiltiga flaggor för nyckelserver\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "ogiltiga flaggor för nyckelserver\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ogiltiga importeringsflaggor\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "ogiltiga importflaggor\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ogiltiga exportflaggor\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "ogiltiga exportinställningar\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ogiltiga listflaggor\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "ogiltiga listflaggor\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "visa foto-id under signaturvalidering"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "visa policy-url:er under signaturvalidering"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "visa alla notationer under signaturvalidering"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "visa IETF-standardnotationer under signaturvalidering"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "visa användarangivna notationer under signaturvalidering"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "visa url:er till föredragna nyckelserver under signaturvalidering"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "visa giltighet för användaridentitet vid signaturvalidering"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "visa spärrade och utgångna användaridentiteter i signaturvalidering"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "visa endast primär användaridentitet i signaturvalidering"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "validera signaturer med PKA-data"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "öka tillit på signaturer med giltigt PKA-data"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ogiltiga flaggor för validering\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "ogiltiga flaggor för validering\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "kunde inte ställa in exec-path till %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ogiltig auto-key-locate-lista\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "ogiltig auto-key-locate-lista\n"
 
 # Programmet skapar en avbildning (image) av minnet för att lättare kunna spåra fel.
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "VARNING: programmet kan komma att skapa en minnesavbild!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VARNING: %s gäller istället för %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s är inte tillåten tillsammans med %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "det är ingen poäng att använda %s tillsammans med %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kommer inte att köra med osäkert minne på grund av %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "du kan bara göra signaturer i en separat fil eller klartextsignaturer\n"
 "i --pgp2-läge\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "du kan inte signera och kryptera samtidigt i --pgp2-läge\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "du måste använda filer (och inte rör) i --pgp2-läge\n"
 
 # IDEA-algoritmen är patenterat i flera länder och finns därför inte med i GnuPG som standard.
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "kryptering av meddelanden i --pgp2-läge kräver IDEA-chiffret\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "den valda chifferalgoritmen är ogiltig\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "vald sammandragsalgoritm är ogiltig\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "vald komprimeringsalgoritm är ogiltig\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vald algoritm för certifieringssammandrag är felaktig\n"
 
 # antalet betrodda signaturer som behövs (1-3) för att du ska lita på en nyckel du inte själv verifierat.
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "variabeln \"completes-needed\" måste ha ett värde som är större än 0\n"
 
 # antalet delvis betrodda signaturer som behövs (1-3) för att du ska lita på en nyckel du inte själv verifierat.
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "variabeln \"marginals-needed\" måste vara större än 1\n"
 
 # Hur djupt GnuPG ska leta i Web-of-trust.
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth måste vara inom intervallet från 1 till 255\n"
 
 # Det är nivån för hurväl du har kontrollerat att nyckeln tillhör innehavaren.
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "ogiltigt standardvärde för certifieringsnivån; måste vara 0, 1, 2 eller 3\n"
 
 # Det är nivån för hurväl du har kontrollerat att nyckeln tillhör innehavaren.
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ogiltigt minimivärde för certifieringsnivån; måste vara 1, 2 eller 3\n"
 
 # S2K har med krypteringen av hemliga nyckeln att göra
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "OBS: enkelt S2K-läge (0) rekommenderas inte\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ogiltigt S2K-läge; måste vara 0, 1 eller 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "ogiltiga standardinställningar\n"
 
 # Du kan ange de algoritmer du föredrar i prioritetsordning. Då avgör inte enbart standard (symmetrisk kryptering) eller mottagarens preferenser (kryptering till öppen nyckel).
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "ogiltig inställning av personligt chiffer\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "ogiltig inställning av föredragna kontrollsummealgoritmer\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "ogiltig inställning av föredragna kompressionsalgoritmer\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s fungerar ännu inte med  %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "du får inte använda chifferalgoritmen \"%s\" när du är i %s-läget\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
 "du får inte använda sammandragsalgoritmen \"%s\" när du är i %s-läget\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "du får inte använda komprimeringsalgoritmen \"%s\" när du är i %s-läget\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "misslyckades med att initialisera tillitsdatabasen: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VARNING: mottagare (-r) angivna utan att använda publik nyckel-kryptering\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [filnamn]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [filnamn]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "symmetrisk kryptering av \"%s\" misslyckades: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [filnamn]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [filnamn]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "du kan inte använda --symmetric --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "du kan inte använda --symmetric --encrypt i %s-läget\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [filnamn]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [filnamn]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [filnamn]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "du kan inte använda --symmetric --sign --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 "du kan inte använda --symmetric --sign --encrypt när du är i %s-läget\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [filnamn]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [filnamn]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [filnamn]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key användaridentitet"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key användaridentitet"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key användaridentitet [kommandon]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <användaridentitet>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "sändning till nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "hämtning från nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export av nyckeln misslyckades: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "sökning på nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "uppdatering av  nyckeln från en nyckelserver misslyckades: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "misslyckades med att ta bort ASCII-skalet: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "misslyckades med att skapa ASCII-skal: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "ogiltig kontrollsummealgoritm \"%s\"\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[filnamn]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Skriv ditt meddelande här ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "den angivna URL som beskriver certifieringsspolicy är ogiltig\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "den angivna URL som beskriver signaturpolicy är ogiltig\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "den angivna föredragna nyckelserver-url:n är ogiltig\n"
 
@@ -2798,120 +2818,120 @@ msgstr "Det finns ingen hjälp tillgänglig"
 msgid "No help available for `%s'"
 msgstr "Det finns ingen hjälp tillgänglig för \"%s\""
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "importera signaturer som är markerade som endast lokala"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "reparera skada från pks-nyckelservern under importering"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "uppdatera inte tillitsdatabasen efter importering"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "skapa en publik nyckel när en hemlig nyckel importeras"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "acceptera endast uppdateringar till befintliga nycklar"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "ta bort oanvändbara delar från nyckeln efter importering"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "ta bort så mycket som möjligt från nyckeln efter importering"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "hoppar över block av typen %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu nycklar behandlade än så länge\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Totalt antal behandlade enheter: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        överhoppade nya nycklar: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "       utan användaridentiteter: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                    importerade: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                    oförändrade: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "        nya användaridentiteter: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "               nya undernycklar: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                 nya signaturer: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          nya nyckelspärrningar: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "    antal lästa hemliga nycklar: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "    importerade hemliga nycklar: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "    oförändrade hemliga nycklar: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "               inte importerade: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "             signaturer rensade: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "    användaridentiteter rensade: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2920,359 +2940,375 @@ msgstr ""
 "VARNING: nyckeln %s innehåller inställningar för otillgängliga\n"
 "algoritmer för dessa användaridentiteter:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": inställning för chifferalgoritmen %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": inställning för sammandragsalgoritmen %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": inställning för komprimeringsalgoritmen %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "det rekommenderas starkt att du uppdaterar dina inställningar\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "och distribuerar denna nyckel igen för att undvika tänkbara problem\n"
 "med att algoritmerna inte stämmer\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "du kan uppdatera dina inställningar med: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "nyckel %s: ingen användaridentitet\n"
 
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "hoppade över \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
 # Undernyckeln är skadad på HKP-servern. Vanligt fel vid många undernycklar.
-#: g10/import.c:795
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "nyckeln %s: PKS-skadad undernyckel reparerades\n"
 
 # vad innebär fnutten i slutet?
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "nyckel %s: accepterade icke-självsignerad användaridentitet \"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "nyckel %s: inga giltiga användaridentiteter\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "detta kan bero på att det saknas en självsignatur\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "nyckel %s: hittade ingen publik nyckel: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "nyckel %s: ny nyckel - hoppade över\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "hittade ingen nyckelring som gick att skriva till: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "skriver till \"%s\"\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "fel vid skrivning av nyckelringen \"%s\": %s\n"
 
 # fixme: I appended the %s -wk
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "nyckel %s: publika nyckeln \"%s\" importerades\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "nyckel %s: stämmer inte mot vår lokala kopia\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "nyckel %s: kan inte hitta det ursprungliga nyckelblocket: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "nyckel %s: kan inte läsa det ursprungliga nyckelblocket %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "nyckel %s: \"%s\" 1 ny användaridentitet\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "nyckel %s: \"%s\" %d nya användaridentiteter\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "nyckel %s: \"%s\" 1 ny signatur\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "nyckel %s: \"%s\" %d nya signaturer\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "nyckel %s: \"%s\" 1 ny undernyckel\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "nyckel %s: \"%s\" %d nya undernycklar\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "nyckel %s: \"%s\" %d signatur rensad\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "nyckel %s: \"%s\" %d signaturer rensade\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "nyckel %s: \"%s\" %d användaridentitet rensad\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "nyckel %s: \"%s\" %d användaridentiteter rensade\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "nyckel %s: \"%s\" inte ändrad\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "nyckel %s: hemlig nyckel med ogiltigt chiffer %d - hoppade över\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "hemliga nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "import av hemliga nycklar tillåts inte\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "nyckel %s: hemlig nyckel med ogiltigt chiffer %d - hoppade över\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "ingen hemlig nyckelring angiven som standard: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "nyckel %s: hemlig nyckel importerades\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "nyckel %s: finns redan i hemliga nyckelringen\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "nyckel %s: hittade inte hemlig nyckel: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "nyckel %s: ingen publik nyckel - kan inte verkställa spärrcertifikat\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "nyckel %s: ogiltigt spärrcertifikat: %s - avvisat\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "nyckel %s: \"%s\" spärrcertifikat importerat\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "nyckel %s: ingen användaridentitet för signaturen\n"
 
 # fixme: I appended the %s -wk
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "nyckel %s: algoritmen för publika nycklar stöds inte för "
 "användaridentiteten  \"%s\"\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "nyckel %s: ogiltig självsignatur på användaridentiteten \"%s\"\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "nyckel %s: algoritmen för publika nycklar stöds inte\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "nyckel %s: ogiltig direkt nyckelsignatur\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "nyckel %s: ingen undernyckel för nyckelbindning\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "nyckel %s: ogiltig undernyckelbindning\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "nyckel %s: tog bort flera undernyckelbindningar\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "nyckel %s: ingen undernyckel för nyckelspärrning\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "nyckel %s: ogiltig spärr av undernyckel\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "nyckel %s: tog bort flera spärrar av undernyckel\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "nyckel %s: hoppade över användaridentiteten \"%s\"\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "nyckel %s: hoppade över undernyckel\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "nyckel %s: icke-exporterbar signatur (klass 0x%02X) - hoppade över\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "nyckel %s: spärrcertifikat på fel plats - hoppade över\n"
 
 # nyckeln eller certifikatet??
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "nyckel %s: ogiltigt spärrcertifikat: %s - hoppade över\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "nyckel %s: signatur på undernyckel på fel plats - hoppade över\n"
 
 # nyckeln eller klassen?
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "nyckel %s: oväntad signaturklass  (0x%02X) - hoppade över\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 "nyckel %s: dubblett av användaridentiteten hittades - slog samman dem\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "VARNING: nyckeln %s kan ha spärrats: hämtar spärrnyckeln %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "VARNING: nyckeln %s kan ha spärrats: spärrnyckeln %s saknas.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "nyckel %s: \"%s\" spärrcertifikat lades till\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "nyckel %s: lade till direkt nyckelsignatur\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 "OBSERVERA: serienumret för en nyckel stämmer inte med kortets serienummer\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "OBSERVERA: primärnyckeln är ansluten och lagrad på kort\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "OBSERVERA: sekundärnyckeln är ansluten och lagrad på kort\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "fel när nyckelringen \"%s\" skapades: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "%s: nyckelring skapad\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "nyckelblockresurs \"%s\": %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "misslyckades med att återskapa nyckelringscache: %s\n"
@@ -3363,12 +3399,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Användaridentiteten \"%s\" är spärrad."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Vill du verkligen fortfarande signera den? (j/N)"
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Kan inte signera.\n"
 
@@ -3555,8 +3591,8 @@ msgstr "Jag har gjort en noggrann kontroll av denna nyckel.\n"
 msgid "Really sign? (y/N) "
 msgstr "Verkligen signera? (j/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signeringen misslyckades: %s\n"
@@ -3567,19 +3603,19 @@ msgstr ""
 "Nyckeln har endast en stump eller nyckelobjekt på kortet - ingen lösenfras "
 "att ändra.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Denna nyckel är inte skyddad.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "De hemliga delarna av den primära nyckeln är inte tillgängliga.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Hemliga delar av den primära nyckeln är lagrade på kortet.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Nyckeln är skyddad.\n"
 
@@ -3596,7 +3632,7 @@ msgstr ""
 "Skriv in den nya lösenfrasen för den hemliga nyckeln.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "lösenfrasen repeterades inte korrekt; försök igen."
 
@@ -3775,24 +3811,24 @@ msgstr ""
 "komprimera oanvändbara användaridentiteter och ta bort alla signaturer från "
 "nyckeln"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "fel vid läsning av hemligt nyckelblock \"%s\": %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Den hemliga nyckeln finns tillgänglig.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Den hemliga nyckeln behövs för att göra detta.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Använd kommandot \"toggle\" först.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3805,229 +3841,229 @@ msgstr ""
 "signaturer\n"
 "  (nrsign), eller en kombination av dessa (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Nyckeln är spärrad."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Verkligen signera alla användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tips: Välj de användaridentiteter som du vill signera\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Okänd signaturtyp \"%s\"\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Detta kommando är inte tillåtet när du är i %s-läge.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Du måste välja åtminstone en användaridentitet.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Du kan inte ta bort den sista användaridentiteten!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Verkligen ta bort alla valda användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Verkligen ta bort denna användaridentitet? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Verkligen flytta den primära nyckeln? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Du måste välja exakt en nyckel.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Kommandot förväntar ett filnamnsargument\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Kan inte öppna \"%s\": %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Fel vid läsning av säkerhetskopierad nyckel från \"%s\": %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Du måste välja åtminstone en nyckel.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vill du verkligen ta bort de valda nycklarna? (j/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vill du verkligen ta bort denna nyckel? (j/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Verkligen spärra alla valda användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Verkligen spärra denna användaridentitet? (j/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vill du verkligen spärra hela nyckeln? (j/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Vill du verkligen spärra de valda undernycklarna? (j/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Vill du verkligen spärra denna undernyckel? (j/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Ägartillit får inte ställas in när en tillitsdatabas används som användaren "
 "tillhandahåller\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Ställ in inställningslista till:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Vill du verkligen uppdatera inställningarna för valda användaridentiteter? "
 "(j/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Vill du verkligen uppdatera inställningarna? (j/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Spara ändringar? (j/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Avsluta utan att spara? (j/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "uppdateringen misslyckades: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "misslyckades med att uppdatera hemligheten: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Nyckeln är oförändrad så det behövs ingen uppdatering.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Sammandrag: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Funktioner: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Nyckelserver no-modify"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Föredragen nyckelserver: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Notationer: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 "Du kan inte ange några inställningar för en användaridentitet av PGP 2.x-"
 "typ.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Följande nyckel blev spärrad den %s av %s nyckel %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Den här nyckeln kan vara spärrad av %s nyckel %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(känsligt)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "skapat: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "spärrad: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "utgånget: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "går ut: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "användning: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "tillit: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "giltighet: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Denna nyckel har stängts av"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "kortnummer: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4035,17 +4071,17 @@ msgstr ""
 "Observera! Den visade nyckelgiltigheten kan vara felaktig\n"
 "såvida inte du startar om programmet.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "spärrad"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "utgånget"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4054,7 +4090,7 @@ msgstr ""
 "Detta kommando kan göra att en annan användaridentitet antas\n"
 "vara den primära identiteten.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4063,75 +4099,75 @@ msgstr ""
 "VARNING: Detta är en nyckel av PGP2-typ.  Om du lägger till ett foto-id kan\n"
 "         vissa versioner av PGP avvisa denna nyckel.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Vill du verkligen fortfarande lägga till den? (j/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Du kan inte lägga till ett foto-id till en nyckel av PGP 2-typ.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Vill du radera denna korrekta signatur? (j/N/a)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Vill du radera denna ogiltiga signatur? (j/N/a)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Vill du radera denna okända signatur? (j/N/a)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Verkligen ta bort denna självsignatur? (j/N)"
 
 # skulle lika gärna kunna heta 1 signatur va?
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Raderade %d signatur.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Raderade %d signaturer.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Ingenting raderat.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "ogiltigt"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Användaridentiteten \"%s\" komprimerad: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Användaridentitet \"%s\": %d signaturer borttagna\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Användaridentitet \"%s\": %d signaturer borttagna\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Användaridentitet \"%s\": redan minimerad\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Användaridentitet \"%s\": redan rensad\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4141,269 +4177,269 @@ msgstr ""
 "denna\n"
 "         nyckel inte användas i vissa versioner av PGP.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Du får inte lägga till en spärrnyckel för en PGP 2.x-nyckel.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Ange användaridentiteten för spärrnyckeln: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "det går inte att använda en PGP 2.x-nyckel som spärrnyckel\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "du kan inte ange en nyckel som sin egen spärrnyckel\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "den här nyckeln har redan markerats som en spärrnyckel\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VARNING: det går aldrig att ångra om du utser en spärrnyckel!\n"
 
 # designated = angiven (utnämnd, utpekad, bestämd, utsedd, avsedd, angiven, designerad)
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Är du säker på att du vill använda den här nyckeln för spärrning? (j/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Tag bort markeringar från de hemliga nycklarna.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Välj som mest en undernyckel.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ändrar utgångstid för en undernyckel.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändrar giltighetstid för den primära nyckeln.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Du kan inte ändra giltighetsdatum för en v3-nyckel\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Det finns ingen motsvarande signatur i den hemliga nyckelringen\n"
 
 # Vad betyder det?
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signeringsundernyckeln %s är redan korscertifierad\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "undernyckeln %s signerar inte och behöver inte korscertifieras\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Välj endast en användaridentitet.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "hoppar över v3-självsignatur på användaridentiteten \"%s\"\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Ange din föredragna nyckelserver-url: "
 
 # Obs! Syftar på bildfilen med ditt foto. Meddelandet visas om du valt en mycket stor fil.
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Är du säker på att du vill ersätta det? (j/N) "
 
 # Obs! Syftar på bildfilen med ditt foto. Meddelandet visas om du valt en mycket stor fil.
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Är du säker på att du vill ta bort det? (j/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Ange notationen: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Fortsätt? (j/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ingen användaridentitet med indexet %d\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ingen användaridentitet med hashen %s\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Ingen undernyckel med indexet %d\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "användaridentitet: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signerat av din nyckel %s den %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr "  (icke exporterbar)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Denna signatur gick ut den %s.\n"
 
 # nyckel? signatur?
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Är du säker på att du fortfarande vill spärra den? (j/N)"
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vill du skapa ett spärrcertifikat för denna signatur? (j/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Inte signerad av dig.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Du har signerat följande användaridentiteter med nyckeln %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (inte spärrbar)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "spärrad av din nyckel %s den %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Du är på väg att spärra dessa signaturer:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Vill du verkligen skapa spärrcertifikatet? (j/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "ingen hemlig nyckel\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "användaridentiteten \"%s\" är redan spärrad\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "VARNING: en signatur på en användaridentitet är daterad %d sekunder in i "
 "framtiden\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Nyckeln %s är redan spärrad.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Undernyckeln %s är redan spärrad.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Visar %s foto-id med storleken %ld för nyckeln %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "inställningen \"%s\" förekommer flera gånger\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "för många chifferinställningar\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "för många sammandragsinställningar\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "för många komprimeringsinställningar\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "ogiltig post \"%s\" i inställningssträngen\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "skriver direkt signatur\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "skriver självsignatur\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "skriver signatur knuten till nyckeln\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "ogiltig nyckelstorlek; använder %u bitar\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "nyckelstorleken avrundad uppåt till %u bitar\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "VARNING: vissa OpenPGP-program kan inte hantera en DSA-nyckel med den här "
 "sammandragsstorleken\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Signera"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Certifiera"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Kryptera"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Autentisera"
 
@@ -4421,105 +4457,105 @@ msgstr "Autentisera"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsKkAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Möjliga åtgärder för en %s-nyckel: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "För närvarande tillåtna åtgärder: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) Växla signeringsförmågan\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Växla krypteringsförmågan\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Växla autentiseringsförmågan\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Färdig\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Välj vilken typ av nyckel du vill ha:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA och RSA (standard)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA och Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (endast signering)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (endast signering)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (endast kryptering)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (endast kryptering)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (ställ in dina egna förmågor)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (ställ in dina egna förmågor)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s-nycklar kan vara mellan %u och %u bitar långa.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Vilken nyckelstorlek vill du använda för undernyckeln? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Vilken nyckelstorlek vill du ha? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Den efterfrågade nyckelstorleken är %u bitar\n"
 
 # borde kolla upp möjligheterna i källkoden att använda v m å istället för wmy
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4536,7 +4572,7 @@ msgstr ""
 "      <n>y = nyckeln blir ogiltig efter n år\n"
 
 # borde kolla upp möjligheterna i källkoden att använda v m å istället för wmy
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4552,38 +4588,38 @@ msgstr ""
 "      <n>m = signaturen blir ogiltig efter n månader\n"
 "      <n>y = signaturen blir ogiltig efter n år\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "För hur lång tid ska nyckeln vara giltig? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Signaturen är giltig hur länge? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "ogiltigt värde\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Nyckeln går aldrig ut\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Signaturen går aldrig ut\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Nyckeln går ut %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Signaturen går ut %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4591,11 +4627,11 @@ msgstr ""
 "Ditt system kan inte visa datum senare än år 2038.\n"
 "Datum fram till år 2106 kommer dock att hanteras korrekt.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Stämmer detta? (j/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4610,7 +4646,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4628,44 +4664,44 @@ msgstr ""
 "    \"Gustav Vasa (Brutal kung) <gustav@trekronor.se>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Namn: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ogiltigt tecken i namnet\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Namnet får inte börja med en siffra\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Namnet måste vara åtminstone 5 tecken långt\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-postadress: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "E-postadressen är ogiltig\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Kommentar: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Ogiltigt tecken i kommentaren\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Du använder teckentabellen \"%s\"\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4676,11 +4712,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "Ange inte e-postadressen som namn eller kommentar\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "En sådan användaridentitet finns redan på denna nyckel!\n"
 
@@ -4696,24 +4732,24 @@ msgstr "En sådan användaridentitet finns redan på denna nyckel!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnKkEeOoAa"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Ändra (N)amn, (K)ommentar, (E)post eller (A)vsluta? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Ändra (N)amn, (K)ommentar, (E)post eller (O)k/(A)vsluta? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Rätta först felet\n"
 
 # fel kapitalisering i originalet?
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4721,7 +4757,7 @@ msgstr ""
 "Du behöver en lösenfras för att skydda din hemliga nyckel\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4729,12 +4765,12 @@ msgstr ""
 "Ange en lösenfras för att skydda säkerhetskopian av den nya "
 "krypteringsnyckeln."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4746,7 +4782,7 @@ msgstr ""
 "om du använder detta program med flaggan \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4758,51 +4794,51 @@ msgstr ""
 "hårddisken) under primtalsgenereringen; detta ger slumptalsgeneratorn\n"
 "en större chans att samla ihop en tillräcklig mängd slumpmässig data.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Skapandet av nycklar avbröts.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "skriver den publika nyckeln till \"%s\"\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "skriver hemliga nyckelstumpen till \"%s\"\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "skriver hemlig nyckel till \"%s\"\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "ingen skrivbar publik nyckelring hittades: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "ingen skrivbar hemlig nyckelring hittades: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "fel vid skrivning av publika nyckelringen \"%s\": %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "fel vid skrivning av hemliga nyckelringen \"%s\": %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "den publika och den hemliga nyckeln är skapade och signerade.\n"
 
 # Flagga.. inte kommando
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4811,13 +4847,13 @@ msgstr ""
 "vill använda flaggan \"--edit-key\" för att skapa en undernyckel för detta "
 "syfte.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Nyckelgenereringen misslyckades: %s\n"
 
 # c-format behövs inte i singularis
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4825,7 +4861,7 @@ msgstr ""
 "nyckeln är skapad %lu sekund in i framtiden (problemet är\n"
 "relaterat till tidsresande eller en felställd klocka)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4833,25 +4869,25 @@ msgstr ""
 "nyckeln är skapad %lu sekunder in i framtiden (problemet är\n"
 "relaterat till tidsresande eller en felställd klocka)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "OBS: att skapa undernycklar till v3-nycklar bryter mot OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Verkligen skapa? (j/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "misslyckades med att lagra nyckeln på kortet: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "kan inte skapa säkerhetskopian \"%s\": %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "OBSERVERA: säkerhetskopia av kortnyckeln sparades i \"%s\"\n"
@@ -4884,29 +4920,29 @@ msgstr "Signaturnotation: "
 msgid "Keyring"
 msgstr "Nyckelring"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Primära nyckelns fingeravtryck:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "   Undernyckelns fingeravtryck:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "Primära nyckelns fingeravtryck:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "   Undernyckelns fingeravtryck:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "Nyckelns fingeravtryck ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "       Kortets serienr ="
 
@@ -4989,463 +5025,463 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "VARNING: nyckelserverflaggan \"%s\" används inte på den här plattformen\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "inaktiverad"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Ange nummer, N)ästa, eller Q) för Avsluta > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "ogiltigt nyckelserverprotokoll (vi %d!=hanterare %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "nyckeln \"%s\" hittades inte på nyckelservern\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "nyckeln hittades inte på nyckelservern\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "begär nyckeln %s från %s-servern %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "begär nyckeln %s från %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "söker efter namn från %s-servern %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "söker efter namn från %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "skickar nyckeln %s till %s-servern %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "skickar nyckeln %s till %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "söker efter \"%s\" från %s-servern %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "söker efter \"%s\" från %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "ingen nyckelserveråtgärd!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "VARNING: nyckelserverhanteraren från en annan version av GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "nyckelserver skickade inte VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "ingen nyckelserver är känd (använd flaggan --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "externa anrop till nyckelserver stöds inte i detta bygge\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "ingen hanterare för nyckelserverschemat \"%s\"\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "åtgärden \"%s\" stöds inte med nyckelserverschemat \"%s\"\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s har inte stöd för hanterarversionen %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "tidsgräns överstigen för nyckelserver\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "internt fel i nyckelserver\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "kommunikationsfel mot nyckelserver: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" inte ett nyckel-id: hoppar över\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VARNING: kunde inte uppdatera nyckeln %s via %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "uppdaterar 1 nyckel från %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "uppdaterar %d nycklar från %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VARNING: kunde inte hämta uri:n %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "VARNING: kunde inte tolka uri:n %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "egendomlig storlek på en krypterad sessionsnyckel (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s krypterad sessionsnyckel\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "lösenfras genererad med okänd sammandragsalgoritm %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "publik nyckel är %s\n"
 
 # Men jag ändrade så det blev närmare originalet. Per
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "Data krypterat med publik nyckel: korrekt DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "krypterad med %u-bitars %s-nyckel, id %s, skapad %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "krypterad med %s-nyckel, id %s\n"
 
 # Motsatsen till kryptering med symmetrisk nyckel.
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "dekryptering med publik nyckel misslyckades: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "krypterad med %lu lösenfraser\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "krypterad med with 1 lösenfras\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "antar att %s krypterade data\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA-chiffer är inte tillgängligt. Försöker optimistiskt att använda %s "
 "istället\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "dekrypteringen lyckades\n"
 
 # Äldre krypteringalgoritmer skapar ingen mdc dvs. "minisignatur" som skyddar mot att delar av den krypterade texten byts ut/tas bort. Alla nya 128-bitars algoritmer använder mdc: AES, AES192, AES256, BLOWFISH.
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VARNING: detta meddelande var inte integritetsskyddat\n"
 
 # Meddelandet innebär alltså att kontrollen av mdc visade att meddelandet förändrats/manipulerats sedan det krypterades. Block kan ha tagits bort eller bytts ut.
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VARNING: det krypterade meddelandet har ändrats!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "tömde mellanlagrad lösenfras med ID: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekrypteringen misslyckades: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "OBS: avsändaren begärde \"endast-för-dina-ögon\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "ursprungligt filnamn=\"%.*s\"\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "VARNING: multipla klartexter har påträffats\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "fristående spärrcertifikat - använd \"gpg --import\" för\n"
 "att verkställa\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "ingen signatur hittades\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "signaturvalidering utlämnad\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "kan inte hantera detta tvetydliga signaturdata\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur gjord %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "             med %s-nyckeln %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur gjordes %s med %s nyckel-id %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Nyckeln tillgänglig hos: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "FELAKTIG signatur från \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Utgången signatur från \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrekt signatur från \"%s\""
 
 # Visas vid ogiltig signatur:
 # Eftersom signaturen är ogiltig kan man inte vara säker på att angivet namn och nyckel-id är riktigt.
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[osäkert]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "      även känd som \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Giltighetstiden för signaturen har upphört %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Giltighetstiden för signaturen går ut %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s signatur, sammandragsalgoritm %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "binär"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "textläge"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "okänd"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Kan inte kontrollera signaturen: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "detta är inte någon signatur i en separat fil\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "VARNING: multipla signaturer upptäckta. Endast den första kommer att "
 "kontrolleras.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "fristående signatur av klassen 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signatur av den gamla (PGP 2.x) typen\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ogiltigt rotpaket hittades i proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "fstat för \"%s\" misslyckades i %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) misslyckades i %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "VARNING: använder experimentella algoritmen %s för publik nyckel\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "VARNING: Elgamal-nycklar för kryptering/signering är föråldrade\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "VARNING: använder experimentella chifferalgoritmen %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "VARNING: använder experimentella sammandragsalgoritmen %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "VARNING: sammandragsalgoritmen %s är föråldrad\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "insticksmodul för IDEA-chiffer är inte installerat\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "se %s för mer information\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: flaggan är föråldrad \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "VARNING: inställningen \"%s\" är föråldrad\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "Använd \"%s%s\" istället\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "VARNING: \"%s\" är ett föråldrat kommando - använd det inte\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: föråldrad flagga \"%s\" - den har ingen effekt\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "VARNING: \"%s\" är en föråldrad flagga - den har ingen effekt\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Okomprimerad"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "okomprimerad|ingen"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "detta meddelande kanske inte kan användas av %s\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "tvetydlig flagga \"%s\"\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "okänd flagga \"%s\"\n"
@@ -5488,16 +5524,16 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "VARNING: inställningar i \"%s\" är ännu inte aktiva under denna körning\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "kan inte hantera algoritmen %d för publika nycklar\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "VARNING: potentiellt osäker symmetriskt krypterad sessionsnyckel\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "underpaket av typen %d har den bit satt som markerar den som kritisk\n"
@@ -5554,7 +5590,7 @@ msgstr "%u-bitars %s-nyckel, id %s, skapad %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (undernyckel på primärt nyckel-id %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5568,35 +5604,35 @@ msgstr ""
 "en mycket stor bild, så blir din nyckel också väldigt stor!\n"
 "Försök att använda en bild som har ungefär  formatet 240x288 pixlar.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Skriv JPEG-filnamnet för foto-id: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "kunde inte öppna JPEG-filen \"%s\": %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Den här JPEG-bilden är verkligen stor (%d byte)!\n"
 
 # Obs! Syftar på bildfilen med ditt foto. Meddelandet visas om du valt en mycket stor fil.
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Vill du verkligen använda den? (j/N)? "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "\"%s\" är inte en JPEG-fil\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Är detta foto korrekt (j/N/a)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "kan inte visa foto-id!\n"
 
@@ -5631,6 +5667,16 @@ msgid "revocation comment: "
 msgstr "spärrningskommentar: "
 
 # ej kristallklart vad förkortningarna står för
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImHhAsS"
@@ -5812,26 +5858,26 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Det är inte säkert att signaturen tillhör ägaren.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: hoppade över: %s\n"
 
 # överhoppad?
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: hoppades över: publik nyckel finns redan\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Du angav ingen användaridentitet. (du kan använda \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Nuvarande mottagare:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5839,29 +5885,29 @@ msgstr ""
 "\n"
 "Ange användaridentiteten.  Avsluta med en tom rad: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Ingen sådan användaridentitet.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr ""
 "hoppade över: den publika nyckeln är redan inställd som standardmottagare\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Den publika nyckeln är inaktiverad.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "hoppade över: publik nyckel redan angiven\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "okänd standardmottagare \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: hoppades över: den publika nyckeln är inaktiverad\n"
@@ -5869,16 +5915,16 @@ msgstr "%s: hoppades över: den publika nyckeln är inaktiverad\n"
 # plural av adressee
 # dvs. den som meddelandet är adresserat till.
 # Åtskillnad görs mellan adressee och receiver.
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "inga giltiga adressater\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Observera: nyckeln %s har ingen %s-förmåga\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Observera: nyckeln %s har ingen inställning för %s\n"
@@ -6185,18 +6231,24 @@ msgstr "OBSERVERA: signaturnyckeln %s gick ut %s\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "OBSERVERA: signaturnyckeln %s har spärrats\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s signatur, sammandragsalgoritm %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "antar felaktig signatur från nyckeln %s på grund av en okänd kritisk bit\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "nyckel %s: ingen undernyckel med spärrsignatur för undernyckel\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "nyckeln %s: ingen undernyckel för signaturbindning av undernyckel\n"
@@ -6290,7 +6342,7 @@ msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "det här är en PGP-genererad Elgamal-nyckel som inte är säker för signaturer!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "tillitspost: %lu, typ %d: kunde inte skriva: %s\n"
@@ -6335,17 +6387,17 @@ msgstr "fel vid sökning av tillitsvärde i \"%s\": %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "läsfel i \"%s\":  %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "tillitsdatabas: synkronisering misslyckades: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "tillitsdatabasposten %lu: lseek misslyckades: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "tillitsdatabasposten %lu: skrivning misslyckades (n=%d): %s\n"
@@ -6354,118 +6406,118 @@ msgstr "tillitsdatabasposten %lu: skrivning misslyckades (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "tillitsdatabastransaktion för stor\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "kan inte komma åt \"%s\": %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: katalogen finns inte!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "kan inte skapa lås för \"%s\"\n"
 
 # se förra kommentaren
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "kan inte låsa \"%s\"\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: misslyckades med att skapa versionspost: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: ogiltig tillitsdatabas skapad\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: tillitsdatabas skapad\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "OBS: det går inte att skriva till tillitsdatabasen\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: ogiltig tillitsdatabas\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: misslyckades med att skapa kontrollsummetabell: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: fel vid uppdatering av versionspost: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: fel vid läsning av versionspost: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: fel vid skrivning av versionspost: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "tillitsdatabas: lseek misslyckades: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "tillitsdatabas: läsning misslyckades (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: detta är inte en tillitsdatabasfil\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: versionspost med postnummer %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: ogiltig filversion %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: fel vid läsning av ledig post: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: fel vid läsning av katalogpost: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: misslyckades med att nollställa en post: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: misslyckades med att lägga till en post: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Fel: Tillitsdatabasen är skadad.\n"
 
@@ -6479,60 +6531,60 @@ msgstr "kan inte hantera text med rader längre än %d tecken\n"
 msgid "input line longer than %d characters\n"
 msgstr "indataraden är längre än %d tecken\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "\"%s\" är inget giltigt långt nyckel-id\n"
 
 # trusted??
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "nyckel %s: accepterad som betrodd nyckel\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "nyckeln %s förekommer fler än en gång i tillitsdatabasen\n"
 
 # nyckeln?
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "nyckel %s: ingen publik nyckel för pålitlig nyckel - hoppades över\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "nyckeln %s är markerad med förbehållslöst förtroende\n"
 
 # req står för request
 # kollat med Werner. Per
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "tillitspost %lu, begäran av typ %d: kunde inte läsa: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "tillitsvärdet %lu är inte av begärd typ %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "Du kan försöka att skapa tillitsdatabasen igen med dessa kommandon:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "Referera till handboken om detta inte fungerar för dig\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "kunde inte använda okänd tillitsmodell (%d) - antar tillitsmodellen %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "använder tillitsmodellen %s\n"
@@ -6546,121 +6598,129 @@ msgstr "använder tillitsmodellen %s\n"
 #    It gets passed to atoi() so everything after the number is
 #    essentially a comment and need not be translated.  Either key and
 #    uid are both NULL, or neither are NULL. */
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "15"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[   spärrad   ]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[   utgånget  ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[    okänt    ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[ odefinierad ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[  marginell  ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ fullständig ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[förbehållslös]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "odefinierad"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "aldrig"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "marginell"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "fullständig"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "förbehållslös"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "det behövs ingen kontroll av tillitsdatabasen\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "nästa kontroll av tillitsdatabasen kommer att äga rum %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 "det behövs ingen kontroll av tillitsdatabasen med tillitsmodellen \"%s\"\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 "det behövs ingen uppdatering av tillitsdatabasen med tillitsmodellen \"%s\"\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "publika nyckeln %s hittades inte: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "gör en kontroll av tillitsdatabasen --check-trustdb\n"
 
 # originalet borde ha ett value
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "kontrollerar  tillitsdatabasen\n"
 
 # Vad är detta!?
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d nycklar behandlade (%d validity counts rensade)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "hittade inga nycklar med förbehållslöst förtroende\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "publik nyckel för förbehållslöst betrodda nyckeln %s hittades inte\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d marginal(er) behövs, %d fullständig(a) behövs, tillitsmodell %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 "djup: %d  giltig: %3d  signerad: %3d  tillit: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6687,68 +6747,68 @@ msgstr "raden %u är för lång, eller saknar nyradstecken\n"
 msgid "can't open fd %d: %s\n"
 msgstr "kan inte öppna fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "argument förväntades inte"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "läsfel"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "nyckelordet är för långt"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "argument saknas"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "ogiltigt kommando"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "ogiltig aliasdefinition"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "slut på minne"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "ogiltig flagga"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "argument för flaggan \"%.50s\" saknas\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "flaggan \"%.50s\" förväntar sig inte ett argument\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "ogiltigt kommando \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "flagga \"%.50s\" är tvetydig\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "kommandot \"%.50s\" är tvetydigt\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "slut på minne\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "ogiltig flagga \"%.50s\"\n"
@@ -6758,22 +6818,17 @@ msgstr "ogiltig flagga \"%.50s\"\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "du har hittat ett fel i programmet ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "fel vid inläsning av \"%s\": %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "konvertering från \"%s\" till \"%s\" är inte tillgänglig\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open misslyckades: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "konvertering från \"%s\" till \"%s\" misslyckades: %s\n"
@@ -6829,26 +6884,30 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Användning: kbxutil [flaggor] [filer] (-h för hjälp)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
+#| msgid ""
+#| "Syntax: kbxutil [options] [files]\n"
+#| "list, export, import Keybox data\n"
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Syntax: kbxutil [flaggor] [filer]\n"
 "lista, exportera, importera nyckelskåpsdata\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus saknas eller är inte %d bitar stor\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "Publik RSA-exponent saknas eller större än %d bitar\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-återanrop returnerade fel: %s\n"
@@ -6898,202 +6957,219 @@ msgstr ""
 "|P|Ange upplåsningskoden (PUK-koden) för nyckeln att skapa kvalificerade "
 "signaturer med."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "fel vid hämtning av ny PIN-kod: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "misslyckades med att lagra fingeravtrycket: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "misslyckades med att lagra datum för skapandet: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "läsning av publik nyckel misslyckades: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "svaret innehåller inte publikt nyckeldata\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "svaret innehåller inte en RSA-modulus\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "svaret innehåller inte den publika RSA-exponenten\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "använder standard-PIN som %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "misslyckades med att använda standard-PIN som %s: %s - inaktiverar "
 "ytterligare standardanvändning\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Ange PIN-koden%%0A[signaturer kvar: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Ange PIN-koden"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN-kod för CHV%d är för kort; minimumlängd är %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "validering av CHV%d misslyckades: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "fel vid hämtning av CHV-status från kort\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "kortet är låst permanent!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d försök för Admin PIN-koden återstår innan kortet låses permanent\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|Ange administratörens PIN-kod%%0A[återstående försök: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Ange administratörens PIN-kod"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "åtkomst till administrationskommandon är inte konfigurerat\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Ange nollställningskoden för kortet"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Nollställningskoden är för kort; minimumlängd är %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|Ny nollställningskod"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Ny Admin PIN-kod"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Ny PIN-kod"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+#| msgid "|A|Please enter the Admin PIN"
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "|A|Ange administratörens PIN-kod"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+#| msgid "||Please enter the PIN"
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Ange PIN-koden"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "fel vid läsning av programdata\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "fel vid läsning av fingeravtryckets DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "nyckeln finns redan\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "befintlig nyckel kommer att ersättas\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "genererar ny nyckel\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "skriver ny nyckel\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "tidsstämpel för skapandet saknas\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA-primtal %s saknas eller inte %d bitar stor\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "misslyckades med att lagra nyckeln: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "var god vänta under tiden nyckeln genereras ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "nyckelgenereringen misslyckades\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "nyckelgenereringen är färdig (%d sekunder)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "ogiltig struktur för OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "avtrycket på kortet stämmer inte med den begärda\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kortet har inte stöd för sammandragsalgoritmen %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signaturer skapade hittills: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "validering av Admin PIN-kod är för närvarande förbjudet genom detta "
 "kommando\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kan inte komma åt %s - ogiltigt OpenPGP-kort?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+#, fuzzy
+#| msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Knappa in din PIN-kod på läsarens knappsats"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7103,51 +7179,57 @@ msgstr "||Knappa in din PIN-kod på läsarens knappsats"
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial PIN-kod"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "kör i multiserverläge (förgrund)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NIVÅ|ställ in felsökningsnivån till NIVÅ"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FIL|skriv en logg till FIL"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|anslut till läsare på port N"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAMN|använd NAMN som ct-API-drivrutin"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAMN|använd NAMN som PC/SC-drivrutin"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "använd inte den interna CCID-drivrutinen"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|koppla från kortet efter N sekunder inaktivitet"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+#, fuzzy
+#| msgid "do not use a reader's keypad"
+msgid "do not use a reader's pinpad"
 msgstr "använd inte läsarens knappsats"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "neka användning av administratörskommandon för kort"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Användning: scdaemon [flaggor] (-h för hjälp)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7155,16 +7237,16 @@ msgstr ""
 "Syntax: scdaemon [flaggor] [kommando [argument]]\n"
 "Smartkortsdemon för GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr "använd flaggan \"--daemon\" för att köra programmet i bakgrunden\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "hanterare för fd %d startad\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "hanterare för fd %d avslutad\n"
@@ -7203,11 +7285,11 @@ msgstr "kan inte ansluta till dirmngr - försöker falla tillbaka\n"
 msgid "validation model requested by certificate: %s"
 msgstr "valideringsmodellen begärd av certifikat: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "kedja"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "skal"
 
@@ -7237,194 +7319,195 @@ msgstr "observera: icke-kritisk certifikatpolicy tillåts inte"
 msgid "certificate policy not allowed"
 msgstr "certifikatpolicy tillåts inte"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "slår upp utfärdare på extern plats\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "antal utfärdare som matchar: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "slår upp utfärdare från Dirmngr-cachen\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "antal matchande certifikat: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "uppslag av endast-mellanlagrad dirmngr-nyckel misslyckades: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr "misslyckades med att allokera keyDB-hanterare\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "certifikatet har spärrats"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "status för certifikatet är okänt"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "se till att \"dirmngr\" är korrekt installerat\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "kontroll mot spärrlistan misslyckades: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "certifikat med felaktig giltighetstid: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "certifikatet är ännu inte giltigt"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "rotcertifikatet är ännu inte giltigt"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "tillfälligt certifikat är ännu inte giltigt"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "certifikatet har gått ut"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "rotcertifikatet har gått ut"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "tillfälligt certifikat har gått ut"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "nödvändiga certifikattillägg saknas: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "certifikat med felaktig giltighetstid"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "signaturen inte skapad under certifikatets livstid"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "certifikatet skapades inte under utfärdarens livstid"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "tillfälligt certifikat är inte skapat under utfärdarens livstid"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  signatur skapad "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (certifikat skapat "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (certifikat giltigt från "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     utfärdare giltig från "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "fingeravtryck=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "rotcertifikatet har nu markerats som betrott\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "interaktiv markering som betrodd inte aktiverad i gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "interaktiv markering som betrodd inaktiverad för den här sessionen\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 "VARNING: tid för skapandet av signaturen är inte känd - antar aktuell tid"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "ingen utfärdare hittades i certifikatet"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "självsignerat certifikat har en FELAKTIG signatur"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "rotcertifikatet har inte markerats som betrott"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "kontroll mot tillitslistan misslyckades: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "certifikatkedjan är för lång\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "utfärdarens certifikat hittades inte"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "certifikatet har en FELAKTIG signatur"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "hittade ett annat möjligen matchande CA-certifikat - försöker igen"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "certifikatkedjan längre än vad som tillåts av CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "certifikatet är korrekt\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "tillfälligt certifikat är korrekt\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "rotcertifikatet är korrekt\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "växlar till kedjemodell"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "valideringsmodell använd: %s"
@@ -7488,19 +7571,27 @@ msgid "error getting key usage information: %s\n"
 msgstr "fel vid hämtning av nyckelanvändningsinformation: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+#, fuzzy
+#| msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "certifikatet skulle inte använts för certifiering\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "certifikatet skulle inte använts för signering av OCSP-svar\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+#, fuzzy
+#| msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "certifikatet skulle inte använts för kryptering\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "certifikatet skulle inte använts för signering\n"
 
 #: sm/certlist.c:167
@@ -7704,7 +7795,7 @@ msgstr "(det här verkar inte vara ett krypterat meddelande)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "certifikatet \"%s\" hittades inte: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "fel vid låsning av nyckelskåp: %s\n"
@@ -7832,7 +7923,7 @@ msgstr "|FIL|lägg till nyckelring till listan över nyckelringar"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ANVÄNDAR-ID|använd ANVÄNDAR-ID som förvald hemlig nyckel"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|använd denna nyckelserver för att slå upp nycklar"
 
@@ -7850,10 +7941,15 @@ msgstr "Användning: gpgsm [flaggor] [filer] (-h för hjälp)"
 
 # Om inget kommando anges (decrypt/encrypt etc) väljs åtgärd efter indata.
 #: sm/gpgsm.c:525
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpgsm [options] [files]\n"
+#| "sign, check, encrypt or decrypt using the S/MIME protocol\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Syntax: gpgsm [flaggor] [filer]\n"
 "signera, kontrollera, kryptera eller dekryptera med S/MIME-protokollet\n"
@@ -7888,25 +7984,25 @@ msgstr "%s:%u: lösenord angivet utan användare\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: hoppar över denna rad\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "kunde inte tolka nyckelserver\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "VARNING: kör med falsk systemtid: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "importerar vanliga certifikat \"%s\"\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "kan inte signera med \"%s\": %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "ogiltigt kommando (det finns inget implicit kommando)\n"
 
@@ -7923,11 +8019,7 @@ msgstr "fel vid lagring av certifikat\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "enkla certifikatkontroller misslyckades - importeras inte\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "misslyckades med att allokera keyDB-hanterare\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "fel vid hämtning av lagrade flaggor: %s\n"
@@ -7942,45 +8034,41 @@ msgstr "fel vid import av certifikat: %s\n"
 msgid "error reading input: %s\n"
 msgstr "fel vid läsning av indata: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "fel när nyckelskåpet \"%s\" skapades: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "du kanske vill starta gpg-agent först\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "nyckelskåpet \"%s\" skapat\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "misslyckades med att få fingeravtrycket\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem vid sökandet efter befintligt certifikat: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "fel vid sökning efter skrivbar keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "fel vid lagring av certifikat: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem vid ytterligare sökning efter certifikat: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "fel vid lagring av flaggor: %s\n"
@@ -8174,144 +8262,144 @@ msgstr "fel vid sändning av %s-kommando: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "fel vid sändning av standardflaggor: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Flaggor som kontrollerar diagnosutdata"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Flaggor som kontrollerar konfigurationen"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Flaggor användbara för felsökning"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FIL|skriv serverlägesloggar till FIL"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Flaggor som kontrollerar säkerheten"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|låt mellanlagrade SSH-nycklar gå ut efter N sekunder"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|ställ in maximal livstid för PIN-cache till N sekunder"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|ställ in maximal livstid för SSH-nyckel till N sekunder"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Flaggor som tvingar igenom en lösenfraspolicy"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "tillåt inte att gå förbi lösenfraspolicyn"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|ställ in minimal nödvändig längd för nya lösenfraser till N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|kräv minst N icke-alfabetiska tecken för en ny lösenfras"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FIL|kontrollera nya lösenfraser mot mönster i FIL"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|låt mellanlagrad lösenfras gå ut efter N dagar"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "tillåt inte återanvändning av gamla lösenfraser"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAMN|använd NAMN som förvald hemlig nyckel"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAMN|kryptera även till användaridentiteten NAMN"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|ange e-postalias (ett eller flera)"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration för nyckelservrar"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL| använd nyckelservern på URL"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "tillåt PKA-uppslag (DNS-förfrågningar)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MEKANISMER|använd MEKANISMER för att hitta nycklar efter e-postadress"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "inaktivera all åtkomst till dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAMN|använd kodningen NAMN för PKCS#12-lösenfraser"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "kontrollera inte spärrlistor för rotcertifikat"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Flaggor som kontrollerar formatet på utdata"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Flaggor som kontrollerar interaktivitet och framtvingande"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration för HTTP-servrar"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "använd systemets HTTP-proxyinställningar"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguration av LDAP-servrar som ska användas"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "LDAP-serverlista"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Konfiguration för OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Extern validering av komponenten %s misslyckades"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Observera att gruppspecifikationer ignoreras\n"
 
@@ -8569,6 +8657,15 @@ msgstr ""
 "Syntax: gpg-check-pattern [flaggor] mönsterfil\n"
 "Kontrollera en lösenfras angiven på standard in mot mönsterfilen\n"
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "du kanske vill starta gpg-agent först\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "fel vid inläsning av \"%s\": %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "misslyckades med att allokera keyDB-hanterare\n"
+
 #~ msgid "Command> "
 #~ msgstr "Kommando> "
 
index 73e5975..76c6c3b 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index 36410a0..c840cd8 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,17 +7,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.0.10rc1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2008-12-14 23:25+0200\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@belgeler.gen.tr>\n"
 "Language-Team: Turkish\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "PIN giriş kilidi edinilemedi: %s\n"
@@ -27,21 +28,21 @@ msgstr "PIN giriş kilidi edinilemedi: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Kalite:"
 
@@ -51,11 +52,11 @@ msgstr "Kalite:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -63,7 +64,7 @@ msgstr ""
 "Lütfen PIN'inizi giriniz, böylelikle bu oturumda bu gizli anahtar kilitsiz "
 "olabilecek"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -71,142 +72,145 @@ msgstr ""
 "Lütfen anahtar parolanızı giriniz, böylelikle bu oturumda bu gizli anahtar "
 "kilitsiz olabilecek"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (%d/%d dene)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "PIN çok uzun"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Anahtar Parolası çok uzun"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "PIN içinde geçersiz karakterler var"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "PIN çok kısa"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "PIN hatalı"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Anahtar Parolası hatalı"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Anahtar Parolası"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "%d bitlikten daha büyük SSH anahtarları desteklenmiyor\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "\"%s\" oluşturulamıyor: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "`%s' açılamıyor: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "kartın seri numarası alınırken hata: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "Algılanan kartın seri nr: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "kartın öntanımlı kimlik doğrulama anahtar kimliği alınırken hata: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "uygun bir kart anahtarı yok: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "anahtar gölgelenemedi: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "anahtarı yazarken hata: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Lütfen SSH anahtarı %0A  %c için anahtar parolasını giriniz"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Lütfen bu anahtar parolasını tekrar girin"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "gpg-agent'in anahtar deposuna korumak için alınan gizli anahtar %%0A  %s%%0A "
 "için lütfen anahtar parolası giriniz"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "aynı değiller - tekrar deneyin"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "sokette akım oluşturulamadı: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr ""
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
 
@@ -226,7 +230,7 @@ msgstr "Sıfırlama Kodu"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -338,15 +342,16 @@ msgid "Yes, protection is not needed"
 msgstr "Evet, korumak gereksiz"
 
 #: agent/genkey.c:308
-#, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+#, fuzzy, c-format
+#| msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Yeni anahtarınızı korumak için Lütfen%0AAnahtar Parolanızı giriniz"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Lütfen yeni anahtar parolasını girin"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -355,114 +360,122 @@ msgstr ""
 "@Seçenekler:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "sunucu olarak (önalanda) çalışır"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "artalan süreci olarak çalışır"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "sunucu olarak (önalanda) çalışır"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "ayrıntılı"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "biraz daha sessiz olur"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "sh tarzı komut çıktısı"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "csh tarzı komut çıktısı"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|DOSYA|seçenekler DOSYAdan okunur"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "konsoldan kopulmaz"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "klavye ve fare gaspedilmez"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "sunucu için bir günlük dosyası kullanılır"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "soket için standart bir yer kullanılır"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|UYG|PIN girme uygulaması olarak UYG kullanılır"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "[UYG|Akıllı kart uygulaması olarak UYG kullanılır"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "Akıllı kart süreci kullanılmaz"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "TTY değiştirme istekleri yoksayılır"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "X birimi değiştirme istekleri yoksayılır"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|arabellekteki PINler N saniyede zamanaşımına uğrar"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "imzalarken PIN arabelleği kullanılmaz"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "istemcilerin anahtarları \"güvenilir\" olarak imlemesine izin verilir"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "anahtar parolasının önceden atanmasına izin verilir"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "ssh-agent öykünümü etkinleşir"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|DOSYA|ortam ayarlarını ayrıca DOSYAya da yazar"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Yazılım hatalarını lütfen <"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Kullanımı: gpg [seçenekler] (yardım için -h)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -470,155 +483,156 @@ msgstr ""
 "Sözdizimi: gpg-agent [seçenekler] [komut [arg ...]]\n"
 "GnuPG için gizli anahtar yönetimi\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "belirtilen hata seviyesi `%s' geçersiz\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s çok eski (gereken %s, sizinki %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "BİLGİ: \"%s\" öntanımlı seçenek dosyası yok\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "seçenek dosyası \"%s\": %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "\"%s\"den seçenekler okunuyor\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "`%s' oluşturulurken hata: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "`%s' dizini oluşturulamıyor: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "soketin ismi çok uzun\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "soket oluşturulamıyor: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "soketin ismi `%s' çok uzun\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "çalışan bir gpg-agent zaten var - bir yenisi başlatılmayacak\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "soket için tuz alınırken hata\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "soket `%s'e bağlanırken hata: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "soket dinleme başarısız: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "`%s' soketi dinlemede\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "dizin `%s' oluşturuldu\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "%s için stat() başarısız oldu: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "`%s' ev dizini olarak kullanılamıyor\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fd %d üzerinde tuz okunurken hata: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "tutamak 0x%lx, fd %d için başlatıldı\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "tutamak 0x%lx, fd %d için sonlandırıldı\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "ssh tutamağı 0x%lx, fd %d için başlatıldı\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh tutamağı 0x%lx, fd %d için sonlandırıldı\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select başarısız: %s - 1s bekliyor\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s durdu\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "bu oturumda çalışan gpg-agent yok\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "GPG_AGENT_INFO çevre değişkeni hatalı\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent protokolü sürüm %d desteklenmiyor\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 "Kullanımı: gpg-preset-passphrase [seçenekler] ANHMAŞASI (yardım için -h)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -626,7 +640,7 @@ msgstr ""
 "Sözdizimi: gpg-preset-passphrase [seçenekler] ANHMAŞASI\n"
 "Parola arabelleği bakımcısı\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -635,7 +649,7 @@ msgstr ""
 "@Komutlar:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -647,11 +661,11 @@ msgstr ""
 "Seçenekler:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Kullanımı: gpg-protect-tool [seçenekler] (yardım için -h)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -659,16 +673,16 @@ msgstr ""
 "Sözdizimi: gpg-protect-tool [seçenekler] [arg ...]\n"
 "Gizli anahtar bakım aracı\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "PKCS#12 nesnesinin korumasını aşmak için lütfen anahtar parolasını giriniz."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "PKCS#12 nesnesini korumak için lütfen anahtar parolasını giriniz."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -676,7 +690,7 @@ msgstr ""
 "Lütfen GnuPG sistemine ithal edilen nesneyi koruyacak anahtar parolasını "
 "giriniz."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -684,15 +698,15 @@ msgstr ""
 "Lütfen bu işlemi tamamlamak için gereken\n"
 "PIN'i veya anahtar parolasını giriniz."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Anahtar Parolası:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "iptal edildi\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "anahtar parolası sorulurken hata: %s\n"
@@ -812,8 +826,8 @@ msgstr "Anahtar parolasını değiştir"
 msgid "I'll change it later"
 msgstr "Sonra değiştireceğim"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "boru oluşturulurken hata: %s\n"
@@ -853,12 +867,12 @@ msgstr "`%s' çalıştırılırken hata: muhtemelen kurulu değil\n"
 msgid "error running `%s': terminated\n"
 msgstr "`%s' çalışırken hata: sonlandırıldı\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "soket oluşturulurken hata: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "konak yok"
 
@@ -887,17 +901,17 @@ msgstr "kullanıcı tarafından iptal edildi\n"
 msgid "problem with the agent\n"
 msgstr "aracı ile sorun var\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "\"core\" oluşumu iptal edilemedi: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "UYARI: %s üzerinde sahiplik güvensiz: \"%s\"\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "UYARI: %s üzerinde izinler güvensiz: \"%s\"\n"
@@ -1120,11 +1134,11 @@ msgstr "Sertifika zinciri geçerli"
 msgid "Root certificate trustworthy"
 msgstr "Kök sertifika güvenilir"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "sertifika için bir CRL yok"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "mevcut CRL çok eski"
 
@@ -1198,7 +1212,7 @@ msgstr "beklenmeyen zırh: "
 msgid "invalid dash escaped line: "
 msgstr "araçizgisi escape'lı satır geçersiz: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "geçersiz radix64 karakteri %02X atlandı\n"
@@ -1215,7 +1229,7 @@ msgstr "dosya sonu belirsiz (CRC içinde)\n"
 msgid "malformed CRC\n"
 msgstr "CRC bozulmuş\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC hatası; %06lX - %06lX\n"
@@ -1228,16 +1242,16 @@ msgstr "dosya sonu belirsiz (kuyruk içinde)\n"
 msgid "error in trailer line\n"
 msgstr "kuyruk satırında hata\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "geçerli OpenPGP verisi yok\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "geçersiz zırh: satır %d karakterden uzun\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1272,7 +1286,7 @@ msgstr "UYARI: geçersiz simgelem verisi bulundu\n"
 msgid "not human readable"
 msgstr "insan okuyabilir değil"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP anahtarı kullanılabilir değil: %s\n"
@@ -1282,8 +1296,8 @@ msgstr "OpenPGP anahtarı kullanılabilir değil: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "%s numaralı OpenPGP kartı saptandı\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "bu önceden betik kipinde yapılamaz\n"
 
@@ -1291,211 +1305,211 @@ msgstr "bu önceden betik kipinde yapılamaz\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Bu komut sadece 2. sürüm kartlar için kullanılabilir\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Sıfırlama kodu ya yok ya da kullanım dışı\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Seçiminiz? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[belirtilmedi]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "erkek"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "dişi"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "belirtilmemiş"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "zorlanmadı"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "zorlandı"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Hata: Şimdilik sadece US-ASCII mümkün.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Hata: \"<\" karakteri kullanılmamalı.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Hata: Çift boşluğa izin verilmez.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Kart sahibinin soyadı: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Kart sahibinin adı: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Hata: İsimler birlikte çok uzun oluyor (sınır: %d karakter).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "genel anahtarın alınacağı URL: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Hata: URL çok uzun (sınır: %d karakter).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "yeterli bellek ayrılırken hata: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "\"%s\" okunurken hata: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "`%s' yazılırken hata: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Oturum açma verisi (hesap adı): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "Hata: Oturum açma verisi çok uzun (sınır: %d karakter).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Özel DO verisi: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "Hata: Özel DO çok uzun (sınır: %d karakter).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Dil tercihleri: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Hata: tercih dizgesinin uzunluğu geçersiz.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Hata: tercih dizgesindeki karakterler geçersiz.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Cinsiyet ((E)rkek, (D)işi veya boşluk): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Hata: yanıt geçersiz.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA parmak izi: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Hata: biçimli parmakizi geçersiz\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "anahtar işlemi mümkün değil: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "bir OpenPGP kartı değil"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "geçerli anahtar bilgisi alınırken hata: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Mevcut anahtar değiştirilsin mi? (e/H ya da y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "%u bite yuvarlandı\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s anahtar uzunlukları %u-%u aralığında olmalı\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "soket `%s'e bağlanırken hata: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Şifreli anahtarın kartsız yedeği yapılsın mı? (E/h ya da Y/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "gizli anahtar zaten bir kartın üzerinde saklı\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Mevcut anahtarlar değiştirilsin mi? (e/H ya da y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1506,129 +1520,129 @@ msgstr ""
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "Bunları --change-pin komutunu kullanarak değiştirmelisiniz\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Lütfen üretilecek anahtar türünü seçiniz:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) İmzalama anahtarı\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Şifreleme anahtarı\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Kimlik kanıtlama anahtarı\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Seçim geçersiz.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Lütfen anahtarın saklanacağı yeri seçiniz:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "bilinmeyen anahtar koruma algoritması\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "anahtarın gizli parçaları kullanılabilir değil\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "gizli anahtar zaten bir kartın üzerinde saklı\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "anahtarı yazarken hata: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "bu menüden çık"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "yönetici komutlarını gösterir"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "bunu gösterir"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "tüm kullanılabilir veriyi listeler"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "kart sahibinin ismini değiştirir"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "anahtarın alınacağı URL değiştirilir"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "kart URL'sinde belirtilmiş anahtarı alır"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "oturum açma ismini değiştirir"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "dil tercihlerini değiştirir"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "kart sahibinin cinsiyetini değiştirir"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "bir CA parmakizini değiştirir"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "imza zorlama PIN'i bayrağını değiştirir"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "yeni anahtarlar üretir"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "PIN'i değiştirme veya engelleme menüsü"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "PIN'i doğrular ve tüm veriyi listeler"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "Bir Sıfırlama Kodu kullanarak PIN'in engelini kaldır"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Yöneticiye özel komut\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Yönetici komutlarına izin verilir\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Yönetici komutlarına izin verilmez\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Komut geçersiz (\"help\" komutunu deneyin)\n"
 
@@ -1636,18 +1650,18 @@ msgstr "Komut geçersiz (\"help\" komutunu deneyin)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output seçeneği bu komutla çalışmaz\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "`%s' açılamadı\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "anahtar \"%s\" yok: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1750,7 +1764,7 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "alıcının tercihleriyle çelişen %s (%d) simetrik şifre kullanımı zorlanıyor\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "%2$s kipindeyken %1$s kullanılamayabilir.\n"
@@ -1760,75 +1774,75 @@ msgstr "%2$s kipindeyken %1$s kullanılamayabilir.\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s \"%s\" için şifrelendi\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s şifreli veri\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "bilinmeyen algoritma %d ile şifrelenmiş\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "UYARI: ileti simetrik şifre içindeki zayıf bir anahtarla şifrelendi.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "şifreli paketin elde edilmesinde sorun var\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "uzaktan uygulama çalıştırılması desteklenmiyor\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "güvensiz options dosyası yetkilerinden dolayı dış program çağrıları iptal\n"
 "edildi\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "bu platformda, dış uygulamalar çalıştırılırken geçici dosyalar gerekiyor\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr " '%s' çalıştırılamıyor: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "'%s' kabuğu çalıştırılamıyor: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "dış uygulama çalıştırılırken sistem hatası: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "Dış uygulamamnın doğal olmayan çıkışı\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "dış uygulama çalıştırılamıyor\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "dış uygulamanın yanıtı okunamıyor: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "UYARI: geçici dosya silinemiyor (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "UYARI: %s geçici dizini silinemiyor: %s\n"
@@ -1921,195 +1935,195 @@ msgstr "`%s' %s üzerinden alınırken hata: %s\n"
 msgid "No fingerprint"
 msgstr "Parmak izi yok"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Geçersiz %s anahtarı --allow-non-selfsigned-uid kullanılarak geçerli oldu\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
 "yardımcı genel anahtar %s için gizli yardımcı anahtar yok - yoksayılıyor\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "yardımcı anahtar %s, asıl anahtar %s yerine kullanılıyor\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "anahtar %s: genel anahtarsız gizli anahtar - atlandı\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "bir imza yapar"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "açıkça okunabilen bir imza yapar"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "bağımsız bir imza yapar"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "veriyi şifreler"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "sadece simetrik şifre ile şifreler"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "veri şifresini açar (öntanımlı)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "bir imzayı doğrular"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "anahtarları listeler"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "anahtarları ve imzaları listeler"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "anahtar imzalarını listeler ve sınar"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "anahtarları ve parmak izlerini listeler"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "gizli anahtarları listeler"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "bir yürürlükten kaldırma sertifikası üretir"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "anahtarları genel anahtar zincirinden siler"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "anahtarları gizli anahtar zincirinden siler"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "bir anahtarı imzalar"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "bir anahtarı yerel olarak imzalar"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "bir anahtarı düzenler ve imzalar"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "anahtar parolası değiştirir"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "anahtarları gönderir"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "anahtarları bir anahtar sunucusuna gönderir"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "anahtarları bir anahtar sunucusundan indirir"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "bir anahtar sunucusunda anahtarları arar"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "anahtarları bir anahtar sunucusundan günceller"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "anahtarları indirir/katıştırır"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "kart durumunu basar"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "kart üzerindeki veriyi değiştirir"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "bir kartın PIN'ini değiştirir"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "güvence veritabanını günceller"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "ileti özetlerini gösterir"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "sunucu kipinde çalışır"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "ascii zırhlı çıktı oluşturur"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|KULLANICI-KİMLİĞİ|KULLANICI-KİMLİĞİ için şifreleme yapar"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|KULLANICI-KİMLİĞİ|imzalamak ya da şifre çözmek için KULLANICI-KİMLİĞİ "
 "kullanılır"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|sıkıştırma seviyesi N olarak ayarlanır (0 iptal eder)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "kurallı metin kipini kullanır"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|DOSYA|çıktı DOSYAya yazılır"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "hiçbir değişiklik yapmaz"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "üzerine yazmadan önce sorar"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "kesin OpenPGP davranışı etkin olur"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2117,7 +2131,7 @@ msgstr ""
 "@\n"
 "(Tüm komut ve seçeneklerin komple listesi için man sayfalarına bakın)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2137,21 +2151,26 @@ msgstr ""
 " --list-keys [isimler]      anahtarları listeler\n"
 " --fingerprint [isimler]    parmak izlerini gösterir\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Kullanımı: gpg [seçenekler] [dosyalar] (yardım için -h)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Yazılışı: gpg [seçenekler] [dosyalar]\n"
 "imzalama, kontrol, şifreleme veya çözme\n"
 "öntanımlı işlem girilen veriye bağımlıdır\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2159,554 +2178,554 @@ msgstr ""
 "\n"
 "Desteklenen algoritmalar:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "GenAnah: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Şifre: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Sıkıştırma: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "kullanımı: gpg [seçenekler] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "çelişen komutlar\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "grup tanımı '%s' içinde = işareti yok\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "UYARI: '%s' evdizininde güvensiz iyelik\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasında güvensiz iyelik\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "UYARI: '%s' eklentisinde güvensiz iyelik\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "UYARI: UYARI: '%s' evdizininde güvensiz izinler\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasında güvensiz izinler\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "UYARI: '%s' eklentisinde güvensiz izinler\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "UYARI: '%s' evdizinindeki ilgili dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasını içeren dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "UYARI: '%s' eklentisini içeren dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "UYARI: '%s' evdizinindeki ilgili dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasını içeren dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "UYARI: '%s' eklentisini içeren dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "yapılandırma öğesi '%s' bilinmiyor\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "anahtarların listelenmesi sırasında foto kimliklerini gösterir"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "imza listelemesi sırasında poliçe URLleri gösterilir"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "imza listelemesi sırasında tüm simgelemi gösterir"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "imza listelemesi sırasında IETF standart simgelemlerini gösterir"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "imza listelemesi sırasında kullanıcı kanaklı simgelemleri gösterir"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 "imza listelemesi sırasında tercih edilen anahtar sunucusu adresi gösterilir"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "anahtar listelemesi sırasında kullanıcı kimliği geçerliliğini gösterir"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "anahtar listelerinde yürürlükten kaldırılmış ve zamanaşımına uğramış "
 "kullanıcı kimlikleri gösterilir"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 "anahtar listelerinde yürürlükten kaldırılmış ve zamanaşımına uğramış "
 "yardımcı anahtarlar gösterilir"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "anahtar zinciri ismini anahtar listelerinde gösterir"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "imza listelemesi sırasında zamanaşımı tarihleri gösterilir"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "BİLGİ: eski öntanımlı seçenekler dosyası `%s' yoksayıldı\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt çok eski (%s lazım, sizinki %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "BİLGİ: %s normal kullanım için değil!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "'%s' geçerli bir imza zamanaşımı değil\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "'%s' geçerli bir karakter kümesi değil\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "anahtar sunucusunun adresi çözümlenemedi\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: anahtar sunucusu seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "anahtar sunucusu seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: geçersiz içselleştirme seçenekleri\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "içselleştirme seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d geçersiz dışsallaştırma seçenekleri\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "dışsallaştırma seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: liste seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "liste seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "imza doğrulaması sırasında foto kimliklerini gösterir"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "imza doğrulaması sırasında poliçe adreslerini gösterir"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "imza doğrulaması sırasında tüm simgelemi gösterir"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "imza doğrulaması sırasında IETF standart simgelemlerini gösterir"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "imza doğrulaması sırasında kullanıcı kaynaklı simgelemleri gösterir"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "imza doğrulaması sırasında tercih edilen anahtar sunucusu adresleri "
 "gösterilir"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "imza doğrulaması sırasında kullanıcı kimliği geçerliliğini gösterir"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "imza doğrulamasında yürürlükten kaldırılan ve zamanaşımına uğrayan kullanıcı "
 "kimlikleri gösterilir"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "imza doğrulamasında sadece birincil kullanıcı kimlik gösterilir"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "imzaları PKA verisi ile doğrular"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "imzaların güvenilirliğini geçerli PKA verisi ile yükseltir"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d doğrulama seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "doğrulama seçenekleri geçersiz\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "çalıştırılabilirlerin patikası %s yapılamıyor\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: özdevinimli anahtar konumlama listesi geçersiz\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "özdevinimli anahtar konumlama listesi geçersiz\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "UYARI: program bir \"core\" dosyası oluşturabilir!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "UYARI: %s %s'i aşıyor\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ile %s birlikte kullanılmaz!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s, %s ile etkisiz olur!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "%s olmasından dolayı güvensiz bellekle çalıştırılmayacak\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "--pgp2 kipindeyken sadece ayrık veya sade imzalar yapabilirsiniz\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "--pgp2 kipinde aynı anda hem imzalama hem de şifreleme yapamazsınız\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "--pgp2 ile çalışırken veri yolu yerine dosyaları kullanmalısınız.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "--pgp2 kipinde ileti şifrelemesi IDEA şifresi gerektirir\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "seçilen şifre algoritması geçersiz\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "seçilen özet algoritması geçersiz\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "seçilen şifre algoritması geçersiz\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "seçilen sertifikalama özet algoritması geçersiz\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "\"completes-needed\" 0 dan büyük olmalı\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "\"marginals-needed\" 1 den büyük olmalı\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "\"max-cert-depth\" 1 ile 255 arasında olmalı\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "öntanımlı sertifika seviyesi geçersiz; 0, 1, 2, ya da 3 olabilir\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "asgari sertifika seviyesi geçersiz; 1, 2, ya da 3 olabilir\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "BİLGİ: basit S2K kipi (0) kesinlikle tavsiye edilmez\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "S2K kipi geçersiz; 0, 1 veya 3 olmalı\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "öntanımlı tercihler geçersiz\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "kişisel şifre tercihleri geçersiz\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "kişisel özet tercihleri geçersiz\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "kişisel sıkıştırma tercihleri geçersiz\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s, %s ile henüz çalışmıyor\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "%2$s kipindeyken '%1$s' şifreleme algoritması kullanılamaz\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "%2$s kipindeyken '%1$s' özet algoritması kullanılamaz\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "%2$s kipindeyken '%1$s' sıkıştırma algoritması kullanılamaz\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "\"TrustDB\" güvence veritabanı başlangıç aşamasında başarısız: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "UYARI: alıcılar (-r) genel anahtar şifrelemesi kullanılmadan belirtilmiş\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [dosyaismi]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [dosyaismi]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "`%s' için simetrik şifreleme başarısız: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [dosyaismi]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [dosyaismi]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "--s2k-mode 0 ile  --symmetric --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "%s kipindeyken  --symmetric --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [dosyaismi]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [dosyaismi]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [dosyaismi]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "--s2k-mode 0 ile --symmetric --sign --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "%s kipindeyken --symmetric --sign --encrypt kullanamazsınız.\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [DOSYA]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [dosyaismi]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [dosyaismi]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key kullanıcı-kimliği"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key kullanıcı-kimliği"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key kullanıcı-kimliği [komutlar]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key kullanıcı-kimliği"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "anahtar sunucusuna gönderim başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "anahtar sunucusundan alım başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "anahtar ihracı başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "anahtar sunucusunda arama başarısız: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "anahtar sunucusunda tazeleme başarısız: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "zırhın kaldırılması başarısız: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "zırhlama başarısız: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "`%s' çittirim algoritması geçersiz\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[dosyaismi]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "İletinizi yazın ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "belirtilen sertifika güvence adresi geçersiz\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "belirtilen imza güvence adresi geçersiz\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "belirtilen anahtar sunucusu adresi geçersiz\n"
 
@@ -2744,120 +2763,120 @@ msgstr "yardım mevcut değil"
 msgid "No help available for `%s'"
 msgstr "\"%s\" için yardım mevcut değil"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "salt-yerel olarak imlenmiş imzaları ithal eder"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "ithalat sırasında pks anahtar sunucusundaki bozukluğu giderir"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "ithalat sonrası güvence veritabanını güncellemez"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "bir gizli anahtar ithal ederken bir genel anahtar oluşturur"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "güncellemeleri sadece mevcut anahtarlar için kabul eder"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "ithalat sonrası anahtardan kullanışsız parçaları kaldırır"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "ithalat sonrası anahtardan mümkün olduğunca çok şey kaldırır"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "%d türündeki blok atlanıyor\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "şu ana kadar %lu anahtar işlendi\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "İşlenmiş toplam miktar: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "     yeni anahtarlar atlandı: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         kullanıcı kimliksiz: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                      alınan: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                   değişmedi: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      yeni kullanıcı kimliği: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "    yeni yardımcı anahtarlar: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                yeni imzalar: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      yeni anahtar iptalleri: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     gizli anahtarlar okundu: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  gizli anahtarlar indirildi: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "  gizli anahtarlar değişmedi: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             alınamadı: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    temizlenen imzalar: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     temizlenen kullanıcı kimlikleri: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2866,361 +2885,377 @@ msgstr ""
 "UYARI: anahtar %s bu kullanıcı kimliklerde kullanışsız algoritmalar için "
 "tercihler içeriyor:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": şifreleme algoritması %s için tercih edilir\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": özet algoritması %s için tercih edilir\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 "         \"%s\": sıkıştırma algoritması %s için tercih edilir\n"
 "\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "tercihlerinizi güncellemenizi ve\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "olası algoritma uyuşmazlığı sorunlarından kaçınmak için bu anahtarı\n"
 "tekrar dağıtmanızı şiddetle öneririz.\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "tercihlerinizi böyle güncelleyemezsiniz: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "anahtar %s: kullanıcı kimliği yok\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "\"%s\" atlandı: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "anahtar %s: PKS yardımcı anahtar bozulması giderildi\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "anahtar %s: öz-imzalı olmayan kullanıcı kimliği \"%s\" kabul edildi\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "anahtar %s: geçerli kullanıcı kimliği yok\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "bu kayıp bir öz-imza yüzünden meydana gelebilir\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "anahtar %s: genel anahtar yok: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "anahtar %s: yeni anahtar - atlandı\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "yazılabilir bir anahtar zinciri yok: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "\"%s\"e yazıyor\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "\"%s\" anahtarlığına yazarken hata oluştu: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "anahtar %s: genel anahtar \"%s\" alındı\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "anahtar %s: bizim kopyamızla eşleşmiyor\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "anahtar %s: özgün anahtar bloku bulunamadı: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "anahtar %s: özgün anahtar bloku okunamadı: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "anahtar %s: \"%s\" 1 yeni kullanıcı kimliği\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "anahtar %s: \"%s\" %d yeni kullanıcı kimliği\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "anahtar %s: \"%s\" 1 yeni imza\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "anahtar %s: \"%s\" %d yeni imza\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "anahtar %s: %s 1 yeni yardımcı anahtar\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "anahtar %s: \"%s\" %d yeni yardımcı anahtar\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "anahtar %s: \"%s\" %d imza temizlendi\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "anahtar %s: \"%s\" %d imza temizlendi\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "anahtar %s: \"%s\" %d kullanıcı kimliği temizlendi\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "anahtar %s: \"%s\" %d kullanıcı kimliği temizlendi\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "anahtar %s: \"%s\" değişmedi\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "anahtar %s: geçersiz şifreli (%d) gizli anahtar - atlandı\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "gizli anahtar \"%s\" yok: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "gizli anahtarı alımına izin verilmez\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "anahtar %s: geçersiz şifreli (%d) gizli anahtar - atlandı\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "öntanımlı gizli anahtar zinciri yok: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "anahtar %s: gizli anahtar alındı\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "anahtar %s: zaten gizli anahtar zincirinde\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "anahtar %s: gizli anahtar yok: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "anahtar %s: genel anahtar değil - yürürlükten kaldırma sertifikası "
 "uygulanamaz\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 "anahtar %s: yürürlükten kaldırma sertifikası geçersiz: %s - reddedildi\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "anahtar %s: \"%s\" yürürlükten kaldırma sertifikası alındı\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "anahtar %s: imza için kullanıcı kimliği yok\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "anahtar %s: genel anahtar algoritması, kullanıcı kimliği \"%s\" için "
 "desteklenmiyor\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "anahtar %s: kullanıcı kimliği \"%s\" için öz-imza geçersiz\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "anahtar %s: genel anahtar algoritması desteklenmiyor\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "anahtar %s: doğrudan anahtar imzası eklendi\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "anahtar %s: anahtarı garantilemek için yardımcı anahtar yok\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "anahtar %s: yardımcı anahtar garantileme geçersiz\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "anahtar %s: çok sayıda yardımcı anahtar bağlantısı silindi\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "anahtar %s: anahtarı yürürlükten kaldırılacak yardımcı anahtar yok\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "anahtar %s: yardımcı anahtar yürürlükten kaldırması geçersiz\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr ""
 "anahtar %s: çok sayıda yardımcı anahtar yürürlükten kaldırması silindi\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "anahtar %s: kullanıcı kimliği \"%s\" atlandı\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "anahtar %s: yardımcı anahtar atlandı\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "anahtar %s: imza gönderilebilir değil (0x%02X sınıfı) - atlandı\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "anahtar %s: yürürlükten kaldırma sertifikası yanlış yerde - atlandı\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "anahtar %s: yürürlükten kaldırma sertifikası geçersiz: %s - atlandı\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "anahtar %s: yardımcı anahtar imzası yanlış yerde - atlandı\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "anahtar %s: umulmayan imza sınıfı (0x%02X) - atlandı\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "anahtar %s: çift kullanıcı kimliği saptandı - birleştirildi\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "UYARI: anahtar %s yürürlükten kaldırılmış olmalı: yürürlükten kaldırma "
 "anahtarı %s alınıyor\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "UYARI: anahtar %s yürürlükten kaldırılmış olabilir: yürürlükten kaldırma "
 "anahtarı %s mevcut değil.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "anahtar %s: \"%s\" yürürlükten kaldırma sertifikası eklendi\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "anahtar %s: doğrudan anahtar imzası eklendi\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "BİLGİ: bir anahtarın seri numarası kartlardan biriyle uyuşmuyor\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "BİLGİ: asıl anahtar kart üzerinde saklı ve kullanılabilir\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "BİLGİ: ikincil anahtar kart üzerinde saklı ve kullanılabilir\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "`%s' anahtarlığı oluşturulurken hata: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "`%s' anahtarlığı oluşturuldu\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "anahtar bloku özkaynağı `%s': %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "anahtar zinciri önbelleği yeniden oluşturulurken hata: %s\n"
@@ -3310,12 +3345,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Kullanıcı kimliği \"%s\" yürürlükten kaldırıldı."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Onu yine de imzalamak istiyor musunuz? (e/H veya y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  İmzalanamıyor.\n"
 
@@ -3506,8 +3541,8 @@ msgstr "Bu anahtarı çok dikkatle sınadım.\n"
 msgid "Really sign? (y/N) "
 msgstr "Gerçekten imzalayacak mısınız? (e/H veya y/N) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "imzalama başarısız: %s\n"
@@ -3518,19 +3553,19 @@ msgstr ""
 "Anahtar sadece kısa veya karta özel öğeler içeriyor,\n"
 "değiştirilecek bir anahtar parolası yok.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Bu anahtar korunmamış.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Asıl anahtarın gizli parçaları kullanılamaz.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Asıl anahtarın gizli parçaları kart üzerinde saklı.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Anahtar korunmuş.\n"
 
@@ -3547,7 +3582,7 @@ msgstr ""
 "Bu gizli anahtar için yeni anahtar parolasını giriniz.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr ""
 "ikinci kez yazdığınız anahtar parolası ilkiyle aynı değil; işlem "
@@ -3731,24 +3766,24 @@ msgstr ""
 "kullanışsız kullanıcı kimlikleri sıkıştırır ve tüm imzaları anahtardan "
 "kaldırır"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "gizli anahtar bloğu \"%s\" okunurken hata oluştu: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Gizli anahtar mevcut.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Bunu yapmak için gizli anahtar gerekli.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "lütfen önce \"seçmece\" komutunu kullanın.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3760,240 +3795,240 @@ msgstr ""
 "  için 'nr', yerel imzalar için 'l' (lsign) veya buların karışımı   olarak "
 "(ltsign, tnrsign gibi).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Anahtar yürürlükten kaldırıldı."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "İpucu: İmzalamak için bir kullanıcı kimliği seçiniz\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "imza türü `%s' bilinmiyor\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "%s kipindeyken bu komut kullanılamaz.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "En az bir kullanıcı kimliği seçmelisiniz.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Son kullanıcı kimliğini silemezsiniz!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 "Seçilen tüm kullanıcı kimlikler gerçekten silinecek mi? (e/H ya da y/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Bu kullanıcı kimliği gerçekten silinecek mi? (e/H ya da y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Bu öz-imza gerçekten taşınacak mı?  (e/H ya da y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Sadece ve sadece bir anahtar seçmelisiniz.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Komut değiştirge olarak bir dosya ismi gerektiriyor\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "`%s' açılamıyor: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "yedekleme anahtarı `%s' den okunurken hata oluştu: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "En az bir anahtar seçmelisiniz.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Seçili anahtarları gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Bu anahtarı gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Seçilen tüm kullanıcı kimlikleri gerçekten yürülükten kaldırılacak mı? (e/H "
 "ya da y/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr ""
 "Bu kullanıcı kimliği gerçekten yürürlükten kaldırılacak mı? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr ""
 "Anahtarın tamamını yürürlükten kaldırmayı gerçekten istiyor musunuz? (e/H ya "
 "da y/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 "Seçili yardımcı anahtarları gerçekten yürürlükten kaldırmak istiyor musunuz? "
 "(e/H ya da y/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr ""
 "Bu yardımcı anahtarı gerçekten yürürlükten kaldırmak istiyor musunuz? (e/H "
 "ya da y/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Kullanıcı taraından sağlanmış bir güvence veritabanı kullanılarak "
 "sahibiningüvencesi belirlenemez\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Belirlenecek tercih listesi:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Seçili kullanıcı kimlikler için tercihleri gerçekten güncellemek istiyor "
 "musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Tercihleri gerçekten güncellemek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Değişiklikler kaydedilecek mi? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Kaydetmeden çıkılsın mı? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "güncelleme başarısız: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "gizliyi güncelleme başarısız: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Güncelleme gereği olmadığından anahtar değişmedi.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Özet: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Özellikler: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Anahtar sunucusu değişmez"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Tercih edilen anahtar sunucusu: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Simgelemler: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Bir PGP 2.x tarzı kullanıcı kimliğine uygun tercih yok.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr ""
 "Bu anahtar %2$s tarafından %3$s anahtarıyla %1$s üzerinde yürürlükten "
 "kaldırılmış\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 "Bu anahtar %s tarafından %s anahtarıyla yürürlükten kaldırılmış olabilir"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(duyarlı)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "oluşturuldu: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "yürürlükten kaldırıldı: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "son kullanma tarihi: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "son kullanma tarihi: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "kullanımı: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "güvencesi: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "geçerliliği: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Bu anahtar iptal edilmişti"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "kart-no: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4001,17 +4036,17 @@ msgstr ""
 "Gösterilen anahtarın, uygulamayı yeniden başlatıncaya kadar, gerekli\n"
 "doğrulukta olmayacağını lütfen gözönüne alınız.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "yürürlükten kaldırıldı"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "zamanaşımına uğradı"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4020,7 +4055,7 @@ msgstr ""
 "       farklı bir kullanıcı kimliğin birincil kullanıcı kimlik olarak\n"
 "       kabul edilmesini sağlayabilirsiniz.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4029,74 +4064,74 @@ msgstr ""
 "UYARI: Bu PGP-2 tarzı bir anahtar. Bir foto kimliği eklenmesi bu anahtarın\n"
 "       bazı PGP sürümleri tarafından reddedilmesi ile sonuçlanabilir.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Onu yine de eklemek istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "PGP2 tarzı bir anahtara bir foto kimliği ekleyemeyebilirsiniz.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Bu doğru imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Bu geçersiz imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Bu bilinmeyen imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Bu öz-imza gerçekten silinecek mi? (e/H veya y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d imza silindi.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d imza silindi.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Hiçbir şey silinmedi.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "geçersiz"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "kullanıcı kimliği \"%s\" yoğun: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Kullanıcı kimliği \"%s\": %d imza temizlendi\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Kullanıcı kimliği \"%s\": %d imza temizlendi\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "kullanıcı kimliği \"%s\": zaten küçük\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "kullanıcı kimliği \"%s\": zaten temiz\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4106,280 +4141,280 @@ msgstr ""
 "       eklenmesi bu anahtarın bazı PGP sürümleri tarafından reddedilmesi\n"
 "       ile sonuçlanabilir.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "PGP2 tarzı bir anahtara tasarlanmış bir yürürlükten kaldırıcı "
 "ekleyemeyebilirsiniz.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 "Tasarlanmış yürürlükten kaldırma anahtarının kullanıcı kimliğini giriniz: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "bir PGP 2.x tarzı anahtar bir tasarlanmış yürürlükten kaldırma anahtarı "
 "olarak atanamaz\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "bir anahtarı kendisini yürürlükten kaldıracak anahtar olarak "
 "kullanamazsınız\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "bu anahtar zaten onu üreten tarafından yürürlükten kaldırılmıştı\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "UYARI: yürürlükten kaldıran olarak tasarlanmış bir anahtar başka amaçla\n"
 "       kullanılamaz!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Bu anahtarın, yürürlükten kaldıran anahtar olmasını istediğinizden emin "
 "misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Lütfen gizli anahtarlardan seçilenleri silin.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Lütfen en fazla bir yardımcı anahtar seçin.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Bir yardımcı anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Asıl anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Bir v3 anahtarının son kullanma tarihini değiştiremezsiniz\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Gizli anahtar demetinde uygun/benzer imza yok\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "yardımcı imzalama anahtarı %s zaten çapraz sertifikalı\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "yardımcı anahtar %s imzalamıyor, dolayısıyla çapraz sertifikalı olması "
 "gerekmiyor\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Lütfen sadece ve sadece bir kullanıcı kimlik seçiniz.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "kullanıcı kimliği \"%s\" için v3 öz-imzası atlanıyor\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Tercih ettiğiniz sunucunun adresini girin: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Onu değiştirmek istediğinizden emin misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Onu silmek istediğinizden emin misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Simgelemi giriniz: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Devam? (e/H ya da y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "%d endeksine sahip kullanıcı kimliği yok\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "%s çittirmeli kullanıcı kimliği yok\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "%d indisli bir yardımcı anahtar yok\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Kullanıcı kimliği: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "%s anahtarınızla %s%s%s de imzalandı\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (dışarda geçersiz)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Bu anahtarın geçerliliği %s de bitti.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Onu yine de yürürlükten kaldırmak istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? (e/H veya "
 "y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Bu kullanıcı kimliklerini %s anahtarı üzerinde imzalamışsınız:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (yürülükten kaldırılmaz)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "%s tarafından %s de yürürlükten kaldırılmış\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Bu imzaları yürürlükten kaldırmak üzeresiniz:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 "Bu yürürlükten kaldırma sertifikalarını gerçekten oluşturacak mısınız? (e/H "
 "veya y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "gizli anahtar yok\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "kullanıcı kimliği \"%s\" zaten iptal edilmişti\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "UYARI: bir kullanıcı kimliği imzası %d saniye gelecekte oluşturuldu\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Anahtar %s zaten yürürlükten kaldırılmış.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Yardımcı anahtar %s zaten yürürlükten kaldırılmış.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
 "Anahtar 0x%3$s (kull-kiml %4$d) için %2$ld uzunluktaki %1$s foto kimliği "
 "gösteriliyor\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "'%s' tercihi yinelendi\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "çok fazla şifreleme tercihi\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "çok fazla özet tercihi\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "çok fazla sıkıştırma tercihi\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "tercih dizgesindeki '%s' öğesi geçersiz\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "doğrudan imza yazılıyor\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "öz-imza yazılıyor\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "anahtarı garantileyen imzayı yazıyor\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "anahtar uzunluğu geçersiz; %u bit kullanılıyor\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "anahtar uzunluğu %u bite yuvarlandı\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "UYARI: bazı OpenPGP uygulamaları bu özet boyutlu bir DSA anahtarıyla "
 "çalışamayabilir\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "İmzalama"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Onayla"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Şifrele"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Kimlik kanıtla"
 
@@ -4393,104 +4428,104 @@ msgstr "Kimlik kanıtla"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "OoŞşKkçÇ"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "bir %s anahtarı için olası eylemler: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Şimdilik mümkün eylemler: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) İmzalama yeteneğini açar/kapar\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) Şifreleme yeteneğini açar/kapar\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) Kimlik kanıtlama yeteneğini açar/kapar\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) Bitti\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Lütfen istediğiniz anahtarı seçiniz:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "  (%d) DSA ve ElGamal (öntanımlı)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "  (%d) DSA ve ElGamal (öntanımlı)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (yalnız imzalamak için)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (sadece imzalamak için)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (yalnız şifrelemek için)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (sadece şifrelemek için)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (yeteneklerini belirtin)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (yeteneklerini belirtin)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s anahtarları %u bit ile %u bit arasında olmalı.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "İstenen anahtar uzunluğu: %u bit\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4506,7 +4541,7 @@ msgstr ""
 "      <n>m = anahtar n ay geçerli\n"
 "      <n>y = anahtar n yıl geçerli\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4522,38 +4557,38 @@ msgstr ""
 "      <n>m = imza n ay geçerli\n"
 "      <n>y = imza n yıl geçerli\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Anahtar ne kadar geçerli olacak? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "İmza ne kadar geçerli olacak? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "değer hatalı\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Anahtar hep geçerli olacak\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "İmza hep geçerli olacak\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Anahtarın geçerliliği %s de bitecek.\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "İmzanın geçerliliği %s de bitecek.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4561,11 +4596,11 @@ msgstr ""
 "Sisteminiz 2038 yılından sonraki tarihleri gösteremiyor.\n"
 "Ama emin olun ki 2106 yılına kadar elde edilebilecek.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Bu doğru mu? (e/H ya da y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4580,7 +4615,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4596,44 +4631,44 @@ msgstr ""
 "\t\"Fatih Sultan Mehmed (Padisah) <padisah@ottoman.gov>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Adınız ve Soyadınız: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Ad ve soyadınızda geçersiz karakter var\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Ad ve soyadınız bir rakamla başlamamalı\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Ad ve soyadınız en az 5 harfli olmalı\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "E-posta adresiniz: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "geçerli bir E-posta adresi değil\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Önbilgi: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Önbilgi alanında geçersiz karakter var\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "`%s' karakter kümesini kullanıyorsunuz.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4644,12 +4679,12 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Lütfen E-posta adresinizi Adı ve Soyadı veya Açıklama alanı içine koymayın\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4664,24 +4699,24 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "AaYyEeTtKk"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "(A)dı ve Soyadı, (Y)orum, (E)posta alanlarını değiştir ya da Çı(k)? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "(A)dı ve Soyadı, (Y)orum, (E)posta alanlarını değiştir ya da (T)amam/Çı(k)? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Lütfen önce hatayı düzeltin\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4689,7 +4724,7 @@ msgstr ""
 "Gizli anahtarınızı korumak için bir Anahtar Parolanız olmalı.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
@@ -4698,12 +4733,12 @@ msgstr ""
 "Lütfen GnuPG sistemine ithal edilen nesneyi koruyacak anahtar parolasını "
 "giriniz."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4715,7 +4750,7 @@ msgstr ""
 "seçeneği ile kullanarak her zaman değiştirebilirsiniz.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4728,50 +4763,50 @@ msgstr ""
 "iyi olacaktır; bu yeterli rasgele bayt kazanmak için rasgele sayı\n"
 "üretecine yardımcı olur. \n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Anahtar üretimi durduruldu.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "genel anahtarı `%s'e yazıyor\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "gizli anahtar koçanı `%s'e yazılıyor\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "gizli anahtarı `%s'e yazıyor\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "yazılabilir bir genel anahtar zinciri yok: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "yazılabilir bir gizli anahtar zinciri yok: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "`%s' genel anahtarlığa yazılırken hata oluştu: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "`%s' gizli anahtarlığa yazılırken hata oluştu: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "genel ve gizli anahtar üretildi ve imzalandı.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4779,19 +4814,19 @@ msgstr ""
 "Bu anahtar şifreleme için kullanılamaz. Şifreleme için yardımcı anahtarı\n"
 "\"--edit-key\" seçeneğini kullanarak üretebilirsiniz.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Anahtar üretimi başarısızlığa uğradı: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr ""
 "anahtar %lu saniye sonra üretilmiş (zaman sapması veya saat problemi)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4799,26 +4834,26 @@ msgstr ""
 "anahtar bundan %lu saniye sonra üretilmiş (zaman sapması veya saat "
 "problemi)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr ""
 "BİLGİ: v3 anahtarları için yardımcı anahtar üretimi OpenPGP uyumlu değildir\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Gerçekten oluşturulsun mu? (e/H ya da y/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "anahtarın kart üzerinde saklanması başarısız: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "'%s' yedek dosyası oluşturulamıyor: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "BİLGİ: kart anahtarının yedeklemesi '%s' e kaydedildi\n"
@@ -4851,29 +4886,29 @@ msgstr "imza simgelemi: "
 msgid "Keyring"
 msgstr "Anahtar zinciri"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Birincil anahtar parmak izi:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "Yardımcı anahtar parmak izi:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "Birincil anahtar parmak izi:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "Yardımcı anahtar parmak izi:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "     Anahtar parmakizi ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Kart seri no. ="
 
@@ -4955,455 +4990,455 @@ msgstr "anahtarları alırken PKA kaydını bir anahtara atar"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "UYARI: anahtar sunucusu seçeneği `%s' bu platformda kullanımda değil\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "iptal edildi"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Sayıyı/sayıları girin veya S)onraki ya da Ç)ık >"
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "anahtar sunucu protokolü geçersiz (bizimki %d!=eylemci %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "anahtar \"%s\" anahtar sunucusunda yok\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "anahtar, anahtar sunucusunda yok\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "%1$s anahtarı %3$s sunucusunun %2$s adresinden isteniyor\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "%s anahtarı %s adresinden isteniyor\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "%2$s sunucusunda %1$s içindeki isimler aranıyor\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "%s içindeki isimler aranıyor\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "anahtar %1$s, %3$s sunucusunun %2$s adresine gönderiliyor\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "%s anahtarı %s adresine gönderiliyor\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "%3$s sunucusunun %2$s adresinde \"%1$s\" aranıyor\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "%2$s adresinde \"%1$s\" aranıyor\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "bir anahtar sunucusu eylemi yok!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "UYARI: GnuPG'nin başka bir sürümünün anahtar sunucusu eylemcisi (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "anahtar sunucusu VERSION göndermiyor\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "bilinen bir anahtar sunucusu yok (--keyserver seçeneğini kullanın)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "harici anahtar sunucusu çağrıları bu kurulumda desteklenmiyor\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "`%s' anahtar sunucusu şeması için eylemci yok\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "`%s' eylemi `%s' anahtar sunucusu şeması ile desteklenmiyor\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s  %d sürümü eylemciyi desteklemiyor\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "anahtar sunucusu zamanaşımına uğradı\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "anahtar sunucusu iç hatası\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "anahtar sunucusuyla iletişim hatası: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" bir anahtar kimliği değil: atlanıyor\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "UYARI: %s anahtarı %s üzerinden tazelenemiyor: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "1 anahtar %s adresinden tazeleniyor\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "%d anahtar %s adresinden tazeleniyor\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "UYARI: Betimleyici %s alınamıyor: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "UYARI: Betimleyici %s çözümlenemiyor\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "bir şifreli oturum anahtarı (%d) için tuhaf uzunluk\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s şifreli oturum anahtarı\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "bilinmeyen özet algoritması ile üretilmiş anahtar parolası %d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "genel anahtar: %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "genel anahtarla şifreli veri: doğru DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "%u bitlik %s anahtarı ve %s kullanıcı kimliği ile şifrelendi, %s tarihinde "
 "oluşturuldu\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "%s anahtarı ve %s kullanıcı kimliği ile şifrelenmiş\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "genel anahtar şifre çözümü başarısız: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "%lu anahtar parolası ile şifrelenmiş\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "1 anahtar parolası ile şifrelenmiş\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "%s şifreli veri varsayılıyor\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA şifre kullanışsız, iyimserlikle yerine %s kullanılmaya çalışılıyor\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "Şifre çözme tamam\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "UYARI: ileti bütünlük korumalı değildi\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "UYARI: şifreli ileti tahrip edilmiş!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "şifre çözme başarısız: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "BİLGİ: gönderen \"yalnız-gözleriniz-için\" ricasında bulundu\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "özgün dosya adı = '%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "UYAR: çok sayıda salt metin görüldü\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "tek başına yürürlükten kaldırma - uygulamak için \"gpg --import\" kullanın\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "hiç imza yok\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "imza doğrulama engellendi\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "bu belirsiz imza verisi elde edilemiyor\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "İmza %s de\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               %s kullanılarak anahtar %s ile yapılmış\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "%s imzası, %s anahtarı ve %s kullanıcı kimliği ile yapılmış\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Anahtar burada:"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "\"%s\" deki imza KÖTÜ"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "\"%s\" deki imza zamanaşımına uğramış"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "\"%s\" deki imza iyi"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[şüpheli]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                nam-ı diğer \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Bu imzanın geçerliliği %s de bitti.\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Bu imzanın geçerliliği %s de bitecek.\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s imzası, %s özet algoritması\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "ikili"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "metinkipi"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "bilinmeyen"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "İmza kontrol edilemedi: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "bir bağımsız imza değil\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "UYARI: çoklu imzalar saptandı. Sadece ilki denetlenecek.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "0x%02x sınıfı tek başına imza\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "eski stil (PGP 2.x) imza\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "proc_tree() içinde geçersiz kök paket saptandı\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "`%s' için %s de durum bilgisi alınamıyor: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) %s de başarısız: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "UYARI: deneysel %s genel anahtar algoritması kullanılıyor\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "UYARI: Elgamal imza+şifre anahtarları artık önerilmiyor\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "UYARI: deneysel %s şifreleme algoritması kullanılıyor\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "UYARI: deneysel %s özet algoritması kullanılıyor\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "UYARI: %s özet algoritması artık önerilmiyor.\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA şifre eklentisi yok\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "daha fazla bilgi için lütfen %s adresine bakınız\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: \"%s\" seçeneği kullanımdan kaldırılmak üzere.\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "UYARI: %s seçeneği kullanımdan kaldırılmak üzere.\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "lütfen yerine \"%s%s\" kullanınız\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "UYARI: \"%s\" komutu artık önerilmiyor - kullanmayın onu\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: eskimiş seçenek \"%s\" - artık etkisiz\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "UYARI: \"%s\" seçeneği eskidi - artık etkisiz\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Sıkıştırılmamış"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "Sıkıştırılmamış|yok"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "bu ileti %s tarafından kullanılamayabilir\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "`%s' seçeneği belirsiz\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "`%s' seçeneği bilinmiyor\n"
@@ -5446,16 +5481,16 @@ msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr ""
 "UYARI: `%s' deki seçenekler bu çalıştırma sırasında henüz etkin değil\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "%d genel anahtar algoritması kullanılamadı\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "UYARI: simetrik şifreli oturum anahtarı potansiyel olarak güvensiz\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d tipi alt paket kritik bit kümesine sahip\n"
@@ -5511,7 +5546,7 @@ msgstr "%u bitlik %s anahtarı, %s kimliği ile %s tarihinde üretilmiş"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (asıl anahtar kimliği %s üzerinde yardımcı anahtar)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5525,34 +5560,34 @@ msgstr ""
 "bir resim kullanırsanız genel anahtarınız da çok büyük olacaktır. Resim\n"
 "boyutlarının 240x288 civarında seçilmesi uygun olacaktır.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Foto kimliği için JPEG dosya ismini giriniz: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "JPEG dosyası `%s' açılamıyor: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Bu JPEG gerçekten büyük (%d bayt)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H ya da y/N)  "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "'%s' bir JPEG dosyası değil\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Bu foto doğru mu? (e/H/ç veya y/N/ç) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "foto kimliği gösterilemiyor!\n"
 
@@ -5584,6 +5619,16 @@ msgstr "yürürlükten kaldırma sebebi: "
 msgid "revocation comment: "
 msgstr "yürürlükten kaldırma açıklaması: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "bBmMaAkK"
@@ -5770,25 +5815,25 @@ msgstr ""
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Bu imzanın sahibine ait olduğu kesin değil.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: atlandı: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: atlandı: genel anahtar zaten var\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "Bir kullanıcı kimliği belirtmediniz. (\"-r\" kullanabilirsiniz)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Şimdiki alıcılar:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5796,42 +5841,42 @@ msgstr ""
 "\n"
 "Kullanıcı kimliğini girin. Boş bir satır işlemi sonlandırır:"
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Böyle bir kullanıcı kimliği yok.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "atlandı: genel anahtar zaten öntanımlı alıcı olarak ayarlanmış\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Genel anahtar iptal edildi.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "atlandı: genel anahtar zaten belirtilmiş\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "öntanımlı alıcı \"%s\" bilinmiyor\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: atlandı: genel anahtar iptal edildi\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "geçerli adresler yok\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Bilginize: anahtar %s %s özelliğine sahip değil\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Bilginize: anahtar %s %s için bir tercihe sahip değil\n"
@@ -6128,20 +6173,26 @@ msgstr "BİLGİ: %s imza anahtarının kullanım süresi %s sularında dolmuş\n
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "BİLGİ: imza anahtarı %s yürürlükten kaldırılmıştı\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s imzası, %s özet algoritması\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "hatalı imzanın bilinmeyen bir kritik bitten dolayı %s anahtarından "
 "kaynaklandığı sanılıyor\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr ""
 "anahtar %s: anahtarı yürürlükten kaldırma imzası için yardımcı anahtar yok\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr ""
@@ -6231,7 +6282,7 @@ msgstr "atlandı: gizli anahtar zaten var\n"
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "bu, imzalar için güvenli olmayan PGP üretimi bir ElGamal anahtarı!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "güvence veritabanının %lu. kaydı, %d türünde: yazma başarısız: %s\n"
@@ -6276,17 +6327,17 @@ msgstr "`%s' deki güvence kaydını ararken hata: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "`%s' için okuma hatası: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "güvence veritabanı: eşzamanlama başarısız: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "güvence veritabanı %lu kaydı: erişim başarısız: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "güvence veritabanı %lu kaydı: yazma başarısız (n=%d): %s\n"
@@ -6295,117 +6346,117 @@ msgstr "güvence veritabanı %lu kaydı: yazma başarısız (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "güvence veritabanı işlemi çok uzun\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "'%s' erişilemiyor: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: dizin yok!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "`%s' için kilit oluşturulamıyor\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "`%s' kiltlenemedi\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: sürüm kaydı oluşturmada başarısız: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: geçersiz güvence veritabanı oluşturuldu\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: güvence veritabanı oluşturuldu\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "BİLGİ: güvence veritabanına yazılamıyor\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: güvence veritabanı geçersiz\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: çittirim tablosu oluşturulamadı: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: sürüm kaydının güncellenmesinde hata: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: sürüm kaydının okunmasında hata: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: sürüm kaydının yazılmasında hata: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "güvence veritabanı: erişim başarısız: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "güvence veritabanı: okuma başarısız (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: bir güvence veritabanı dosyası değil\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: %lu kayıt numarası ile sürüm kaydı\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: dosya sürümü %d geçersiz\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: serbest kaydı okuma hatası: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: dizin kaydını yazma hatası: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: kayıt sıfırlama başarısız: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: kayıt ekleme başarısız: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s: güvence veritabanı oluşturuldu\n"
@@ -6420,165 +6471,173 @@ msgstr "%d karakterden daha uzun metin satırları okunamıyor\n"
 msgid "input line longer than %d characters\n"
 msgstr "girdi satırı %d karakterden daha uzun\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' geçerli bir anahtar kimliği değil\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "anahtar %s: güvenli anahtar olarak kabul edildi\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "anahtar %s güvence veritabanında birden fazla görünüyor\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "anahtar %s: güvenli anahtar için genel anahtar yok - atlandı\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "anahtar %s son derece güvenli olarak imlendi.\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "güvence veritabanı kaydı %lu, istek tipi %d: okuma başarısız: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "güvence veritabanının %lu. kaydı %d istek türünde değil\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "bilinmeyen güvence modeli (%d) kullanılamıyor - %s güvence modeli "
 "varsayılıyor\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "%s güvence modeli kullanılıyor\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "20 translator seen trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[yürürlükten kalktı]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[  süresi  doldu  ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[    bilinmeyen   ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[     tanımsız    ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[   şöyle böyle   ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[     tamamen     ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[   son  derece   ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "tanımsız"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "asla    "
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "şöyle böyle"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "tamamen"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "son derece"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "bir güvence veritabanı denetimi gereksiz\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "sonraki güvence veritabanı denetimi %s de\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "`%s' güvence modelli güvence veritabanı sınaması için gereksiz\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "`%s' güvence modelli güvence veritabanı güncellemesi için gereksiz\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "genel anahtar %s yok: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "lütfen bir --check-trustdb yapın\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "güvence veritabanı denetleniyor\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d anahtar işlendi (%d doğrulama temizlendi)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "son derece güvenli bir anahtar yok\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "son derece güvenli %s için genel anahtar yok\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d şöyle böyle gerekli, %d tamamen gerekli, %s güvence modeli\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
@@ -6586,7 +6645,7 @@ msgstr ""
 "derinlik: %d  geçerli: %3d  imzalı: %3d  güvenilir: %d-, %dq, %dn, %dm, %df, "
 "%du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6612,68 +6671,68 @@ msgstr "girdi satırı %u ya çok uzun ya da sonunda satırsonu karakteri yok\n"
 msgid "can't open fd %d: %s\n"
 msgstr "fd %d açılamıyor: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "değiştirge beklenmiyordu"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "okuma hatası"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "anahtar sözcük çok uzun"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "eksik değiştirge"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "geçersiz komut"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "geçersiz rumuz tanımı"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "nüve dışı"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "geçersiz seçenek"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "\"%.50s\" seçeneğinin değiştirge ihtiyacı yok\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "geçersiz komut \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "\"%.50s\" seçeneği belirsiz\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "\"%.50s\" komutu belirsiz\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "nüve dışında\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "geçersiz seçenekler \"%.50s\"\n"
@@ -6683,22 +6742,17 @@ msgstr "geçersiz seçenekler \"%.50s\"\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "bir yazılım hatası buldunuz ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "`%s' yüklenirken hata: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "`%s' > `%s' dönüşümü elverişli değil\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open başarısız: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "`%s' > `%s' dönüşümü başarısız: %s\n"
@@ -6754,26 +6808,30 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Kullanımı: kbxutil [seçenekler] [dosyalar] (yardım için -h)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
+#| msgid ""
+#| "Syntax: kbxutil [options] [files]\n"
+#| "list, export, import Keybox data\n"
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Sözdizimi: kbxutil [seçenekler] [dosyalar]\n"
 "Anahtar kutusu verisini listeler, ithal ve ihraç eder\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modülü ya eksik ya da %d bitlik değil\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA genel üstel sayısı ya eksik ya da %d bitten büyük\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN eylemcisi hata döndürdü: %s\n"
@@ -6822,79 +6880,79 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "yeni PIN alınırken hata: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "parmakizinin saklanması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "oluşturma tarihinin saklanması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "genel anahtar okuması başarısız: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "yanıt genel anahtar verisi içermiyor\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "yanıt RSA modülü içermiyor\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "yanıt RSA genel bileşenini içermiyor\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "%s olarak öntanımlı PIN kullanılıyor\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "%s olarak öntanımlı PIN kullanılamadı: %s - öntanımlı kullanımı iptal "
 "ediliyor\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Lütfen PIN'i giriniz%%0A[yapılan imza: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "CHV%d için PIN çok kısa; asgari uzunluk: %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "CHV%d doğrulaması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "karttan CHV durumu alınırken hata\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "kart kalıcı olarak kilitli!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
@@ -6902,125 +6960,141 @@ msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr ""
-"|A|Lütfen Yönetici PIN'ini okuyucu tuştakımından giriniz%%0A[kalan deneme: %"
-"d]"
+"|A|Lütfen Yönetici PIN'ini okuyucu tuştakımından giriniz%%0A[kalan deneme: "
+"%d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "yönetici komutlarına erişim yapılandırılmamış\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Lütfen kart için Sıfırlama Kodunu giriniz"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Sıfırlama Kodu çok kısa; asgari uzunluk: %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|YSK|Yeni Sıfırlama Kodu"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|YYP|Yeni Yönetici PIN'i"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Yeni PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||Lütfen PIN'i giriniz"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+#| msgid "||Please enter the PIN"
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Lütfen PIN'i giriniz"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "uygulama verisi okunurken hata\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "parmakizi DO okunurken hata\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "anahtar zaten mevcut\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "mevcut anahtar konulacak\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "yeni anahtar üretiliyor\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "yeni anahtar üretiliyor\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "oluşturum zaman damgası kayıp\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA asal sayısı %s ya eksik la da %d bitlik değil\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "anahtarın saklanması başarısız: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "anahtar üretilene kadar lütfen bekleyiniz ....\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "anahtar üretimi başarısızlığa uğradı\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "anahtar üretimi tamamlandı (%d saniye)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "OpenPGP kartının yapısı geçersiz (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "karttaki parmak izi istenenle eşleşmiyor\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kart %s özet algoritmasını desteklemiyor\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "şu ana kadar oluşturulan imzalar: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "Yönetici PIN'inin doğrulanması bu komut yüzünden şimdilik yasaktır\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "%s erişilebilir değil - OpenPGP kartı geçersiz olabilir mi?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+#, fuzzy
+#| msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Lütfen PIN'inizi okuyucunun tuştakımından giriniz"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7030,52 +7104,58 @@ msgstr "||Lütfen PIN'inizi okuyucunun tuştakımından giriniz"
 msgid "|N|Initial New PIN"
 msgstr "|N|İlk Yeni PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "çoklu sunucu kipinde çalışır (önalanda)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LDÜZEY|hata ayıklama düzeyini DÜZEY yapar"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|DOSYA|DOSYAya bir günce yazar"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|N. porttaki okuyucuya bağlanır"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|İSİM|ct-API sürücüsü olarak İSİM kullanılır"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|İSİM|PC/SC sürücüsü olarak İSİM kullanılır"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "dahili CCID sürücüsü kullanılmaz"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|N saniyelik durgunluktan sonra kartı ayırır"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+#, fuzzy
+#| msgid "do not use a reader's keypad"
+msgid "do not use a reader's pinpad"
 msgstr "bir okuyucu tuştakımı kullanılmaz"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "yönetici kartı komutları kullanımına izin verir"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Kullanımı: scdaemon [seçenekler] (yardım için -h)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7083,18 +7163,18 @@ msgstr ""
 "Sözdizimi: scdaemon [seçenekler] [komut [arg ...]]\n"
 "GnuPG için akıllı kart artalan süreci\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "Programı artalanda çalışır bırakmak için lütfen `--daemon' seçeneğini "
 "kullanın\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "fd %d için eylemci başlatıldı\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "fd %d için eylemci sonlandı\n"
@@ -7132,11 +7212,11 @@ msgstr "dirmngr'a bağlanılamıyor - son çareye başvuruluyor\n"
 msgid "validation model requested by certificate: %s"
 msgstr "sertifika tarafından istenen geçerlilik modeli: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "zincir"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "kabuk"
 
@@ -7166,194 +7246,195 @@ msgstr "bilgi: kritik olmayan sertifika poliçesine izin verilmez"
 msgid "certificate policy not allowed"
 msgstr "sertifika poliçesine izin verilmiyor"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "harici bir sertifikacı arar\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "eşleşen sertifikacı sayısı: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "Dirmngr önbelleğinde sertifikacıyı arar\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "eşleşen sertifika sayısı: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr sadece-önbellek anahtar araması başarısızi: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "ayrılmış anahtar veritabanı elde edilemedi: %s\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "anahtar veritabanı eylemcisine yer ayrılması başarısız oldu\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "sertifika yürürlükten kaldırılmıştı"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "sertifika durumu bilinmiyor"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "\"dirmngr\"'ın düzgün olarak kurulu olduğundan lütfen emin olunuz\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "CRL sınaması başarısız: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "geçersiz doğrulukla sertifika: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "sertifika henüz geçersiz"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "kök sertifika henüz geçersiz"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "ara sertifika henüz geçersiz"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "sertifika kullanım süresi dolmuş"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "kök sertifikanın kullanım süresi dolmuş"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "ara sertifikanın kullanım süresi dolmuş"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "gerekli sertifika özellikleri eksik: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "geçersiz doğrulukla sertifika"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "sertifika yaşam süresi boyunca imza oluşturulmadı"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "sertifikacının yaşam süresi boyunca sertifika oluşturulmadı"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "sertifikacının yaşam süresi boyunca ara sertifika oluşturulmadı"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (  imzanın oluşturuluşu: "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (  sertifikanın oluşturuluşu: "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (sertifika geçerlilik başlangıcı: "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (sertifikacı geçerlilik başlangıcı: "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "parmakizi=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "kök sertifika artık güvenilir olarak imlenmiş oldu\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "güvenilir olarak etkileşimli imleme gpg-agent'ta etkin değil\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "güvenilir olarak etkileşimli imleme bu oturum için iptal edildi\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 "UYARI: imzanın oluşturulma zamanı bilinmiyor - şimdiki zaman varsayılıyor"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "sertifikacı kim belli değil"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "öz-imzalı sertifika KÖTÜ bir imzaya sahip"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "kök sertifika güvenilir olarak imli değil"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "güvence listesinin sınanması başarısız: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "sertifika zinciri çok uzun\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "sertifikacı belli değil"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "sertifika KÖTÜ bir imzaya sahip"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "başka bir eşleşmesi olası CA sertifikası var - tekrar deneniyor"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "sertifika zinciri CA tarafından izin verilenden uzun (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "sertifika iyi durumda\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "ara sertifika iyi durumda\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "kök sertifika iyi durumda\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "zincir modeline geçiş"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "kullanılan geçerlilik modeli: %s"
@@ -7417,19 +7498,27 @@ msgid "error getting key usage information: %s\n"
 msgstr "anahtar kullanım bilgisi alınırken hata: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+#, fuzzy
+#| msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "sertifika onaylama için kullanılmamalıydı\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "sertifika, OCSP yanıtının imzalanması için kullanılmamalıydı\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+#, fuzzy
+#| msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "sertifika şifreleme için kullanılmamalıydı\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+#, fuzzy
+#| msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "sertifika imzalama için kullanılmamalıydı\n"
 
 #: sm/certlist.c:167
@@ -7633,7 +7722,7 @@ msgstr "(bu bir şifreli iletiymiş gibi görünmüyor)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "sertifika \"%s\" yok: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "anahtar bloğu kilitlenirken hata: %s\n"
@@ -7763,7 +7852,7 @@ msgstr ""
 "|KULLANICI-KİMLİĞİ|öntanımlı gizli anahtar olarak KULLANICI-KİMLİĞİ "
 "kullanılır"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|BELİRTİM|anahtarları aramak için bu anahtar sunucusu kullanılır"
 
@@ -7780,10 +7869,15 @@ msgid "Usage: gpgsm [options] [files] (-h for help)"
 msgstr "Kullanımı: gpgsm [seçenekler] [dosyalar] (yardım için -h)"
 
 #: sm/gpgsm.c:525
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpgsm [options] [files]\n"
+#| "sign, check, encrypt or decrypt using the S/MIME protocol\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Sözdizimi: gpgsm [seçenekler] [dosyalar]\n"
 "imzalama, kontrol, şifreleme veya çözme S/MIME protokolü kullanarak yapılır\n"
@@ -7818,25 +7912,25 @@ msgstr "%s:%u: kullanıcısız parola verilmiş\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: bu satır atlanıyor\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "anahtar sunucusu çözümlenemedi\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "UYARI: sahte sistem zamanıyla çalışıyor: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "ortak sertifikalar `%s' ithal ediliyor\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "`%s' kullanarak imzalanamıyor: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "geçersiz komut (hiç dolaylı komut yok)\n"
 
@@ -7853,11 +7947,7 @@ msgstr "sertifika saklanırken hata\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "temel sertifika sınamaları başarısız oldu - ithal edilmedi\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "anahtar veritabanı eylemcisine yer ayrılması başarısız oldu\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "saklanmış bayraklar alınırken hata: %s\n"
@@ -7872,45 +7962,41 @@ msgstr "sertifika ithal edilirken hata: %s\n"
 msgid "error reading input: %s\n"
 msgstr "girdi okunurken hata: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "anahtar bloku `%s' oluşturulurken hata: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "gpg-agent'ı önce başlatmak isteyebilirsiniz\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "`%s' anahtar bloğu oluşturuldu\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "parmakizinin alınması başarısız oldu\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "mevcut sertifika aranırken sorun çıktı: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "yazılabilir anahtar veritabanı bulunurken hata: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "serifika saklanırken hata: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "sertifika yeniden aranırken sorun çıktı: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "bayraklar saklanırken hata: %s\n"
@@ -8101,147 +8187,147 @@ msgstr "%s komutu gönderilirken hata: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "standart seçenekler gönderilirken hata: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Tanı çıktısını denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Yapılandırmayı denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Hata ayıklamaya elverişli seçenekler"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|DOSYA|sunucu kipi günlükleri DOSYAya yazar"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Güvenliği denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|SSH anahtarları N saniyede zamanaşımına uğrar"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|azami PIN önbelleği ömrü N saniyeye ayarlanır"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|azami SSH anahtarı ömrü N saniyeye ayarlanır"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Bir anahtar parolası kuralını zorlayan seçenekler"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "anahtar parolası kuralının atlanmasına izin verilmez"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|yeni anahtar parolası için gereken en küçük uzunluk N'ye ayarlanır"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 "|N|yeni bir anahtar parolası için en azından harf olmayan N karakter gerekir"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|DOSYA|yeni anahtar parolası DOSYAdaki kalıba göre sınanır"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|anahtar parolası N gün sonra zaman aşımına uğrar"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "eski anahtar parolalarının yeniden kullanılmasına izin vermez"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|İSİM|öntanımlı gizli anahtar olarak İSİM kullanılır"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|İSİM|İSİM kullanıcısı için de şifreleme yapar"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|BELİRTİM|eposta rumuzlarını ayarlar"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Anahtar sunucular için yapılandırma"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL| URL'si veriler anahtar sunucusu kullanılır"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "PKA aramalarına izin verilir (DNS istekleri)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MEKANİZMALAR|anahtarları eposta adreslerine göre konumlamak için "
 "MEKANİZMALAR kullanılır"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "dirmngr'a tüm erişim iptal edilir"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|İSİM|PKCS#12 anahtar parolaları için kodlama olarak İSİM kullanılır"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "kök sertifikalar için CRLler sınanmaz"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Çıktı biçimini denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Etkileşimliliği ve zorlamayı denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "HTTP sunucuları için yapılandırma"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "sistemin HTTP vekil ayarları kullanılır"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Kullanılacak LDAP sunucularının yapılandırması"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "LDAP sunucu listesi"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "OCSP için yapılandırma"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "%s bileşeninin harici doğrulaması başarısız oldu"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Grup belirtimlerinin yoksayıldığına dikkat edin\n"
 
@@ -8499,6 +8585,15 @@ msgstr ""
 "Standart girdiden verilen anahtar parolasını örüntü dosyasıyla "
 "karşılaştırır\n"
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "gpg-agent'ı önce başlatmak isteyebilirsiniz\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "`%s' yüklenirken hata: %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "ayrılmış anahtar veritabanı elde edilemedi: %s\n"
+
 #~ msgid "Command> "
 #~ msgstr "Komut> "
 
index d718694..bc05860 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 3acecc1..8763d56 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,24 +2,24 @@
 # Copyright (C) 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GnuPG package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2011.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: gnupg2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2011-08-28 10:55+0300\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-04-27 14:41+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
+"Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: uk\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"
-"X-Generator: Lokalize 1.2\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"
+"X-Generator: Lokalize 1.5\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "не вдалося встановити блокування запису пінкоду: %s\n"
@@ -29,21 +29,21 @@ msgstr "не вдалося встановити блокування запис
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "_Гаразд"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "_Скасувати"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "Пінкод:"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "Якість:"
 
@@ -53,13 +53,13 @@ msgstr "Якість:"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "Якість введеного вище тексту.\n"
 "Дані щодо критеріїв якості можна отримати у вашого адміністратора."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -67,7 +67,7 @@ msgstr ""
 "Будь ласка, вкажіть ваш пінкод, щоб ключ можна було розблокувати для цього "
 "сеансу"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -75,146 +75,149 @@ msgstr ""
 "Будь ласка, вкажіть ваш пароль, щоб ключ можна було розблокувати для цього "
 "сеансу"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (спроба %d з %d)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "Занадто довгий пінкод"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "Занадто довгий пароль"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "Некоректні символи у пінкоді"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "Занадто короткий пінкод"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "Помилковий пінкод"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "Помилковий пароль"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "Пароль"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 "підтримки ключів ssh, що складаються з понад %d бітів, не передбачено\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "не вдалося створити «%s»: %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "не вдалося відкрити «%s»: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "помилка під час спроби отримання серійного номера картки: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "виявлено картку з серійним номером: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr ""
 "помилка під час спроби отримання типового розпізнавального keyID картки: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "не виявлено відповідних ключів картки: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "помилка під час спроби хешування ключа: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "помилка під час спроби запису ключа: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
-"Процесом ssh надіслано запит щодо використання ключа%%0A  %s%%0A  (%s)%%"
-"0AНадати доступ до цього ключа?"
+"Процесом ssh надіслано запит щодо використання ключа%%0A  %s%%0A  "
+"(%s)%%0AНадати доступ до цього ключа?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr "Надати"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr "Заборонити"
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Будь ласка, вкажіть пароль до ключа ssh%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "Будь ласка, повторіть введення пароля"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Будь ласка, вкажіть пароль для захисту отриманого закритого ключа%%0A   %s%%"
-"0A   %s%%0Aу сховищі ключів gpg-agent"
+"Будь ласка, вкажіть пароль для захисту отриманого закритого ключа%%0A   %s"
+"%%0A   %s%%0Aу сховищі ключів gpg-agent"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "паролі не збігаються, повторіть спробу"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "не вдалося створити потік даних з сокета: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "Будь ласка, вставте картку з серійним номером"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "Будь ласка, вийміть поточну картку і вставте картку з серійним номером"
 
@@ -234,7 +237,7 @@ msgstr "Код скидання"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr "%s%%0A%%0AСкористайтеся додатковою клавіатурою зчитувача для введення."
 
 #: agent/divert-scd.c:287
@@ -351,14 +354,14 @@ msgstr "Так, у захисті немає потреби"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "Вкажіть пароль до%0Aз метою захисту вашого нового ключа"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "Вкажіть новий пароль"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -367,113 +370,121 @@ msgstr ""
 "@Параметри:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "запустити у режимі сервера (основному)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "запустити у режимі фонової служби (фоновий)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "запустити у режимі сервера (основному)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "докладний режим"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "дещо зменшити кількість повідомлень"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "виведення команд у форматі sh"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "виведення команд у форматі csh"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "прочитати параметри з вказаного файла"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "не від’єднувати від консолі"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "не захоплювати керування клавіатурою і мишею"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "використовувати файл журналу для сервера"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "використовувати для сокета стандартне розташування"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "використовувати вказану програму пінзаписів"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "використовувати вказану програму SCdaemon"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "не використовувати SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "ігнорувати запити щодо зміни TTY"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "ігнорувати запити щодо зміни графічного дисплея"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "вважати кешовані пінкоди за вказану кількість секунд"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "не використовувати кеш пін-кодів для підписування"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "дозволити клієнтам позначати ключі як надійні"
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "дозволити попереднє встановлення пароля"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "увімкнути емуляцію ssh-агента"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+msgid "enable putty support"
+msgstr ""
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "записати параметри середовища і до файла"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Будь ласка, надсилайте повідомлення про помилки на <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Використання: gpg-agent [параметри] (-h — довідка)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -481,157 +492,158 @@ msgstr ""
 "Синтаксис: gpg-agent [параметри] [команда [аргументи]]\n"
 "Керування закритими ключами у GnuPG\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "вказано некоректне значення рівня діагностики «%s»\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s є занадто застарілою (потрібно %s, маємо %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "ЗАУВАЖЕННЯ: не виявлено файла типових параметрів «%s»\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "файл параметрів «%s»: %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "прочитати параметри з «%s»\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "помилка створення «%s»: %s.\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "не вдалося створити каталог «%s»: %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "назва сокета є надто довгою\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "не вдалося створити сокет: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "назва сокета «%s» є надто довгою\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent вже запущено, потреби у запуску нової копії немає\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "помилка під час спроби отримання поточного стану сокета\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "помилка під час спроби прив’язування сокета до «%s»: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "помилка listen(): %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "очікування даних на сокеті «%s»\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "створено каталог «%s»\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "помилка stat() щодо «%s»: %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "не можна використовувати як домашній каталог «%s»\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr ""
-"помилка під час спроби читання поточного стану на файловому дескрипторі %d: %"
-"s\n"
+"помилка під час спроби читання поточного стану на файловому дескрипторі %d: "
+"%s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "запущено обробки 0x%lx для файлового дескриптора %d\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "обробник 0x%lx дескриптора файла %d завершив роботу\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "запущено обробник ssh 0x%lx для дескриптора файла %d\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "обробник ssh 0x%lx дескриптора файла %d завершив роботу\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "помилка pth_select: %s — очікування у 1 с\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s зупинено\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "у цьому сеансі не запущено gpg-agent\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "помилкове форматування змінної середовища GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "підтримки версії протоколу gpg-agent %d не передбачено\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr ""
 "Використання: gpg-preset-passphrase [параметри] KEYGRIP (-h — довідка)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -639,7 +651,7 @@ msgstr ""
 "Синтаксис: gpg-preset-passphrase [параметри] KEYGRIP\n"
 "Керування кешем паролів\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -648,7 +660,7 @@ msgstr ""
 "@Команди:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -660,11 +672,11 @@ msgstr ""
 "Параметри:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "Використання: gpg-protect-tool [параметри] (-h — довідка)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -672,22 +684,22 @@ msgstr ""
 "Синтаксис: gpg-protect-tool [параметри] [аргументи]\n"
 "Інструмент керування закритими ключами\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Будь ласка, вкажіть пароль для зняття захисту з об’єкта PKCS#12."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Будь ласка, вкажіть пароль для захисту нового об’єкта PKCS#12."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 "Будь ласка, введіть пароль для захисту імпортованого об’єкта у системі GnuPG."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -695,15 +707,15 @@ msgstr ""
 "Будь ласка, вкажіть пароль або пінкод,\n"
 "потрібні для завершення цієї дії."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "Пароль:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "скасовано\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "помилка під час спроби запиту пароля: %s\n"
@@ -823,8 +835,8 @@ msgstr "Змінити пароль"
 msgid "I'll change it later"
 msgstr "Я зміню його пізніше"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "помилка під час спроби створення каналу: %s\n"
@@ -865,12 +877,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "помилка під час спроби виконання «%s»: виконання перервано\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "помилка під час спроби створення сокета: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "вузол не знайдено"
 
@@ -899,17 +911,17 @@ msgstr "скасовано користувачем\n"
 msgid "problem with the agent\n"
 msgstr "проблема з агентом\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "не вдалося вимкнути створення дампів образів у пам’яті: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Увага: визначення власника не є безпечним для %s — «%s»\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Увага: визначення прав доступу не є безпечним для %s — «%s»\n"
@@ -1126,11 +1138,11 @@ msgstr "Ланцюжок сертифікації є чинним"
 msgid "Root certificate trustworthy"
 msgstr "Кореневий сертифікат є гідним довіри"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "не знайдено списку відкликання для сертифіката"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "доступний список відкликання є занадто старим"
 
@@ -1204,7 +1216,7 @@ msgstr "неочікуваний формат ASCII: "
 msgid "invalid dash escaped line: "
 msgstr "некоректний екранований дефісами рядок: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "пропущено некоректний символ radix64 %02X\n"
@@ -1221,7 +1233,7 @@ msgstr "завчасний кінець файла (у CRC)\n"
 msgid "malformed CRC\n"
 msgstr "помилкове форматування CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "помилка CRC; %06lX - %06lX\n"
@@ -1234,16 +1246,16 @@ msgstr "завчасний кінець файла (у додатку)\n"
 msgid "error in trailer line\n"
 msgstr "помилка у рядку доповнення\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "не виявлено коректних даних OpenPGP.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "некоректний формат ASCII: рядок є довшим за %d символів\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -1278,7 +1290,7 @@ msgstr "УВАГА: виявлено некоректні дані приміт
 msgid "not human readable"
 msgstr "незручне для читання"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Не вдалося отримати доступ до картки OpenPGP: %s\n"
@@ -1288,8 +1300,8 @@ msgstr "Не вдалося отримати доступ до картки Open
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Виявлено картку OpenPGP з номером %s\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "це не можна робити у пакетному режимі\n"
 
@@ -1297,158 +1309,158 @@ msgstr "це не можна робити у пакетному режимі\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Цією командою можна користуватися лише для карток версії 2\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "Немає коду скидання або код скидання вже недоступний\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "Ваш вибір? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[не встановлено]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "чоловіча"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "жіноча"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "не вказано"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "не увімкнено"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "увімкнено"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 "Помилка: у поточній версії можна використовувати лише звичайний ASCII.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Помилка: символ «<» не можна використовувати.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Помилка: не можна використовувати подвійні пробіли.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "Прізвище власника картки: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "Ім’я власника картки: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Помилка: складена назва є занадто довгою (максимум — %d символів).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "Адреса для отримання відкритого ключа: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Помилка: адреса є занадто довгою (максимум — %d символів).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "помилка під час спроби розподілу пам’яті: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "помилка під час спроби читання «%s»: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "помилка під час спроби читання «%s»: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "Дані користувача (назва запису): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr ""
 "Помилка: дані користувача є занадто довгими (максимум — %d символів).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "Особисті дані DO: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr ""
 "Помилка: особисті дані D0 є занадто довгими (максимум — %d символів).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "Основна мова: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "Помилка: некоректна довжина рядка основної мови.\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Помилка: некоректні символи у рядку основної мови.\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "Стать (чоловіча (M), жіноча (F) або пробіл): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "Помилка: некоректна відповідь.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "Відбиток CA: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Помилка: некоректне форматування відбитка.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "дія над ключем неможлива: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "не є карткою OpenPGP"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "помилка під час отримання даних поточного ключа: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "Замінити вже створений ключ? (y/N або т/Н) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1459,56 +1471,56 @@ msgstr ""
 "      ознайомтеся з документацією до вашої картки, щоб\n"
 "      визначити дозволені розміри.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "Якому розміру ключа підписування ви надаєте перевагу? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "Яким має бути розмір ключа для шифрування? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "Якому розміру ключа для розпізнавання ви надаєте перевагу? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "округлено до %u бітів\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "Розміри ключів %s мають перебувати у діапазоні %u—%u\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Зараз налаштування картки буде змінено для створення %u-бітового ключа\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "помилка під час спроби зміни розміру ключа з %d на %u: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Створити резервну копію ключа шифрування поза карткою? (Y/n або Т/н) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "ЗАУВАЖЕННЯ: ключі вже збережено на картці!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "Замірити вже створені ключі? (y/N або т/Н) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1519,129 +1531,129 @@ msgstr ""
 "   PIN = «%s»     Адміністративний PIN = «%s»\n"
 "Вам слід змінити параметри за допомогою команди --change-pin\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "Виберіть тип ключа, який слід створити:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) Ключ підписування\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Ключ шифрування\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Ключ розпізнавання\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "Некоректний вибір.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "Виберіть сховище для зберігання ключа:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "невідомий алгоритм захисту ключа\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "закриті частини ключа недоступні\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "закритий ключ вже збережено на картці\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "помилка під час спроби запису ключа на картку: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "вийти з цього меню"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "показати керівні команди"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "показати цю довідкову інформацію"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "показати всі доступні дані"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "змінити ім’я власника картки"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "змінити адресу для отримання ключа"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "отримати ключ, вказаний у полі адреси картки"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "змінити ім’я користувача"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "змінити основну мову"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "змінити поле статі власника картки"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "змінити відбиток CA"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "увімкнути або вимкнути позначку примусового пінкоду підпису"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "створити ключі"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "меню зміни або розблокування пінкоду"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "перевірити пінкод і показати список всіх даних"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "розблокувати під коду за допомогою коду скидання"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/картка> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "Команда адміністратора\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "Команди адміністрування дозволено\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "Команди адміністрування заборонено\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Некоректна команда  (скористайтеся командою «help»)\n"
 
@@ -1649,18 +1661,18 @@ msgstr "Некоректна команда  (скористайтеся ком
 msgid "--output doesn't work for this command\n"
 msgstr "--output не працює з цією командою\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "не вдалося відкрити «%s»\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ключ «%s» не знайдено: %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1767,7 +1779,7 @@ msgstr ""
 "примусове використання симетричного шифру %s (%d) не відповідає параметрам "
 "отримувача\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "не можна використовувати %s у режимі %s\n"
@@ -1777,77 +1789,77 @@ msgstr "не можна використовувати %s у режимі %s\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s зашифровано для «%s»\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "Дані, зашифровані за алгоритмом %s\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "зашифровано за допомогою невідомого алгоритму %d\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "УВАГА: повідомлення зашифровано слабким ключем з симетричним шифруванням.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "проблема з обробкою зашифрованого пакета\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "виконання віддалених програм не передбачено\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "виклик зовнішніх програм вимкнено через невідповідність прав доступу до "
 "файла параметрами безпеки\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "на цій платформі слід використовувати тимчасові файли під час виклику "
 "зовнішніх програм\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "не вдалося виконати програму «%s»: %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "не вдалося виконати оболонку «%s»: %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "системна помилка під час спроби виклику зовнішньої програми: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "неприродний вихід з зовнішньої програми\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "не вдалося виконати зовнішню програму\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "не вдалося прочитати відповідь зовнішньої програми: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "УВАГА: не вдалося вилучити тимчасовий файл (%s) «%s»: %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "УВАГА: не вдалося вилучити тимчасовий каталог «%s»: %s\n"
@@ -1942,195 +1954,195 @@ msgstr "помилка під час спроби отримання «%s» за
 msgid "No fingerprint"
 msgstr "Без відбитка"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Некоректний ключ %s визнано чинним через параметр --allow-non-selfsigned-"
 "uid\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "немає закритого підключа для відкритого підключа %s — пропускаємо\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "використовуємо підключ %s замість основного ключа %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "ключ %s: закритий ключ без відкритого ключа — пропущено\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "створити підпис"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "створити текстовий підпис"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "створити від’єднаний підпис"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "зашифрувати дані"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "шифрувати лише за допомогою симетричного шифру"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "розшифрувати дані (типова дія)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "перевірити підпис"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "показати список ключів"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "показати список ключів і підписів"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "показати список і перевірити підписи ключів"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "показати список ключів і відбитків"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "показати список закритих ключів"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "створити пару ключів"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "створити сертифікат відкликання"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "вилучити ключі з відкритого сховища ключів"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "вилучити ключів з закритого сховища ключів"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "підписати ключ"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "підписати ключ локально"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "підписати або редагувати ключ"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "змінити пароль"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "експортувати ключі"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "експортувати ключі на сервер ключів"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "імпортувати ключі з сервера ключів"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "шукати ключі на сервері ключів"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "оновити всі ключів з сервера ключів"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "імпортувати/об’єднати ключі"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "показати дані про стан картки"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "змінити дані на картці"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "змінити пінкод картки"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "оновити базу даних довіри"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "показати контрольні суми повідомлень"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "запустити у режимі сервера"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "створити дані у форматі ASCII"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|зашифрувати для вказаного ідентифікатора"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|USER-ID|використовувати для створення підписів або розшифрування вказаний "
 "ідентифікатор"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|встановити рівень стиснення (0 — вимкнути)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "використовувати канонічний текстовий режим"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|записати дані до вказаного файла"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "не вносити змін"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "запитувати перед перезаписом"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "строго використовувати стандарт OpenPGP"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2139,7 +2151,7 @@ msgstr ""
 "(Щоб ознайомитися зі списком команд і параметрів, скористайтеся сторінкою "
 "довідника (man))\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2160,21 +2172,21 @@ msgstr ""
 " --list-keys [назви]        показати ключі\n"
 " --fingerprint [назви]      показати відбитки\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Використання: gpg [параметри] [файли] (-h — довідка)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Синтаксис: gpg [параметри] [файли]\n"
 "Підписування, перевірка підписів, шифрування або розшифрування\n"
 "Типова дія залежатиме від вхідних даних\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2182,75 +2194,75 @@ msgstr ""
 "\n"
 "Підтримувані алгоритми:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "Відкритий ключ: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "Шифр: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "Хеш: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "Стиснення: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "використання: gpg [параметри] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "несумісні команди\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "у визначенні групи «%s» немає знаку «=»\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "УВАГА: визначення власника домашнього каталогу «%s» не є безпечним\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "УВАГА: визначення власника у файлі налаштувань «%s» не є безпечним\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "УВАГА: визначення власника додатка «%s» не є безпечним\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до домашнього каталогу «%s» не є безпечним\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до файла налаштувань «%s» не є безпечним\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "УВАГА: визначення прав доступу до додатка «%s» не є безпечним\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr ""
 "УВАГА: визначення власника підлеглого каталогу домашнього каталогу «%s» не є "
 "безпечним\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2258,20 +2270,21 @@ msgstr ""
 "УВАГА: визначення власника у підлеглому каталозі, визначеному файлом "
 "налаштувань «%s», не є безпечним\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr ""
-"УВАГА: визначення власника підлеглого каталогу у додатку «%s» не є безпечним\n"
+"УВАГА: визначення власника підлеглого каталогу у додатку «%s» не є "
+"безпечним\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr ""
-"УВАГА: визначення прав доступу до підлеглого каталогу домашнього каталогу «%"
-"s» не є безпечним\n"
+"УВАГА: визначення прав доступу до підлеглого каталогу домашнього каталогу "
+"«%s» не є безпечним\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -2279,482 +2292,483 @@ msgstr ""
 "УВАГА: визначення прав доступу до підлеглого каталогу, визначеного файлом "
 "налаштувань «%s», не є безпечним\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до підлеглого каталогу у додатку «%s» не є "
 "безпечним\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "невідомий пункт налаштувань «%s»\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "показувати фотоідентифікатори у списках ключів"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "показувати адреси правил у списках підписів"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "показувати всі примітки у списках підписів"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "показувати стандартні примітки IETF у списках підписів"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "показувати примітки користувача у списках підписів"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "показувати адреси основних серверів ключів у списках підписів"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "показувати чинність ідентифікаторів користувачів у списках ключів"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "показувати відкликані та застарілі ідентифікатори користувачів у списках "
 "ключів"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "показувати відкликані та застарілі підключі у списках ключів"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "показувати назву сховища ключів у списках ключів"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "показувати дати завершення строків дії у списку підписів"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "ЗАУВАЖЕННЯ: застарілий файл типових параметрів «%s» проігноровано\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt занадто стара (потрібна — %s, маємо %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "ЗАУВАЖЕННЯ: %s не призначено для звичайного використання!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "«%s» не є коректним записом завершення строку дії підпису\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "«%s» не є коректним набором символів\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "не вдалося обробити адресу сервера ключів\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: некоректні параметри сервера ключів\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "некоректні параметри сервера ключів\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: некоректні параметри імпортування\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "некоректні параметри імпортування\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: некоректні параметри експортування\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "некоректні параметри експортування\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: некоректні параметри побудови списку\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "некоректні параметри побудови списку\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "показувати фотоідентифікатори під час перевірки підписів"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "показувати адреси правил під час перевірки підписів"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "показувати всі примітки під час перевірки підписів"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "показувати стандартні примітки IETF під час перевірки підписів"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "показувати вказані користувачем примітки під час перевірки підписів"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "показувати адреси основних серверів ключів у списках перевірки підписів"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr ""
 "показувати чинність ідентифікаторів користувача під час перевірки підписів"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "показувати відкликані та застарілі ідентифікатори користувачів у списках "
 "перевірки підписів"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 "показувати лише основний ідентифікатор користувача під час перевірки підписів"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "перевірити підписи за допомогою даних PKA"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "підняти рівень довіри до підписів з коректними даними PKA"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: некоректні параметри перевірки\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "некоректні параметри перевірки\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "не вдалося встановити шлях для запуску у значення %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: некоректний список auto-key-locate\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "некоректний список auto-key-locate\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "УВАГА: можливе створення дампу пам’яті програми!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "УВАГА: %s перевизначає %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s не можна використовувати разом з %s!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s є зайвим, якщо використано %s!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "не буде запущено з помилками у захисті пам’яті через %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "від’єднані та текстові підписи можна створювати лише у режимі --pgp2\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "у режимі --pgp2 не можна одночасно підписувати і зашифровувати дані\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "вам слід використовувати файли (не канали даних) під час роботи з увімкненим "
 "--pgp2.\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 "шифрування повідомлень у режимі --pgp2 потребує використання шифру IDEA\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "вибраний алгоритм шифрування є некоректним\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "вибраний алгоритм побудови контрольних сум є некоректним\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "вибраний алгоритм стискання є некоректним\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 "вибраний алгоритм створення контрольних сум для сертифікації є некоректним\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "значення completes-needed має бути більшим за 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "значення marginals-needed має перевищувати 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "значення max-cert-depth має перебувати у діапазоні від 1 до 255\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "некоректне значення default-cert-level; має бути 0, 1, 2 або 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "некоректне значення min-cert-level; має бути 1, 2 або 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 "ЗАУВАЖЕННЯ: наполегливо не рекомендуємо вам користуватися простим режимом "
 "S2K (0)\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "некоректний режим S2K; мало бути вказано 0, 1 або 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "некоректні типові параметри\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "некоректні особисті параметри шифрування\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "некоректні особисті параметри контрольної суми\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "некоректні особисті параметри стискання\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ще не може працювати разом з %s\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "не можна використовувати алгоритм шифрування «%s» у режимі %s\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr ""
-"не можна використовувати алгоритм створення контрольних сум «%s» у режимі %s\n"
+"не можна використовувати алгоритм створення контрольних сум «%s» у режимі "
+"%s\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "не можна використовувати алгоритм стискання «%s» у режимі %s\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "не вдалося ініціалізувати базу даних надійності (TrustDB): %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "УВАГА: отримувачів (-r) вказано без використання шифрування відкритим "
 "ключем\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [назва файла]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [назва файла]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "помилка під час спроби симетричного шифрування «%s»: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [назва файла]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [назва файла]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --encrypt у режимі --s2k-"
 "mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --encrypt у режимі %s\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [назва файла]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [назва файла]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [назва файла]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --sign --encrypt у режимі --"
 "s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
-"не можна використовувати комбінацію --symmetric --sign --encrypt у режимі %"
-"s\n"
+"не можна використовувати комбінацію --symmetric --sign --encrypt у режимі "
+"%s\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [назва файла]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [назва файла]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [назва файла]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key user-id"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key user-id"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key user-id [команди]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd <ідентифікатор-користувача>"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "помилка під час надсилання даних на сервер ключів: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "помилка під час спроби отримання даних з сервера ключів: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "помилка під час спроби експортування ключа: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "помилка пошуку на сервері ключів: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "помилка оновлення з сервера ключів: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "помилка перетворення з формату ASCII: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "помилка перетворення у формат ASCII: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "некоректний алгоритм хешування «%s»\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[назва файла]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "Почніть вводити ваше повідомлення...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "вказана адреса правил сертифікації є некоректною\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "вказана адреса правил підписування є некоректною\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "вказана адреса основного сервера ключів є некоректною\n"
 
@@ -2791,120 +2805,120 @@ msgstr "Довідки не передбачено"
 msgid "No help available for `%s'"
 msgstr "Довідки щодо %s не виявлено"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "імпортувати підписи, позначені як лише локальні"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "відновлювати пошкодження сервером ключів pks під час імпортування"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "не оновлювати базу даних довіри після імпортування"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "створити відкритий ключ під час імпортування закритого ключа"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "приймати оновлення лише вже створених ключів"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "вилучити невикористані частини ключа після імпортування"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "вилучити максимум частин з ключа після імпортування"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "пропускаємо блок типу %d\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "оброблено %lu ключів\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Загалом оброблено: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      пропущено нових ключів: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          без ід. користувача: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "              імпортовано: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             без змін: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          нових ід. користувачів: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           нових підключів: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        нових підписів: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   відкликань нових ключів: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      прочитано закритих ключів: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  імпортовано закр. ключів: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " закр. ключів без змін: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          не імпортовано: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    вилучених підписів: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      вилучених ід. корист.: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2913,355 +2927,371 @@ msgstr ""
 "УВАГА: у ключі %s містяться записи надання переваги\n"
 "недоступним алгоритмам для таких ід. користувачів:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму шифрування %s\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму контрольних сум %s\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму стискання %s\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "наполегливо рекомендуємо вам оновити записи переваг і\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "повторно поширити цей ключ, щоб уникнути потенційних проблем з алгоритмами\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "оновити записи перевад можна за допомогою команди: gpg --edit-key %s updpref "
 "save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "ключ %s: немає ідентифікатор користувача\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "пропущено «%s»: %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "ключ %s: відновлено пошкоджений підключ PKS\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "ключ %s: прийнято несамопідписаний ідентифікатор користувача «%s»\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "ключ %s: немає чинних ідентифікаторів користувача\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "причиною цього може бути те, що немає самопідпису\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "ключ %s: не знайдено відкритий ключ: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "ключ %s: новий ключ — пропущено\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "не виявлено придатного до запису сховища ключів: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "записуємо до «%s»\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "помилка під час спроби запису сховища ключів «%s»: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "ключ %s: імпортовано відкритий ключ «%s»\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "ключ %s: не відповідає нашій копії\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "ключ %s: не вдалося знайти початковий блок ключів: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "ключ %s: не вдалося прочитати початковий блок ключів: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "ключ %s: «%s» 1 новий ідентифікатор користувача\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "ключ %s: «%s» %d нових ідентифікаторів користувачів\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "ключ %s: «%s» 1 новий підпис\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "ключ %s: «%s» %d нових підписів\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "ключ %s: «%s» 1 новий підключ\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "ключ %s: «%s» %d нових підключів\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "ключ %s: «%s» вилучено %d підпис\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "ключ %s: «%s» вилучено %d підписів\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "ключ %s: «%s» спорожнено %d ідентифікатор користувача\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "ключ %s: «%s» спорожнено %d ідентифікаторів користувачів\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "ключ %s: «%s» не змінено\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "ключ %s: закритий ключ з некоректним шифром %d — пропущено\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "закритий ключ «%s» не знайдено: %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "імпортування закритих ключів заборонено\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "ключ %s: закритий ключ з некоректним шифром %d — пропущено\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "немає типового сховища закритих ключів: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "ключ %s: імпортовано закритий ключ\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "ключ %s: вже у сховищі закритих ключів\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "ключ %s: закритий ключ не знайдено: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "ключ %s: немає відкритого ключа — не можна застосовувати сертифікат "
 "відкликання\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "ключ %s: некоректний сертифікат відкликання: %s — відкинуто\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "ключ %s: імпортовано сертифікат відкликання «%s»\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "ключ %s: немає ідентифікатор користувача для підпису\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "ключ %s: непідтримуваний алгоритм створення відкритого ключа для "
 "ідентифікатора користувача «%s»\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "ключ %s: некоректний самопідпис для ідентифікатора користувача «%s»\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "ключ %s: непідтримуваний алгоритм створення відкритого ключа\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "ключ %s: некоректний безпосередній підпис ключа\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "ключ %s: немає підключа для зв’язування ключів\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "ключ %s: некоректне зв’язування підключів\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "ключ %s: вилучено кратне зв’язування підключів\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "ключ %s: немає підключа для відкликання ключа\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "ключ %s: некоректне відкликання підключа\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "ключ %s: вилучено кратне відкликання підключа\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "ключ %s: пропущено ідентифікатор користувача «%s»\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "ключ %s: пропущено підключ\n"
 
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "ключ %s: непридатний до експорту підпис (клас 0x%02X) — пропущено\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "ключ %s: сертифікат відкликання у помилковому місці — пропущено\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "ключ %s: некоректний сертифікат відкликання: %s — пропущено\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "ключ %s: підпис підключа у помилковому місці — пропущено\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "ключ %s: неочікуваний клас підпису (0x%02X) — пропущено\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "ключ %s: виявлено дублювання ідентифікаторів користувача — об’єднано\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "УВАГА: ключ %s могло бути відкликано: отримуємо ключ відкликання %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "УВАГА: ключ %s могло бути відкликано: ключа відкликання %s немає.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "ключ %s: додано сертифікат відкликання «%s»\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "ключ %s: додано безпосередній підпис ключа\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 "ЗАУВАЖЕННЯ: серійний номер ключа не збігається з серійним номером ключа на "
 "картці\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "ЗАУВАЖЕННЯ: основний ключ використано і збережено на картці\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "ЗАУВАЖЕННЯ: вторинний ключ використано і збережено на картці\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "помилка під час спроби створення сховища ключів «%s»: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "створено сховище ключів «%s»\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "ресурс блоку ключів «%s»: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "не вдалося перебудувати кеш сховища ключів: %s\n"
@@ -3353,12 +3383,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "Ідентифікатор користувача «%s» відкликано."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Ви певні, що все ще бажаєте підписати його? (y/N або т/Н) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  Неможливо підписати.\n"
 
@@ -3543,8 +3573,8 @@ msgstr "Цей ключ ретельно перевірено мною.\n"
 msgid "Really sign? (y/N) "
 msgstr "Підписати? (y/N або т/Н) "
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "помилка під час спроби підписування: %s\n"
@@ -3555,19 +3585,19 @@ msgstr ""
 "До ключа включено лише типовий заповнювач або записи ключа з картки — ніяких "
 "паролів не потрібно змінювати.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "Цей ключ не захищено.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Закриті частини основного ключа недоступні.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Закриті частини основного ключа зберігаються на картці.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "Ключ захищено.\n"
 
@@ -3584,7 +3614,7 @@ msgstr ""
 "Вкажіть новий пароль для цього закритого ключа.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "помилка під час повторного введення пароля, повторіть спробу"
 
@@ -3766,24 +3796,24 @@ msgstr ""
 "ущільнити непридатні до використання ідентифікатори користувачів і вилучити "
 "всі підписи з ключа"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "помилка під час читання блоку ключів «%s»: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "Доступний закритий ключ.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "Для цього потрібен закритий ключ.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Скористайтеся спочатку командою «toggle».\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3794,227 +3824,227 @@ msgstr ""
 "  «t» для надійних підписів (tsign), «nr» для підписів без відкликання\n"
 "  (nrsign) або будь-яку комбінацію (ltsign, tnrsign тощо).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "Ключ відкликано."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Підписати всі ідентифікатори користувача? (y/N або т/Н) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Підказка: виберіть ідентифікатори користувача для підписування\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Невідомий тип підпису «%s»\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Цією командою не можна користуватися у режимі %s.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "Вам слід вибрати принаймні один ідентифікатор користувача.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "Не можна вилучати останній ідентифікатор користувача!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Вилучити всі вибрані ідентифікатори користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "Вилучити цей ідентифікатор користувача? (y/N або т/Н) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "Вилучити основний ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "Вам слід вибрати лише один ключ.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "Для команди слід вказати аргумент з назвою файла\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "Не вдалося відкрити «%s»: %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "Помилка читання резервного ключа з «%s»: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "Вам слід вибрати принаймні один ключ.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Справді бажаєте вилучити вибрані ключі? (y/N або т/Н) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Справді бажаєте вилучити цей ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Відкликати всі вибрані ідентифікатори користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Відкликати цей ідентифікатор користувача? (y/N або т/Н) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Ви справді бажаєте відкликати весь ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Ви справді бажаєте відкликати позначені підключі? (y/N або т/Н) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Ви справді бажаєте відкликати цей підключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Не можна встановлювати довіру до власника, якщо використовується вказана "
 "користувачем база даних довіри\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "Встановити список переваг:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Оновити переваги для вибраних ідентифікаторів користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "Оновити параметри? (y/N або т/Н) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "Зберегти зміни? (y/N або т/Н) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "Вийти без збереження? (y/N або т/Н) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "помилка оновлення: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "спроба оновлення пароля зазнала невдачі: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "Ключ не змінено, отже оновлення непотрібне.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "Контрольна сума: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "Можливості: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "Сервер ключів без можливості зміни"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "Основний сервер ключів: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "Примітки: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 "Переваг для ідентифікаторів користувачів у форматі PGP 2.x не передбачено.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Вказаний нижче ключ було відкликано %s %s ключем %s\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Цей ключ може бути відкликано %s ключем %s"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(важливий)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "створено: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "відкликано: %s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "не діє з: %s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "діє до: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "використання: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "надійність: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "чинність: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "Цей ключ було вимкнено"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "номер картки: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4022,17 +4052,17 @@ msgstr ""
 "Зауважте, що показані дані щодо чинності ключів не обов’язково є коректними\n"
 "до перезапуску програми.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "відкликано"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "збіг строк дії"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -4042,7 +4072,7 @@ msgstr ""
 "              цієї команди можна зробити основним інший ідентифікатор "
 "користувача.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4052,74 +4082,74 @@ msgstr ""
 "до відмови\n"
 "         у використанні цього ключа деякими версіями PGP.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Ви справді бажаєте додати його? (y/N або т/Н) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Не можна додавати фотоідентифікатор до ключа у форматі PGP2.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Вилучити цей дійсний підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Вилучити цей некоректний підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Вилучити цей невідомий підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Вилучити цей самопідпис? (y/N або т/Н)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "Вилучено %d підпис.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "Вилучено %d підписів.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "Нічого не вилучено.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "некоректний"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Ідентифікатор користувача «%s» ущільнено: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "Ідентифікатор користувача «%s»: вилучено %d підпис\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "Ідентифікатор користувача «%s»: вилучено %d підписів\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Ідентифікатор користувача «%s»: вже мінімізовано\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Ідентифікатор користувача «%s»: вже очищено\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4129,268 +4159,268 @@ msgstr ""
 "призвести до відмови\n"
 "         у використанні цього ключа деякими версіями PGP.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Не можна додавати підписане відкликання до ключа у форматі PGP 2.x.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Вкажіть ідентифікатор користувача підписаного відкликання: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "не можна призначати ключ у форматі PGP 2.x підписаним відкликанням\n"
 
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "не можна призначати ключ власним підписаним відкликанням\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "цей ключ вже було позначено як призначений для відкликання\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "УВАГА: призначення ключа як підписаного відкликання не можна скасовувати!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Ви справді бажаєте призначити цей ключ як підписане відкликання? (y/N або т/"
 "Н) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Будь ласка, вилучіть вказане з закритих ключів.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "Будь ласка, виберіть не більше одного ключа.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Зміна часу завершення строку дії для підключа.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Зміна часу завершення строку дії для основного ключа.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Не можна змінювати дату завершення строку дії ключа v3\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "Немає відповідного підпису у сховищі закритих ключів\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "підписування підключа %s вже перехресно сертифіковано\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "підключ %s не призначено для підписування, отже його не потрібно перехресно "
 "сертифікувати\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "Будь ласка, виберіть лише один ідентифікатор користувача.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "пропускаємо самопідпис v3 для ідентифікатора користувача «%s»\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "Вкажіть адресу вашого основного сервера ключів: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Ви справді бажаєте замінити його? (y/N або т/Н) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Ви справді бажаєте вилучити його? (y/N або т/Н) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "Вкажіть примітку: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "Продовжувати? (y/N або т/Н) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ідентифікатора користувача з індексом %d не існує\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ідентифікатора користувача з хешем %s не існує\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Підключа з індексом %d не існує\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Ідентифікатор користувача: «%s»\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "підписано вашим ключем %s %s%s%s\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (неекспортовний)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Строк дії цього підпису завершується %s.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Ви справді бажаєте відкликати його? (y/N або т/Н) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Створити сертифікат відкликання для цього підпису? (y/N або т/Н) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "Не підписано вами.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Вами підписано ці ідентифікатори користувачів у ключі %s:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (невідкликуваний)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "відкликано вашим ключем %s у %s\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "Ви маєте намір відкликати ці підписи:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Справді створити сертифікати відкликання? (y/N або т/Н) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "немає закритого ключа\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ідентифікатор користувача «%s» вже відкликано\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "УВАГА: підпис ідентифікатора користувача позначено датою на %d секунд у "
 "майбутньому\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Ключ %s вже відкликано.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Підключ %s вже відкликано.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Показ фотоідентифікатора %s розміру %ld для ключа %s (uid %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "запис переваги «%s» продубльовано\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "занадто багато записів переваг шифрів\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "занадто багато записів переваг контрольних сум\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "занадто багато записів переваг стискання\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "некоректний запис «%s» у рядку переваг\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "записування безпосереднього підпису\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "записування самопідпису\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "записування підпису прив’язування ключа\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "некоректний розмір ключа; використовуємо %u-бітовий\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "розмір ключа округлено до %u-бітового\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 "УВАГА: деякі з програм OpenPGP не можуть працювати з ключем DSA з таким "
 "розміром контрольної суми\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "Підписати"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "Сертифікувати"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "Зашифрувати"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "Пройти розпізнавання"
 
@@ -4404,105 +4434,105 @@ msgstr "Пройти розпізнавання"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "Можливі дії з ключем %s: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "Поточні дозволені дії: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) увімкнути або вимкнути можливість підписування\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) увімкнути або вимкнути можливість шифрування\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr ""
 "   (%c) увімкнути або вимкнути можливість використання для розпізнавання\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) вийти\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Вкажіть потрібний вам тип ключа:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA і RSA (типовий)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA і Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (лише підписування)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (лише підписування)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (лише шифрування)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (лише шифрування)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (із визначенням можливостей власноруч)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (із визначенням можливостей власноруч)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "ключі %s можуть мати довжину від %u до %u бітів.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "Якою має бути довжина підключа? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Якою має бути довжина ключа? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "Запитана довжина ключа — %u бітів\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4518,7 +4548,7 @@ msgstr ""
 "      <n>m = строк чинності у n місяців\n"
 "      <n>y = строк чинності у n років\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4534,38 +4564,38 @@ msgstr ""
 "      <n>m = строк чинності підпису у n місяців\n"
 "      <n>y = строк чинності підпису у n років\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "Яким є строк чинності ключа? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "Яким є строк чинності підпису? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "некоректне значення\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "Ключ не має обмеження строку дії\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "Підпис не має обмеження строку дії\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Ключ діє до %s\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "Підпис діє до %s\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4573,11 +4603,11 @@ msgstr ""
 "У вашій системі неможливий показ дат після 2038 року.\n"
 "Але програма коректно оброблятиме ці дати до 2106 року.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "Все правильно? (y/N або т/Н) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4592,7 +4622,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4609,44 +4639,44 @@ msgstr ""
 "    \"Ivan Ivanenko (farmer) <iivanenko@moyahata.ua>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "Справжнє ім’я: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "Некоректний символ у імені\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "Ім’я не може починатися з цифри\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "Ім’я має бути не коротшим за 5 літер\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "Адреса ел. пошти: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "Некоректна адреса електронної пошти\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "Коментар: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "Некоректний символ у коментарі\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Вами використано таблицю символів «%s».\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4657,13 +4687,13 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr ""
 "Будь ласка, не використовуйте адресу електронної пошти у полях справжнього "
 "імені або коментаря\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "У цьому ключі вже існує такий ідентифікатор користувача!\n"
 
@@ -4678,24 +4708,24 @@ msgstr "У цьому ключі вже існує такий ідентифік
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "Змінити назву (N), коментар (C), ел. пошту (E) або вийти (Q)? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr ""
 "Змінити назву (N), коментар (C), ел. пошту (E) або гаразд (O) чи вийти (Q)? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "Спочатку виправте помилку\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4703,7 +4733,7 @@ msgstr ""
 "Вам потрібен пароль для захисту вашого закритого ключа.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
@@ -4711,12 +4741,12 @@ msgstr ""
 "Будь ласка, вкажіть пароль для захисту позакарткової резервної копії нового "
 "ключа шифрування."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4728,7 +4758,7 @@ msgstr ""
 "за допомогою цієї програми з параметром «--edit-key».\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4740,50 +4770,50 @@ msgstr ""
 "під час створення простого числа. Це надасть змогу генератору\n"
 "псевдовипадкових чисел створити краще випадкове число.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "Створення ключа скасовано.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "записуємо відкритий ключ до «%s»\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "спроба запису заглушки закритого ключа до «%s»\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "спроба запису закритого ключа до «%s»\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "не знайдено придатного до запису сховища відкритих ключів: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "не виявлено придатного до запису сховища закритих ключів: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "помилка під час спроби запису до сховища відкритих ключів «%s»: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "помилка під час спроби запису до сховища закритих ключів «%s»: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "відкритий і закритий ключі створено і підписано.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4791,12 +4821,12 @@ msgstr ""
 "Зауважте, що цей ключ не може бути використано для шифрування. Ви можете\n"
 "скористатися командою «--edit-key» для створення підключа з цією метою.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Помилка під час спроби створення ключа: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4804,7 +4834,7 @@ msgstr ""
 "ключ було створено з позначкою на %lu секунд у майбутньому (часова петля або "
 "проблема з годинником)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4812,25 +4842,25 @@ msgstr ""
 "ключ було створено з позначкою на %lu секунду у майбутньому (часова петля "
 "або проблема з годинником)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "ЗАУВАЖЕННЯ: створення підключів для ключів v3 несумісне з OpenPGP\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "Створити? (y/N або т/Н) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "спроба зберігання ключа на картці зазнала невдачі: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "не вдалося створити файл резервної копії «%s»: %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "ЗАУВАЖЕННЯ: резервну копію ключа на картці збережено до «%s»\n"
@@ -4863,29 +4893,29 @@ msgstr "Примітка підпису: "
 msgid "Keyring"
 msgstr "Сховище ключів"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "Основний відбиток ключа:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "     Відбиток підключа:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " Відбиток основного ключа:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "      Відбиток підключа:"
 
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      Відбиток ключа ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      Серійний номер картки ="
 
@@ -4969,463 +4999,463 @@ msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr ""
 "УВАГА: параметр сервера ключів «%s» не використовується на цій платформі\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "вимкнено"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Вкажіть номер, далі (N) чи вийти (Q) > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "некоректний протокол сервера ключів (наш %d!=%d обробника)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ключ «%s» не знайдено на сервері ключів\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "ключ не знайдено на сервері ключів\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "надсилаємо запит щодо ключа %s до %s сервера %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "надсилаємо запит щодо ключа %s з %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "шукаємо назви з %s сервера %s\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "шукаємо назви на %s\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "надсилаємо ключ %s до %s сервера %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "надсилаємо ключ %s на %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "шукаємо «%s» на %s сервера %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "шукаємо «%s» з %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "немає дії щодо сервера ключів!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 "УВАГА: засіб обробки даних сервера ключів взято з іншої версії GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "сервер ключів не надіслав значення VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr ""
 "не вказано жодного сервера ключів (скористайтеся параметром --keyserver)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "викликів зовнішнього сервера ключів у цій збірці не передбачено\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "немає обробника схеми сервера ключів «%s»\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "дії «%s» не передбачено для схеми сервера ключів «%s»\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "у %s не передбачено підтримки обробника версії %d\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "перевищення часу очікування даних від сервера ключів\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "внутрішня помилка сервера ключів\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "помилка під час обміну даними з сервером ключів: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "«%s» не є ідентифікатором ключа: пропускаємо\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "УВАГА: не вдалося оновити ключ %s за допомогою %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "оновлюємо 1 ключ з %s\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "оновлюємо %d ключів з %s\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "УВАГА: не вдалося отримати адресу %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "УВАГА: не вдалося обробити адресу %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "дивний розмір для зашифрованого ключа сеансу (%d)\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "зашифрований %s ключ сеансу\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr ""
-"пароль створено за допомогою невідомого алгоритму створення контрольних сум %"
-"d\n"
+"пароль створено за допомогою невідомого алгоритму створення контрольних сум "
+"%d\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "відкритий ключ — %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "зашифровані відкритим ключем дані: належний DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
-"зашифровано за допомогою %u-бітового %s ключа, ідентифікатор %s, створено %"
-"s\n"
+"зашифровано за допомогою %u-бітового %s ключа, ідентифікатор %s, створено "
+"%s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      «%s»\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "зашифровано ключем %s, ідентифікатор %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "невдала спроба розшифровування відкритим ключем: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "зашифровано за допомогою %lu паролів\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "зашифровано за допомогою 1 пароля\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "припускаємо, що дані зашифровано %s\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Шифр IDEA недоступний, спробуємо скористатися замість нього %s\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "розшифровано\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "УВАГА: цілісність повідомлення не захищено\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "УВАГА: зашифроване повідомлення було змінено!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "текстовий пароль кешовано з ідентифікатором: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "невдала спроба розшифрування: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "ЗАУВАЖЕННЯ: вимога відправника: «лише для Вас»\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "початкова назва файла=«%.*s»\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "УВАГА: виявлено декілька фрагментів нешифрованого тексту\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "окреме відкликання — скористайтеся командою «gpg --import» для застосування\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "підпису не знайдено\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "перевірку підписів придушено\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "не вдалося обробити ці дані з неоднозначним підписом\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Підпис створено %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               за допомогою %s ключа %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Підпис створено %s ключем %s з ідентифікатором %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "Ключ доступний на: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ПОМИЛКОВИЙ підпис від «%s»"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Прострочений підпис від «%s»"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Належний підпис від «%s»"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[непевний]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                або «%s»"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Строк дії підпису вичерпано %s\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Підпис діє до %s\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s підпис, алгоритм контрольної суми %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "двійковий"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "текстовий"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "невідомо"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Не вдалося перевірити підпис: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "не є від’єднаним підписом\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "УВАГА: виявлено кратні підписи. Буде перевірено лише перший.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "окремий підпис класу 0x%02x\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "підпис у застарілому форматі (PGP 2.x)\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "виявлено некоректний кореневий пакет у proc_tree()\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "помилка fstat щодо «%s» у %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "помилка fstat(%d) у %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr ""
-"УВАГА: використовуємо експериментальний алгоритм створення відкритого ключа %"
-"s\n"
+"УВАГА: використовуємо експериментальний алгоритм створення відкритого ключа "
+"%s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr ""
 "УВАГА: ключі підписування і шифрування Elgamal вважаються застарілими\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "УВАГА: використовуємо експериментальний алгоритм шифрування %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr ""
-"УВАГА: використовуємо експериментальний алгоритм обчислення контрольних сум %"
-"s\n"
+"УВАГА: використовуємо експериментальний алгоритм обчислення контрольних сум "
+"%s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "УВАГА: алгоритм обчислення контрольних сум %s вважається застарілим\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "не виявлено додатка шифрування IDEA\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "будь ласка, ознайомтеся з %s, щоб дізнатися більше\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: застарілий параметр «%s»\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "УВАГА: «%s» вважається застарілим параметром\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "будь ласка, скористайтеся «%s%s»\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "УВАГА: «%s» вважається застарілою командою — не користуйтеся нею\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: застарілий параметр «%s» — він не працюватиме\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "УВАГА: «%s» є застарілим параметром — він не працюватиме\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "Нестиснений"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "uncompressed|немає"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "використання цього повідомлення щодо %s може бути неможливим\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "неоднозначний параметр «%s»\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "невідомий параметр «%s»\n"
@@ -5467,18 +5497,18 @@ msgstr "створено новий файл налаштувань «%s»\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "УВАГА: параметри у «%s» ще не є активними під час цього запуску\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "робота з алгоритмом створення відкритого ключа %d неможлива\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr ""
 "УВАГА: потенційно небезпечний зашифрований симетричним алгоритмом ключ "
 "сеансу\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "підпакет типу %d містить критичний набір бітів\n"
@@ -5534,7 +5564,7 @@ msgstr "%u-бітовий ключ %s, ідентифікатор %s, створ
 msgid "         (subkey on main key ID %s)"
 msgstr "         (підключ у ідентифікаторі основного ключа %s)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5549,34 +5579,34 @@ msgstr ""
 "дуже велике зображення, ваш ключ також стане дуже великим!\n"
 "Варто дотримуватися розмірів, близьких до 240x288.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "Вкажіть назву файла JPEG для фотоідентифікатора: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "не вдалося відкрити файл JPEG «%s»: %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "Цей файл JPEG є дуже великим (%d байтів)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "Вам справді хочеться ним скористатися? (y/N або т/Н) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "«%s» не є файлом JPEG\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Це потрібна вам фотографія (y/N/q)? "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "показ фотоідентифікатора неможливий!\n"
 
@@ -5608,6 +5638,16 @@ msgstr "причина відкликання: "
 msgid "revocation comment: "
 msgstr "коментар щодо відкликання: "
 
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5790,26 +5830,26 @@ msgstr "УВАГА: цей ключ не сертифіковано достат
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         Певності у належності підпису його власнику немає.\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: пропущено: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: пропущено: відкритий ключ вже існує\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr ""
 "Вами не вказано ідентифікатора користувача. (можете скористатися «-r»)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "Поточні отримувачі:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5817,42 +5857,42 @@ msgstr ""
 "\n"
 "Вкажіть ідентифікатор користувача. Дані слід завершити порожнім рядком: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "Немає такого ідентифікатора користувача.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "пропущено: відкритий ключ вже встановлено для типового отримувача\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "Відкритий ключ вимкнено.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "пропущено: відкритий ключ вже встановлено\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "невідомий типовий отримувач «%s»\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: пропущено: відкритий ключ вимкнено\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "немає коректних адрес\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "Зауваження: у ключі %s не передбачено можливості %s\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "Зауваження: у ключі %s не передбачено переваг для %s\n"
@@ -6147,18 +6187,24 @@ msgstr "ЗАУВАЖЕННЯ: строк дії ключа підпису %s з
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "ЗАУВАЖЕННЯ: ключ підпису %s було відкликано\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s підпис, алгоритм контрольної суми %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr ""
 "припускаємо помилковий підпису від ключа %s через невідомий критичний біт\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "ключ %s: немає підключа для підпису відкликання підключа\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "ключ %s: немає підключа для підпису прив’язування підключа\n"
@@ -6252,7 +6298,7 @@ msgstr ""
 "це ключ Elgamal створений за допомогою PGP, цей ключ недостатньо безпечний "
 "для підписування!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "запис щодо довіри %lu, тип %d: помилка записування: %s\n"
@@ -6297,17 +6343,17 @@ msgstr "не вдалося знайти запис довіри у «%s»: %s\n
 msgid "read error in `%s': %s\n"
 msgstr "помилка читання у «%s»: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: помилка синхронізації: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "запис trustdb %lu: помилка lseek: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "запис trustdb %lu: помилка запису (n=%d): %s\n"
@@ -6316,117 +6362,117 @@ msgstr "запис trustdb %lu: помилка запису (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "занадто велика операція trustdb\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "немає доступу до «%s»: %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: каталогу не існує!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "не вдалося створити блокування для «%s»\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "не вдалося заблокувати «%s»\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: не вдалося створити запис щодо версії: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: створено некоректну trustdb\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: створено trustdb\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "ЗАУВАЖЕННЯ: запис до trustdb заборонено\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: некоректна trustdb\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: не вдалося створити таблицю хешів: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: помилка оновлення запису версії: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: помилка читання запису версії: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: помилка записування запису версії: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: помилка lseek: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: помилка читання (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: не є файлом trustdb\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: запис версії з номером запису %lu\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: некоректна версія файла %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: помилка під час спроби читання вільного запису: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: помилка записування запису каталогу (dir): %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: не вдалося обнулити запис: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: не вдалося додати запис: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "Помилка: trustdb пошкоджено.\n"
 
@@ -6441,174 +6487,182 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr "рядок вхідних даних довший за %d символів\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "«%s» не є коректним довгим ідентифікатором ключа\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "ключ %s: прийнято як надійний ключ\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "ключ %s зустрічається у trustdb декілька разів\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "ключ %s: немає відкритого ключа для надійного ключа — пропущено\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "ключ %s позначено як ключ з необмеженою довірою\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "запис довіри %lu, тип запиту %d: помилка читання: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "запис довіри %lu не належить до вказаного типу %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "Ви можете спробувати повторно створити trustdb за допомогою команд:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 "Якщо результат буде незадовільним, будь ласка, зверніться до підручника\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "використання невідомої моделі довіри (%d) неможливе — припускаємо модель "
 "довіри %s\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "використовуємо модель довіри %s\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 translator see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[відклик.]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[застаріл]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[невідома]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[не визн.]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[неповна ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ повна  ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[безмежна]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "не визначено"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "ніколи"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "неповна"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "повна"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "безмежна"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "потреби у перевірці trustdb немає\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "наступну перевірку trustdb призначено на %s\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "потреби у перевірці trustdb на основі моделі довіри «%s» немає\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "потреби у оновленні trustdb на основі моделі довіри «%s» немає\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "відкритий ключ %s не знайдено: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "будь ласка, скористайтеся параметром --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "перевірка trustdb\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "Оброблено %d ключів (очищено %d значень чинності)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "не знайдено ключів з необмеженою довірою\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "не знайдено відкритий ключ ключа з необмеженою довірою %s\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "потрібно %d обмежених, потрібно %d повних, модель довіри %s\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
-"глибина: %d  чинність: %3d  підписано: %3d  надійність: %d-, %dq, %dn, %dm, %"
-"df, %du\n"
+"глибина: %d  чинність: %3d  підписано: %3d  надійність: %d-, %dq, %dn, %dm, "
+"%df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "не вдалося оновити запис версії trustdb: помилка запису: %s\n"
@@ -6633,68 +6687,68 @@ msgstr "у рядку вхідних даних %u занадто багато 
 msgid "can't open fd %d: %s\n"
 msgstr "не вдалося відкрити fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "неочікуваний аргумент"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "помилка читання"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "занадто довге ключове слово"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "не вистачає аргументу"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "некоректна команда"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "некоректне визначення замінника"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "вихід за межі області пам’яті"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "некоректний параметр"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "не вказано аргументу до параметра «%.50s»\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "для параметра «%.50s» аргументи не потрібно вказувати\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "некоректна команда «%.50s»\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "параметр «%.50s» є неоднозначним\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "команда «%.50s» є неоднозначною\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "вихід за межі області пам’яті\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "некоректний параметр «%.50s»\n"
@@ -6704,22 +6758,17 @@ msgstr "некоректний параметр «%.50s»\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "ви виявили ваду… (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "помилка під час спроби завантаження «%s»: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "перетворення з «%s» у «%s» недоступне\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "помилка iconv_open: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "помилка перетворення з «%s» у «%s»: %s\n"
@@ -6777,28 +6826,28 @@ msgstr "Використання: kbxutil [параметри] [файли] (-h
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "Синтаксис: kbxutil [параметри] [файли]\n"
-"перегляд, експортування, імпортування даних Keybox\n"
+"Ð\9fерегляд, експортування, імпортування даних Keybox\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 "Не знайдено основи числення RSA або основа числення не належить до %d-"
 "бітових\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 "Не вистачає відкритого показника RSA або розмірність показника перевищує %d "
 "бітів\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Зворотний виклик пінкоду повернув повідомлення про помилку: %s\n"
@@ -6855,79 +6904,79 @@ msgstr ""
 "|P|Будь ласка, вкажіть код розблокування пінкоду (PUK) для створення якісних "
 "підписів."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "помилка під час отримання нового пінкоду: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "не вдалося зберегти відбиток: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "не вдалося зберегти дату створення: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "помилка читання відкритого ключа: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "відповідь не містить даних відкритого ключа\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "відповідь не містить основи числення RSA\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "відповідь не містить відкритого показника RSA\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "використовуємо типовий пінкод як %s\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "не вдалося використати типовий пінкод як %s: %s — вимикаємо подальше типове "
 "використання\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||Будь ласка, вкажіть пінкод%%0A[підписів: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||Вкажіть пінкод"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "Пінкод для CHV%d занадто короткий; мінімальна довжина — %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "помилка перевірки CHV%d: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "помилка отримання стану CHV з картки\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "картку заблоковано!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr ""
@@ -6936,123 +6985,134 @@ msgstr ""
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr ""
 "|A|Будь ласка, вкажіть адміністративний пінкод%%0A[залишилося спроб: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|Вкажіть адміністративний пінкод"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "доступ до адміністративних команд не налаштовано\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Вкажіть код скидання коду картки"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Занадто короткий код скидання; мінімальна довжина — %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|Новий код скидання"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Новий адміністративний пінкод"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|Новий пінкод"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "|A|Вкажіть новий адміністративний пінкод"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||Вкажіть новий пінкод"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "помилка читання даних програми\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "помилка читання відбитка DO\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "ключ вже існує\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "вже створений ключ буде замінено\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "створення нового ключа\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "записування нового ключа\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "не вказано часової позначки створення\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 "Не знайдено простого числа RSA %s або число не належить до %d-бітових\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "не вдалося зберегти ключ: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "зачекайте на завершення створення ключа...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "помилка під час створення ключа\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "створення ключа завершено (за %d секунд)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "некоректна структура картки OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "відбиток на картці не відповідає запитаному\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "карткою не підтримується алгоритм контрольних сум %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "вже створено підписів: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "перевірку адміністративного пінкоду заборонено цією командою\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "не вдалося отримати доступ до %s — некоректна картка OpenPGP?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Вкажіть ваш пінкод за допомогою клавіатурної панелі зчитувача"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -7062,51 +7122,55 @@ msgstr "||Вкажіть ваш пінкод за допомогою клаві
 msgid "|N|Initial New PIN"
 msgstr "|N|Початковий новий пінкод"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "запустити у режимі декількох серверів (основному режимі)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|встановити вказаний рівень діагностики"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|FILE|записувати журнал до файла"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|з’єднатися зі зчитувачем на вказаному порту"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|NAME|використовувати вказаний драйвер ct-API"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|використовувати вказаний драйвер PC/SC"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "не використовувати вбудованого драйвера CCID"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|від’єднати бездіяльну вказану кількість секунд картку"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr "не використовувати додаткову клавіатуру зчитувача"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "заборонити використання команд з адміністрування картки"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "використовувати для клавіатурної панелі змінну довжину введених даних"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "Використання: scdaemon [параметри] (-h — довідка)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -7114,18 +7178,18 @@ msgstr ""
 "Синтаксис: scdaemon [параметри] [команди [аргументи]]\n"
 "Фонова служба карток пам’яті для GnuPG\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 "будь ласка, скористайтеся параметром «--daemon» для запуску програми у "
 "фоновому режимі\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "запущено запуск обробки для дескриптора %d\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "роботу обробника для дескриптора %d перервано\n"
@@ -7165,11 +7229,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr "модель перевірки, запитана сертифікатом: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "ланцюжок"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "оболонка"
 
@@ -7199,195 +7263,196 @@ msgstr "зауваження: заборонено некритичні прав
 msgid "certificate policy not allowed"
 msgstr "заборонено правила сертифікації"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "пошук видавця за зовнішньою адресою\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "кількість відповідних видавців: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "пошук видавця у кеші dirmngr\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "кількість відповідних сертифікатів: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "помилка пошуку ключів лише з dirmngr: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
-msgstr "не вдалося розмістити обробник keyDB\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
+msgstr "не вдалося розмістити дескриптор keyDB\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "сертифікат відкликано"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "стан сертифікату є невідомим"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "будь ласка, переконайтеся, що «dirmngr» встановлено належним чином\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "помилка під час перевірки CRL: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "сертифікат з некоректною чинністю: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "сертифікат ще не набув чинності"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "кореневий сертифікат ще не набув чинності"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "проміжний сертифікат ще не набув чинності"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "строк дії сертифіката завершився"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "строк дії кореневого сертифіката завершився"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "строк дії проміжного сертифіката завершився"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "не вистачає обов’язкових атрибутів сертифіката: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "сертифікат з некоректною чинністю"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "підпис не було створено під час строку дії сертифіката"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "сертифікат не було створено під час строку чинності видавця"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "проміжний сертифікат не було створено під час строку чинності видавця"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (       підпис створено "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (   сертифікат створено "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (   сертифікат чинний з "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (     видавець чинний з "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "відбиток=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "кореневий сертифікат було позначено як надійний\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "не увімкнено інтерактивне позначення надійності у gpg-agent\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "інтерактивне позначення надійності вимкнено для цього сеансу\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "УВАГА: невідомий час створення підпису — припускаємо поточний час"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "у сертифікаті не було знайдено даних щодо видавця"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "самопідписаний сертифікат має ПОМИЛКОВИЙ підпис"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "кореневий сертифікат не позначено як надійний"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "помилка перевірки списку довіри: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "занадто довгий ланцюжок сертифікації\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "не знайдено видавця сертифіката"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "сертифікат має ПОМИЛКОВИЙ підпис"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 "виявлено інший можливий відповідний сертифікат служби сертифікації (CA) — "
 "повторюємо спробу"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "ланцюжок сертифікації є довшим за дозволений CA (%d)"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "сертифікат є належним\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "належний проміжний сертифікат\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "належний кореневий сертифікат\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "перемикаємося на ланцюгову модель"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "використана модель перевірки: %s"
@@ -7451,19 +7516,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "помилка під час спроби отримання даних щодо використання ключа: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "сертифікат не мав використовуватися для сертифікації\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "сертифікат не мав використовуватися для підписування відповідей OCSP\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "сертифікат не мав використовуватися для шифрування\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "сертифікат не мав використовуватися для підписування\n"
 
 #: sm/certlist.c:167
@@ -7669,7 +7734,7 @@ msgstr "(здається, це не зашифроване повідомлен
 msgid "certificate `%s' not found: %s\n"
 msgstr "сертифіката «%s» не знайдено: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "помилка під час блокування сховища ключів: %s\n"
@@ -7798,7 +7863,7 @@ msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 "|USER-ID|використовувати ідентифікатор користувача як типовий закритий ключ"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "використовувати цей сервер ключів для пошуку"
 
@@ -7819,8 +7884,8 @@ msgstr "Використання: gpgsm [параметри] [файли] (-h 
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "Синтаксис: gpgsm [параметри] [файли]\n"
 "Підписування, перевірка підписів, шифрування або розшифрування за допомогою "
@@ -7856,25 +7921,25 @@ msgstr "%s:%u: вказано пароль, але не вказано кори
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: пропускаємо цей рядок\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "не вдалося обробити сервер ключів\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "УВАГА: запущено з фіктивним системним часом: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "імпортуємо загальні сертифікати «%s»\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "підписування за допомогою «%s» неможливе: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "некоректна команда (немає неявної команди)\n"
 
@@ -7891,11 +7956,7 @@ msgstr "помилка під час спроби збереження серт
 msgid "basic certificate checks failed - not imported\n"
 msgstr "помилка під час основних перевірок сертифіката — не імпортовано\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "не вдалося розмістити дескриптор keyDB\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "помилка під час спроби отримання збережених прапорців: %s\n"
@@ -7910,45 +7971,41 @@ msgstr "помилка під час спроби імпортування се
 msgid "error reading input: %s\n"
 msgstr "помилка під час спроби читання вхідних даних: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "помилка під час спроби створення сховища ключів «%s»: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "вам варто спочатку запустити gpg-agent\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "створено сховище ключів «%s»\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "не вдалося отримати відбиток\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "проблем з пошуком вже створеного сертифіката: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "помилка під час спроби знайти придатну до запису keyDB: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "помилка під час спроби збереження сертифіката: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "проблема з повторним пошуком сертифіката: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "помилка під час спроби збереження позначок: %s\n"
@@ -8145,145 +8202,145 @@ msgstr "помилка під час спроби надсилання кома
 msgid "error sending standard options: %s\n"
 msgstr "помилка під час спроби надсилання стандартних параметрів: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "Параметри керування діагностичним виводом"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "Параметри керування налаштуваннями"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "Параметри діагностики"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|записувати журнал режиму сервера до файла"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "Параметри керування захистом"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|завершувати строк дії ключів SSH за N секунд"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|встановити максимальний строк дії кешу пінкодів у секундах"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|встановити максимальний строк дії ключа SSH у секундах"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "Параметри примусового використання правил паролів"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "не дозволяти обхід правил паролів"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|встановити вказану мінімальну довжину нових паролів"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|вимагати у нових паролях не менше вказаної кількості нелітер"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|FILE|перевіряти нові паролі за зразком з вказаного файла"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|завершувати строк дії паролів за вказану кількість днів"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "не дозволяти повторне використання старих паролів"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|використовувати вказаний типовий закритий ключ"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|шифрувати також до вказаного ідентифікатора користувача"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|встановити замінники адреси електронної пошти"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "Налаштування для серверів ключів"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|використовувати сервер ключів за адресою"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "дозволити пошук PKA (запити до DNS)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMS|використовувати вказаний механізм для пошуку ключів за адресою"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "заборонити доступ до dirmngr"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "використовувати вказане кодування для паролів PKCS#12"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "не шукати у списках відкликаних сертифікатів кореневі сертифікати"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "Параметри керування форматом виведення"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Параметри керування інтерактивністю та примусом"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "Налаштування для серверів HTTP"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "використовувати загальносистемний проксі-сервер HTTP"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "Налаштування використання серверів LDAP"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "список серверів LDAP"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "Налаштування OCSP"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Помилка зовнішньої перевірки компонента %s"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "Зауважте, що специфікації груп буде проігноровано\n"
 
@@ -8539,3 +8596,12 @@ msgid ""
 msgstr ""
 "Синтаксис: gpg-check-pattern [параметри] файл_шаблонів\n"
 "Перевірити пароль, вказаний у stdin, за допомогою файла_шаблонів\n"
+
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "вам варто спочатку запустити gpg-agent\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "помилка під час спроби завантаження «%s»: %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "не вдалося розмістити обробник keyDB\n"
index 820c095..49eb20f 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index bc5734b..d1d7a67 100644 (file)
@@ -7,10 +7,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.4\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
 "PO-Revision-Date: 2009-07-09 10:03+0200\n"
 "Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -19,7 +20,7 @@ msgstr ""
 "X-Poedit-SourceCharset: iso-8859-1\n"
 "X-Poedit-Basepath: d:\\msys\\source\\gnupg-1.4.3\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, fuzzy, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "无法存储指纹:%s\n"
@@ -29,21 +30,21 @@ msgstr "无法存储指纹:%s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr ""
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr ""
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr ""
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 #, fuzzy
 msgid "Quality:"
 msgstr "有效性:%s"
@@ -54,167 +55,170 @@ msgstr "有效性:%s"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 #, fuzzy
 msgid "PIN too long"
 msgstr "列太长"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "列太长"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "姓名含有无效的字符\n"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 #, fuzzy
 msgid "Bad PIN"
 msgstr "损坏的多精度整数(MPI)"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "错误的密码"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 #, fuzzy
 msgid "Passphrase"
 msgstr "错误的密码"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, fuzzy, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "不支持保护散列 %d\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "无法建立‘%s’:%s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "无法打开‘%s’: %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "获取新 PIN 时出错:%s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, fuzzy, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "取得当前密钥信息时出错:%s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, fuzzy, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "找不到可写的私钥钥匙环:%s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, fuzzy, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "无法读出公钥:%s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, fuzzy, c-format
 msgid "error writing key: %s\n"
 msgstr "写入钥匙环‘%s’时出错: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "更改密码"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, fuzzy, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s:建立散列表失败:%s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 #, fuzzy
 msgid "Please insert the card with serial number"
 msgstr ""
 "请取出当前的卡,并插入有下列序列号的卡:\n"
 "  %.*s\n"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 #, fuzzy
 msgid "Please remove the current card and insert the one with serial number"
 msgstr ""
@@ -238,7 +242,7 @@ msgstr ""
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr ""
 
 #: agent/divert-scd.c:287
@@ -344,7 +348,7 @@ msgstr ""
 
 #: agent/genkey.c:308
 #, fuzzy, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr ""
 "您需要一个密码来保护您的私钥。\n"
 "\n"
@@ -354,7 +358,7 @@ msgstr ""
 msgid "Please enter the new passphrase"
 msgstr "更改密码"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 #, fuzzy
 msgid ""
@@ -365,108 +369,116 @@ msgstr ""
 "选项:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
+msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
-msgid "run in daemon mode (background)"
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "详细模式"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "尽量减少提示信息"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "从‘%s’读取选项\n"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "在公钥服务器上搜寻密钥"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "为所选用户标识的设定注记"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "导入后不更新信任度数据库"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "生成密码的时候发生错误:%s\n"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
-msgstr ""
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "not supported"
+msgid "enable ssh support"
+msgstr "未被支持"
+
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "未被支持"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -474,175 +486,176 @@ msgstr ""
 "请向 <@EMAIL@> 报告程序缺陷。\n"
 "请向 <zuxyhere@eastday.com> 反映简体中文翻译的问题。\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "注意:没有默认配置文件‘%s’\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "配置文件‘%s’:%s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "从‘%s’读取选项\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "建立‘%s’时发生错误:%s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "无法建立目录‘%s’:%s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "无法建立‘%s’:%s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent 在此次舍话中无法使用\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 #, fuzzy
 msgid "error getting nonce for the socket\n"
 msgstr "获取新 PIN 时出错:%s\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "更新失败:%s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "正在将私钥写至`%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "已创建目录‘%s’\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fstat(%d) 在 %s 中出错:%s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "无法建立目录‘%s’:%s\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "读取‘%s’时出错:%s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "更新私钥失败:%s\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s:已跳过:%s\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent 在此次舍话中无法使用\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "GPG_AGENT_INFO 环境变量格式错误\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "不支持 gpg-agent 协议版本 %d\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 #, fuzzy
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -651,7 +664,7 @@ msgstr ""
 "@指令:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -663,51 +676,51 @@ msgstr ""
 "选项:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 #, fuzzy
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 #, fuzzy
 msgid "Passphrase:"
 msgstr "错误的密码"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 #, fuzzy
 msgid "cancelled\n"
 msgstr "已取消"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "生成密码的时候发生错误:%s\n"
@@ -822,8 +835,8 @@ msgstr "更改密码"
 msgid "I'll change it later"
 msgstr ""
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "生成密码的时候发生错误:%s\n"
@@ -863,12 +876,12 @@ msgstr ""
 msgid "error running `%s': terminated\n"
 msgstr "读取‘%s’时出错:%s\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, fuzzy, c-format
 msgid "error creating socket: %s\n"
 msgstr "建立‘%s’时发生错误:%s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 #, fuzzy
 msgid "host not found"
 msgstr "[找不到用户标识]"
@@ -900,17 +913,17 @@ msgstr "用户取消\n"
 msgid "problem with the agent\n"
 msgstr "代理程序有问题――正在停用代理程序\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "无法禁用核心内存转储:%s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "警告:扩展模块‘%s’所有权不安全\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "警告:扩展模块‘%s’权限不安全\n"
@@ -1145,12 +1158,12 @@ msgstr "这把密钥已经过期!"
 msgid "Root certificate trustworthy"
 msgstr "证书已损坏"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 #, fuzzy
 msgid "no CRL found for certificate"
 msgstr "证书已损坏"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 #, fuzzy
 msgid "the available CRL is too old"
 msgstr "可用的密钥在:"
@@ -1231,7 +1244,7 @@ msgstr "与预期不符的 ASCII 封装:"
 msgid "invalid dash escaped line: "
 msgstr "以连字符开头的行格式错误:"
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "跳过无效的 64 进制字符 %02x\n"
@@ -1248,7 +1261,7 @@ msgstr "文件先于预期结束(CRC 部分未结束)\n"
 msgid "malformed CRC\n"
 msgstr "异常的 CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC 错误:%06lx - %06lx\n"
@@ -1261,16 +1274,16 @@ msgstr "文件先于预期结束(于结尾处)\n"
 msgid "error in trailer line\n"
 msgstr "结尾行有问题\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "找不到有效的 OpenPGP 数据。\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "无效的 ASCII 封装:一行超过 %d 字符\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr "封装里出现括上的可打印字符――可能是有缺陷的信件传输程序造成的\n"
@@ -1302,7 +1315,7 @@ msgstr "找不到有效的 OpenPGP 数据。\n"
 msgid "not human readable"
 msgstr ""
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP 卡不可用:%s\n"
@@ -1312,8 +1325,8 @@ msgstr "OpenPGP 卡不可用:%s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "检测到 OpenPGP 卡号 %s\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "在批处理模式中无法完成此操作\n"
 
@@ -1322,212 +1335,212 @@ msgstr "在批处理模式中无法完成此操作\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "在 %s 模式中不允许使用这个指令。\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 #, fuzzy
 msgid "Reset Code not or not anymore available\n"
 msgstr "私钥部分不可用\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "您的选择? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[未设定]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "男性"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "女性"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "未定义"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "可选"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "必须"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "错误:目前只允许使用 ASCII 字符。\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "错误:不能使用字符“<”。\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "错误:不允许出现两个空格。\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "卡持有人的姓:"
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "卡持有人的名:"
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "错误:合成的姓名太长(至多 %d 个字符)。\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "获取公钥的 URL:"
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "错误:URL 太长(至多 %d 个字符)\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "建立钥匙环‘%s’时发生错误:%s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "读取‘%s’时出错:%s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, fuzzy, c-format
 msgid "error writing `%s': %s\n"
 msgstr "写入钥匙环‘%s’时出错: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "登录数据(帐号名):"
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "错误:登录数据太长(至多 %d 个字符)。\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "个人 DO 数据:"
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "错误:个人 DO 太长(至多 %d 个字符)。\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "首选语言:"
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "错误:首选项字符串长度无效。\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "错误:首选项字符串里有无效字符。\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "性别(男性输入 M,女性输入 F,不指定输入空格):"
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "错误:无效的响应。\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "CA 指纹:"
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "错误:指纹格式无效。\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "针对密钥的操作无法实现:%s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "不是一个 OpenPGP 卡"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "取得当前密钥信息时出错:%s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "替换已有的密钥?(y/N)"
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, fuzzy, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "您想要用多大的密钥尺寸?(%u)"
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, fuzzy, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "您想要用多大的密钥尺寸?(%u)"
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, fuzzy, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "您想要用多大的密钥尺寸?(%u)"
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "舍入到 %u 位\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s 密钥尺寸必须在 %u 与 %u 间\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, fuzzy, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "是否为加密密钥创建卡外的备份?(Y/n)"
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 #, fuzzy
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "私钥已存储在卡上\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "替换已有的密钥?(y/N)"
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1538,129 +1551,129 @@ msgstr ""
 "  PIN = ‘%s’    管理员 PIN = ‘%s’\n"
 "您应当使用 --change-pin 命令来更改它们\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "请选择您要使用的密钥种类:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "  (1) 签名密钥\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "  (2) 加密密钥\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "  (3) 认证密钥\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "无效的选择。\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "请选择在哪里存储密钥:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "不支持的密钥保护算法\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "私钥部分不可用\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "私钥已存储在卡上\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, fuzzy, c-format
 msgid "error writing key to card: %s\n"
 msgstr "写入钥匙环‘%s’时出错: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "离开这个菜单"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "显示管理员命令"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "显示这份在线说明"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "列出所有可用数据"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "更改卡持有人的姓名"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "更改获取密钥的 URL"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "根据卡中指定的 URL 获取密钥"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "更改登录名"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "更改首选语言首选"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "更改卡持有人的性别"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "更改一个 CA 指纹"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "设定 PIN 签名是否必须"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "生成新的密钥"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "更改或解锁 PIN 的菜单"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "验证 PIN 并列出所有数据"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "仅供管理员使用的命令\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "允许使用管理员命令\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "不允许使用管理员命令\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "无效的指令(尝试“help”)\n"
 
@@ -1668,18 +1681,18 @@ msgstr "无效的指令(尝试“help”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output 在这个命令中不起作用\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "无法打开‘%s’\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "密钥‘%s’找不到:%s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1775,7 +1788,7 @@ msgstr "警告:强行使用的 %s (%d)压缩算法不在收件者的首选项
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "强行使用的 %s (%d)对称加密算法不在收件者的首选项中\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "您不该将 %s 用于 %s 模式中\n"
@@ -1785,72 +1798,72 @@ msgstr "您不该将 %s 用于 %s 模式中\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s 已经加密给:“%s”\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s 加密过的数据\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "以未知的算法 %d 加密\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "警告:报文被使用对称加密算法的弱密钥加密。\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "处理加密包有问题\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "不支持远程调用\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr "由于配置文件权限不安全,外部程序调用被禁用\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "在这个操作平台上调用外部程序时需要临时文件\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "无法执行程序‘%s’:%s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "无法在命令解释环境中执行‘%s’:%s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "调用外部程序时发生系统错误:%s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "外部程序异常退出\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "无法执行外部程序\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "无法读取外部程序响应:%s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "警告:无法删除临时文件(%s)‘%s’:%s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "警告:无法删除临时目录‘%s’:%s\n"
@@ -1944,199 +1957,199 @@ msgstr "建立‘%s’时发生错误:%s\n"
 msgid "No fingerprint"
 msgstr "CA 指纹:"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "--allow-non-selfsigned-uid 使无效密钥 %s 生效\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "公钥 %s 没有相对应的私钥――忽略\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "使用子钥 %s 而非主钥 %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "密钥 %s:无相应公钥的私钥――已跳过\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 #, fuzzy
 msgid "make a signature"
 msgstr "|[文件名]|生成一份签名"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[文件名]|生成一份明文签名"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "生成一份分离的签名"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "加密数据"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "仅使用对称加密"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "解密数据(默认)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "验证签名"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "列出密钥"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "列出密钥和签名"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "列出并检查密钥签名"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "列出密钥和指纹"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "列出私钥"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "生成一副新的密钥对"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "生成一份吊销证书"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "从公钥钥匙环里删除密钥"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "从私钥钥匙环里删除密钥"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "为某把密钥添加签名"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "为某把密钥添加本地签名"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "编辑某把密钥或为其添加签名"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 #, fuzzy
 msgid "change a passphrase"
 msgstr "更改密码"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "导出密钥"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "把密钥导出到某个公钥服务器上"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "从公钥服务器上导入密钥"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "在公钥服务器上搜寻密钥"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "从公钥服务器更新所有的本地密钥"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "导入/合并密钥"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "打印卡状态"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "更改卡上的数据"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "更改卡的 PIN"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "更新信任度数据库"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 #, fuzzy
 msgid "print message digests"
 msgstr "|算法 [文件]|使用指定的散列算法打印报文散列值"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "输出经 ASCII 封装"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|某甲|为收件者“某甲”加密"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "使用这个用户标识来签名或解密"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|设定压缩等级为 N (0 表示不压缩)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "使用标准的文本模式"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "从‘%s’读取选项\n"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "不做任何改变"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "覆盖前先询问"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "行为严格遵循 OpenPGP 定义"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2144,7 +2157,7 @@ msgstr ""
 "@\n"
 "(请参考在线说明以获得所有命令和选项的完整清单)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2164,21 +2177,26 @@ msgstr ""
 " --list-keys [某甲]           显示密钥\n"
 " --fingerprint [某甲]         显示指纹\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
+#, fuzzy
+#| msgid ""
+#| "Syntax: gpg [options] [files]\n"
+#| "sign, check, encrypt or decrypt\n"
+#| "default operation depends on the input data\n"
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "语法:gpg [选项] [文件名]\n"
 "签名、检查、加密或解密\n"
 "默认的操作依输入数据而定\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2186,545 +2204,545 @@ msgstr ""
 "\n"
 "支持的算法:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "公钥:"
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "对称加密:"
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "散列:"
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "压缩:"
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "用法:gpg [选项] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "冲突的指令\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "在‘%s’组定义里找不到等号(=)\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "警告:用户目录‘%s’所有权不安全\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "警告:配置文件‘%s’所有权不安全\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "警告:扩展模块‘%s’所有权不安全\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "警告:用户目录‘%s’权限不安全\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "警告:配置文件‘%s’权限不安全\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "警告:扩展模块‘%s’权限不安全\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "警告:用户目录‘%s’的关闭目录所有权不安全\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "警告:配置文件‘%s’的关闭目录所有权不安全\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "警告:扩展模块‘%s’的关闭目录所有权不安全\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "警告:用户目录‘%s’的关闭目录权限不安全\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "警告:配置文件‘%s’的关闭目录权限不安全\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "警告:扩展模块‘%s’的关闭目录权限不安全\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "未知的配置项‘%s’\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "列出密钥时显示用户标识"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "列出签名时显示策略 URL"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "列出签名时显示 IETF 标准注记"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "列出签名时显示 IETF 标准注记"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "列出签名时显示用户提供的注记"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "列出密钥时显示首选公钥服务器 URL"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "列出密钥时显示用户标识的有效性"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "列出密钥时显示已吊销或已过期的用户标识"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "列出密钥时显示已吊销或已过期的子钥"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "列出密钥时显示钥匙环的名称"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "列出签名时显示过期日期"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "注意:旧式的默认配置文件‘%s’已被忽略\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "注意:一般情况下不会用到 %s!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "‘%s’不是一个有效的签名过期日期\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "‘%s’不是一个有效的字符集\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "无法解析公钥服务器 URL\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d:无效的公钥服务器选项\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "无效的公钥服务器选项\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d:无效的导入选项\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "无效的导入选项\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d:无效的导出选项\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "无效的导出选项\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d:无效的列表选项\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "无效的列表选项\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "验证签名时显示照片标识"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "验证签名时显示策略 URL"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "验证签名时显示所有注记"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "验证签名时显示 IETF 标准注记"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "验证签名时显示用户提供的注记"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "验证签名时显示首选公钥服务器 URL"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "验证签名时显示用户标识的有效性"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "验证密钥时显示已吊销或已过期的子钥"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "验证密钥时显示已吊销或已过期的子钥"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "使用 PKA 数据验证签名的有效性"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "提升带有有效 PKA 数据的签名的信任度"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d:无效的校验选项\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "无效的校验选项\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "无法把运行路径设成 %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d:无效的 auto-key-locate 清单\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "无效的 auto-key-locate 清单\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "警告:程序可能会创建核心内存转储!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "警告:%s 会使得 %s 失效\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s 不可与 %s 并用\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s 与 %s 并用无意义!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "不会在内存不安全的情况下运行,原因是 %s\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "您只有在 --pgp2 模式下才能做分离式或明文签名\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "您在 --pgp2 模式下时,不能同时签名和加密\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "启用 --pgp2 时您应该只使用文件,而非管道\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "在 --pgp2 模式下加密报文需要 IDEA 算法\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "所选的对称加密算法无效\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "所选的散列算法无效\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "所选的压缩算法无效\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "所选的证书散列算法无效\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "需要的完全可信签名数一定要大于 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "需要的勉强可信签名数一定要大于 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "最大验证深度一定要介于 1 和 255 之间\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "无效的默认验证级别;一定要是 0,1,2 或 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "无效的最小验证级别;一定要是 1,2 或 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "注意:强烈不建议使用简单的 S2K 模式(0)\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "无效的 S2K 模式;必须是 0,1 或 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "无效的默认首选项\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "无效的个人对称加密算法首选项\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "无效的个人散列算法首选项\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "无效的个人压缩算法首选项\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s 尚不能和 %s 并用\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "您不能在 %s 模式下使用‘%s’对称加密算法\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "您不能在 %s 模式下使用‘%s’散列算法\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "您不能在 %s 模式下使用‘%s’压缩算法\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "初始化信任度数据库失败:%s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "警告:给定了收件人(-r)但并未使用公钥加密\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [文件名]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [文件名]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "对称加密‘%s’失败:%s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [文件名]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [文件名]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "使用 --symmetric --encrypt 时不能使用 --s2k-mode 0\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "您不能在 %s 模式下使用 --symmetric -encrypt\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [文件名]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [文件名]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [文件名]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "使用 --symmetric --sign --encrypt 时不能使用 --s2k-mode 0\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "您不能在 %s 模式下使用 --symmetric --sign -encrypt\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [文件名]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [文件名]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [文件名]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key 用户标识"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key 用户标识"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key 用户标识 [指令]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 #, fuzzy
 msgid "--passwd <user-id>"
 msgstr "--sign-key 用户标识"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "上传至公钥服务器失败:%s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "从公钥服务器接收失败:%s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "导出密钥失败:%s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "搜寻公钥服务器失败:%s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "从公钥服务器更新失败:%s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "解开 ASCII 封装失败:%s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "进行 ASCII 封装失败:%s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "无效的‘%s’散列算法\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[文件名]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "请开始键入您的报文……\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "给定的的验证策略 URL 无效\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "给定的签名策略 URL 无效\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "给定的首选公钥服务器 URL 无效\n"
 
@@ -2763,384 +2781,400 @@ msgstr "没有可用的帮助"
 msgid "No help available for `%s'"
 msgstr "‘%s’没有可用的帮助"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "导入被标记为局部的签名"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "导入时修复 PKS 公钥服务器导致的损坏"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "导入后不更新信任度数据库"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "导入私钥时创建对应的公钥"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "只接受对已有密钥的更新"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "导入后清除密钥中无用的部分"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "导入后尽可能清除密钥中的可选部分"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "跳过 %d 样式的区块\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "目前已处理 %lu 把密钥\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "合计被处理的数量:%lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "  已跳过的新密钥:%lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "    遗失用户标识:%lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "          已导入:%lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          未改变:%lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      新用户标识:%lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "        新的子钥:%lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        新的签名:%lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "    新的密钥吊销:%lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      读取的私钥:%lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "      导入的私钥:%lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "    未改变的私钥:%lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "        未被导入:%lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "      清除的签名:%lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "  清除的用户标识:%lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, fuzzy, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr "警告:密钥 %s 下列用户标识的首选项中包含不可用的算法:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “%s”:对称加密算法 %s 对应首选项\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “%s”:散列算法 %s 对应首选项\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “%s”:压缩算法 %s 对应首选项\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "强烈建议您更新您的首选项并重新分发这把密钥,\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "以避免可能的算法不匹配问题\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "您可以这样更新您的首选项:gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "密钥 %s:没有用户标识\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "“%s”已跳过:%s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "密钥 %s:PKS 子钥破损已修复\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "密钥 %s:已接受不含自身签名的用户标识“%s”\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "密钥 %s:没有有效的用户标识\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "这可能由于遗失自身签名所致\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "密钥 %s:找不到公钥:%s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "密钥 %s:新密钥――已跳过\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "找不到可写的钥匙环:%s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "正在写入‘%s’\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "写入钥匙环‘%s’时出错: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "密钥 %s:公钥“%s”已导入\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "密钥 %s:与我们的副本不吻合\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "密钥 %s:无法定位原始的密钥区块:%s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "密钥 %s:无法读取原始的密钥区块: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "密钥 %s:“%s”一个新的用户标识\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "密钥 %s:“%s”%d 个新的用户标识\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "密钥 %s:“%s”1 个新的签名\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "密钥 %s:“%s”%d 个新的签名\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "密钥 %s:“%s”1 个新的子钥\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "密钥 %s:“%s”%d 个新的子钥\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "密钥 %s:“%s”%d 个签名被清除\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "密钥 %s:“%s”%d 个签名被清除\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "密钥 %s:“%s”%d 个用户标识被清除\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "密钥 %s:“%s”%d 个用户标识被清除\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "密钥 %s:“%s”未改变\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "密钥 %s:私钥使用了无效的加密算法 %d――已跳过\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "找不到私钥“%s”:%s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "不允许导入私钥\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "密钥 %s:私钥使用了无效的加密算法 %d――已跳过\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "没有默认的私钥钥匙环: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "密钥 %s:私钥已导入\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "密钥 %s:已在私钥钥匙环中\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "密钥 %s:找不到私钥:%s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "密钥 %s:没有公钥――无法应用吊销证书\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "密钥 %s:无效的吊销证书:%s――已拒绝\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "密钥 %s:“%s”吊销证书已被导入\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "密钥 %s:签名没有用户标识\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "密钥 %s:用户标识“%s”使用了不支持的公钥算法\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "密钥 %s:用户标识“%s”自身签名无效\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "密钥 %s:不支持的公钥算法\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "密钥 %s:已新增直接密钥签名\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "密钥 %s:没有可供绑定的子钥\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "密钥 %s:无效的子钥绑定\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "密钥 %s:已删除多重子钥绑定\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "密钥 %s:没有用于密钥吊销的子钥\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "密钥 %s:无效的子钥吊销\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "密钥 %s:已删除多重子钥吊销\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "密钥 %s:已跳过用户标识“%s”\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "密钥 %s:已跳过子钥\n"
@@ -3149,84 +3183,84 @@ msgstr "密钥 %s:已跳过子钥\n"
 #  * to import non-exportable signature when we have the
 #  * the secret key used to create this signature - it
 #  * seems that this makes sense
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "密钥 %s:不可导出的签名(验证级别 0x%02X)――已跳过\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "密钥 %s:吊销证书位置错误――已跳过\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "密钥 %s:无效的吊销证书:%s――已跳过\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "密钥 %s:子钥签名位置错误――已跳过\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "密钥 %s:与预期不符的签名验证级别(0x%02X)――已跳过\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "密钥 %s:检测到重复的用户标识――已合并\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "警告:密钥 %s 可能已被吊销:正在取回吊销密钥 %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "警告:密钥 %s 可能已被吊销:吊销密钥 %s 不存在。\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "密钥 %s:已新增吊销证书“%s”\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "密钥 %s:已新增直接密钥签名\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "注意:密钥的序列号与卡的不符\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "注意:主钥在线,存储在卡上\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "注意:子钥在线,存储在卡上\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "建立钥匙环‘%s’时发生错误:%s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "钥匙环‘%s’已建立\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "密钥块资源‘%s’:%s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "重新建立钥匙环缓存失败: %s\n"
@@ -3315,12 +3349,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "用户标识“%s”已被吊销。"
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "您仍然想要为它签名吗?(y/N)"
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  无法添加签名。\n"
 
@@ -3498,8 +3532,8 @@ msgstr "我非常小心地检查过这把密钥。\n"
 msgid "Really sign? (y/N) "
 msgstr "真的要签名吗?(y/N)"
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "签名时失败: %s\n"
@@ -3508,19 +3542,19 @@ msgstr "签名时失败: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "只有占位密钥,或者密钥存储在卡上——没有密码可以更改。\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "这把密钥没有被保护。\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "主钥的私钥部分无法取用。\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "主钥的私钥部分存储在卡上。\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "密钥受保护。\n"
 
@@ -3537,7 +3571,7 @@ msgstr ""
 "输入要给这把私钥用的新密码。\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "密码再次输入时与首次输入不符;请再试一次"
 
@@ -3709,24 +3743,24 @@ msgstr "压缩不可用的用户标识并删除不可用的签名"
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "压缩不可用的用户标识并删除所有签名"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "读取私钥区块“%s”时出错:%s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "私钥可用。\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "要有私钥才能这么做。\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "请先使用“toggle”指令。\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3737,247 +3771,247 @@ msgstr ""
 "  信任签名,或‘nr’前缀(nrsign)以添加不可吊销签名,或者以上三种前缀的任何组\n"
 "  合(ltsign、tnrsign 等)。\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "密钥已被吊销。"
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "真的为所有的用户标识签名吗?(y/N)"
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "提示:选择要添加签名的用户标识\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "未知的签名类型‘%s’\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "在 %s 模式中不允许使用这个指令。\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "您至少得选择一个用户标识。\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "您不能删除最后一个用户标识!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "真的要删除所有选定的用户标识吗?(y/N)"
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "真的要删除这个用户标识吗?(y/N)"
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "真的要删除主钥吗?(y/N)"
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "您必须指定一把密钥。\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "命令需要一个文件名作为参数\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "无法打开‘%s’:%s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "从‘%s’读取备份密钥时出错:%s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "您必须选择至少一把密钥。\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "您真的想要删除选定的密钥吗?(y/N)"
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "您真的要删除这把密钥吗?(y/N)"
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "真的要吊销所有选定的用户标识吗?(y/N)"
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "真的要吊销这个用户标识吗?(y/N)"
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "您真的要吊销整把密钥吗?(y/N)"
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "您真的要吊销选定的子钥吗?(y/N)"
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "您真的要吊销这把子钥吗?(y/N)"
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr "使用用户提供的信任度数据库时信任度可能并未被设定\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "设为首选项列表为:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "真的要更新所选用户标识的首选项吗?(y/N)"
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "真的要更新首选项吗?(y/N)"
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "要保存变动吗?(y/N)"
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "要不保存而离开吗?(y/N)"
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "更新失败:%s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "更新私钥失败:%s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "密钥没有变动所以不需要更新。\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "散列:"
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "特点:"
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "公钥服务器不可变造"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "首选公钥服务器:"
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "注记:"
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x 样式的用户标识没有首选项。\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "此密钥已于 %s 被 %s 密钥 %s 所吊销\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "这把密钥可被 %s 密钥 %s 吊销"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr " (敏感的)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "创建于:%s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "已吊销:%s"
 
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "已过期:%s"
 
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "有效至:%s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "可用于:%s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "信任度:%s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "有效性:%s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "这把密钥已经被禁用"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "卡号:"
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr "请注意,在您重启程序之前,显示的密钥有效性未必正确,\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "已吊销"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "已过期"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 "警告:没有首选用户标识。此指令可能假定一个不同的用户标识为首选用户标识。\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3986,74 +4020,74 @@ msgstr ""
 "警告:这是一把 PGP2 样式的密钥。\n"
 "      增加照片标识可能会导致某些版本的 PGP 不能识别这把密钥。\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "您确定仍然想要增加吗?(y/N)"
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "您不可以把照片标识增加到 PGP2 样式的密钥里。\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "删除这个完好的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "删除这个无效的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "删除这个未知的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "真的要删除这个自身签名吗?(y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "已经删除了 %d 个签名。\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "已经删除了 %d 个签名。\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "没有东西被删除。\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "无效"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "用户标识“%s”:无用部分已清除\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "密钥 %s:“%s”%d 个签名被清除\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "密钥 %s:“%s”%d 个签名被清除\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "用户标识“%s”:无用部分已清除\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "用户标识“%s”:无用部分已清除\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4062,265 +4096,265 @@ msgstr ""
 "警告:这是一把 PGP2 样式的密钥。\n"
 "      增加指定吊销者可能会导致某些版本的 PGP 无法识别这把密钥。\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "您不可以为 PGP 2.x 样式的密钥添加指定吊销者。\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "输入指定吊销者的用户标识:"
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "无法将 PGP 2.x 样式的密钥设为指定吊销者\n"
 
 #  This actually causes no harm (after all, a key that
 #  designates itself as a revoker is the same as a
 #  regular key), but it's easy enough to check.
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "您不能将某把密钥设为它自己的指定吊销者\n"
 
 #  This actually causes no harm (after all, a key that
 #  designates itself as a revoker is the same as a
 #  regular key), but it's easy enough to check.
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "这把密钥已被指定为一个吊销者\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "警告:将某把密钥指派为指定吊销者的操作无法撤销!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "您确定要将这把密钥设为指定吊销者吗?(y/N):"
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "请从私钥中删除选择。\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "请至多选择一个子钥。\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "将要变更子钥的使用期限。\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "将要变更主钥的使用期限。\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "您不能变更 v3 密钥的使用期限\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "在私钥环里没有相应的签名\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "签名的子钥 %s 已经交叉验证\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "子钥 %s 不签名,因此不需要交叉验证\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "请精确地选择一个用户标识。\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "跳过用户标识“%s”的 v3 自身签名\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "输入您首选的公钥服务器的 URL:"
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "您确定要替换它吗?(y/N)"
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "您确定要删除它吗?(y/N)"
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "输入注记:"
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "继续?(y/N)"
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "没有索引为 %d 的用户标识\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "没有散列值为 %s 的用户标识\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "没有索引为 %d 的子钥\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "用户标识:“%s”\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "由您的密钥 %s 于 %s%s%s 签名\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (不可导出)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "这份签名已在 %s 过期。\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "您确定您仍然想要吊销它吗?(y/N)"
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "要为这份签名生成一份吊销证书吗?(y/N)"
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "您已经为这些密钥 %s 上的这些用户标识添加签名:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (不可吊销)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "由您的密钥 %s 于 %s 吊销\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "您正在吊销这些签名:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "真的要生成吊销证书吗?(y/N)"
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "没有私钥\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "用户标识“%s”已经被吊销。\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "警告:有一份用户标识签名的日期标记为 %d 秒后的未来\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "密钥 %s 已被吊销。\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "子钥 %s 已被吊销。\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "正在显示 %s 照片标识(大小为 %ld,属于密钥 %s,用户标识 %d)\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "首选项‘%s’重复\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "太多对称加密算法首选项\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "太多散列算法首选项\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "太多首选压缩算法\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "首选项字符串里有无效项‘%s’\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "正在写入直接签名\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "正在写入自身签名\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "正在写入密钥绑定签名\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "密钥尺寸无效:改用 %u 位\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "密钥尺寸舍入到 %u 位\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr ""
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "签名"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "验证"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "加密"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "认证"
 
@@ -4334,104 +4368,104 @@ msgstr "认证"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "%s 密钥可能的操作:"
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "目前允许的操作:"
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) 选择是否用于签名\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) 选择是否用于加密\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) 选择是否用于认证\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) 已完成\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "请选择您要使用的密钥种类:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, fuzzy, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) DSA 和 ElGamal (默认)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, fuzzy, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA 和 ElGamal (默认)\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (仅用于签名)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (仅用于签名)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) ElGamal (仅用于加密)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (仅用于加密)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (自定义用途)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (自定义用途)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s 密钥长度应在 %u 位与 %u 位之间。\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, fuzzy, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "您想要用多大的密钥尺寸?(%u)"
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "您想要用多大的密钥尺寸?(%u)"
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "您所要求的密钥尺寸是 %u 位\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4447,7 +4481,7 @@ msgstr ""
 "      <n>m = 密钥在 n 月后过期\n"
 "      <n>y = 密钥在 n 年后过期\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4463,38 +4497,38 @@ msgstr ""
 "      <n>m = 签名在 n 月后过期\n"
 "      <n>y = 签名在 n 年后过期\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "密钥的有效期限是?(0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "签名的有效期限是多久?(%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "无效的数值\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "密钥永远不会过期\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "签名永远不会过期\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "密钥于 %s 过期\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "签名于 %s 过期\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4502,11 +4536,11 @@ msgstr ""
 "您的系统无法显示 2038 年以后的日期。\n"
 "不过,它可以正确处理 2106 年之前的年份。\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "以上正确吗?(y/n)"
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4517,7 +4551,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4533,44 +4567,44 @@ msgstr ""
 "    “Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "真实姓名:"
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "姓名含有无效的字符\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "姓名不可以用数字开头\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "姓名至少要有五个字符长\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "电子邮件地址:"
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "电子邮件地址无效\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "注释:"
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "注释含有无效的字符\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "您正在使用‘%s’字符集。\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4581,11 +4615,11 @@ msgstr ""
 "    “%s”\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "请不要把电子邮件地址放进您的真实姓名或注释里\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
@@ -4600,23 +4634,23 @@ msgstr ""
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "更改姓名(N)、注释(C)、电子邮件地址(E)或退出(Q)?"
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?"
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "请先改正错误\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4624,19 +4658,19 @@ msgstr ""
 "您需要一个密码来保护您的私钥。\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 #, fuzzy
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "请输入密码:这是一个秘密的句子 \n"
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4648,7 +4682,7 @@ msgstr ""
 "再次执行这个程序,并且使用“--edit-key”选项即可。\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4658,50 +4692,50 @@ msgstr ""
 "我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动\n"
 "鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "密钥生成已取消。\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "正在将公钥写至`%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "向‘%s’写入私钥占位符\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "正在将私钥写至`%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "找不到可写的公钥钥匙环:%s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "找不到可写的私钥钥匙环:%s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "写入公钥钥匙环‘%s’时发生错误: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "写入私钥钥匙环‘%s’时发生错误: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "公钥和私钥已经生成并经签名。\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4709,42 +4743,42 @@ msgstr ""
 "请注意这把密钥还不能用来加密,您必须先用“--edit-key”指令\n"
 "生成用于加密的子钥。\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "生成密钥失败:%s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr "密钥是在 %lu 秒后的未来生成的(可能是因为时空扭曲或时钟的问题)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr "密钥是在 %lu 秒后的未来生成的(可能是因为时空扭曲或时钟的问题)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "注意:为 v3 密钥生成子钥会失去 OpenPGP 兼容性\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "真的要建立吗?(y/N)"
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "向卡上存储密钥时失败:%s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "不能创建备份文件‘%s’:%s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "注意:卡密钥的备份已保存到‘%s’\n"
@@ -4777,30 +4811,30 @@ msgstr "签名注记:"
 msgid "Keyring"
 msgstr "钥匙环"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "主钥指纹:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "子钥指纹:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr " 主钥指纹:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr " 子钥指纹:"
 
 #  use tty
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "密钥指纹 ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "卡序列号 ="
 
@@ -4880,452 +4914,452 @@ msgstr "获取密钥时使用密钥上的 PKA 记录"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "警告:公钥服务器选项‘%s’在此平台上没有被使用\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "已禁用"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "输入数字以选择,输入 N 翻页,输入 Q 退出 >"
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "无效的公钥服务器协议(us %d!=handler %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "在公钥服务器上找不到密钥“%s”\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "在公钥服务器上找不到密钥\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "下载密钥‘%s’,从 %s 服务器 %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "下载密钥 %s,从 %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "在 %s 服务器 %s 上搜索名字\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "在 %s 上搜索名字\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "将密钥‘%s’上传到 %s 服务器 %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "将密钥‘%s’上传到 %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "搜索“%s”,在 %s 服务器 %s 上\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "搜索“%s”,在 %s 上\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "公钥服务器无动作!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "警告:处理公钥服务器的程序来自不同版本的 GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "公钥服务器未发送 VERSION\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "未给出公钥服务器(使用 --keyserver 选项)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "这一编译版本不支持外部调用公钥服务器\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "没有处理‘%s’公钥服务器的程序\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "‘%s’操作不为‘%s’公钥服务器所支持\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s 不支持对版本 %d 的处理\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "公钥服务器超时\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "公钥服务器内部错误\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "公钥服务器通讯错误:%s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“%s”不是一个用户标识:跳过\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "警告:无法更新密钥 %s,通过 %s:%s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "1 个密钥正从 %s 得到更新\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "%d 个密钥正从 %s 得到更新\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "警告:无法获取 URI %s:%s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "不能解析 URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "加密过的会话密钥尺寸(%d)诡异\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s 加密过的会话密钥\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "密码由未知的散列算法 %d 生成\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "公钥是 %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "公钥加密过的数据:完好的数据加密密钥\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "由 %u 位的 %s 密钥加密,钥匙号为 %s、生成于 %s\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “%s”\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "由 %s 密钥加密、钥匙号为 %s\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "公钥解密失败:%s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "以 %lu 个密码加密\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "以 1 个密码加密\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "假定 %s 为加密过的数据\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA 算法不可用,试以 %s 代替\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "解密成功\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "警告:报文未受到完整的保护\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "警告:加密过的报文已经变造!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "解密失败:%s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "注意:发件者要求您“只阅读不存盘”\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "原始文件名 =‘%.*s’\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "独立的吊销证书――请用“gpg --import”来应用\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "未找到签名\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "签名验证已被抑制\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "无法处理这些有歧义的签名\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "签名建立于 %s\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "              使用 %s 密钥 %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "于 %s 创建的签名,使用 %s,钥匙号 %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "可用的密钥在:"
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "已损坏的签名,来自于“%s”"
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "过期的签名,来自于“%s”"
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "完好的签名,来自于“%s”"
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[不确定]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "              亦即“%s”"
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "这份签名已于 %s 过期。\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "这份签名在 %s 过期。\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s 签名,散列算法 %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "二进制"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "文本模式"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "未知"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "无法检查签名:%s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "不是一份分离的签名\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "警告:检测到多重签名。只检查第一个签名。\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "等级 0x%02x 的独立签名\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "旧式(PGP 2.x)签名\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "在 proc_tree() 中检测到无效的根包\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "‘%s’的 fstat 在 %s 中出错:%s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) 在 %s 中出错:%s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "警告: 使用试验性质的公钥算法 %s\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 #, fuzzy
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "警告:不建议使用散列算法 %s\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "警告:使用试验性质的对称加密算法 %s\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "警告:使用试验性质的散列算法 %s\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "警告:不建议使用散列算法 %s\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA 算法插件不存在\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "请参见 %s 以得到更多信息。\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d:不建议使用该选项“%s”\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "警告:“%s”选项已不建议使用\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "请以“%s%s”代替\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "警告:“%s”命令已不建议使用——不要使用它\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "警告:“%s”选项已不建议使用\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "不压缩"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "未压缩|无"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "%s 也许不能使用这个报文\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "有歧义的选项‘%s’\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "未知的选项 '%s'\n"
@@ -5367,16 +5401,16 @@ msgstr "新的配置文件‘%s’已建立\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "警告:在‘%s’里的选项于此次运行期间未被使用\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "无法操作公钥算法 %d\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "警告:潜在不安全的对称加密会话密钥\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d 类别的子包设定了关键位\n"
@@ -5429,7 +5463,7 @@ msgstr "%u 位的 %s 密钥,钥匙号 %s,建立于 %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (主钥 %s 的子钥)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5442,34 +5476,34 @@ msgstr ""
 "片会被存放在您的公钥里。如果您挑了非常大的图片的话,您的密钥也会变得非\n"
 "常大!请尽量把图片尺寸控制在240x288左右,这是个理想的尺寸。\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "输入要当作相片标识的JPEG文件名: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "无法打开 JPEG 文件‘%s’:%s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "这个 JPEG 文件太大了(%d 字节)!\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "您确定要用它吗?(y/N)"
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "“%s”不是一个 JPEG 文件\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "这张照片正确吗?(y/N/q)"
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "无法显示照片标识!\n"
 
@@ -5502,6 +5536,16 @@ msgid "revocation comment: "
 msgstr "吊销注释:"
 
 #  a string with valid answers
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5675,25 +5719,25 @@ msgstr "警告:这把密钥未经有足够信任度的签名所认证。\n"
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "      这份签名并不一定属于它所声称的持有者\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s:已跳过:%s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: 已跳过:公钥已存在\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "您没有指定用户标识。(您可以在命令行中用“-r”指定)\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "当前收件人:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5701,42 +5745,42 @@ msgstr ""
 "\n"
 "输入用户标识。以空白行结束:"
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "没有这个用户标识。\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "已跳过:公钥已被设为默认收件者\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "公钥被禁用。\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "已跳过:公钥已被设定\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "未知的默认收件者“%s”\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s:已跳过:公钥已被禁用\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "没有有效的地址\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, fuzzy, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "密钥 %s:没有有效的用户标识\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, fuzzy, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "密钥 %s:没有有效的用户标识\n"
@@ -6018,17 +6062,23 @@ msgstr "注意:签名密钥 %s 已于 %s 过期\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "注意:密钥已被吊销"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s 签名,散列算法 %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "假定密钥 %s 的签名由于某个未知的关键位出错而损坏\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "密钥 %s:没有子钥吊销签名所需的子钥\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "密钥 %s:没有子钥绑定签名所需的子钥\n"
@@ -6106,7 +6156,7 @@ msgstr "已跳过:私钥已存在\n"
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "这是一把由 PGP 生成的 ElGamal 密钥,用于签名不安全!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "信任记录 %lu,类别 %d:写入失败:%s\n"
@@ -6151,17 +6201,17 @@ msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
 msgid "read error in `%s': %s\n"
 msgstr "读取‘%s’错误:%s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "信任度数据库:同步失败:%s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "信任度数据库记录 %lu:lseek 失败:%s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "信任度数据库记录 %lu:write 失败 (n=%d): %s\n"
@@ -6170,117 +6220,117 @@ msgstr "信任度数据库记录 %lu:write 失败 (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "信任度数据库处理量过大\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "无法存取‘%s’:%s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s:目录不存在!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "不能为‘%s’创建锁定\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "无法锁定‘%s’\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s:建立版本记录失败:%s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s:建立了无效的信任度数据库\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s:建立了信任度数据库\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "注意:信任度数据库不可写入\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s:无效的信任度数据库\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s:建立散列表失败:%s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s:更新版本记录时出错: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s:读取版本记录时出错: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s:写入版本记录时出错:%s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "信任度数据库:lseek 失败:%s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "信任度数据库:read 失败(n=%d):%s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s:不是一个信任度数据库文件\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s:记录编号为%lu的版本记录\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s:无效的文件版本%d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s:读取自由记录时出错:%s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s:写入目录记录时出错:%s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s:记录归零时失败:%s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s:附加记录时失败:%s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 #, fuzzy
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "%s:建立了信任度数据库\n"
@@ -6295,170 +6345,178 @@ msgstr "无法处理长于 %d 字符的文本行\n"
 msgid "input line longer than %d characters\n"
 msgstr "输入行长度超过 %d 字符\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "‘%s’不是一个有效的长式钥匙号\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "密钥 %s:受信任,已接受\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "密钥 %s 在信任度数据库中重复出现\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "密钥 %s:受信任的密钥没有公钥――已跳过\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "密钥 %s 被标记为绝对信任\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "信任记录 %lu,请求类别 %d:读取失败:%s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "信任记录 %lu 不属于所请求的类别 %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr ""
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr ""
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr "无法使用未知的信任模型(%d)――假定使用 %s 信任模型\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "使用 %s 信任模型\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 translator see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[已吊销]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[已过期]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[ 未知 ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[未定义]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[ 勉强 ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[ 完全 ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[ 绝对 ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "未定义"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "从不"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "勉强"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "完全"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "绝对"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "不需要检查信任度数据库\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "下次信任度数据库检查将于 %s 进行\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "使用‘%s’信任模型时不需要检查信任度数据库\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "使用‘%s’信任模型时不需要更新信任度数据库\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "找不到公钥 %s:%s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "请执行一次 --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "正在检查信任度数据库\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "已经处理了 %d 把密钥(共计已解决了 %d 份的有效性)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "没有找到任何绝对信任的密钥\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "绝对信任的密钥 %s 的公钥未被找到\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "需要 %d 份勉强信任和 %d 份完全信任,%s 信任模型\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 "深度:%d 有效性:%3d 已签名:%3d 信任度:%d-,%dq,%dn,%dm,%df,%du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "无法更新信任度数据库版本记录:写入失败:%s\n"
@@ -6483,77 +6541,77 @@ msgstr "输入行 %u 太长或者行末的换行符 LF 遗失\n"
 msgid "can't open fd %d: %s\n"
 msgstr "无法打开‘%s’: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 #, fuzzy
 msgid "argument not expected"
 msgstr "不允许使用管理员命令\n"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 #, fuzzy
 msgid "read error"
 msgstr "文件读取错误"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 #, fuzzy
 msgid "keyword too long"
 msgstr "列太长"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 #, fuzzy
 msgid "missing argument"
 msgstr "无效的参数"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 #, fuzzy
 msgid "invalid command"
 msgstr "仅供管理员使用的命令\n"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 #, fuzzy
 msgid "invalid alias definition"
 msgstr "无效的列表选项\n"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 #, fuzzy
 msgid "out of core"
 msgstr "可选"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 #, fuzzy
 msgid "invalid option"
 msgstr "无效的列表选项\n"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr ""
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, fuzzy, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "无效的指令(尝试“help”)\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr ""
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 #, fuzzy
 msgid "out of core\n"
 msgstr "可选"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, fuzzy, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "无效的列表选项\n"
@@ -6563,22 +6621,17 @@ msgstr "无效的列表选项\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "您找到一个程序缺陷了……(%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, fuzzy, c-format
-msgid "error loading `%s': %s\n"
-msgstr "读取‘%s’时出错:%s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr ""
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, fuzzy, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "签名时失败: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, fuzzy, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "将‘%s’重命名为‘%s’时失败:%s\n"
@@ -6635,24 +6688,25 @@ msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
 #: kbx/kbxutil.c:120
+#, fuzzy
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
-msgstr ""
+"List, export, import Keybox data\n"
+msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA 余数缺失或者不是 %d 位长\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA 公钥指数缺失或长于 %d 位\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN 回调返回错误:%s\n"
@@ -6701,203 +6755,217 @@ msgid ""
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "获取新 PIN 时出错:%s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "无法存储指纹:%s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "无法存储创建日期:%s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "无法读出公钥:%s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "响应未包含公钥数据\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "响应未包含 RSA 余数\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "响应未包含 RSA 公钥指数\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "CHV%d 的 PIN 太短;最小长度为 %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "验证 CHV%d 失败:%s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "从卡中获取 CHV 状态时出错\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "卡被永久锁定!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "尝试管理员 PIN %d 次后,卡将被永久锁定!\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, fuzzy, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 #, fuzzy
 msgid "|A|Please enter the Admin PIN"
 msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "尚未配置管理员命令的权限\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, fuzzy, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "CHV%d 的 PIN 太短;最小长度为 %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|新的管理员 PIN"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "新的 PIN"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+#, fuzzy
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
+
+#: scd/app-openpgp.c:2258
+#, fuzzy
+msgid "||Please enter the PIN and New PIN"
+msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "读取应用程序数据时出错\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "读取指纹 D0 出错\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "密钥已存在\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "现有的密钥将被替换\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "生成新密钥\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 #, fuzzy
 msgid "writing new key\n"
 msgstr "生成新密钥\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "缺少创建时间戳\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA 质数 %s 缺失或者不是 %d 位长\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "无法存储密钥:%s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "请稍候,正在生成密钥……\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "生成密钥失败\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "密钥已生成(耗时 %d 秒)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "无效的 OpenPGP 卡结构(D0 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "卡不支持散列算法 %s\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "目前已创建的签名:%lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "目前禁止通过此命令验证管理员 PIN\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "不能存取 %s――无效的 OpenPGP 卡?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
-msgstr ""
+#, fuzzy
+msgid "||Please enter your PIN at the reader's pinpad"
+msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
@@ -6907,69 +6975,73 @@ msgstr ""
 msgid "|N|Initial New PIN"
 msgstr "新的 PIN"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 #, fuzzy
 msgid "|FILE|write a log to FILE"
 msgstr "从‘%s’读取选项\n"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr ""
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr ""
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr ""
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr ""
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "显示管理员命令"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr ""
+
+#: scd/scdaemon.c:269
 #, fuzzy
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
 msgstr ""
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7008,11 +7080,11 @@ msgstr ""
 msgid "validation model requested by certificate: %s"
 msgstr ""
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr ""
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr ""
 
@@ -7043,209 +7115,210 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr "不允许导出私钥\n"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr ""
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr ""
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr ""
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, fuzzy, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "生成密码的时候发生错误:%s\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, fuzzy, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "无法读出公钥:%s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
 #, fuzzy
-msgid "failed to allocated keyDB handle\n"
+msgid "failed to allocate keyDB handle\n"
 msgstr "无法存储密钥:%s\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 #, fuzzy
 msgid "certificate has been revoked"
 msgstr "注意:密钥已被吊销"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr ""
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, fuzzy, c-format
 msgid "checking the CRL failed: %s"
 msgstr "检查已建立的签名时发生错误: %s\n"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr ""
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 #, fuzzy
 msgid "root certificate not yet valid"
 msgstr "不允许导出私钥\n"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr ""
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 #, fuzzy
 msgid "certificate has expired"
 msgstr "这把密钥已经过期!"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 #, fuzzy
 msgid "root certificate has expired"
 msgstr "这把密钥已经过期!"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 #, fuzzy
 msgid "intermediate certificate has expired"
 msgstr "这把密钥已经过期!"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr ""
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 #, fuzzy
 msgid "certificate with invalid validity"
 msgstr "这把密钥已经过期!"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr ""
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr ""
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 #, fuzzy
 msgid "  (  signature created at "
 msgstr "      清除的签名:%lu\n"
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 #, fuzzy
 msgid "  (certificate created at "
 msgstr "已建立吊销证书。\n"
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 #, fuzzy
 msgid "  (certificate valid from "
 msgstr "证书已损坏"
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 #, fuzzy
 msgid "  (     issuer valid from "
 msgstr "卡序列号 ="
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, fuzzy, c-format
 msgid "fingerprint=%s\n"
 msgstr "CA 指纹:"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr ""
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr ""
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 #, fuzzy
 msgid "no issuer found in certificate"
 msgstr "生成一份吊销证书"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr ""
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr ""
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, fuzzy, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "检查已建立的签名时发生错误: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr ""
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr ""
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 #, fuzzy
 msgid "certificate has a BAD signature"
 msgstr "验证签名"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr ""
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 #, fuzzy
 msgid "certificate is good\n"
 msgstr "首选项‘%s’重复\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 #, fuzzy
 msgid "intermediate certificate is good\n"
 msgstr "已建立吊销证书。\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 #, fuzzy
 msgid "root certificate is good\n"
 msgstr "证书已损坏"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr ""
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr ""
@@ -7310,19 +7383,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "取得当前密钥信息时出错:%s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr ""
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr ""
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr ""
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr ""
 
 #: sm/certlist.c:167
@@ -7532,7 +7605,7 @@ msgstr ""
 msgid "certificate `%s' not found: %s\n"
 msgstr "找不到私钥“%s”:%s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "读取密钥区块时发生错误:%s\n"
@@ -7669,7 +7742,7 @@ msgstr "从这个钥匙环里取用密钥"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
 
@@ -7692,8 +7765,8 @@ msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
 #, fuzzy
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "语法:gpg [选项] [文件名]\n"
 "签名、检查、加密或解密\n"
@@ -7729,26 +7802,26 @@ msgstr ""
 msgid "%s:%u: skipping this line\n"
 msgstr "  s = 跳过这把密钥\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 #, fuzzy
 msgid "could not parse keyserver\n"
 msgstr "无法解析公钥服务器 URL\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, fuzzy, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "无法存取‘%s’:%s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
 
@@ -7766,12 +7839,7 @@ msgstr "生成一份吊销证书"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-#, fuzzy
-msgid "failed to allocate keyDB handle\n"
-msgstr "无法存储密钥:%s\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "获取新 PIN 时出错:%s\n"
@@ -7786,46 +7854,42 @@ msgstr "生成密码的时候发生错误:%s\n"
 msgid "error reading input: %s\n"
 msgstr "读取‘%s’时出错:%s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, fuzzy, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "建立钥匙环‘%s’时发生错误:%s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr ""
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, fuzzy, c-format
 msgid "keybox `%s' created\n"
 msgstr "钥匙环‘%s’已建立\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 #, fuzzy
 msgid "failed to get the fingerprint\n"
 msgstr "无法存储指纹:%s\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "取得当前密钥信息时出错:%s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "读取‘%s’时出错:%s\n"
@@ -8011,148 +8075,148 @@ msgstr "读取‘%s’时出错:%s\n"
 msgid "error sending standard options: %s\n"
 msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr ""
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr ""
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr ""
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 #, fuzzy
 msgid "|N|expire the passphrase after N days"
 msgstr "从导出的子钥中删除所有密码"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 #, fuzzy
 msgid "do not allow the reuse of old passphrases"
 msgstr "生成密码的时候发生错误:%s\n"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr ""
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|某甲|为收件者“某甲”加密"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "无法解析公钥服务器 URL\n"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8413,6 +8477,14 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "读取‘%s’时出错:%s\n"
+
+#, fuzzy
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "无法存储密钥:%s\n"
+
 #~ msgid "Command> "
 #~ msgstr "命令> "
 
@@ -8437,10 +8509,6 @@ msgstr ""
 #~ msgid "Repeat passphrase\n"
 #~ msgstr "请再输入一次密码\n"
 
-#, fuzzy
-#~ msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
-#~ msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
-
 #~ msgid "|A|Admin PIN"
 #~ msgstr "|A|管理员 PIN"
 
@@ -8947,9 +9015,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "使用了错误的私钥"
 
-#~ msgid "not supported"
-#~ msgstr "未被支持"
-
 #~ msgid "bad key"
 #~ msgstr "密钥已损坏"
 
index 7fdbf4b..2b2b254 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index f978eff..76fdb68 100644 (file)
@@ -1,7 +1,7 @@
 # Traditional Chinese(zh-tw) messages for GnuPG
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # This file is distributed under the same license as the PACKAGE package.
-# Jedi Lin <Jedi@Jedi.org>, 2003~2011.
+# Jedi Lin <Jedi@Jedi.org>, 2003~2013.
 #
 # Special thanks to "Audrey Tang <audreyt@audreyt.org>".
 #
@@ -9,19 +9,19 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gnupg 2.0.17-git56b2bc2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2012-03-27 10:23+0200\n"
-"PO-Revision-Date: 2011-08-05 01:24+0800\n"
+"POT-Creation-Date: 2014-08-12 20:30+0200\n"
+"PO-Revision-Date: 2013-04-24 19:34+0800\n"
 "Last-Translator: Jedi Lin <Jedi@Jedi.org>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Basepath: gnupg-2.0.17-git56b2bc2/\n"
-"X-Poedit-Language: Chinese\n"
-"X-Poedit-Country: TAIWAN\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 1.5.5\n"
 
-#: agent/call-pinentry.c:244
+#: agent/call-pinentry.c:254
 #, c-format
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "個人識別碼項目鎖定獲取失敗: %s\n"
@@ -31,21 +31,21 @@ msgstr "個人識別碼項目鎖定獲取失敗: %s\n"
 #. should be used as an accelerator.  Double the underscore for
 #. a literal one.  The actual to be translated text starts after
 #. the second vertical bar.
-#: agent/call-pinentry.c:401
+#: agent/call-pinentry.c:411
 msgid "|pinentry-label|_OK"
 msgstr "|pinentry-label|_OK"
 
-#: agent/call-pinentry.c:402
+#: agent/call-pinentry.c:412
 msgid "|pinentry-label|_Cancel"
 msgstr "|pinentry-label|取消 (_C)"
 
-#: agent/call-pinentry.c:403
+#: agent/call-pinentry.c:413
 msgid "|pinentry-label|PIN:"
 msgstr "|pinentry-label|個人識別碼 (PIN):"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
-#: agent/call-pinentry.c:649
+#: agent/call-pinentry.c:659
 msgid "Quality:"
 msgstr "品質: %s"
 
@@ -55,113 +55,116 @@ msgstr "品質: %s"
 #. tooltip is limited to about 900 characters.  If you do not
 #. translate this entry, a default english text (see source)
 #. will be used.
-#: agent/call-pinentry.c:671
+#: agent/call-pinentry.c:681
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
 "輸入在上面的文字的品質.\n"
 "關於此規範的細節, 請洽你的系統管理者."
 
-#: agent/call-pinentry.c:716
+#: agent/call-pinentry.c:726
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr "請輸入你的個人識別碼 (PIN) 以便在此階段作業中解開密鑰"
 
-#: agent/call-pinentry.c:719
+#: agent/call-pinentry.c:729
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "請輸入你的密語以便在此階段作業中解開私鑰"
 
-#: agent/call-pinentry.c:776
+#. TRANSLATORS: The string is appended to an error message in
+#. the pinentry.  The %s is the actual error message, the
+#. two %d give the current and maximum number of tries.
+#: agent/call-pinentry.c:786
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "設定錯誤 %s (第 %d 次嘗試, 最多 %d 次)"
 
-#: agent/call-pinentry.c:799 agent/call-pinentry.c:811
+#: agent/call-pinentry.c:809 agent/call-pinentry.c:821
 msgid "PIN too long"
 msgstr "個人識別碼 (PIN) 太長"
 
-#: agent/call-pinentry.c:800
+#: agent/call-pinentry.c:810
 msgid "Passphrase too long"
 msgstr "密語太長"
 
-#: agent/call-pinentry.c:808
+#: agent/call-pinentry.c:818
 msgid "Invalid characters in PIN"
 msgstr "個人識別碼 (PIN) 含有無效的字符"
 
-#: agent/call-pinentry.c:813
+#: agent/call-pinentry.c:823
 msgid "PIN too short"
 msgstr "個人識別碼 (PIN) 太短"
 
-#: agent/call-pinentry.c:825
+#: agent/call-pinentry.c:835
 msgid "Bad PIN"
 msgstr "不良的個人識別碼 (PIN)"
 
-#: agent/call-pinentry.c:826
+#: agent/call-pinentry.c:836
 msgid "Bad Passphrase"
 msgstr "不良的密語"
 
-#: agent/call-pinentry.c:863
+#: agent/call-pinentry.c:873
 msgid "Passphrase"
 msgstr "密語"
 
-#: agent/command-ssh.c:531
+#: agent/command-ssh.c:595
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "未支援大於 %d 位元的 ssh 金鑰\n"
 
-#: agent/command-ssh.c:690 g10/card-util.c:833 g10/exec.c:473 g10/gpg.c:1122
-#: g10/keygen.c:3394 g10/keygen.c:3427 g10/keyring.c:1237 g10/keyring.c:1569
+#: agent/command-ssh.c:763 g10/card-util.c:834 g10/exec.c:476 g10/gpg.c:1127
+#: g10/keygen.c:3402 g10/keygen.c:3435 g10/keyring.c:1237 g10/keyring.c:1569
 #: g10/openfile.c:275 g10/openfile.c:368 g10/sign.c:801 g10/sign.c:1110
-#: g10/tdbio.c:550 jnlib/dotlock.c:310
+#: g10/tdbio.c:554 jnlib/dotlock.c:310
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "無法建立 `%s': %s\n"
 
-#: agent/command-ssh.c:702 common/helpfile.c:47 g10/card-util.c:787
+#: agent/command-ssh.c:775 common/helpfile.c:47 g10/card-util.c:788
 #: g10/dearmor.c:60 g10/dearmor.c:107 g10/decrypt.c:70 g10/encode.c:194
-#: g10/encode.c:504 g10/gpg.c:1123 g10/import.c:192 g10/keygen.c:2877
+#: g10/encode.c:504 g10/gpg.c:1128 g10/import.c:197 g10/keygen.c:2885
 #: g10/keyring.c:1595 g10/openfile.c:192 g10/openfile.c:353
 #: g10/plaintext.c:511 g10/sign.c:783 g10/sign.c:978 g10/sign.c:1094
-#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:554
-#: g10/tdbio.c:618 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2044
-#: sm/gpgsm.c:2074 sm/gpgsm.c:2112 sm/gpgsm.c:2150 sm/qualified.c:66
+#: g10/sign.c:1250 g10/tdbdump.c:142 g10/tdbdump.c:150 g10/tdbio.c:558
+#: g10/tdbio.c:622 g10/verify.c:99 g10/verify.c:162 sm/gpgsm.c:2047
+#: sm/gpgsm.c:2077 sm/gpgsm.c:2115 sm/gpgsm.c:2153 sm/qualified.c:66
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "無法開啟 `%s': %s\n"
 
-#: agent/command-ssh.c:1708 agent/command-ssh.c:1726
+#: agent/command-ssh.c:2110 agent/command-ssh.c:2128
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "取得此卡片序號時出錯: %s\n"
 
-#: agent/command-ssh.c:1712
+#: agent/command-ssh.c:2114
 #, c-format
 msgid "detected card with S/N: %s\n"
 msgstr "偵測到卡片, 其序號為: %s\n"
 
-#: agent/command-ssh.c:1717
+#: agent/command-ssh.c:2119
 #, c-format
 msgid "error getting default authentication keyID of card: %s\n"
 msgstr "取得此卡片的預設認證金鑰 ID 時出錯: %s\n"
 
-#: agent/command-ssh.c:1737
+#: agent/command-ssh.c:2139
 #, c-format
 msgid "no suitable card key found: %s\n"
 msgstr "找不到合適的卡片金鑰: %s\n"
 
-#: agent/command-ssh.c:1787
+#: agent/command-ssh.c:2189
 #, c-format
 msgid "shadowing the key failed: %s\n"
 msgstr "遮蔽金鑰時失敗: %s\n"
 
-#: agent/command-ssh.c:1802
+#: agent/command-ssh.c:2204
 #, c-format
 msgid "error writing key: %s\n"
 msgstr "寫入金鑰時出錯: %s\n"
 
-#: agent/command-ssh.c:2139
+#: agent/command-ssh.c:2498
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -169,46 +172,46 @@ msgid ""
 msgstr ""
 "有某個 ssh 程序提出使用金鑰 %%0A  %s%%0A  (%s)%%0A 之請求, 請問是否允許?"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Allow"
 msgstr "允許"
 
-#: agent/command-ssh.c:2146
+#: agent/command-ssh.c:2505
 msgid "Deny"
 msgstr "拒絕"
 
-#: agent/command-ssh.c:2155
+#: agent/command-ssh.c:2514
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "請輸入此 ssh 金鑰的密語 %%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:2484 agent/genkey.c:310 agent/genkey.c:432
+#: agent/command-ssh.c:2833 agent/genkey.c:310 agent/genkey.c:432
 msgid "Please re-enter this passphrase"
 msgstr "請再次輸入密語"
 
-#: agent/command-ssh.c:2509
+#: agent/command-ssh.c:2858
 #, c-format
 msgid ""
-"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   %"
-"s%%0Awithin gpg-agent's key storage"
+"Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
+"%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 "請輸入密語以保護收到的私鑰 %%0A   %s%%0A   %s%%0A 於 gpg-agent 的金鑰存放處"
 
-#: agent/command-ssh.c:2548 agent/genkey.c:340 agent/genkey.c:463
+#: agent/command-ssh.c:2896 agent/genkey.c:340 agent/genkey.c:463
 #: tools/symcryptrun.c:436
 msgid "does not match - try again"
 msgstr "前後不一致 - 請再試一次"
 
-#: agent/command-ssh.c:3054
+#: agent/command-ssh.c:3408
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "從 socket 建立串流失敗: %s\n"
 
-#: agent/divert-scd.c:92 g10/call-agent.c:923
+#: agent/divert-scd.c:92 g10/call-agent.c:991
 msgid "Please insert the card with serial number"
 msgstr "請插入下列序號的卡片:"
 
-#: agent/divert-scd.c:93 g10/call-agent.c:924
+#: agent/divert-scd.c:93 g10/call-agent.c:992
 msgid "Please remove the current card and insert the one with serial number"
 msgstr "請移除現用中的卡片並插入下列序號的卡片:"
 
@@ -228,7 +231,7 @@ msgstr "重設碼"
 
 #: agent/divert-scd.c:238
 #, c-format
-msgid "%s%%0A%%0AUse the reader's keypad for input."
+msgid "%s%%0A%%0AUse the reader's pinpad for input."
 msgstr "%s%%0A%%0A使用讀卡機的鍵盤來輸入."
 
 #: agent/divert-scd.c:287
@@ -330,14 +333,14 @@ msgstr "是, 不需要任何保護"
 
 #: agent/genkey.c:308
 #, c-format
-msgid "Please enter the passphrase to%0Ato protect your new key"
+msgid "Please enter the passphrase to%0Aprotect your new key"
 msgstr "請輸入密語至%0A以保護你的新金鑰"
 
 #: agent/genkey.c:431
 msgid "Please enter the new passphrase"
 msgstr "請輸入新的密語"
 
-#: agent/gpg-agent.c:121 agent/preset-passphrase.c:72 scd/scdaemon.c:103
+#: agent/gpg-agent.c:133 agent/preset-passphrase.c:75 scd/scdaemon.c:105
 #: tools/gpg-check-pattern.c:70
 msgid ""
 "@Options:\n"
@@ -346,113 +349,123 @@ msgstr ""
 "@選項:\n"
 " "
 
-#: agent/gpg-agent.c:123 scd/scdaemon.c:105
-msgid "run in server mode (foreground)"
-msgstr "以伺服器模式執行 (前景)"
-
-#: agent/gpg-agent.c:124 scd/scdaemon.c:108
+#: agent/gpg-agent.c:135 scd/scdaemon.c:110
 msgid "run in daemon mode (background)"
 msgstr "以服務模式執行 (背景)"
 
-#: agent/gpg-agent.c:125 g10/gpg.c:488 g10/gpgv.c:71 kbx/kbxutil.c:88
-#: scd/scdaemon.c:109 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
+#: agent/gpg-agent.c:136 scd/scdaemon.c:107
+msgid "run in server mode (foreground)"
+msgstr "以伺服器模式執行 (前景)"
+
+#: agent/gpg-agent.c:137 g10/gpg.c:493 g10/gpgv.c:71 kbx/kbxutil.c:88
+#: scd/scdaemon.c:111 sm/gpgsm.c:281 tools/gpg-connect-agent.c:69
 #: tools/gpgconf.c:80 tools/symcryptrun.c:166
 msgid "verbose"
 msgstr "囉唆模式"
 
-#: agent/gpg-agent.c:126 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:110
+#: agent/gpg-agent.c:138 g10/gpgv.c:72 kbx/kbxutil.c:89 scd/scdaemon.c:112
 #: sm/gpgsm.c:282
 msgid "be somewhat more quiet"
 msgstr "盡量安靜些"
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:111
+#: agent/gpg-agent.c:139 scd/scdaemon.c:113
 msgid "sh-style command output"
 msgstr "sh 樣式的指令輸出"
 
-#: agent/gpg-agent.c:128 scd/scdaemon.c:112
+#: agent/gpg-agent.c:140 scd/scdaemon.c:114
 msgid "csh-style command output"
 msgstr "csh 樣式的指令輸出"
 
-#: agent/gpg-agent.c:129 scd/scdaemon.c:113 sm/gpgsm.c:312
+#: agent/gpg-agent.c:141 scd/scdaemon.c:115 sm/gpgsm.c:312
 #: tools/symcryptrun.c:169
 msgid "|FILE|read options from FILE"
 msgstr "|檔案|從「檔案」中讀取選項"
 
-#: agent/gpg-agent.c:134 scd/scdaemon.c:123
+#: agent/gpg-agent.c:146 scd/scdaemon.c:125
 msgid "do not detach from the console"
 msgstr "不要從 console 分離"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:147
 msgid "do not grab keyboard and mouse"
 msgstr "不要奪取鍵盤及滑鼠"
 
-#: agent/gpg-agent.c:136 tools/symcryptrun.c:168
+#: agent/gpg-agent.c:148 tools/symcryptrun.c:168
 msgid "use a log file for the server"
 msgstr "為伺服器使用日誌檔"
 
-#: agent/gpg-agent.c:138
+#: agent/gpg-agent.c:150
 msgid "use a standard location for the socket"
 msgstr "為 socket 使用標準的位置"
 
-#: agent/gpg-agent.c:141
+#: agent/gpg-agent.c:153
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|使用 PGM 做為 PIN-Entry 程式"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:156
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|使用 PGM 做為 SCdaemon 程式"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:157
 msgid "do not use the SCdaemon"
 msgstr "不要使用 SCdaemon"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:169
 msgid "ignore requests to change the TTY"
 msgstr "忽略變更 TTY 的要求"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:171
 msgid "ignore requests to change the X display"
 msgstr "忽略變更 X display 的要求"
 
-#: agent/gpg-agent.c:162
+#: agent/gpg-agent.c:174
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|讓快取住的個人識別碼 (PIN) 在 N 秒後到期"
 
-#: agent/gpg-agent.c:175
+#: agent/gpg-agent.c:187
 msgid "do not use the PIN cache when signing"
 msgstr "簽署時不要使用個人識別碼 (PIN) 快取"
 
-#: agent/gpg-agent.c:177
-msgid "allow clients to mark keys as \"trusted\""
+#: agent/gpg-agent.c:189
+#, fuzzy
+#| msgid "allow clients to mark keys as \"trusted\""
+msgid "disallow clients to mark keys as \"trusted\""
 msgstr "允許用戶端將金鑰標記為 \"已信任\""
 
-#: agent/gpg-agent.c:179
+#: agent/gpg-agent.c:192
 msgid "allow presetting passphrase"
 msgstr "允許預先設定密語"
 
-#: agent/gpg-agent.c:180
-msgid "enable ssh-agent emulation"
+#: agent/gpg-agent.c:193
+#, fuzzy
+#| msgid "enable ssh-agent emulation"
+msgid "enable ssh support"
 msgstr "啟用 ssh-agent 模擬"
 
-#: agent/gpg-agent.c:182
+#: agent/gpg-agent.c:196
+#, fuzzy
+#| msgid "not supported"
+msgid "enable putty support"
+msgstr "未支援"
+
+#: agent/gpg-agent.c:202
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|檔案|將環境設定也寫至「檔案」"
 
 #. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
-#: agent/gpg-agent.c:333 agent/preset-passphrase.c:94 agent/protect-tool.c:163
-#: g10/gpg.c:814 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:246
+#: agent/gpg-agent.c:367 agent/preset-passphrase.c:97 agent/protect-tool.c:164
+#: g10/gpg.c:820 g10/gpgv.c:114 kbx/kbxutil.c:113 scd/scdaemon.c:256
 #: sm/gpgsm.c:519 tools/gpg-connect-agent.c:181 tools/gpgconf.c:102
 #: tools/symcryptrun.c:206 tools/gpg-check-pattern.c:141
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "翻譯瑕疵請回報給 <Jedi@Jedi.org>, 程式瑕疵則請回報給 <@EMAIL@>.\n"
 
-#: agent/gpg-agent.c:342
+#: agent/gpg-agent.c:376
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "用法: gpg-agent [選項] (或用 -h 求助)"
 
-#: agent/gpg-agent.c:344
+#: agent/gpg-agent.c:378
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -460,154 +473,155 @@ msgstr ""
 "語法: gpg-agent [選項] [指令 [引數]]\n"
 "GnuPG 私鑰管理\n"
 
-#: agent/gpg-agent.c:390 g10/gpg.c:1007 scd/scdaemon.c:318 sm/gpgsm.c:669
+#: agent/gpg-agent.c:424 g10/gpg.c:1012 scd/scdaemon.c:328 sm/gpgsm.c:669
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "給定的除錯等級 `%s' 無效\n"
 
-#: agent/gpg-agent.c:610 agent/protect-tool.c:1033 kbx/kbxutil.c:428
-#: scd/scdaemon.c:424 sm/gpgsm.c:911 sm/gpgsm.c:914 tools/symcryptrun.c:998
-#: tools/gpg-check-pattern.c:177
+#: agent/gpg-agent.c:649 agent/protect-tool.c:1034 g10/gpgv.c:155
+#: kbx/kbxutil.c:428 scd/scdaemon.c:441 sm/gpgsm.c:911 sm/gpgsm.c:914
+#: tools/symcryptrun.c:998 tools/gpg-check-pattern.c:177
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s 太舊了 (需要 %s, 但是祇有 %s)\n"
 
-#: agent/gpg-agent.c:725 g10/gpg.c:2111 scd/scdaemon.c:510 sm/gpgsm.c:1010
+#: agent/gpg-agent.c:764 g10/gpg.c:2120 scd/scdaemon.c:527 sm/gpgsm.c:1013
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "請注意: 沒有預設選項檔 `%s'\n"
 
-#: agent/gpg-agent.c:736 agent/gpg-agent.c:1348 g10/gpg.c:2115
-#: scd/scdaemon.c:515 sm/gpgsm.c:1014 tools/symcryptrun.c:931
+#: agent/gpg-agent.c:775 agent/gpg-agent.c:1400 g10/gpg.c:2124
+#: scd/scdaemon.c:532 sm/gpgsm.c:1017 tools/symcryptrun.c:931
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "選項檔 `%s': %s\n"
 
-#: agent/gpg-agent.c:744 g10/gpg.c:2122 scd/scdaemon.c:523 sm/gpgsm.c:1021
+#: agent/gpg-agent.c:783 g10/gpg.c:2131 scd/scdaemon.c:540 sm/gpgsm.c:1024
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "從 `%s' 讀取選項中\n"
 
-#: agent/gpg-agent.c:1117 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:1168 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "建立 `%s' 時出錯: %s\n"
 
-#: agent/gpg-agent.c:1461 agent/gpg-agent.c:1579 agent/gpg-agent.c:1583
-#: agent/gpg-agent.c:1624 agent/gpg-agent.c:1628 g10/exec.c:188
-#: g10/openfile.c:429 scd/scdaemon.c:1020
+#: agent/gpg-agent.c:1513 agent/gpg-agent.c:1631 agent/gpg-agent.c:1635
+#: agent/gpg-agent.c:1676 agent/gpg-agent.c:1680 g10/exec.c:191
+#: g10/openfile.c:429 scd/scdaemon.c:1040 sm/keydb.c:103
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "無法建立目錄 `%s': %s\n"
 
-#: agent/gpg-agent.c:1475 scd/scdaemon.c:1034
+#: agent/gpg-agent.c:1527 scd/scdaemon.c:1054
 msgid "name of socket too long\n"
 msgstr "socket 名稱太長\n"
 
-#: agent/gpg-agent.c:1498 scd/scdaemon.c:1057
+#: agent/gpg-agent.c:1550 scd/scdaemon.c:1077
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "無法建立 socket: %s\n"
 
-#: agent/gpg-agent.c:1507
+#: agent/gpg-agent.c:1559
 #, c-format
 msgid "socket name `%s' is too long\n"
 msgstr "socket 名稱 `%s' 太長\n"
 
-#: agent/gpg-agent.c:1525
+#: agent/gpg-agent.c:1577
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "已經有一份 gpg-agent 在執行了 - 不會再啟動一份新的\n"
 
-#: agent/gpg-agent.c:1536 scd/scdaemon.c:1076
+#: agent/gpg-agent.c:1588 scd/scdaemon.c:1096
 msgid "error getting nonce for the socket\n"
 msgstr "為 socket 取得 nonce 時出錯\n"
 
-#: agent/gpg-agent.c:1541 scd/scdaemon.c:1079
+#: agent/gpg-agent.c:1593 scd/scdaemon.c:1099
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "綁定 socket 至 `%s' 時出錯: %s\n"
 
-#: agent/gpg-agent.c:1553 scd/scdaemon.c:1088
+#: agent/gpg-agent.c:1605 scd/scdaemon.c:1108
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "listen() 失敗: %s\n"
 
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1095
+#: agent/gpg-agent.c:1611 scd/scdaemon.c:1115
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "正在候聽 socket `%s'\n"
 
-#: agent/gpg-agent.c:1587 agent/gpg-agent.c:1634 g10/openfile.c:432
+#: agent/gpg-agent.c:1639 agent/gpg-agent.c:1686 g10/openfile.c:432
+#: sm/keydb.c:106
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "`%s' 目錄已建立\n"
 
-#: agent/gpg-agent.c:1640
+#: agent/gpg-agent.c:1692
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat() 失敗於 `%s': %s\n"
 
-#: agent/gpg-agent.c:1644
+#: agent/gpg-agent.c:1696
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "無法使用 `%s' 做為家目錄\n"
 
-#: agent/gpg-agent.c:1777 scd/scdaemon.c:1111
+#: agent/gpg-agent.c:1829 scd/scdaemon.c:1131
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "於 fd %d 讀取 nonce 時出錯: %s\n"
 
-#: agent/gpg-agent.c:1799
+#: agent/gpg-agent.c:2044
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "經手程式 0x%lx (用於 fd %d) 已啟動\n"
 
-#: agent/gpg-agent.c:1804
+#: agent/gpg-agent.c:2049
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "經手程式 0x%lx (用於 fd %d) 已終止\n"
 
-#: agent/gpg-agent.c:1824
+#: agent/gpg-agent.c:2069
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "ssh 經手程式 0x%lx (用於 fd %d) 已啟動\n"
 
-#: agent/gpg-agent.c:1829
+#: agent/gpg-agent.c:2074
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh 經手程式 0x%lx (用於 fd %d) 已終止\n"
 
-#: agent/gpg-agent.c:1973 scd/scdaemon.c:1248
+#: agent/gpg-agent.c:2233 scd/scdaemon.c:1268
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select 失敗: %s - 等 1 秒鐘\n"
 
-#: agent/gpg-agent.c:2096 scd/scdaemon.c:1315
+#: agent/gpg-agent.c:2356 scd/scdaemon.c:1335
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s 已停止\n"
 
-#: agent/gpg-agent.c:2232
+#: agent/gpg-agent.c:2492
 msgid "no gpg-agent running in this session\n"
 msgstr "在此階段中沒有執行中的 gpg-agent\n"
 
-#: agent/gpg-agent.c:2243 common/simple-pwquery.c:352 common/asshelp.c:403
+#: agent/gpg-agent.c:2503 common/simple-pwquery.c:352 common/asshelp.c:403
 #: tools/gpg-connect-agent.c:2168
 msgid "malformed GPG_AGENT_INFO environment variable\n"
-msgstr "被變造的 GPG_AGENT_INFO 環境變數\n"
+msgstr "格式不對的 GPG_AGENT_INFO 環境變數\n"
 
-#: agent/gpg-agent.c:2256 common/simple-pwquery.c:364 common/asshelp.c:415
+#: agent/gpg-agent.c:2516 common/simple-pwquery.c:364 common/asshelp.c:415
 #: tools/gpg-connect-agent.c:2179
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
 msgstr "gpg-agent 協定版本 %d 未被支援\n"
 
-#: agent/preset-passphrase.c:98
+#: agent/preset-passphrase.c:101
 msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
 msgstr "用法: gpg-preset-passphrase [選項] 金鑰鑰柄 (或用 -h 求助)\n"
 
-#: agent/preset-passphrase.c:101
+#: agent/preset-passphrase.c:104
 msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
@@ -615,7 +629,7 @@ msgstr ""
 "語法: gpg-preset-passphrase [選項] 金鑰鑰柄\n"
 "密碼快取維護\n"
 
-#: agent/protect-tool.c:113 g10/gpg.c:373 kbx/kbxutil.c:71 sm/gpgsm.c:186
+#: agent/protect-tool.c:114 g10/gpg.c:378 kbx/kbxutil.c:71 sm/gpgsm.c:186
 #: tools/gpgconf.c:60
 msgid ""
 "@Commands:\n"
@@ -624,7 +638,7 @@ msgstr ""
 "@指令:\n"
 " "
 
-#: agent/protect-tool.c:127 g10/gpg.c:441 g10/gpgv.c:69 kbx/kbxutil.c:81
+#: agent/protect-tool.c:128 g10/gpg.c:446 g10/gpgv.c:69 kbx/kbxutil.c:81
 #: sm/gpgsm.c:226 tools/gpg-connect-agent.c:67 tools/gpgconf.c:77
 #: tools/symcryptrun.c:159
 msgid ""
@@ -636,11 +650,11 @@ msgstr ""
 "選項:\n"
 " "
 
-#: agent/protect-tool.c:166
+#: agent/protect-tool.c:167
 msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
 msgstr "用法: gpg-protect-tool [選項] (或用 -h 求助)\n"
 
-#: agent/protect-tool.c:168
+#: agent/protect-tool.c:169
 msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
@@ -648,21 +662,21 @@ msgstr ""
 "語法: gpg-protect-tool [選項] [引數]\n"
 "私鑰維護工具\n"
 
-#: agent/protect-tool.c:1162
+#: agent/protect-tool.c:1166
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "請輸入密語來取消 PKCS#12 物件的保護."
 
-#: agent/protect-tool.c:1167
+#: agent/protect-tool.c:1171
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "請輸入密語來保護新的 PKCS#12 物件."
 
-#: agent/protect-tool.c:1173
+#: agent/protect-tool.c:1177
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr "請輸入密語以保護匯入至 GnuPG 系統內的物件."
 
-#: agent/protect-tool.c:1178
+#: agent/protect-tool.c:1182
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -670,15 +684,15 @@ msgstr ""
 "請輸入完成這項操作所需的\n"
 "密語或個人識別碼 (PIN)."
 
-#: agent/protect-tool.c:1183 tools/symcryptrun.c:437
+#: agent/protect-tool.c:1187 tools/symcryptrun.c:437
 msgid "Passphrase:"
 msgstr "密語:"
 
-#: agent/protect-tool.c:1188 tools/symcryptrun.c:448
+#: agent/protect-tool.c:1192 tools/symcryptrun.c:448
 msgid "cancelled\n"
 msgstr "已取消\n"
 
-#: agent/protect-tool.c:1190 tools/symcryptrun.c:444
+#: agent/protect-tool.c:1194 tools/symcryptrun.c:444
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "詢問密語時出錯: %s\n"
@@ -791,8 +805,8 @@ msgstr "更改密語"
 msgid "I'll change it later"
 msgstr "我稍後再變更"
 
-#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1475
-#: tools/gpgconf-comp.c:1814
+#: common/exechelp.c:528 common/exechelp.c:625 tools/gpgconf-comp.c:1485
+#: tools/gpgconf-comp.c:1824
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "建立管道時出錯: %s\n"
@@ -832,12 +846,12 @@ msgstr "執行 `%s' 時出錯: 可能尚未安裝\n"
 msgid "error running `%s': terminated\n"
 msgstr "執行 `%s' 時出錯: 已終止\n"
 
-#: common/http.c:1674
+#: common/http.c:1682
 #, c-format
 msgid "error creating socket: %s\n"
 msgstr "建立 socket 時出錯: %s\n"
 
-#: common/http.c:1718
+#: common/http.c:1733
 msgid "host not found"
 msgstr "找不到主機"
 
@@ -866,17 +880,17 @@ msgstr "由使用者取消\n"
 msgid "problem with the agent\n"
 msgstr "代理程式的問題\n"
 
-#: common/sysutils.c:105
+#: common/sysutils.c:111
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "無法讓系統停止傾印核心檔: %s\n"
 
-#: common/sysutils.c:200
+#: common/sysutils.c:206
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "警告: %s 的所有權 \"%s\" 並不安全\n"
 
-#: common/sysutils.c:232
+#: common/sysutils.c:238
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "警告: %s 的權限 \"%s\" 並不安全\n"
@@ -1091,11 +1105,11 @@ msgstr "憑證鏈有效"
 msgid "Root certificate trustworthy"
 msgstr "根憑證可信賴"
 
-#: common/audit.c:1111 sm/certchain.c:935
+#: common/audit.c:1111 sm/certchain.c:991
 msgid "no CRL found for certificate"
 msgstr "找不到用於憑證的 CRL"
 
-#: common/audit.c:1114 sm/certchain.c:945
+#: common/audit.c:1114 sm/certchain.c:1001
 msgid "the available CRL is too old"
 msgstr "可用的 CRL 太舊了"
 
@@ -1169,7 +1183,7 @@ msgstr "未預期的封裝: "
 msgid "invalid dash escaped line: "
 msgstr "無效的破折號逸出列: "
 
-#: g10/armor.c:810 g10/armor.c:1420
+#: g10/armor.c:810 g10/armor.c:1434
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "無效的 64 進位字符 %02x 已跳過\n"
@@ -1184,9 +1198,9 @@ msgstr "檔案未預期的結束 (CRC 的部分未結束)\n"
 
 #: g10/armor.c:895
 msgid "malformed CRC\n"
-msgstr "CRC 被變造過\n"
+msgstr "格式不對的 CRC\n"
 
-#: g10/armor.c:899 g10/armor.c:1457
+#: g10/armor.c:899 g10/armor.c:1471
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "CRC 錯誤; %06lX - %06lX\n"
@@ -1199,16 +1213,16 @@ msgstr "檔案未預期的結束 (於結尾處)\n"
 msgid "error in trailer line\n"
 msgstr "結尾列有問題\n"
 
-#: g10/armor.c:1234
+#: g10/armor.c:1248
 msgid "no valid OpenPGP data found.\n"
 msgstr "找不到有效的 OpenPGP 資料.\n"
 
-#: g10/armor.c:1239
+#: g10/armor.c:1253
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "無效的封裝: 列長超出 %d 字符\n"
 
-#: g10/armor.c:1243
+#: g10/armor.c:1257
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr "封裝裡出現被引號括住的可列印字符 - 可能是有瑕疵的送信程式造成的\n"
@@ -1239,7 +1253,7 @@ msgstr "警告: 找到無效的標記資料\n"
 msgid "not human readable"
 msgstr "不是人類能讀得懂的"
 
-#: g10/card-util.c:85 g10/card-util.c:374
+#: g10/card-util.c:85 g10/card-util.c:375
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "沒有可用的 OpenPGP 卡片: %s\n"
@@ -1249,8 +1263,8 @@ msgstr "沒有可用的 OpenPGP 卡片: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "偵測到 OpenPGP 卡片編號 %s\n"
 
-#: g10/card-util.c:98 g10/card-util.c:1773 g10/delkey.c:126 g10/keyedit.c:1551
-#: g10/keygen.c:3068 g10/revoke.c:216 g10/revoke.c:455
+#: g10/card-util.c:98 g10/card-util.c:1774 g10/delkey.c:126 g10/keyedit.c:1551
+#: g10/keygen.c:3076 g10/revoke.c:216 g10/revoke.c:455
 msgid "can't do this in batch mode\n"
 msgstr "無法在批次模式中這樣做\n"
 
@@ -1258,155 +1272,155 @@ msgstr "無法在批次模式中這樣做\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "祇有第二版卡片纔能用這個指令\n"
 
-#: g10/card-util.c:108 scd/app-openpgp.c:2029
+#: g10/card-util.c:108 scd/app-openpgp.c:2146
 msgid "Reset Code not or not anymore available\n"
 msgstr "(再也) 沒有重設碼\n"
 
-#: g10/card-util.c:141 g10/card-util.c:1458 g10/card-util.c:1568
-#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1630
-#: g10/keygen.c:1711 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
+#: g10/card-util.c:141 g10/card-util.c:1459 g10/card-util.c:1569
+#: g10/keyedit.c:424 g10/keyedit.c:445 g10/keyedit.c:459 g10/keygen.c:1637
+#: g10/keygen.c:1718 sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:249
 #: sm/certreqgen-ui.c:283
 msgid "Your selection? "
 msgstr "你要選哪一個? "
 
-#: g10/card-util.c:272 g10/card-util.c:322
+#: g10/card-util.c:273 g10/card-util.c:323
 msgid "[not set]"
 msgstr "[未設定]"
 
-#: g10/card-util.c:512
+#: g10/card-util.c:513
 msgid "male"
 msgstr "男性"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "female"
 msgstr "女性"
 
-#: g10/card-util.c:513
+#: g10/card-util.c:514
 msgid "unspecified"
 msgstr "未特定"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "not forced"
 msgstr "不強迫使用"
 
-#: g10/card-util.c:540
+#: g10/card-util.c:541
 msgid "forced"
 msgstr "強迫使用"
 
-#: g10/card-util.c:631
+#: g10/card-util.c:632
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "錯誤: 目前祇允許使用單純的 ASCII 字符.\n"
 
-#: g10/card-util.c:633
+#: g10/card-util.c:634
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "錯誤: 不能使用 \"<\" 字符.\n"
 
-#: g10/card-util.c:635
+#: g10/card-util.c:636
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "錯誤: 並不允許使用連續兩個以上的空格.\n"
 
-#: g10/card-util.c:652
+#: g10/card-util.c:653
 msgid "Cardholder's surname: "
 msgstr "卡片持有者的姓氏: "
 
-#: g10/card-util.c:654
+#: g10/card-util.c:655
 msgid "Cardholder's given name: "
 msgstr "卡片持有者的名字: "
 
-#: g10/card-util.c:672
+#: g10/card-util.c:673
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "錯誤: 合併後的名字太長 (上限是 %d 個字符).\n"
 
-#: g10/card-util.c:693
+#: g10/card-util.c:694
 msgid "URL to retrieve public key: "
 msgstr "取回公鑰的 URL: "
 
-#: g10/card-util.c:701
+#: g10/card-util.c:702
 #, c-format
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "錯誤: URL 太長 (上限是 %d 個字符).\n"
 
-#: g10/card-util.c:794 tools/no-libgcrypt.c:30
+#: g10/card-util.c:795 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "配置足夠的記憶體時出錯: %s\n"
 
-#: g10/card-util.c:806 g10/import.c:280
+#: g10/card-util.c:807 g10/import.c:291
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "讀取 `%s' 時出錯: %s\n"
 
-#: g10/card-util.c:839
+#: g10/card-util.c:840
 #, c-format
 msgid "error writing `%s': %s\n"
 msgstr "寫入 `%s' 時出錯: %s\n"
 
-#: g10/card-util.c:866
+#: g10/card-util.c:867
 msgid "Login data (account name): "
 msgstr "登入資料 (帳號名稱): "
 
-#: g10/card-util.c:876
+#: g10/card-util.c:877
 #, c-format
 msgid "Error: Login data too long (limit is %d characters).\n"
 msgstr "錯誤: 登入資料太長 (上限是 %d 個字符).\n"
 
-#: g10/card-util.c:912
+#: g10/card-util.c:913
 msgid "Private DO data: "
 msgstr "私人的 DO 資料: "
 
-#: g10/card-util.c:922
+#: g10/card-util.c:923
 #, c-format
 msgid "Error: Private DO too long (limit is %d characters).\n"
 msgstr "錯誤: 私人的 DO 太長 (上限是 %d 個字符).\n"
 
-#: g10/card-util.c:1005
+#: g10/card-util.c:1006
 msgid "Language preferences: "
 msgstr "介面語言偏好設定: "
 
-#: g10/card-util.c:1013
+#: g10/card-util.c:1014
 msgid "Error: invalid length of preference string.\n"
 msgstr "錯誤: 無效的偏好設定字串長度\n"
 
-#: g10/card-util.c:1022
+#: g10/card-util.c:1023
 msgid "Error: invalid characters in preference string.\n"
 msgstr "錯誤: 偏好設定字串中含有無效的字符\n"
 
-#: g10/card-util.c:1044
+#: g10/card-util.c:1045
 msgid "Sex ((M)ale, (F)emale or space): "
 msgstr "性別 ((M)男性, (F)女性或留空): "
 
-#: g10/card-util.c:1058
+#: g10/card-util.c:1059
 msgid "Error: invalid response.\n"
 msgstr "錯誤: 無效的回應.\n"
 
-#: g10/card-util.c:1080
+#: g10/card-util.c:1081
 msgid "CA fingerprint: "
 msgstr "憑證中心 (CA) 指紋: "
 
-#: g10/card-util.c:1103
+#: g10/card-util.c:1104
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "錯誤: 無效的格式化指紋.\n"
 
-#: g10/card-util.c:1153
+#: g10/card-util.c:1154
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "不可能進行金鑰操作: %s\n"
 
-#: g10/card-util.c:1154
+#: g10/card-util.c:1155
 msgid "not an OpenPGP card"
 msgstr "這不是 OpenPGP 卡片"
 
-#: g10/card-util.c:1167
+#: g10/card-util.c:1168
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "取得現用金鑰資訊時出錯: %s\n"
 
-#: g10/card-util.c:1254
+#: g10/card-util.c:1255
 msgid "Replace existing key? (y/N) "
 msgstr "是否要取代既有的金鑰? (y/N) "
 
-#: g10/card-util.c:1270
+#: g10/card-util.c:1271
 msgid ""
 "NOTE: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1416,55 +1430,55 @@ msgstr ""
 "      如果金鑰產生失敗了, 煩請查閱你卡片上的文件,\n"
 "      看看這張卡片支援哪些尺寸.\n"
 
-#: g10/card-util.c:1295
+#: g10/card-util.c:1296
 #, c-format
 msgid "What keysize do you want for the Signature key? (%u) "
 msgstr "你的簽署金鑰想要用多大的金鑰尺寸? (%u) "
 
-#: g10/card-util.c:1297
+#: g10/card-util.c:1298
 #, c-format
 msgid "What keysize do you want for the Encryption key? (%u) "
 msgstr "你的加密金鑰想要用多大的金鑰尺寸? (%u) "
 
-#: g10/card-util.c:1298
+#: g10/card-util.c:1299
 #, c-format
 msgid "What keysize do you want for the Authentication key? (%u) "
 msgstr "你的認證金鑰想要用多大的金鑰尺寸? (%u) "
 
-#: g10/card-util.c:1309 g10/keygen.c:1844 g10/keygen.c:1850
+#: g10/card-util.c:1310 g10/keygen.c:1851 g10/keygen.c:1857
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "加大到 %u 位元\n"
 
-#: g10/card-util.c:1317 g10/keygen.c:1831 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1318 g10/keygen.c:1838 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s 金鑰尺寸一定要介於 %u 到 %u 之間\n"
 
-#: g10/card-util.c:1322
+#: g10/card-util.c:1323
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
 
-#: g10/card-util.c:1342
+#: g10/card-util.c:1343
 #, c-format
 msgid "error changing size of key %d to %u bits: %s\n"
 msgstr "將金鑰 %d 尺寸變更至 %u 位元時出錯: %s\n"
 
-#: g10/card-util.c:1364
+#: g10/card-util.c:1365
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "是否要為加密用金鑰建立卡外備份? (Y/n) "
 
-#: g10/card-util.c:1378
+#: g10/card-util.c:1379
 msgid "NOTE: keys are already stored on the card!\n"
 msgstr "請注意: 金鑰已經存放在卡片上了!\n"
 
-#: g10/card-util.c:1381
+#: g10/card-util.c:1382
 msgid "Replace existing keys? (y/N) "
 msgstr "是否要取代既有的金鑰? (y/N) "
 
-#: g10/card-util.c:1393
+#: g10/card-util.c:1394
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1475,129 +1489,129 @@ msgstr ""
 "   PIN = `%s'     管理者 PIN = `%s'\n"
 "你應該用 --change-pin 指令來加以變更\n"
 
-#: g10/card-util.c:1449
+#: g10/card-util.c:1450
 msgid "Please select the type of key to generate:\n"
 msgstr "請選擇你要產生的金鑰種類:\n"
 
-#: g10/card-util.c:1451 g10/card-util.c:1559
+#: g10/card-util.c:1452 g10/card-util.c:1560
 msgid "   (1) Signature key\n"
 msgstr "   (1) 簽署用金鑰\n"
 
-#: g10/card-util.c:1452 g10/card-util.c:1561
+#: g10/card-util.c:1453 g10/card-util.c:1562
 msgid "   (2) Encryption key\n"
 msgstr "   (2) 加密用金鑰\n"
 
-#: g10/card-util.c:1453 g10/card-util.c:1563
+#: g10/card-util.c:1454 g10/card-util.c:1564
 msgid "   (3) Authentication key\n"
 msgstr "   (3) 憑證用金鑰\n"
 
-#: g10/card-util.c:1469 g10/card-util.c:1588 g10/keyedit.c:945
-#: g10/keygen.c:1634 g10/keygen.c:1662 g10/keygen.c:1764 g10/revoke.c:683
+#: g10/card-util.c:1470 g10/card-util.c:1589 g10/keyedit.c:945
+#: g10/keygen.c:1641 g10/keygen.c:1669 g10/keygen.c:1771 g10/revoke.c:683
 msgid "Invalid selection.\n"
 msgstr "無效的選擇.\n"
 
-#: g10/card-util.c:1556
+#: g10/card-util.c:1557
 msgid "Please select where to store the key:\n"
 msgstr "請選擇要把金鑰存放在哪裡:\n"
 
-#: g10/card-util.c:1600
+#: g10/card-util.c:1601
 msgid "unknown key protection algorithm\n"
 msgstr "未知的金鑰保護演算法\n"
 
-#: g10/card-util.c:1605
+#: g10/card-util.c:1606
 msgid "secret parts of key are not available\n"
 msgstr "私鑰部分無法取用\n"
 
-#: g10/card-util.c:1610
+#: g10/card-util.c:1611
 msgid "secret key already stored on a card\n"
 msgstr "私鑰已經存放在卡片上了\n"
 
-#: g10/card-util.c:1623
+#: g10/card-util.c:1624
 #, c-format
 msgid "error writing key to card: %s\n"
 msgstr "金鑰寫入卡片時出錯: %s\n"
 
-#: g10/card-util.c:1682 g10/keyedit.c:1382
+#: g10/card-util.c:1683 g10/keyedit.c:1382
 msgid "quit this menu"
 msgstr "離開這個選單"
 
-#: g10/card-util.c:1684
+#: g10/card-util.c:1685
 msgid "show admin commands"
 msgstr "顯示管理者指令"
 
-#: g10/card-util.c:1685 g10/keyedit.c:1385
+#: g10/card-util.c:1686 g10/keyedit.c:1385
 msgid "show this help"
 msgstr "顯示這份線上說明"
 
-#: g10/card-util.c:1687
+#: g10/card-util.c:1688
 msgid "list all available data"
 msgstr "列出所有可用的資料"
 
-#: g10/card-util.c:1690
+#: g10/card-util.c:1691
 msgid "change card holder's name"
 msgstr "變更卡片持有人的名字"
 
-#: g10/card-util.c:1691
+#: g10/card-util.c:1692
 msgid "change URL to retrieve key"
 msgstr "變更取回金鑰的 URL"
 
-#: g10/card-util.c:1692
+#: g10/card-util.c:1693
 msgid "fetch the key specified in the card URL"
 msgstr "從卡片 URL 取回指定的金鑰"
 
-#: g10/card-util.c:1693
+#: g10/card-util.c:1694
 msgid "change the login name"
 msgstr "變更登入名稱"
 
-#: g10/card-util.c:1694
+#: g10/card-util.c:1695
 msgid "change the language preferences"
 msgstr "變更介面語言偏好設定"
 
-#: g10/card-util.c:1695
+#: g10/card-util.c:1696
 msgid "change card holder's sex"
 msgstr "變更卡片持有者的性別"
 
-#: g10/card-util.c:1696
+#: g10/card-util.c:1697
 msgid "change a CA fingerprint"
 msgstr "變更某個憑證中心 (CA) 的指紋"
 
-#: g10/card-util.c:1697
+#: g10/card-util.c:1698
 msgid "toggle the signature force PIN flag"
 msgstr "切換簽章是否強制使用個人識別碼 (PIN) 的旗標"
 
-#: g10/card-util.c:1698
+#: g10/card-util.c:1699
 msgid "generate new keys"
 msgstr "產生新的金鑰"
 
-#: g10/card-util.c:1699
+#: g10/card-util.c:1700
 msgid "menu to change or unblock the PIN"
 msgstr "變更或重設個人識別碼 (PIN) 的選單"
 
-#: g10/card-util.c:1700
+#: g10/card-util.c:1701
 msgid "verify the PIN and list all data"
 msgstr "驗證個人識別碼 (PIN) 並列出所有的資料"
 
-#: g10/card-util.c:1701
+#: g10/card-util.c:1702
 msgid "unblock the PIN using a Reset Code"
 msgstr "用重設碼來解凍個人識別碼 (PIN)"
 
-#: g10/card-util.c:1823
+#: g10/card-util.c:1824
 msgid "gpg/card> "
 msgstr "gpg/卡片> "
 
-#: g10/card-util.c:1864
+#: g10/card-util.c:1865
 msgid "Admin-only command\n"
 msgstr "限管理者使用的指令\n"
 
-#: g10/card-util.c:1895
+#: g10/card-util.c:1896
 msgid "Admin commands are allowed\n"
 msgstr "允許使用管理者指令\n"
 
-#: g10/card-util.c:1897
+#: g10/card-util.c:1898
 msgid "Admin commands are not allowed\n"
 msgstr "未允許使用管理者指令\n"
 
-#: g10/card-util.c:1988 g10/keyedit.c:2292
+#: g10/card-util.c:1989 g10/keyedit.c:2296
 msgid "Invalid command  (try \"help\")\n"
 msgstr "無效的指令  (試試看 \"help\")\n"
 
@@ -1605,18 +1619,18 @@ msgstr "無效的指令  (試試看 \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output 在這個指令中沒有作用\n"
 
-#: g10/decrypt.c:166 g10/gpg.c:4019 g10/keyring.c:387 g10/keyring.c:698
+#: g10/decrypt.c:166 g10/gpg.c:4042 g10/keyring.c:387 g10/keyring.c:698
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "無法開啟 `%s'\n"
 
-#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:3514 g10/keyserver.c:1737
-#: g10/revoke.c:226
+#: g10/delkey.c:73 g10/export.c:324 g10/keyedit.c:1572 g10/keyedit.c:3518
+#: g10/keyserver.c:1839 g10/revoke.c:226
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "找不到金鑰 \"%s\": %s\n"
 
-#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2480 g10/keyserver.c:1751
+#: g10/delkey.c:81 g10/export.c:354 g10/import.c:2533 g10/keyserver.c:1853
 #: g10/revoke.c:232 g10/revoke.c:477
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -1712,7 +1726,7 @@ msgstr "警告: 強迫使用 %s (%d) 壓縮演算法會違反收件者偏好設
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "強迫使用 %s (%d) 對稱式編密法會違反收件者偏好設定\n"
 
-#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:862
+#: g10/encode.c:821 g10/pkclist.c:813 g10/pkclist.c:867
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "你不能夠將 %s 用於 %s 模式中\n"
@@ -1722,72 +1736,72 @@ msgstr "你不能夠將 %s 用於 %s 模式中\n"
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s 已加密給: \"%s\"\n"
 
-#: g10/encr-data.c:93 g10/mainproc.c:286
+#: g10/encr-data.c:93 g10/mainproc.c:297
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s 已加密的資料\n"
 
-#: g10/encr-data.c:96 g10/mainproc.c:290
+#: g10/encr-data.c:96 g10/mainproc.c:301
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "以 %d 未知演算法所加密\n"
 
-#: g10/encr-data.c:142 sm/decrypt.c:126
+#: g10/encr-data.c:159 sm/decrypt.c:126
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr "警告: 訊息已用對稱式編密法的弱金鑰加密了.\n"
 
-#: g10/encr-data.c:154
+#: g10/encr-data.c:171
 msgid "problem handling encrypted packet\n"
 msgstr "處理已加密封包有問題\n"
 
-#: g10/exec.c:57
+#: g10/exec.c:60
 msgid "no remote program execution supported\n"
 msgstr "沒有支援的遠端程式執行\n"
 
-#: g10/exec.c:308
+#: g10/exec.c:311
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr "因為不安全的檔案權限選項, 而禁用了外部程式叫用\n"
 
-#: g10/exec.c:338
+#: g10/exec.c:341
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "在這個作業平台上叫用外部程式時需要暫存檔\n"
 
-#: g10/exec.c:416
+#: g10/exec.c:419
 #, c-format
 msgid "unable to execute program `%s': %s\n"
 msgstr "無法執行程式 `%s': %s\n"
 
-#: g10/exec.c:419
+#: g10/exec.c:422
 #, c-format
 msgid "unable to execute shell `%s': %s\n"
 msgstr "無法執行 shell `%s': %s\n"
 
-#: g10/exec.c:510
+#: g10/exec.c:513
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "叫用外部程式時發生系統錯誤: %s\n"
 
-#: g10/exec.c:521 g10/exec.c:588
+#: g10/exec.c:524 g10/exec.c:591
 msgid "unnatural exit of external program\n"
 msgstr "外部程式不自然地離開\n"
 
-#: g10/exec.c:536
+#: g10/exec.c:539
 msgid "unable to execute external program\n"
 msgstr "無法執行外部程式\n"
 
-#: g10/exec.c:553
+#: g10/exec.c:556
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "無法讀取外部程式回應: %s\n"
 
-#: g10/exec.c:599 g10/exec.c:606
+#: g10/exec.c:602 g10/exec.c:609
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgstr "警告: 無法移除暫存檔 (%s) `%s': %s\n"
 
-#: g10/exec.c:611
+#: g10/exec.c:614
 #, c-format
 msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgstr "警告: 無法移除暫存目錄 `%s': %s\n"
@@ -1880,191 +1894,191 @@ msgstr "取得 `%s' 於 %s 時出錯: %s\n"
 msgid "No fingerprint"
 msgstr "沒有指紋"
 
-#: g10/getkey.c:1930
+#: g10/getkey.c:1936
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "無效的金鑰 %s 可以藉由 --allow-non-selfsigned-uid 而生效\n"
 
-#: g10/getkey.c:2533 g10/keyedit.c:3839
+#: g10/getkey.c:2539 g10/keyedit.c:3843
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr "公鑰 %s 沒有相對應的私鑰 - 正在忽略\n"
 
-#: g10/getkey.c:2759
+#: g10/getkey.c:2765
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "使用子鑰 %s 來替換主鑰 %s\n"
 
-#: g10/getkey.c:2806
+#: g10/getkey.c:2812
 #, c-format
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "金鑰 %s: 祇有私鑰而沒有公鑰 - 已跳過\n"
 
-#: g10/gpg.c:375 sm/gpgsm.c:188
+#: g10/gpg.c:380 sm/gpgsm.c:188
 msgid "make a signature"
 msgstr "建立簽章"
 
-#: g10/gpg.c:376 sm/gpgsm.c:189
+#: g10/gpg.c:381 sm/gpgsm.c:189
 msgid "make a clear text signature"
 msgstr "建立明文簽章"
 
-#: g10/gpg.c:377 sm/gpgsm.c:190
+#: g10/gpg.c:382 sm/gpgsm.c:190
 msgid "make a detached signature"
 msgstr "建立分離式簽章"
 
-#: g10/gpg.c:378 sm/gpgsm.c:191
+#: g10/gpg.c:383 sm/gpgsm.c:191
 msgid "encrypt data"
 msgstr "加密資料"
 
-#: g10/gpg.c:380 sm/gpgsm.c:192
+#: g10/gpg.c:385 sm/gpgsm.c:192
 msgid "encryption only with symmetric cipher"
 msgstr "僅使用對稱式編密法來加密"
 
-#: g10/gpg.c:382 sm/gpgsm.c:193
+#: g10/gpg.c:387 sm/gpgsm.c:193
 msgid "decrypt data (default)"
 msgstr "資料解密 (預設)"
 
-#: g10/gpg.c:384 sm/gpgsm.c:194
+#: g10/gpg.c:389 sm/gpgsm.c:194
 msgid "verify a signature"
 msgstr "驗證簽章"
 
-#: g10/gpg.c:386 sm/gpgsm.c:195
+#: g10/gpg.c:391 sm/gpgsm.c:195
 msgid "list keys"
 msgstr "列出金鑰"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:393
 msgid "list keys and signatures"
 msgstr "列出金鑰和簽章"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:394
 msgid "list and check key signatures"
 msgstr "列出並檢查金鑰簽章"
 
-#: g10/gpg.c:390 sm/gpgsm.c:200
+#: g10/gpg.c:395 sm/gpgsm.c:200
 msgid "list keys and fingerprints"
 msgstr "列出金鑰和指紋"
 
-#: g10/gpg.c:391 sm/gpgsm.c:198
+#: g10/gpg.c:396 sm/gpgsm.c:198
 msgid "list secret keys"
 msgstr "列出私鑰"
 
-#: g10/gpg.c:392 sm/gpgsm.c:201
+#: g10/gpg.c:397 sm/gpgsm.c:201
 msgid "generate a new key pair"
 msgstr "產生新的金鑰對"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:398
 msgid "generate a revocation certificate"
 msgstr "產生撤銷憑證"
 
-#: g10/gpg.c:395 sm/gpgsm.c:203
+#: g10/gpg.c:400 sm/gpgsm.c:203
 msgid "remove keys from the public keyring"
 msgstr "從公鑰鑰匙圈裡移除金鑰"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:402
 msgid "remove keys from the secret keyring"
 msgstr "從私鑰鑰匙圈裡移除金鑰"
 
-#: g10/gpg.c:398
+#: g10/gpg.c:403
 msgid "sign a key"
 msgstr "簽署金鑰"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:404
 msgid "sign a key locally"
 msgstr "僅在本機簽署金鑰"
 
-#: g10/gpg.c:400
+#: g10/gpg.c:405
 msgid "sign or edit a key"
 msgstr "簽署或編輯金鑰"
 
-#: g10/gpg.c:402 sm/gpgsm.c:215
+#: g10/gpg.c:407 sm/gpgsm.c:215
 msgid "change a passphrase"
 msgstr "更改密語"
 
-#: g10/gpg.c:404
+#: g10/gpg.c:409
 msgid "export keys"
 msgstr "匯出金鑰"
 
-#: g10/gpg.c:405 sm/gpgsm.c:204
+#: g10/gpg.c:410 sm/gpgsm.c:204
 msgid "export keys to a key server"
 msgstr "把金鑰匯出至金鑰伺服器"
 
-#: g10/gpg.c:406 sm/gpgsm.c:205
+#: g10/gpg.c:411 sm/gpgsm.c:205
 msgid "import keys from a key server"
 msgstr "從金鑰伺服器匯入金鑰"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:413
 msgid "search for keys on a key server"
 msgstr "在金鑰伺服器上搜尋金鑰"
 
-#: g10/gpg.c:410
+#: g10/gpg.c:415
 msgid "update all keys from a keyserver"
 msgstr "從金鑰伺服器更新所有的金鑰"
 
-#: g10/gpg.c:415
+#: g10/gpg.c:420
 msgid "import/merge keys"
 msgstr "匯入/合併金鑰"
 
-#: g10/gpg.c:418
+#: g10/gpg.c:423
 msgid "print the card status"
 msgstr "列印卡片狀態"
 
-#: g10/gpg.c:419
+#: g10/gpg.c:424
 msgid "change data on a card"
 msgstr "變更卡片上的資料"
 
-#: g10/gpg.c:420
+#: g10/gpg.c:425
 msgid "change a card's PIN"
 msgstr "變更卡片的個人識別碼 (PIN)"
 
-#: g10/gpg.c:429
+#: g10/gpg.c:434
 msgid "update the trust database"
 msgstr "更新信任資料庫"
 
-#: g10/gpg.c:436
+#: g10/gpg.c:441
 msgid "print message digests"
 msgstr "印出訊息摘要"
 
-#: g10/gpg.c:439 sm/gpgsm.c:210
+#: g10/gpg.c:444 sm/gpgsm.c:210
 msgid "run in server mode"
 msgstr "以伺服器模式執行"
 
-#: g10/gpg.c:443 sm/gpgsm.c:228
+#: g10/gpg.c:448 sm/gpgsm.c:228
 msgid "create ascii armored output"
 msgstr "建立以 ASCII 封裝過的輸出"
 
-#: g10/gpg.c:446 sm/gpgsm.c:241
+#: g10/gpg.c:451 sm/gpgsm.c:241
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|使用者-ID|以「使用者-ID」作為加密對象"
 
-#: g10/gpg.c:459 sm/gpgsm.c:278
+#: g10/gpg.c:464 sm/gpgsm.c:278
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|使用者-ID|拿「使用者-ID」來簽署或解密"
 
-#: g10/gpg.c:462
+#: g10/gpg.c:467
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|設定壓縮等級為 N (0 表示不壓縮)"
 
-#: g10/gpg.c:468
+#: g10/gpg.c:473
 msgid "use canonical text mode"
 msgstr "使用標準的文字模式"
 
-#: g10/gpg.c:485 sm/gpgsm.c:280
+#: g10/gpg.c:490 sm/gpgsm.c:280
 msgid "|FILE|write output to FILE"
 msgstr "|檔案|將輸出寫入至「檔案」"
 
-#: g10/gpg.c:501 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
+#: g10/gpg.c:506 kbx/kbxutil.c:90 sm/gpgsm.c:292 tools/gpgconf.c:82
 msgid "do not make any changes"
 msgstr "不要做任何改變"
 
-#: g10/gpg.c:502
+#: g10/gpg.c:507
 msgid "prompt before overwriting"
 msgstr "覆寫前先詢問"
 
-#: g10/gpg.c:554
+#: g10/gpg.c:559
 msgid "use strict OpenPGP behavior"
 msgstr "使用嚴謹的 OpenPGP 行為"
 
-#: g10/gpg.c:585 sm/gpgsm.c:336
+#: g10/gpg.c:590 sm/gpgsm.c:336
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2072,7 +2086,7 @@ msgstr ""
 "@\n"
 "(請參照線上說明頁面來取得所有命令和選項的完整清單)\n"
 
-#: g10/gpg.c:588 sm/gpgsm.c:339
+#: g10/gpg.c:593 sm/gpgsm.c:339
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2092,21 +2106,21 @@ msgstr ""
 " --list-keys [名字]         顯示金鑰\n"
 " --fingerprint [名字]       顯示指紋\n"
 
-#: g10/gpg.c:836
+#: g10/gpg.c:842
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "用法: gpg [選項] [檔案] (或用 -h 求助)"
 
-#: g10/gpg.c:839
+#: g10/gpg.c:845
 msgid ""
 "Syntax: gpg [options] [files]\n"
-"sign, check, encrypt or decrypt\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "語法: gpg [選項] [檔案]\n"
 "簽署, 檢查, 加密或解密\n"
 "預設的操作會依輸入資料而定\n"
 
-#: g10/gpg.c:850 sm/gpgsm.c:543
+#: g10/gpg.c:856 sm/gpgsm.c:543
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2114,543 +2128,543 @@ msgstr ""
 "\n"
 "已支援的演算法:\n"
 
-#: g10/gpg.c:853
+#: g10/gpg.c:859
 msgid "Pubkey: "
 msgstr "公鑰: "
 
-#: g10/gpg.c:860 g10/keyedit.c:2423
+#: g10/gpg.c:866 g10/keyedit.c:2427
 msgid "Cipher: "
 msgstr "編密法: "
 
-#: g10/gpg.c:867
+#: g10/gpg.c:873
 msgid "Hash: "
 msgstr "雜湊: "
 
-#: g10/gpg.c:874 g10/keyedit.c:2468
+#: g10/gpg.c:880 g10/keyedit.c:2472
 msgid "Compression: "
 msgstr "壓縮: "
 
-#: g10/gpg.c:944
+#: g10/gpg.c:949
 msgid "usage: gpg [options] "
 msgstr "用法: gpg [選項] "
 
-#: g10/gpg.c:1158 sm/gpgsm.c:716
+#: g10/gpg.c:1163 sm/gpgsm.c:716
 msgid "conflicting commands\n"
 msgstr "指令彼此矛盾\n"
 
-#: g10/gpg.c:1176
+#: g10/gpg.c:1181
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "在群組定義 `%s' 裡找不到 = 記號\n"
 
-#: g10/gpg.c:1373
+#: g10/gpg.c:1378
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "警告: 家目錄 `%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1376
+#: g10/gpg.c:1381
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "警告: 組態檔案 `%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1379
+#: g10/gpg.c:1384
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "警告: 延伸模組 `%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1385
+#: g10/gpg.c:1390
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "警告: 家目錄 `%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1388
+#: g10/gpg.c:1393
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "警告: 組態檔案 `%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1391
+#: g10/gpg.c:1396
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "警告: 延伸模組 `%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1397
+#: g10/gpg.c:1402
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgstr "警告: 家目錄 `%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1400
+#: g10/gpg.c:1405
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
 msgstr "警告: 組態檔案 `%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1403
+#: g10/gpg.c:1408
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgstr "警告: 延伸模組 `%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1409
+#: g10/gpg.c:1414
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgstr "警告: 家目錄 `%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1412
+#: g10/gpg.c:1417
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
 msgstr "警告: 組態檔案 `%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1415
+#: g10/gpg.c:1420
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgstr "警告: 延伸模組 `%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1595
+#: g10/gpg.c:1600
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "未知的組態項目 `%s'\n"
 
-#: g10/gpg.c:1699
+#: g10/gpg.c:1704
 msgid "display photo IDs during key listings"
 msgstr "列出金鑰時顯示照片 ID"
 
-#: g10/gpg.c:1701
+#: g10/gpg.c:1706
 msgid "show policy URLs during signature listings"
 msgstr "列出簽章時顯示原則 URL"
 
-#: g10/gpg.c:1703
+#: g10/gpg.c:1708
 msgid "show all notations during signature listings"
 msgstr "列出簽章時顯示所有的註記"
 
-#: g10/gpg.c:1705
+#: g10/gpg.c:1710
 msgid "show IETF standard notations during signature listings"
 msgstr "列出簽章時顯示 IETF 標準註記"
 
-#: g10/gpg.c:1709
+#: g10/gpg.c:1714
 msgid "show user-supplied notations during signature listings"
 msgstr "列出簽章時顯示使用者提供的註記"
 
-#: g10/gpg.c:1711
+#: g10/gpg.c:1716
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "列出簽章時顯示偏好的金鑰伺服器 URL"
 
-#: g10/gpg.c:1713
+#: g10/gpg.c:1718
 msgid "show user ID validity during key listings"
 msgstr "列出金鑰時顯示使用者 ID 有效性"
 
-#: g10/gpg.c:1715
+#: g10/gpg.c:1720
 msgid "show revoked and expired user IDs in key listings"
 msgstr "列出金鑰時顯示已撤銷或過期的使用者 ID"
 
-#: g10/gpg.c:1717
+#: g10/gpg.c:1722
 msgid "show revoked and expired subkeys in key listings"
 msgstr "列出金鑰時顯示已撤銷或過期的子鑰"
 
-#: g10/gpg.c:1719
+#: g10/gpg.c:1724
 msgid "show the keyring name in key listings"
 msgstr "在金鑰清單中顯示鑰匙圈名稱"
 
-#: g10/gpg.c:1721
+#: g10/gpg.c:1726
 msgid "show expiration dates during signature listings"
 msgstr "列出簽章時顯示有效期限"
 
-#: g10/gpg.c:1855
+#: g10/gpg.c:1860
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "請注意: 已忽略舊有的預設選項檔 `%s'\n"
 
-#: g10/gpg.c:1948
+#: g10/gpg.c:1953
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr "libgcrypt 太舊了 (需要 %s, 但是祇有 %s)\n"
 
-#: g10/gpg.c:2346 g10/gpg.c:3037 g10/gpg.c:3049
+#: g10/gpg.c:2355 g10/gpg.c:3050 g10/gpg.c:3062
 #, c-format
 msgid "NOTE: %s is not for normal use!\n"
 msgstr "請注意: 一般情況下不會用到 %s!\n"
 
-#: g10/gpg.c:2530 g10/gpg.c:2542
+#: g10/gpg.c:2539 g10/gpg.c:2551
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' 不是個有效的簽章使用期限\n"
 
-#: g10/gpg.c:2624
+#: g10/gpg.c:2633
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' 不是個有效的字元集\n"
 
-#: g10/gpg.c:2647 g10/gpg.c:2842 g10/keyedit.c:4197
+#: g10/gpg.c:2656 g10/gpg.c:2851 g10/keyedit.c:4201
 msgid "could not parse keyserver URL\n"
 msgstr "無法剖析金鑰伺服器 URL\n"
 
-#: g10/gpg.c:2659
+#: g10/gpg.c:2668
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: 無效的金鑰伺服器選項\n"
 
-#: g10/gpg.c:2662
+#: g10/gpg.c:2671
 msgid "invalid keyserver options\n"
 msgstr "無效的金鑰伺服器選項\n"
 
-#: g10/gpg.c:2669
+#: g10/gpg.c:2678
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: 無效的匯入選項\n"
 
-#: g10/gpg.c:2672
+#: g10/gpg.c:2681
 msgid "invalid import options\n"
 msgstr "無效的匯入選項\n"
 
-#: g10/gpg.c:2679
+#: g10/gpg.c:2688
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: 無效的匯出選項\n"
 
-#: g10/gpg.c:2682
+#: g10/gpg.c:2691
 msgid "invalid export options\n"
 msgstr "無效的匯出選項\n"
 
-#: g10/gpg.c:2689
+#: g10/gpg.c:2698
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: 無效的清單選項\n"
 
-#: g10/gpg.c:2692
+#: g10/gpg.c:2701
 msgid "invalid list options\n"
 msgstr "無效的清單選項\n"
 
-#: g10/gpg.c:2700
+#: g10/gpg.c:2709
 msgid "display photo IDs during signature verification"
 msgstr "驗證簽章時顯示照片 ID"
 
-#: g10/gpg.c:2702
+#: g10/gpg.c:2711
 msgid "show policy URLs during signature verification"
 msgstr "驗證簽章時顯示原則 URL"
 
-#: g10/gpg.c:2704
+#: g10/gpg.c:2713
 msgid "show all notations during signature verification"
 msgstr "驗證簽章時顯示所有的註記"
 
-#: g10/gpg.c:2706
+#: g10/gpg.c:2715
 msgid "show IETF standard notations during signature verification"
 msgstr "驗證簽章時顯示 IETF 標準註記"
 
-#: g10/gpg.c:2710
+#: g10/gpg.c:2719
 msgid "show user-supplied notations during signature verification"
 msgstr "驗證簽章時顯示使用者提供的註記"
 
-#: g10/gpg.c:2712
+#: g10/gpg.c:2721
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "驗證簽章時顯示偏好的金鑰伺服器 URL"
 
-#: g10/gpg.c:2714
+#: g10/gpg.c:2723
 msgid "show user ID validity during signature verification"
 msgstr "驗證簽章時顯示使用者 ID 有效性"
 
-#: g10/gpg.c:2716
+#: g10/gpg.c:2725
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "驗證簽章時顯示已撤銷或過期的使用者 ID"
 
-#: g10/gpg.c:2718
+#: g10/gpg.c:2727
 msgid "show only the primary user ID in signature verification"
 msgstr "驗證簽章時祇顯示主要的使用者 ID"
 
-#: g10/gpg.c:2720
+#: g10/gpg.c:2729
 msgid "validate signatures with PKA data"
 msgstr "以 PKA 資料驗證簽章"
 
-#: g10/gpg.c:2722
+#: g10/gpg.c:2731
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "提高對持有有效 PKA 資料之簽章的信任"
 
-#: g10/gpg.c:2729
+#: g10/gpg.c:2738
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: 無效的驗證選項\n"
 
-#: g10/gpg.c:2732
+#: g10/gpg.c:2741
 msgid "invalid verify options\n"
 msgstr "無效的驗證選項\n"
 
-#: g10/gpg.c:2739
+#: g10/gpg.c:2748
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "無法把執行檔路徑設成 %s\n"
 
-#: g10/gpg.c:2925
+#: g10/gpg.c:2934
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: 無效的自動金鑰定址清單\n"
 
-#: g10/gpg.c:2928
+#: g10/gpg.c:2937
 msgid "invalid auto-key-locate list\n"
 msgstr "無效的自動金鑰定址清單\n"
 
-#: g10/gpg.c:3026 sm/gpgsm.c:1439
+#: g10/gpg.c:3039 sm/gpgsm.c:1442
 msgid "WARNING: program may create a core file!\n"
 msgstr "警告: 程式可能會傾印出核心檔!\n"
 
-#: g10/gpg.c:3030
+#: g10/gpg.c:3043
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "警告: %s 會推翻 %s\n"
 
-#: g10/gpg.c:3039
+#: g10/gpg.c:3052
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s 不允許跟 %s 併用!\n"
 
-#: g10/gpg.c:3042
+#: g10/gpg.c:3055
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s 跟 %s 放在一起沒有意義!\n"
 
-#: g10/gpg.c:3057
+#: g10/gpg.c:3070
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "因為 %s 而不會在不安全的記憶體中執行\n"
 
-#: g10/gpg.c:3071
+#: g10/gpg.c:3084
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr "你祇有在 --pgp2 模式下纔能做出分離式或明文簽章\n"
 
-#: g10/gpg.c:3077
+#: g10/gpg.c:3090
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr "你在 --pgp2 模式下時, 不能同時簽署和加密\n"
 
-#: g10/gpg.c:3083
+#: g10/gpg.c:3096
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr "啟用 --pgp2 時你祇應該使用檔案, 而非管道\n"
 
-#: g10/gpg.c:3096
+#: g10/gpg.c:3109
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr "在 --pgp2 模式下加密訊息需要 IDEA 編密法\n"
 
-#: g10/gpg.c:3163 g10/gpg.c:3187 sm/gpgsm.c:1511
+#: g10/gpg.c:3177 g10/gpg.c:3201 sm/gpgsm.c:1514
 msgid "selected cipher algorithm is invalid\n"
 msgstr "所選的編密演算法無效\n"
 
-#: g10/gpg.c:3169 g10/gpg.c:3193 sm/gpgsm.c:1517 sm/gpgsm.c:1523
+#: g10/gpg.c:3183 g10/gpg.c:3207 sm/gpgsm.c:1520 sm/gpgsm.c:1526
 msgid "selected digest algorithm is invalid\n"
 msgstr "所選的摘要演算法無效\n"
 
-#: g10/gpg.c:3175
+#: g10/gpg.c:3189
 msgid "selected compression algorithm is invalid\n"
 msgstr "所選的壓縮演算法無效\n"
 
-#: g10/gpg.c:3181
+#: g10/gpg.c:3195
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "所選的憑證摘要演算法無效\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3210
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed 一定要大於 0\n"
 
-#: g10/gpg.c:3198
+#: g10/gpg.c:3212
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed 一定要大於 1\n"
 
-#: g10/gpg.c:3200
+#: g10/gpg.c:3214
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth 一定要介於 1 和 255 之間\n"
 
-#: g10/gpg.c:3202
+#: g10/gpg.c:3216
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "無效的 default-cert-level; 一定要是 0, 1, 2 或 3\n"
 
-#: g10/gpg.c:3204
+#: g10/gpg.c:3218
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "無效的 min-cert-level; 一定要是 1, 2 或 3\n"
 
-#: g10/gpg.c:3207
+#: g10/gpg.c:3221
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "請注意: 強烈不建議使用單純的 S2K 模式 (0)\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3225
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "無效的 S2K 模式; 一定要是 0, 1 或 3\n"
 
-#: g10/gpg.c:3218
+#: g10/gpg.c:3232
 msgid "invalid default preferences\n"
 msgstr "無效的預設偏好\n"
 
-#: g10/gpg.c:3222
+#: g10/gpg.c:3236
 msgid "invalid personal cipher preferences\n"
 msgstr "無效的個人編密法偏好\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3240
 msgid "invalid personal digest preferences\n"
 msgstr "無效的個人摘要偏好\n"
 
-#: g10/gpg.c:3230
+#: g10/gpg.c:3244
 msgid "invalid personal compress preferences\n"
 msgstr "無效的個人壓縮偏好\n"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3277
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s 還沒辦法跟 %s 一起運作\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3324
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr "你不該將 `%s' 編密演算法用於 %s 模式中\n"
 
-#: g10/gpg.c:3315
+#: g10/gpg.c:3329
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "你不該將 `%s' 摘要演算法用於 %s 模式中\n"
 
-#: g10/gpg.c:3320
+#: g10/gpg.c:3334
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr "你不該將 `%s' 壓縮演算法用於 %s 模式中\n"
 
-#: g10/gpg.c:3406
+#: g10/gpg.c:3429
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "信任資料庫啟始失敗: %s\n"
 
-#: g10/gpg.c:3417
+#: g10/gpg.c:3440
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "警告: 給定的收件者 (-r) 未使用公鑰加密\n"
 
-#: g10/gpg.c:3438
+#: g10/gpg.c:3461
 msgid "--store [filename]"
 msgstr "--store [檔名]"
 
-#: g10/gpg.c:3445
+#: g10/gpg.c:3468
 msgid "--symmetric [filename]"
 msgstr "--symmetric [檔名]"
 
-#: g10/gpg.c:3447
+#: g10/gpg.c:3470
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "`%s' 對稱式加密失敗: %s\n"
 
-#: g10/gpg.c:3457
+#: g10/gpg.c:3480
 msgid "--encrypt [filename]"
 msgstr "--encrypt [檔名]"
 
-#: g10/gpg.c:3470
+#: g10/gpg.c:3493
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [檔名]"
 
-#: g10/gpg.c:3472
+#: g10/gpg.c:3495
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "你不能在 --s2k-mode 0 中使用 --symmetric --encrypt\n"
 
-#: g10/gpg.c:3475
+#: g10/gpg.c:3498
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "你不能在 %s 模式中使用 --symmetric --encrypt\n"
 
-#: g10/gpg.c:3493
+#: g10/gpg.c:3516
 msgid "--sign [filename]"
 msgstr "--sign [檔名]"
 
-#: g10/gpg.c:3506
+#: g10/gpg.c:3529
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [檔名]"
 
-#: g10/gpg.c:3521
+#: g10/gpg.c:3544
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [檔名]"
 
-#: g10/gpg.c:3523
+#: g10/gpg.c:3546
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "你不能在 --s2k-mode 0 中使用 --symmetric --sign --encrypt\n"
 
-#: g10/gpg.c:3526
+#: g10/gpg.c:3549
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr "你不能在 %s 模式中使用 --symmetric --sign --encrypt\n"
 
-#: g10/gpg.c:3546
+#: g10/gpg.c:3569
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [檔名]"
 
-#: g10/gpg.c:3555
+#: g10/gpg.c:3578
 msgid "--clearsign [filename]"
 msgstr "--clearsign [檔名]"
 
-#: g10/gpg.c:3580
+#: g10/gpg.c:3603
 msgid "--decrypt [filename]"
 msgstr "--decrypt [檔名]"
 
-#: g10/gpg.c:3588
+#: g10/gpg.c:3611
 msgid "--sign-key user-id"
 msgstr "--sign-key 使用者ID"
 
-#: g10/gpg.c:3592
+#: g10/gpg.c:3615
 msgid "--lsign-key user-id"
 msgstr "--lsign-key 使用者ID"
 
-#: g10/gpg.c:3613
+#: g10/gpg.c:3636
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key 使用者ID [指令]"
 
-#: g10/gpg.c:3629
+#: g10/gpg.c:3652
 msgid "--passwd <user-id>"
 msgstr "--passwd 使用者ID"
 
-#: g10/gpg.c:3716
+#: g10/gpg.c:3739
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "送至金鑰伺服器失敗: %s\n"
 
-#: g10/gpg.c:3718
+#: g10/gpg.c:3741
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "從金鑰伺服器接收失敗: %s\n"
 
-#: g10/gpg.c:3720
+#: g10/gpg.c:3743
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "金鑰匯出失敗: %s\n"
 
-#: g10/gpg.c:3731
+#: g10/gpg.c:3754
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "用金鑰伺服器搜尋失敗: %s\n"
 
-#: g10/gpg.c:3741
+#: g10/gpg.c:3764
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "從金鑰伺服器更新失敗: %s\n"
 
-#: g10/gpg.c:3792
+#: g10/gpg.c:3815
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "解開封裝失敗: %s\n"
 
-#: g10/gpg.c:3800
+#: g10/gpg.c:3823
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "進行封裝失敗: %s\n"
 
-#: g10/gpg.c:3890
+#: g10/gpg.c:3913
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "無效的 `%s' 雜湊演算法\n"
 
-#: g10/gpg.c:4005
+#: g10/gpg.c:4028
 msgid "[filename]"
 msgstr "[檔名]"
 
-#: g10/gpg.c:4009
+#: g10/gpg.c:4032
 msgid "Go ahead and type your message ...\n"
 msgstr "請開始輸入你的訊息 ...\n"
 
-#: g10/gpg.c:4323
+#: g10/gpg.c:4346
 msgid "the given certification policy URL is invalid\n"
 msgstr "給定的的憑證原則 URL 無效\n"
 
-#: g10/gpg.c:4325
+#: g10/gpg.c:4348
 msgid "the given signature policy URL is invalid\n"
 msgstr "給定的簽章原則 URL 無效\n"
 
-#: g10/gpg.c:4358
+#: g10/gpg.c:4381
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "給定的偏好金鑰伺服器 URL 無效\n"
 
@@ -2687,384 +2701,400 @@ msgstr "沒有可用的說明"
 msgid "No help available for `%s'"
 msgstr "`%s' 沒有可用的說明"
 
-#: g10/import.c:94
+#: g10/import.c:97
 msgid "import signatures that are marked as local-only"
 msgstr "匯入標記為僅限本機使用的簽章"
 
-#: g10/import.c:96
+#: g10/import.c:99
 msgid "repair damage from the pks keyserver during import"
 msgstr "匯入時修復來自 pks 金鑰伺服器的損壞"
 
-#: g10/import.c:98
+#: g10/import.c:101
 msgid "do not update the trustdb after import"
 msgstr "匯入後不要更新信任資料庫"
 
-#: g10/import.c:100
+#: g10/import.c:103
 msgid "create a public key when importing a secret key"
 msgstr "匯入私鑰時亦建立公鑰"
 
-#: g10/import.c:102
+#: g10/import.c:105
 msgid "only accept updates to existing keys"
 msgstr "祇接受既有金鑰的更新"
 
-#: g10/import.c:104
+#: g10/import.c:107
 msgid "remove unusable parts from key after import"
 msgstr "匯入後從金鑰中移除無法使用的部分"
 
-#: g10/import.c:106
+#: g10/import.c:109
 msgid "remove as much as possible from key after import"
 msgstr "匯入後盡可能地從金鑰中移除"
 
-#: g10/import.c:266
+#: g10/import.c:277
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "正在跳過 %d 型態的區塊\n"
 
-#: g10/import.c:275
+#: g10/import.c:286
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "目前已處理 %lu 把金鑰\n"
 
-#: g10/import.c:292
+#: g10/import.c:303
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "處理總量: %lu\n"
 
-#: g10/import.c:294
+#: g10/import.c:305
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        已跳過的新金鑰: %lu\n"
 
-#: g10/import.c:297
+#: g10/import.c:308
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "       沒有使用者的 ID: %lu\n"
 
-#: g10/import.c:299 sm/import.c:114
+#: g10/import.c:310 sm/import.c:114
 #, c-format
 msgid "              imported: %lu"
 msgstr "                已匯入: %lu"
 
-#: g10/import.c:305 sm/import.c:118
+#: g10/import.c:316 sm/import.c:118
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              未改變的: %lu\n"
 
-#: g10/import.c:307
+#: g10/import.c:318
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         新的使用者 ID: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:320
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              新的子鑰: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:322
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              新的簽章: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:324
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          新的金鑰撤銷: %lu\n"
 
-#: g10/import.c:315 sm/import.c:120
+#: g10/import.c:326 sm/import.c:120
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "          已讀取的私鑰: %lu\n"
 
-#: g10/import.c:317 sm/import.c:122
+#: g10/import.c:328 sm/import.c:122
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "          已匯入的私鑰: %lu\n"
 
-#: g10/import.c:319 sm/import.c:124
+#: g10/import.c:330 sm/import.c:124
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "          未改變的私鑰: %lu\n"
 
-#: g10/import.c:321 sm/import.c:126
+#: g10/import.c:332 sm/import.c:126
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              未被匯入: %lu\n"
 
-#: g10/import.c:323
+#: g10/import.c:334
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "      已清除的簽章: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:336
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " 已清除的使用者 ID: %lu\n"
 
-#: g10/import.c:606
+#: g10/import.c:638
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr "警告: 金鑰 %s 的偏好設定含有這些使用者 ID 無法使用的演算法:\n"
 
-#: g10/import.c:647
+#: g10/import.c:679
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": 編密演算法 %s 的偏好設定\n"
 
-#: g10/import.c:662
+#: g10/import.c:694
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": 摘要演算法 %s 的偏好設定\n"
 
-#: g10/import.c:674
+#: g10/import.c:706
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": 壓縮演算法 %s 的偏好設定\n"
 
-#: g10/import.c:687
+#: g10/import.c:719
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "我們強烈建議你更新偏好設定, 並重新\n"
 
-#: g10/import.c:689
+#: g10/import.c:721
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "散佈此金鑰, 以避免潛在的演算法不一致問題.\n"
 
-#: g10/import.c:713
+#: g10/import.c:745
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "你可以像這樣來更新偏好設定: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:766 g10/import.c:1179
+#: g10/import.c:798 g10/import.c:1231
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "金鑰 %s: 沒有使用者 ID\n"
 
-#: g10/import.c:795
+#: g10/import.c:804
+#, fuzzy, c-format
+#| msgid "skipped \"%s\": %s\n"
+msgid "key %s: %s\n"
+msgstr "已跳過 \"%s\": %s\n"
+
+#: g10/import.c:805 g10/import.c:1206
+msgid "rejected by import filter"
+msgstr ""
+
+#: g10/import.c:834
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "金鑰 %s: PKS 子鑰的訛誤已被修復\n"
 
-#: g10/import.c:810
+#: g10/import.c:849
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "金鑰 %s: 已接受非自我簽署的使用者 ID \"%s\"\n"
 
-#: g10/import.c:816
+#: g10/import.c:855
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "金鑰 %s: 沒有有效的使用者 ID\n"
 
-#: g10/import.c:818
+#: g10/import.c:857
 msgid "this may be caused by a missing self-signature\n"
 msgstr "這可能肇因於遺失自我簽章所致\n"
 
-#: g10/import.c:828 g10/import.c:1303
+#: g10/import.c:867 g10/import.c:1356
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "金鑰 %s: 找不到公鑰: %s\n"
 
-#: g10/import.c:834
+#: g10/import.c:873
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "金鑰 %s: 新的金鑰 - 已跳過\n"
 
-#: g10/import.c:843
+#: g10/import.c:882
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "找不到可寫入的鑰匙圈: %s\n"
 
-#: g10/import.c:848 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
+#: g10/import.c:887 g10/openfile.c:278 g10/sign.c:805 g10/sign.c:1114
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "寫入 `%s' 中\n"
 
-#: g10/import.c:852 g10/import.c:952 g10/import.c:1219 g10/import.c:1364
-#: g10/import.c:2494 g10/import.c:2516
+#: g10/import.c:891 g10/import.c:991 g10/import.c:1271 g10/import.c:1417
+#: g10/import.c:2547 g10/import.c:2569
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "寫入鑰匙圈 `%s' 時出錯: %s\n"
 
-#: g10/import.c:871
+#: g10/import.c:910
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "金鑰 %s: 公鑰 \"%s\" 已匯入\n"
 
-#: g10/import.c:895
+#: g10/import.c:934
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "金鑰 %s: 跟我們的副本不吻合\n"
 
-#: g10/import.c:912 g10/import.c:1321
+#: g10/import.c:951 g10/import.c:1374
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "金鑰 %s: 無法定址原始的金鑰區塊: %s\n"
 
-#: g10/import.c:920 g10/import.c:1328
+#: g10/import.c:959 g10/import.c:1381
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "金鑰 %s: 無法讀取原始的金鑰區塊: %s\n"
 
-#: g10/import.c:962
+#: g10/import.c:1001
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "金鑰 %s: \"%s\" 1 個新的使用者 ID\n"
 
-#: g10/import.c:965
+#: g10/import.c:1004
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "金鑰 %s: \"%s\" %d 個新的使用者 ID\n"
 
-#: g10/import.c:968
+#: g10/import.c:1007
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "金鑰 %s: \"%s\" 1 份新的簽章\n"
 
-#: g10/import.c:971
+#: g10/import.c:1010
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "金鑰 %s: \"%s\" %d 份新的簽章\n"
 
-#: g10/import.c:974
+#: g10/import.c:1013
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "金鑰 %s: \"%s\" 1 把新的子鑰\n"
 
-#: g10/import.c:977
+#: g10/import.c:1016
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "金鑰 %s: \"%s\" %d 把新的子鑰\n"
 
-#: g10/import.c:980
+#: g10/import.c:1019
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 份簽章\n"
 
-#: g10/import.c:983
+#: g10/import.c:1022
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 份簽章\n"
 
-#: g10/import.c:986
+#: g10/import.c:1025
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 個使用者 ID\n"
 
-#: g10/import.c:989
+#: g10/import.c:1028
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 個使用者 ID\n"
 
-#: g10/import.c:1013
+#: g10/import.c:1052
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "金鑰 %s: \"%s\" 未改變\n"
 
-#: g10/import.c:1185
-#, c-format
-msgid "key %s: secret key with invalid cipher %d - skipped\n"
-msgstr "金鑰 %s: 私鑰使用了無效的 %d 編密法 - 已跳過\n"
+#: g10/import.c:1205
+#, fuzzy, c-format
+#| msgid "secret key \"%s\" not found: %s\n"
+msgid "secret key %s: %s\n"
+msgstr "找不到私鑰 \"%s\": %s\n"
 
-#: g10/import.c:1196
+#: g10/import.c:1225 g10/import.c:1248
 msgid "importing secret keys not allowed\n"
 msgstr "未允許匯入私鑰\n"
 
-#: g10/import.c:1213 g10/import.c:2509
+#: g10/import.c:1237
+#, c-format
+msgid "key %s: secret key with invalid cipher %d - skipped\n"
+msgstr "金鑰 %s: 私鑰使用了無效的 %d 編密法 - 已跳過\n"
+
+#: g10/import.c:1265 g10/import.c:2562
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "沒有預設的私鑰鑰匙圈: %s\n"
 
-#: g10/import.c:1224
+#: g10/import.c:1276
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "金鑰 %s: 私鑰已匯入\n"
 
-#: g10/import.c:1254
+#: g10/import.c:1307
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "金鑰 %s: 已在私鑰鑰匙圈之中了\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1317
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "金鑰 %s: 找不到私鑰: %s\n"
 
-#: g10/import.c:1296
+#: g10/import.c:1349
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "金鑰 %s: 沒有公鑰 - 無法套用撤銷憑證\n"
 
-#: g10/import.c:1339
+#: g10/import.c:1392
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "金鑰 %s: 無效的撤銷憑證: %s - 已駁回\n"
 
-#: g10/import.c:1371
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "金鑰 %s: \"%s\" 撤銷憑證已匯入\n"
 
-#: g10/import.c:1447
+#: g10/import.c:1500
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "金鑰 %s: 簽章沒有使用者 ID\n"
 
-#: g10/import.c:1464
+#: g10/import.c:1517
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 用了未支援的公鑰演算法\n"
 
-#: g10/import.c:1466
+#: g10/import.c:1519
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 的自我簽章無效\n"
 
-#: g10/import.c:1483 g10/import.c:1509 g10/import.c:1560
+#: g10/import.c:1536 g10/import.c:1562 g10/import.c:1613
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "金鑰 %s: 未支援的公鑰演算法\n"
 
-#: g10/import.c:1484
+#: g10/import.c:1537
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "金鑰 %s: 無效的直接金鑰簽章\n"
 
-#: g10/import.c:1498
+#: g10/import.c:1551
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "金鑰 %s: 沒有可供附帶的子鑰\n"
 
-#: g10/import.c:1511
+#: g10/import.c:1564
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "金鑰 %s: 無效的附帶子鑰\n"
 
-#: g10/import.c:1527
+#: g10/import.c:1580
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "金鑰 %s: 多重附帶子鑰已移除\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1602
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "金鑰 %s: 沒有子鑰可供金鑰撤銷\n"
 
-#: g10/import.c:1562
+#: g10/import.c:1615
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "金鑰 %s: 無效的子鑰撤銷\n"
 
-#: g10/import.c:1577
+#: g10/import.c:1630
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "金鑰 %s: 多重子鑰撤銷已移除\n"
 
-#: g10/import.c:1618
+#: g10/import.c:1671
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 已跳過\n"
 
-#: g10/import.c:1639
+#: g10/import.c:1692
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "金鑰 %s: 子鑰已跳過\n"
@@ -3073,84 +3103,84 @@ msgstr "金鑰 %s: 子鑰已跳過\n"
 #  * to import non-exportable signature when we have the
 #  * the secret key used to create this signature - it
 #  * seems that this makes sense
-#: g10/import.c:1666
+#: g10/import.c:1719
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "金鑰 %s: 不可匯出的簽章 (等級 0x%02X) - 已跳過\n"
 
-#: g10/import.c:1676
+#: g10/import.c:1729
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "金鑰 %s: 撤銷憑證在錯誤的地方 - 已跳過\n"
 
-#: g10/import.c:1693
+#: g10/import.c:1746
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "金鑰 %s: 無效的撤銷憑證: %s - 已跳過\n"
 
-#: g10/import.c:1707
+#: g10/import.c:1760
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "金鑰 %s: 子鑰簽章在錯誤的地方 - 已跳過\n"
 
-#: g10/import.c:1715
+#: g10/import.c:1768
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "金鑰 %s: 非預期的簽章等級 (0x%02X) - 已跳過\n"
 
-#: g10/import.c:1844
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "金鑰 %s: 偵測到重複的使用者 ID - 已合併\n"
 
-#: g10/import.c:1906
+#: g10/import.c:1959
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "警告: 金鑰 %s 可能被撤銷了: 正在取回撤銷金鑰 %s\n"
 
-#: g10/import.c:1920
+#: g10/import.c:1973
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "警告: 金鑰 %s 可能被撤銷了: 撤銷金鑰 %s 未出現.\n"
 
-#: g10/import.c:1979
+#: g10/import.c:2032
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "金鑰 %s: 已新增 \"%s\" 撤銷憑證\n"
 
-#: g10/import.c:2013
+#: g10/import.c:2066
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "金鑰 %s: 已新增直接金鑰簽章\n"
 
-#: g10/import.c:2414
+#: g10/import.c:2467
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr "請注意: 金鑰的序號 (S/N) 與卡片上的並不一致\n"
 
-#: g10/import.c:2422
+#: g10/import.c:2475
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "請注意: 主鑰在線上且已存放於卡片上了\n"
 
-#: g10/import.c:2424
+#: g10/import.c:2477
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "請注意: 子鑰在線上且已存放於卡片上了\n"
 
-#: g10/keydb.c:181
+#: g10/keydb.c:182
 #, c-format
 msgid "error creating keyring `%s': %s\n"
 msgstr "建立 `%s' 鑰匙圈時出錯: %s\n"
 
-#: g10/keydb.c:187
+#: g10/keydb.c:188
 #, c-format
 msgid "keyring `%s' created\n"
 msgstr "`%s' 鑰匙圈已建立\n"
 
-#: g10/keydb.c:333 g10/keydb.c:336
+#: g10/keydb.c:348 g10/keydb.c:351
 #, c-format
 msgid "keyblock resource `%s': %s\n"
 msgstr "`%s' 金鑰區塊資源: %s\n"
 
-#: g10/keydb.c:719
+#: g10/keydb.c:749
 #, c-format
 msgid "failed to rebuild keyring cache: %s\n"
 msgstr "重新建立鑰匙圈快取失敗: %s\n"
@@ -3239,12 +3269,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "使用者 ID \"%s\" 已撤銷."
 
 #: g10/keyedit.c:607 g10/keyedit.c:635 g10/keyedit.c:662 g10/keyedit.c:830
-#: g10/keyedit.c:895 g10/keyedit.c:1785
+#: g10/keyedit.c:895 g10/keyedit.c:1789
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "你仍然想要簽署它嗎? (y/N) "
 
 #: g10/keyedit.c:621 g10/keyedit.c:649 g10/keyedit.c:676 g10/keyedit.c:836
-#: g10/keyedit.c:1791
+#: g10/keyedit.c:1795
 msgid "  Unable to sign.\n"
 msgstr "  無法簽署.\n"
 
@@ -3426,8 +3456,8 @@ msgstr "我非常小心地檢查過這把金鑰了.\n"
 msgid "Really sign? (y/N) "
 msgstr "真的要簽署嗎? (y/N)"
 
-#: g10/keyedit.c:1066 g10/keyedit.c:4965 g10/keyedit.c:5056 g10/keyedit.c:5120
-#: g10/keyedit.c:5181 g10/sign.c:316
+#: g10/keyedit.c:1066 g10/keyedit.c:4969 g10/keyedit.c:5060 g10/keyedit.c:5124
+#: g10/keyedit.c:5185 g10/sign.c:316
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "簽署時失敗: %s\n"
@@ -3436,19 +3466,19 @@ msgstr "簽署時失敗: %s\n"
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "金鑰祇剩下殘骸或者祇含有卡上金鑰項目 - 沒有可變更的密語.\n"
 
-#: g10/keyedit.c:1142 g10/keygen.c:3774
+#: g10/keyedit.c:1142 g10/keygen.c:3782
 msgid "This key is not protected.\n"
 msgstr "這把金鑰未被保護.\n"
 
-#: g10/keyedit.c:1146 g10/keygen.c:3761 g10/revoke.c:536
+#: g10/keyedit.c:1146 g10/keygen.c:3769 g10/revoke.c:536
 msgid "Secret parts of primary key are not available.\n"
 msgstr "主鑰的私鑰部分無法取用.\n"
 
-#: g10/keyedit.c:1150 g10/keygen.c:3777
+#: g10/keyedit.c:1150 g10/keygen.c:3785
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "主鑰的私鑰部分存放於卡上.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3781
+#: g10/keyedit.c:1156 g10/keygen.c:3789
 msgid "Key is protected.\n"
 msgstr "金鑰已保護.\n"
 
@@ -3465,7 +3495,7 @@ msgstr ""
 "請輸入要給這把私鑰用的新密語.\n"
 "\n"
 
-#: g10/keyedit.c:1207 g10/keygen.c:2291
+#: g10/keyedit.c:1207 g10/keygen.c:2299
 msgid "passphrase not correctly repeated; try again"
 msgstr "前後兩次輸入的密語不一致; 請再試一次"
 
@@ -3637,24 +3667,24 @@ msgstr "從金鑰中精簡無法使用的使用者 ID 並移除無法使用的
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "從金鑰中精簡無法使用的使用者 ID 並移除所有的簽章"
 
-#: g10/keyedit.c:1601
+#: g10/keyedit.c:1605
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "讀取私鑰區塊 \"%s\" 時出錯: %s\n"
 
-#: g10/keyedit.c:1619
+#: g10/keyedit.c:1623
 msgid "Secret key is available.\n"
 msgstr "私鑰可用.\n"
 
-#: g10/keyedit.c:1702
+#: g10/keyedit.c:1706
 msgid "Need the secret key to do this.\n"
 msgstr "要有私鑰纔能這麼做.\n"
 
-#: g10/keyedit.c:1710
+#: g10/keyedit.c:1714
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "請先使用 \"toggle\" 指令.\n"
 
-#: g10/keyedit.c:1729
+#: g10/keyedit.c:1733
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3665,225 +3695,225 @@ msgstr ""
 "  加上 `t' 的話就是信任簽章 (tsign), 加上 `nr' 的話就是不可撤銷簽章\n"
 "  (nrsign), 當然也可以任意組合這些選項 (像是 ltsign, tnrsign 等等.).\n"
 
-#: g10/keyedit.c:1779
+#: g10/keyedit.c:1783
 msgid "Key is revoked."
 msgstr "金鑰已撤銷."
 
-#: g10/keyedit.c:1798
+#: g10/keyedit.c:1802
 msgid "Really sign all user IDs? (y/N) "
 msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1805
+#: g10/keyedit.c:1809
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "提示: 選擇使用者 ID 來加以簽署\n"
 
-#: g10/keyedit.c:1814
+#: g10/keyedit.c:1818
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "未知的 `%s' 簽章種類\n"
 
-#: g10/keyedit.c:1837
+#: g10/keyedit.c:1841
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "在 %s 模式中不允許使用這個指令.\n"
 
-#: g10/keyedit.c:1859 g10/keyedit.c:1879 g10/keyedit.c:2048
+#: g10/keyedit.c:1863 g10/keyedit.c:1883 g10/keyedit.c:2052
 msgid "You must select at least one user ID.\n"
 msgstr "你至少得選擇一個使用者 ID.\n"
 
-#: g10/keyedit.c:1861
+#: g10/keyedit.c:1865
 msgid "You can't delete the last user ID!\n"
 msgstr "你不能刪除最後一個使用者 ID!\n"
 
-#: g10/keyedit.c:1863
+#: g10/keyedit.c:1867
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "真的要移除所有被選擇的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1864
+#: g10/keyedit.c:1868
 msgid "Really remove this user ID? (y/N) "
 msgstr "真的要移除這個使用者 ID 嗎? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1917
+#: g10/keyedit.c:1921
 msgid "Really move the primary key? (y/N) "
 msgstr "真的要移動主鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1933
 msgid "You must select exactly one key.\n"
 msgstr "你一定祇得選擇一把金鑰.\n"
 
-#: g10/keyedit.c:1957
+#: g10/keyedit.c:1961
 msgid "Command expects a filename argument\n"
 msgstr "這項指令要拿一個檔名來當作引數\n"
 
-#: g10/keyedit.c:1971
+#: g10/keyedit.c:1975
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "無法開啟 `%s': %s\n"
 
-#: g10/keyedit.c:1988
+#: g10/keyedit.c:1992
 #, c-format
 msgid "Error reading backup key from `%s': %s\n"
 msgstr "從 `%s' 讀取備份金鑰時出錯: %s\n"
 
-#: g10/keyedit.c:2012
+#: g10/keyedit.c:2016
 msgid "You must select at least one key.\n"
 msgstr "你至少得選擇一把金鑰.\n"
 
-#: g10/keyedit.c:2015
+#: g10/keyedit.c:2019
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "你真的想要刪除所選的金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2016
+#: g10/keyedit.c:2020
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "你真的想要刪除這把金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2051
+#: g10/keyedit.c:2055
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "真的要撤銷所有所選的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:2052
+#: g10/keyedit.c:2056
 msgid "Really revoke this user ID? (y/N) "
 msgstr "真的要撤銷這個使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:2070
+#: g10/keyedit.c:2074
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "你真的想要撤銷這整把金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2081
+#: g10/keyedit.c:2085
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "你真的想要撤銷所選的子鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2083
+#: g10/keyedit.c:2087
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "你真的想要撤銷這把子鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2133
+#: g10/keyedit.c:2137
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr "使用使用者所提供的信任資料庫時可能無法設定主觀信任\n"
 
-#: g10/keyedit.c:2175
+#: g10/keyedit.c:2179
 msgid "Set preference list to:\n"
 msgstr "設定偏好清單至:\n"
 
-#: g10/keyedit.c:2181
+#: g10/keyedit.c:2185
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "真的要更新所選使用者 ID 的偏好設定嗎? (y/N) "
 
-#: g10/keyedit.c:2183
+#: g10/keyedit.c:2187
 msgid "Really update the preferences? (y/N) "
 msgstr "真的要更新偏好設定嗎? (y/N) "
 
-#: g10/keyedit.c:2253
+#: g10/keyedit.c:2257
 msgid "Save changes? (y/N) "
 msgstr "要儲存變更嗎? (y/N) "
 
-#: g10/keyedit.c:2256
+#: g10/keyedit.c:2260
 msgid "Quit without saving? (y/N) "
 msgstr "要不儲存就離開嗎? (y/N) "
 
-#: g10/keyedit.c:2266
+#: g10/keyedit.c:2270
 #, c-format
 msgid "update failed: %s\n"
 msgstr "更新失敗: %s\n"
 
-#: g10/keyedit.c:2273 g10/keyedit.c:2351
+#: g10/keyedit.c:2277 g10/keyedit.c:2355
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "更新私鑰失敗: %s\n"
 
-#: g10/keyedit.c:2280
+#: g10/keyedit.c:2284
 msgid "Key not changed so no update needed.\n"
 msgstr "金鑰沒有變更所以不需要更新.\n"
 
-#: g10/keyedit.c:2446
+#: g10/keyedit.c:2450
 msgid "Digest: "
 msgstr "摘要: "
 
-#: g10/keyedit.c:2497
+#: g10/keyedit.c:2501
 msgid "Features: "
 msgstr "特點: "
 
-#: g10/keyedit.c:2508
+#: g10/keyedit.c:2512
 msgid "Keyserver no-modify"
 msgstr "金鑰伺服器無修改"
 
-#: g10/keyedit.c:2523 g10/keylist.c:316
+#: g10/keyedit.c:2527 g10/keylist.c:316
 msgid "Preferred keyserver: "
 msgstr "偏好的金鑰伺服器: "
 
-#: g10/keyedit.c:2531 g10/keyedit.c:2532
+#: g10/keyedit.c:2535 g10/keyedit.c:2536
 msgid "Notations: "
 msgstr "註記: "
 
-#: g10/keyedit.c:2753
+#: g10/keyedit.c:2757
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x 型態的使用者 ID 沒有偏好設定.\n"
 
-#: g10/keyedit.c:2810
+#: g10/keyedit.c:2814
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "下列金鑰已經在 %s 時被 %s 金鑰 %s 所撤銷\n"
 
-#: g10/keyedit.c:2832
+#: g10/keyedit.c:2836
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "這把金鑰可能被 %s 金鑰 %s 所撤銷"
 
-#: g10/keyedit.c:2838
+#: g10/keyedit.c:2842
 msgid "(sensitive)"
 msgstr "(機密)"
 
-#: g10/keyedit.c:2854 g10/keyedit.c:2910 g10/keyedit.c:2971 g10/keyedit.c:2986
-#: g10/keylist.c:202 g10/keyserver.c:532
+#: g10/keyedit.c:2858 g10/keyedit.c:2914 g10/keyedit.c:2975 g10/keyedit.c:2990
+#: g10/keylist.c:202 g10/keyserver.c:539
 #, c-format
 msgid "created: %s"
 msgstr "建立: %s"
 
-#: g10/keyedit.c:2857 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:997
+#: g10/keyedit.c:2861 g10/keylist.c:834 g10/keylist.c:928 g10/mainproc.c:959
 #, c-format
 msgid "revoked: %s"
 msgstr "撤銷: %s"
 
 #  of subkey
-#: g10/keyedit.c:2859 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
+#: g10/keyedit.c:2863 g10/keylist.c:805 g10/keylist.c:840 g10/keylist.c:934
 #, c-format
 msgid "expired: %s"
 msgstr "過期: %s"
 
 #  of subkey
-#: g10/keyedit.c:2861 g10/keyedit.c:2912 g10/keyedit.c:2973 g10/keyedit.c:2988
+#: g10/keyedit.c:2865 g10/keyedit.c:2916 g10/keyedit.c:2977 g10/keyedit.c:2992
 #: g10/keylist.c:204 g10/keylist.c:811 g10/keylist.c:846 g10/keylist.c:940
-#: g10/keylist.c:961 g10/keyserver.c:538 g10/mainproc.c:1003
+#: g10/keylist.c:961 g10/keyserver.c:545 g10/mainproc.c:965
 #, c-format
 msgid "expires: %s"
 msgstr "到期: %s"
 
-#: g10/keyedit.c:2863
+#: g10/keyedit.c:2867
 #, c-format
 msgid "usage: %s"
 msgstr "用途: %s"
 
-#: g10/keyedit.c:2878
+#: g10/keyedit.c:2882
 #, c-format
 msgid "trust: %s"
 msgstr "信任: %s"
 
-#: g10/keyedit.c:2882
+#: g10/keyedit.c:2886
 #, c-format
 msgid "validity: %s"
 msgstr "有效性: %s"
 
-#: g10/keyedit.c:2889
+#: g10/keyedit.c:2893
 msgid "This key has been disabled"
 msgstr "這把金鑰已經停用了"
 
-#: g10/keyedit.c:2917 g10/keylist.c:208
+#: g10/keyedit.c:2921 g10/keylist.c:208
 msgid "card-no: "
 msgstr "卡片編號: "
 
-#: g10/keyedit.c:2941
+#: g10/keyedit.c:2945
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3891,17 +3921,17 @@ msgstr ""
 "請注意顯示出來的金鑰有效性不需要更正,\n"
 "除非你重新執行程式.\n"
 
-#: g10/keyedit.c:3005 g10/keyedit.c:3351 g10/keyserver.c:542
-#: g10/mainproc.c:1850 g10/trustdb.c:1204 g10/trustdb.c:1732
+#: g10/keyedit.c:3009 g10/keyedit.c:3355 g10/keyserver.c:549
+#: g10/mainproc.c:1858 g10/trustdb.c:1238 g10/trustdb.c:1766
 msgid "revoked"
 msgstr "已撤銷"
 
-#: g10/keyedit.c:3007 g10/keyedit.c:3353 g10/keyserver.c:546
-#: g10/mainproc.c:1852 g10/trustdb.c:547 g10/trustdb.c:1734
+#: g10/keyedit.c:3011 g10/keyedit.c:3357 g10/keyserver.c:553
+#: g10/mainproc.c:1860 g10/trustdb.c:548 g10/trustdb.c:1768
 msgid "expired"
 msgstr "已過期"
 
-#: g10/keyedit.c:3072
+#: g10/keyedit.c:3076
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
@@ -3909,7 +3939,7 @@ msgstr ""
 "警告: 沒有任何使用者 ID 被標示為主要 ID. 這項指令可能會\n"
 "      導致不同的使用者 ID 被當成主要 ID.\n"
 
-#: g10/keyedit.c:3133
+#: g10/keyedit.c:3137
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3918,74 +3948,74 @@ msgstr ""
 "警告: 這是一把 PGP2 型態的金鑰.\n"
 "      增加照片 ID 可能會導致某些版本的 PGP 駁回這把金鑰.\n"
 
-#: g10/keyedit.c:3138 g10/keyedit.c:3473
+#: g10/keyedit.c:3142 g10/keyedit.c:3477
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "你確定仍然想要增加嗎? (y/N) "
 
-#: g10/keyedit.c:3144
+#: g10/keyedit.c:3148
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "你不可以把照片 ID 增加到 PGP2 型態的金鑰裡.\n"
 
-#: g10/keyedit.c:3284
+#: g10/keyedit.c:3288
 msgid "Delete this good signature? (y/N/q)"
 msgstr "刪除這份完好的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:3294
+#: g10/keyedit.c:3298
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "刪除這份無效的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:3298
+#: g10/keyedit.c:3302
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "刪除這份未知的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:3304
+#: g10/keyedit.c:3308
 msgid "Really delete this self-signature? (y/N)"
 msgstr "真的要刪除這份自我簽章嗎? (y/N)"
 
-#: g10/keyedit.c:3318
+#: g10/keyedit.c:3322
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "已經刪除了 %d 份簽章.\n"
 
-#: g10/keyedit.c:3319
+#: g10/keyedit.c:3323
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "已經刪除了 %d 份簽章.\n"
 
-#: g10/keyedit.c:3322
+#: g10/keyedit.c:3326
 msgid "Nothing deleted.\n"
 msgstr "沒有刪除任何東西.\n"
 
-#: g10/keyedit.c:3355 g10/trustdb.c:1736
+#: g10/keyedit.c:3359 g10/trustdb.c:1770
 msgid "invalid"
 msgstr "無效"
 
-#: g10/keyedit.c:3357
+#: g10/keyedit.c:3361
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "使用者 ID \"%s\" 已精簡: %s\n"
 
-#: g10/keyedit.c:3364
+#: g10/keyedit.c:3368
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgstr "使用者 ID \"%s\": 已移除 %d 份簽章\n"
 
-#: g10/keyedit.c:3365
+#: g10/keyedit.c:3369
 #, c-format
 msgid "User ID \"%s\": %d signatures removed\n"
 msgstr "使用者 ID \"%s\": 已移除 %d 份簽章\n"
 
-#: g10/keyedit.c:3373
+#: g10/keyedit.c:3377
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "使用者 ID \"%s\": 已經最小化了\n"
 
-#: g10/keyedit.c:3374
+#: g10/keyedit.c:3378
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "使用者 ID \"%s\": 已經是乾淨的了\n"
 
-#: g10/keyedit.c:3468
+#: g10/keyedit.c:3472
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -3994,262 +4024,262 @@ msgstr ""
 "警告: 這是一把 PGP2 型態的金鑰.\n"
 "      增加指定撤銷者可能會導致某些版本的 PGP 駁回這把金鑰.\n"
 
-#: g10/keyedit.c:3479
+#: g10/keyedit.c:3483
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "你不可以把指定撤銷者增加到 PGP2 型態的金鑰裡.\n"
 
-#: g10/keyedit.c:3499
+#: g10/keyedit.c:3503
 msgid "Enter the user ID of the designated revoker: "
 msgstr "輸入指定撤銷者的使用者 ID: "
 
-#: g10/keyedit.c:3524
+#: g10/keyedit.c:3528
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "無法將 PGP 2.x 型態的金鑰指派為指定撤銷者\n"
 
 #  This actually causes no harm (after all, a key that
 #  designates itself as a revoker is the same as a
 #  regular key), but it's easy enough to check.
-#: g10/keyedit.c:3539
+#: g10/keyedit.c:3543
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "你不能指派某把金鑰為它自己的指定撤銷者\n"
 
-#: g10/keyedit.c:3561
+#: g10/keyedit.c:3565
 msgid "this key has already been designated as a revoker\n"
 msgstr "已指定這把金鑰為撤銷者了\n"
 
-#: g10/keyedit.c:3580
+#: g10/keyedit.c:3584
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "警告: 一旦把某把金鑰指派為指定撤銷者後, 就無法反悔了!\n"
 
-#: g10/keyedit.c:3586
+#: g10/keyedit.c:3590
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "你確定要指派這把金鑰為指定撤銷者嗎? (y/N) "
 
-#: g10/keyedit.c:3647
+#: g10/keyedit.c:3651
 msgid "Please remove selections from the secret keys.\n"
 msgstr "請從私鑰中移除選擇.\n"
 
-#: g10/keyedit.c:3653
+#: g10/keyedit.c:3657
 msgid "Please select at most one subkey.\n"
 msgstr "請至多選擇一把子鑰.\n"
 
-#: g10/keyedit.c:3657
+#: g10/keyedit.c:3661
 msgid "Changing expiration time for a subkey.\n"
 msgstr "正在變更子鑰的使用期限.\n"
 
-#: g10/keyedit.c:3660
+#: g10/keyedit.c:3664
 msgid "Changing expiration time for the primary key.\n"
 msgstr "正在變更主鑰的使用期限.\n"
 
-#: g10/keyedit.c:3706
+#: g10/keyedit.c:3710
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "你不能變更 v3 金鑰的使用期限\n"
 
-#: g10/keyedit.c:3722
+#: g10/keyedit.c:3726
 msgid "No corresponding signature in secret ring\n"
 msgstr "在私鑰圈裡沒有一致的簽章\n"
 
-#: g10/keyedit.c:3800
+#: g10/keyedit.c:3804
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "簽署子鑰 %s 已經交叉認證過了\n"
 
-#: g10/keyedit.c:3806
+#: g10/keyedit.c:3810
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "子鑰 %s 不做簽署之用, 因此無須交叉驗證\n"
 
-#: g10/keyedit.c:3969
+#: g10/keyedit.c:3973
 msgid "Please select exactly one user ID.\n"
 msgstr "請祇選擇一個使用者 ID.\n"
 
-#: g10/keyedit.c:4008 g10/keyedit.c:4118 g10/keyedit.c:4238 g10/keyedit.c:4379
+#: g10/keyedit.c:4012 g10/keyedit.c:4122 g10/keyedit.c:4242 g10/keyedit.c:4383
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "正在跳過使用者 ID \"%s\" 的 v3 自我簽章\n"
 
-#: g10/keyedit.c:4179
+#: g10/keyedit.c:4183
 msgid "Enter your preferred keyserver URL: "
 msgstr "請輸入你的偏好金鑰伺服器 URL: "
 
-#: g10/keyedit.c:4259
+#: g10/keyedit.c:4263
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "你確定要取代它嗎? (y/N) "
 
-#: g10/keyedit.c:4260
+#: g10/keyedit.c:4264
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "你確定要刪除它嗎? (y/N) "
 
-#: g10/keyedit.c:4322
+#: g10/keyedit.c:4326
 msgid "Enter the notation: "
 msgstr "請輸入註記: "
 
-#: g10/keyedit.c:4471
+#: g10/keyedit.c:4475
 msgid "Proceed? (y/N) "
 msgstr "是否繼續? (y/N) "
 
-#: g10/keyedit.c:4543
+#: g10/keyedit.c:4547
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "索引 %d 沒有對應到使用者 ID\n"
 
-#: g10/keyedit.c:4604
+#: g10/keyedit.c:4608
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "雜湊 %s 沒有對應到使用者 ID\n"
 
-#: g10/keyedit.c:4639
+#: g10/keyedit.c:4643
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "索引 %d 沒有對應到子鑰\n"
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4778
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "使用者 ID: \"%s\"\n"
 
-#: g10/keyedit.c:4777 g10/keyedit.c:4871 g10/keyedit.c:4914
+#: g10/keyedit.c:4781 g10/keyedit.c:4875 g10/keyedit.c:4918
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "已被你的金鑰 %s 於 %s%s%s 所簽署\n"
 
-#: g10/keyedit.c:4779 g10/keyedit.c:4873 g10/keyedit.c:4916
+#: g10/keyedit.c:4783 g10/keyedit.c:4877 g10/keyedit.c:4920
 msgid " (non-exportable)"
 msgstr " (不可匯出)"
 
-#: g10/keyedit.c:4783
+#: g10/keyedit.c:4787
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "這份簽章已經在 %s 過期了.\n"
 
-#: g10/keyedit.c:4787
+#: g10/keyedit.c:4791
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "你確定仍然想要撤銷它嗎? (y/N) "
 
-#: g10/keyedit.c:4791
+#: g10/keyedit.c:4795
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "要為這份簽章建立一份撤銷憑證嗎? (y/N) "
 
-#: g10/keyedit.c:4842
+#: g10/keyedit.c:4846
 msgid "Not signed by you.\n"
 msgstr "並非由你所簽署.\n"
 
-#: g10/keyedit.c:4848
+#: g10/keyedit.c:4852
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "你已經簽署了金鑰 %s 上的這些使用者 ID:\n"
 
-#: g10/keyedit.c:4874
+#: g10/keyedit.c:4878
 msgid " (non-revocable)"
 msgstr " (不可撤銷)"
 
-#: g10/keyedit.c:4881
+#: g10/keyedit.c:4885
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "被你的金鑰 %s 於 %s 所撤銷了\n"
 
-#: g10/keyedit.c:4903
+#: g10/keyedit.c:4907
 msgid "You are about to revoke these signatures:\n"
 msgstr "你正要撤銷這些簽章:\n"
 
-#: g10/keyedit.c:4923
+#: g10/keyedit.c:4927
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "真的要建立撤銷憑證嗎? (y/N) "
 
-#: g10/keyedit.c:4953
+#: g10/keyedit.c:4957
 msgid "no secret key\n"
 msgstr "沒有私鑰\n"
 
-#: g10/keyedit.c:5023
+#: g10/keyedit.c:5027
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "使用者 ID \"%s\" 已撤銷\n"
 
-#: g10/keyedit.c:5040
+#: g10/keyedit.c:5044
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "警告: 有一份使用者 ID 的簽章日期為 %d 秒後的未來\n"
 
-#: g10/keyedit.c:5104
+#: g10/keyedit.c:5108
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "金鑰 %s 已撤銷.\n"
 
-#: g10/keyedit.c:5166
+#: g10/keyedit.c:5170
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "子鑰 %s 已撤銷.\n"
 
-#: g10/keyedit.c:5261
+#: g10/keyedit.c:5265
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "正在顯示 %s 照片 ID, 其尺寸為 %ld, 屬於金鑰 %s (uid %d) 的照片\n"
 
-#: g10/keygen.c:275
+#: g10/keygen.c:272
 #, c-format
 msgid "preference `%s' duplicated\n"
 msgstr "偏好設定 `%s' 重複了\n"
 
-#: g10/keygen.c:282
+#: g10/keygen.c:279
 msgid "too many cipher preferences\n"
 msgstr "編密偏好過多\n"
 
-#: g10/keygen.c:284
+#: g10/keygen.c:281
 msgid "too many digest preferences\n"
 msgstr "摘要偏好過多\n"
 
-#: g10/keygen.c:286
+#: g10/keygen.c:283
 msgid "too many compression preferences\n"
 msgstr "壓縮偏好過多\n"
 
-#: g10/keygen.c:426
+#: g10/keygen.c:423
 #, c-format
 msgid "invalid item `%s' in preference string\n"
 msgstr "偏好字串中含有無效的 `%s' 項目\n"
 
-#: g10/keygen.c:910
+#: g10/keygen.c:907
 msgid "writing direct signature\n"
 msgstr "寫入直接簽章中\n"
 
-#: g10/keygen.c:952
+#: g10/keygen.c:949
 msgid "writing self signature\n"
 msgstr "寫入自我簽章中\n"
 
-#: g10/keygen.c:1009
+#: g10/keygen.c:1006
 msgid "writing key binding signature\n"
 msgstr "寫入附鑰簽章中\n"
 
-#: g10/keygen.c:1179 g10/keygen.c:1290 g10/keygen.c:1295 g10/keygen.c:1441
-#: g10/keygen.c:3269
+#: g10/keygen.c:1176 g10/keygen.c:1181 g10/keygen.c:1292 g10/keygen.c:1297
+#: g10/keygen.c:1443 g10/keygen.c:1448 g10/keygen.c:3277
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "金鑰尺寸無效; 改用 %u 位元\n"
 
-#: g10/keygen.c:1185 g10/keygen.c:1301 g10/keygen.c:1309 g10/keygen.c:1447
-#: g10/keygen.c:3275
+#: g10/keygen.c:1187 g10/keygen.c:1303 g10/keygen.c:1311 g10/keygen.c:1454
+#: g10/keygen.c:3283
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "金鑰尺寸增大到 %u 位元\n"
 
-#: g10/keygen.c:1335
+#: g10/keygen.c:1337
 msgid ""
 "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
 msgstr "警告: 某些 OpenPGP 程式無法處理具有此摘要尺寸的 DSA 金鑰\n"
 
-#: g10/keygen.c:1558
+#: g10/keygen.c:1565
 msgid "Sign"
 msgstr "簽署"
 
-#: g10/keygen.c:1561
+#: g10/keygen.c:1568
 msgid "Certify"
 msgstr "保證"
 
-#: g10/keygen.c:1564
+#: g10/keygen.c:1571
 msgid "Encrypt"
 msgstr "加密"
 
-#: g10/keygen.c:1567
+#: g10/keygen.c:1574
 msgid "Authenticate"
 msgstr "鑑定"
 
@@ -4263,104 +4293,104 @@ msgstr "鑑定"
 #. a = Toggle authentication capability
 #. q = Finish
 #.
-#: g10/keygen.c:1585
+#: g10/keygen.c:1592
 msgid "SsEeAaQq"
 msgstr "SsEeAaQq"
 
-#: g10/keygen.c:1608
+#: g10/keygen.c:1615
 #, c-format
 msgid "Possible actions for a %s key: "
 msgstr "%s 金鑰可能的動作: "
 
-#: g10/keygen.c:1612
+#: g10/keygen.c:1619
 msgid "Current allowed actions: "
 msgstr "目前可進行的動作: "
 
-#: g10/keygen.c:1617
+#: g10/keygen.c:1624
 #, c-format
 msgid "   (%c) Toggle the sign capability\n"
 msgstr "   (%c) 切換簽署性能\n"
 
-#: g10/keygen.c:1620
+#: g10/keygen.c:1627
 #, c-format
 msgid "   (%c) Toggle the encrypt capability\n"
 msgstr "   (%c) 切換加密性能\n"
 
-#: g10/keygen.c:1623
+#: g10/keygen.c:1630
 #, c-format
 msgid "   (%c) Toggle the authenticate capability\n"
 msgstr "   (%c) 切換鑑定性能\n"
 
-#: g10/keygen.c:1626
+#: g10/keygen.c:1633
 #, c-format
 msgid "   (%c) Finished\n"
 msgstr "   (%c) 已完成\n"
 
-#: g10/keygen.c:1686 sm/certreqgen-ui.c:157
+#: g10/keygen.c:1693 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "請選擇你要使用的金鑰種類:\n"
 
-#: g10/keygen.c:1689
+#: g10/keygen.c:1696
 #, c-format
 msgid "   (%d) RSA and RSA (default)\n"
 msgstr "   (%d) RSA 和 RSA (預設)\n"
 
-#: g10/keygen.c:1691
+#: g10/keygen.c:1698
 #, c-format
 msgid "   (%d) DSA and Elgamal\n"
 msgstr "   (%d) DSA 和 Elgamal\n"
 
-#: g10/keygen.c:1693
+#: g10/keygen.c:1700
 #, c-format
 msgid "   (%d) DSA (sign only)\n"
 msgstr "   (%d) DSA (僅能用於簽署)\n"
 
-#: g10/keygen.c:1694
+#: g10/keygen.c:1701
 #, c-format
 msgid "   (%d) RSA (sign only)\n"
 msgstr "   (%d) RSA (僅能用於簽署)\n"
 
-#: g10/keygen.c:1698
+#: g10/keygen.c:1705
 #, c-format
 msgid "   (%d) Elgamal (encrypt only)\n"
 msgstr "   (%d) Elgamal (僅能用於加密)\n"
 
-#: g10/keygen.c:1699
+#: g10/keygen.c:1706
 #, c-format
 msgid "   (%d) RSA (encrypt only)\n"
 msgstr "   (%d) RSA (僅能用於加密)\n"
 
-#: g10/keygen.c:1703
+#: g10/keygen.c:1710
 #, c-format
 msgid "   (%d) DSA (set your own capabilities)\n"
 msgstr "   (%d) DSA (你能自己設定性能)\n"
 
-#: g10/keygen.c:1704
+#: g10/keygen.c:1711
 #, c-format
 msgid "   (%d) RSA (set your own capabilities)\n"
 msgstr "   (%d) RSA (你能自己設定性能)\n"
 
-#: g10/keygen.c:1812
+#: g10/keygen.c:1819
 #, c-format
 msgid "%s keys may be between %u and %u bits long.\n"
 msgstr "%s 金鑰的長度可能介於 %u 位元和 %u 位元之間.\n"
 
-#: g10/keygen.c:1820
+#: g10/keygen.c:1827
 #, c-format
 msgid "What keysize do you want for the subkey? (%u) "
 msgstr "你的子鑰想要用多大的金鑰尺寸? (%u) "
 
-#: g10/keygen.c:1823 sm/certreqgen-ui.c:179
+#: g10/keygen.c:1830 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "你想要用多大的金鑰尺寸? (%u) "
 
-#: g10/keygen.c:1837 sm/certreqgen-ui.c:189
+#: g10/keygen.c:1844 sm/certreqgen-ui.c:189
 #, c-format
 msgid "Requested keysize is %u bits\n"
 msgstr "你所要求的金鑰尺寸是 %u 位元\n"
 
-#: g10/keygen.c:1925
+#: g10/keygen.c:1932
 msgid ""
 "Please specify how long the key should be valid.\n"
 "         0 = key does not expire\n"
@@ -4376,7 +4406,7 @@ msgstr ""
 "      <n>m = 金鑰在 n 月後會到期\n"
 "      <n>y = 金鑰在 n 年後會到期\n"
 
-#: g10/keygen.c:1936
+#: g10/keygen.c:1943
 msgid ""
 "Please specify how long the signature should be valid.\n"
 "         0 = signature does not expire\n"
@@ -4392,38 +4422,38 @@ msgstr ""
 "      <n>m = 簽章在 n 月後會到期\n"
 "      <n>y = 簽章在 n 年後會到期\n"
 
-#: g10/keygen.c:1959
+#: g10/keygen.c:1966
 msgid "Key is valid for? (0) "
 msgstr "金鑰的有效期限是多久? (0) "
 
-#: g10/keygen.c:1964
+#: g10/keygen.c:1971
 #, c-format
 msgid "Signature is valid for? (%s) "
 msgstr "簽章的有效期限是多久? (%s) "
 
-#: g10/keygen.c:1982 g10/keygen.c:2007
+#: g10/keygen.c:1990 g10/keygen.c:2015
 msgid "invalid value\n"
 msgstr "無效的數值\n"
 
-#: g10/keygen.c:1989
+#: g10/keygen.c:1997
 msgid "Key does not expire at all\n"
 msgstr "金鑰完全不會過期\n"
 
-#: g10/keygen.c:1990
+#: g10/keygen.c:1998
 msgid "Signature does not expire at all\n"
 msgstr "簽章完全不會過期\n"
 
-#: g10/keygen.c:1995
+#: g10/keygen.c:2003
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "金鑰將會在 %s 到期\n"
 
-#: g10/keygen.c:1996
+#: g10/keygen.c:2004
 #, c-format
 msgid "Signature expires at %s\n"
 msgstr "簽章將會在 %s 到期.\n"
 
-#: g10/keygen.c:2000
+#: g10/keygen.c:2008
 msgid ""
 "Your system can't display dates beyond 2038.\n"
 "However, it will be correctly handled up to 2106.\n"
@@ -4431,11 +4461,11 @@ msgstr ""
 "你的系統無法顯示 2038 年以後的日期.\n"
 "不過, 它可以正確處理直到 2106 年之前的年份.\n"
 
-#: g10/keygen.c:2013
+#: g10/keygen.c:2021
 msgid "Is this correct? (y/N) "
 msgstr "以上正確嗎? (y/N) "
 
-#: g10/keygen.c:2063
+#: g10/keygen.c:2071
 msgid ""
 "\n"
 "GnuPG needs to construct a user ID to identify your key.\n"
@@ -4449,7 +4479,7 @@ msgstr ""
 #. but you should keep your existing translation.  In case
 #. the new string is not translated this old string will
 #. be used.
-#: g10/keygen.c:2078
+#: g10/keygen.c:2086
 msgid ""
 "\n"
 "You need a user ID to identify your key; the software constructs the user "
@@ -4464,44 +4494,44 @@ msgstr ""
 "    \"Ke-Huan Lin (Jedi) <Jedi@Jedi.org>\"\n"
 "\n"
 
-#: g10/keygen.c:2097
+#: g10/keygen.c:2105
 msgid "Real name: "
 msgstr "真實姓名: "
 
-#: g10/keygen.c:2105
+#: g10/keygen.c:2113
 msgid "Invalid character in name\n"
 msgstr "姓名含有無效的字符\n"
 
-#: g10/keygen.c:2107
+#: g10/keygen.c:2115
 msgid "Name may not start with a digit\n"
 msgstr "姓名不可以用數字開頭\n"
 
-#: g10/keygen.c:2109
+#: g10/keygen.c:2117
 msgid "Name must be at least 5 characters long\n"
 msgstr "姓名至少要有五個字符長\n"
 
-#: g10/keygen.c:2117
+#: g10/keygen.c:2125
 msgid "Email address: "
 msgstr "電子郵件地址: "
 
-#: g10/keygen.c:2123
+#: g10/keygen.c:2131
 msgid "Not a valid email address\n"
 msgstr "不是有效的電子郵件地址\n"
 
-#: g10/keygen.c:2131
+#: g10/keygen.c:2139
 msgid "Comment: "
 msgstr "註釋: "
 
-#: g10/keygen.c:2137
+#: g10/keygen.c:2145
 msgid "Invalid character in comment\n"
 msgstr "註釋含有無效的字符\n"
 
-#: g10/keygen.c:2159
+#: g10/keygen.c:2167
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "你正在使用 `%s' 字元集.\n"
 
-#: g10/keygen.c:2165
+#: g10/keygen.c:2173
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -4512,11 +4542,11 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:2170
+#: g10/keygen.c:2178
 msgid "Please don't put the email address into the real name or the comment\n"
 msgstr "請不要把電子郵件地址放進你的真實姓名或註釋裡\n"
 
-#: g10/keygen.c:2185
+#: g10/keygen.c:2193
 msgid "Such a user ID already exists on this key!\n"
 msgstr "這把金鑰上已經有這樣子的使用者 ID 了!\n"
 
@@ -4531,23 +4561,23 @@ msgstr "這把金鑰上已經有這樣子的使用者 ID 了!\n"
 #. o = Okay (ready, continue)
 #. q = Quit
 #.
-#: g10/keygen.c:2201
+#: g10/keygen.c:2209
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:2211
+#: g10/keygen.c:2219
 msgid "Change (N)ame, (C)omment, (E)mail or (Q)uit? "
 msgstr "變更姓名(N), 註釋(C), 電子郵件地址(E)或退出(Q)? "
 
-#: g10/keygen.c:2212
+#: g10/keygen.c:2220
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "變更姓名(N), 註釋(C), 電子郵件地址(E)或確定(O)/退出(Q)? "
 
-#: g10/keygen.c:2231
+#: g10/keygen.c:2239
 msgid "Please correct the error first\n"
 msgstr "請先訂正錯誤\n"
 
-#: g10/keygen.c:2273
+#: g10/keygen.c:2281
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4555,18 +4585,18 @@ msgstr ""
 "你需要一個密語來保護你的私鑰.\n"
 "\n"
 
-#: g10/keygen.c:2276
+#: g10/keygen.c:2284
 msgid ""
 "Please enter a passphrase to protect the off-card backup of the new "
 "encryption key."
 msgstr "請輸入密語以保護新加密金鑰的卡片外備份."
 
-#: g10/keygen.c:2292
+#: g10/keygen.c:2300
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2298
+#: g10/keygen.c:2306
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4578,7 +4608,7 @@ msgstr ""
 "僅需要再次執行這個程式, 並且使用 \"--edit-key\" 選項即可.\n"
 "\n"
 
-#: g10/keygen.c:2322
+#: g10/keygen.c:2330
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4589,50 +4619,50 @@ msgstr ""
 "(像是敲打鍵盤, 移動滑鼠, 讀寫硬碟之類的)\n"
 "這會讓隨機數字產生器有更多的機會獲得夠多的亂數.\n"
 
-#: g10/keygen.c:3209 g10/keygen.c:3236
+#: g10/keygen.c:3217 g10/keygen.c:3244
 msgid "Key generation canceled.\n"
 msgstr "金鑰產生已取消.\n"
 
-#: g10/keygen.c:3441 g10/keygen.c:3611
+#: g10/keygen.c:3449 g10/keygen.c:3619
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "正在寫入公鑰至 `%s'\n"
 
-#: g10/keygen.c:3443 g10/keygen.c:3614
+#: g10/keygen.c:3451 g10/keygen.c:3622
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "正在寫入私鑰 stub 至 `%s'\n"
 
-#: g10/keygen.c:3446 g10/keygen.c:3617
+#: g10/keygen.c:3454 g10/keygen.c:3625
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "正在寫入私鑰至 `%s'\n"
 
-#: g10/keygen.c:3598
+#: g10/keygen.c:3606
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "找不到可寫入的公鑰鑰匙圈: %s\n"
 
-#: g10/keygen.c:3605
+#: g10/keygen.c:3613
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "找不到可寫入的私鑰鑰匙圈: %s\n"
 
-#: g10/keygen.c:3625
+#: g10/keygen.c:3633
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "寫入公鑰鑰匙圈 `%s' 時出錯: %s\n"
 
-#: g10/keygen.c:3633
+#: g10/keygen.c:3641
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "寫入私鑰鑰匙圈 `%s' 時出錯: %s\n"
 
-#: g10/keygen.c:3661
+#: g10/keygen.c:3669
 msgid "public and secret key created and signed.\n"
 msgstr "公鑰和私鑰已建立及簽署.\n"
 
-#: g10/keygen.c:3672
+#: g10/keygen.c:3680
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4640,42 +4670,42 @@ msgstr ""
 "請注意這把金鑰不能用於加密.  也許你會想藉由 \"--edit-key\" 指令\n"
 "來產生加密用的子鑰.\n"
 
-#: g10/keygen.c:3685 g10/keygen.c:3831 g10/keygen.c:3952
+#: g10/keygen.c:3693 g10/keygen.c:3839 g10/keygen.c:3960
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "產生金鑰失敗: %s\n"
 
-#: g10/keygen.c:3741 g10/keygen.c:3882 g10/sign.c:241
+#: g10/keygen.c:3749 g10/keygen.c:3890 g10/sign.c:241
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
 msgstr "金鑰已經在 %lu 秒後的未來製妥 (可能是因為時光旅行或時鐘的問題)\n"
 
-#: g10/keygen.c:3743 g10/keygen.c:3884 g10/sign.c:243
+#: g10/keygen.c:3751 g10/keygen.c:3892 g10/sign.c:243
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
 msgstr "金鑰已經在 %lu 秒後的未來製妥 (可能是因為時光旅行或時鐘的問題)\n"
 
-#: g10/keygen.c:3754 g10/keygen.c:3895
+#: g10/keygen.c:3762 g10/keygen.c:3903
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "請注意: 對 v3 金鑰製造子鑰會失去 OpenPGP 相容性\n"
 
-#: g10/keygen.c:3795 g10/keygen.c:3928
+#: g10/keygen.c:3803 g10/keygen.c:3936
 msgid "Really create? (y/N) "
 msgstr "真的要建立嗎? (y/N) "
 
-#: g10/keygen.c:4116
+#: g10/keygen.c:4124
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "儲存金鑰到卡片上時失敗: %s\n"
 
-#: g10/keygen.c:4165
+#: g10/keygen.c:4173
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "無法建立備份檔案 `%s': %s\n"
 
-#: g10/keygen.c:4191
+#: g10/keygen.c:4199
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "請注意: 卡片金鑰的備份已儲存至 `%s'\n"
@@ -4708,30 +4738,30 @@ msgstr "簽章註記: "
 msgid "Keyring"
 msgstr "鑰匙圈"
 
-#: g10/keylist.c:1526
+#: g10/keylist.c:1522
 msgid "Primary key fingerprint:"
 msgstr "               主鑰指紋:"
 
-#: g10/keylist.c:1528
+#: g10/keylist.c:1524
 msgid "     Subkey fingerprint:"
 msgstr "               子鑰指紋:"
 
 #. TRANSLATORS: this should fit into 24 bytes to that the
 #. * fingerprint data is properly aligned with the user ID
-#: g10/keylist.c:1535
+#: g10/keylist.c:1531
 msgid " Primary key fingerprint:"
 msgstr "                主鑰指紋:"
 
-#: g10/keylist.c:1537
+#: g10/keylist.c:1533
 msgid "      Subkey fingerprint:"
 msgstr "                子鑰指紋:"
 
 #  use tty
-#: g10/keylist.c:1541 g10/keylist.c:1545
+#: g10/keylist.c:1537 g10/keylist.c:1541
 msgid "      Key fingerprint ="
 msgstr "      金鑰指紋 ="
 
-#: g10/keylist.c:1612
+#: g10/keylist.c:1608
 msgid "      Card serial no. ="
 msgstr "      卡片序號 ="
 
@@ -4811,451 +4841,451 @@ msgstr "取回金鑰時尊重金鑰所設定的 PKA 記錄"
 msgid "WARNING: keyserver option `%s' is not used on this platform\n"
 msgstr "警告: 金鑰伺服器選項 `%s' 並未用於此平台\n"
 
-#: g10/keyserver.c:544
+#: g10/keyserver.c:551
 msgid "disabled"
 msgstr "已停用"
 
-#: g10/keyserver.c:747
+#: g10/keyserver.c:754
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "請輸入數字, N)下一頁, 或 Q)離開 > "
 
-#: g10/keyserver.c:831 g10/keyserver.c:1458
+#: g10/keyserver.c:838 g10/keyserver.c:1546
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "無效的金鑰伺服器協定 (我們用 %d!=經手程式 %d)\n"
 
-#: g10/keyserver.c:932
+#: g10/keyserver.c:939
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "在金鑰伺服器上找不到金鑰 \"%s\"\n"
 
-#: g10/keyserver.c:934
+#: g10/keyserver.c:941
 msgid "key not found on keyserver\n"
 msgstr "在金鑰伺服器上找不到金鑰\n"
 
-#: g10/keyserver.c:1177
+#: g10/keyserver.c:1265
 #, c-format
 msgid "requesting key %s from %s server %s\n"
 msgstr "正在請求金鑰 %s 自 %s 伺服器 %s\n"
 
-#: g10/keyserver.c:1181
+#: g10/keyserver.c:1269
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "正在請求金鑰 %s 自 %s\n"
 
-#: g10/keyserver.c:1205
+#: g10/keyserver.c:1293
 #, c-format
 msgid "searching for names from %s server %s\n"
 msgstr "正在從 %s 伺服器 %s 搜尋名字\n"
 
-#: g10/keyserver.c:1208
+#: g10/keyserver.c:1296
 #, c-format
 msgid "searching for names from %s\n"
 msgstr "正在從 %s 搜尋名字\n"
 
-#: g10/keyserver.c:1361
+#: g10/keyserver.c:1449
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "遞送金鑰 %s 至 %s 伺服器 %s\n"
 
-#: g10/keyserver.c:1365
+#: g10/keyserver.c:1453
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "遞送金鑰 %s 至 %s\n"
 
-#: g10/keyserver.c:1408
+#: g10/keyserver.c:1496
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "正在搜尋 \"%s\" 於 %s 伺服器 %s\n"
 
-#: g10/keyserver.c:1411
+#: g10/keyserver.c:1499
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "正在搜尋 \"%s\" 於 %s\n"
 
-#: g10/keyserver.c:1418 g10/keyserver.c:1514
+#: g10/keyserver.c:1506 g10/keyserver.c:1609
 msgid "no keyserver action!\n"
 msgstr "沒有金鑰伺服器動作!\n"
 
-#: g10/keyserver.c:1466
+#: g10/keyserver.c:1554
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr "警告: 金鑰伺服器經手程式係來自不同版本的 GnuPG (%s)\n"
 
-#: g10/keyserver.c:1475
+#: g10/keyserver.c:1563
 msgid "keyserver did not send VERSION\n"
 msgstr "金鑰伺服器並未送出版本 (VERSION)\n"
 
-#: g10/keyserver.c:1537 g10/keyserver.c:2066
+#: g10/keyserver.c:1634 g10/keyserver.c:2169
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "沒有已知的金鑰伺服器 (使用 --keyserver 選項)\n"
 
-#: g10/keyserver.c:1543
+#: g10/keyserver.c:1640
 msgid "external keyserver calls are not supported in this build\n"
 msgstr "本版並不支援外部金鑰伺服器叫用\n"
 
-#: g10/keyserver.c:1555
+#: g10/keyserver.c:1652
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "沒有 `%s' 金鑰伺服器架構的經手程式\n"
 
-#: g10/keyserver.c:1560
+#: g10/keyserver.c:1657
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "`%s' 動作在 `%s' 金鑰伺服器架構中未支援\n"
 
-#: g10/keyserver.c:1568
+#: g10/keyserver.c:1665
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s 並不支援第 %d 版經手程式\n"
 
-#: g10/keyserver.c:1575
+#: g10/keyserver.c:1672
 msgid "keyserver timed out\n"
 msgstr "金鑰伺服器逾時\n"
 
-#: g10/keyserver.c:1580
+#: g10/keyserver.c:1677
 msgid "keyserver internal error\n"
 msgstr "金鑰伺服器內部錯誤\n"
 
-#: g10/keyserver.c:1589
+#: g10/keyserver.c:1686
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "金鑰伺服器通訊錯誤: %s\n"
 
-#: g10/keyserver.c:1614 g10/keyserver.c:1648
+#: g10/keyserver.c:1712 g10/keyserver.c:1747
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" 並非金鑰 ID: 跳過中\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:2009
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "警告: 無法更新金鑰 %s 於 %s: %s\n"
 
-#: g10/keyserver.c:1929
+#: g10/keyserver.c:2031
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "更新 1 份金鑰中 (從 %s )\n"
 
-#: g10/keyserver.c:1931
+#: g10/keyserver.c:2033
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "更新 %d 份金鑰中 (從 %s )\n"
 
-#: g10/keyserver.c:1987
+#: g10/keyserver.c:2089
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "警告: 無法抓取 URI %s: %s\n"
 
-#: g10/keyserver.c:1993
+#: g10/keyserver.c:2095
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "警告: 無法剖析 URI %s\n"
 
-#: g10/mainproc.c:231
+#: g10/mainproc.c:242
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "加密過的階段金鑰 (%d) 尺寸詭異\n"
 
-#: g10/mainproc.c:284
+#: g10/mainproc.c:295
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s 加密過的階段金鑰\n"
 
-#: g10/mainproc.c:294
+#: g10/mainproc.c:305
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "密語係以未知的 %d 摘要演算法所產生\n"
 
-#: g10/mainproc.c:360
+#: g10/mainproc.c:371
 #, c-format
 msgid "public key is %s\n"
 msgstr "公鑰為 %s\n"
 
-#: g10/mainproc.c:423
+#: g10/mainproc.c:434
 msgid "public key encrypted data: good DEK\n"
 msgstr "公鑰加密過的資料: 完好的 DEK\n"
 
-#: g10/mainproc.c:456
+#: g10/mainproc.c:467
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "已用 %u 位元長的 %s 金鑰,  ID %s, 建立於 %s 所加密\n"
 
-#: g10/mainproc.c:460 g10/pkclist.c:217
+#: g10/mainproc.c:471 g10/pkclist.c:217
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:464
+#: g10/mainproc.c:475
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "已用 %s 金鑰, ID %s 所加密\n"
 
-#: g10/mainproc.c:479
+#: g10/mainproc.c:490
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "公鑰解密失敗: %s\n"
 
-#: g10/mainproc.c:495
+#: g10/mainproc.c:506
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "已用 %lu 個密語加密了\n"
 
-#: g10/mainproc.c:497
+#: g10/mainproc.c:508
 msgid "encrypted with 1 passphrase\n"
 msgstr "已用 1 個密語加密了\n"
 
-#: g10/mainproc.c:529 g10/mainproc.c:551
+#: g10/mainproc.c:540 g10/mainproc.c:562
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "假定 %s 為加密過的資料\n"
 
-#: g10/mainproc.c:537
+#: g10/mainproc.c:548
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA 編密法不可用, 我們樂觀地試著改以 %s 代替\n"
 
-#: g10/mainproc.c:570
+#: g10/mainproc.c:582
 msgid "decryption okay\n"
 msgstr "解密成功\n"
 
-#: g10/mainproc.c:574
+#: g10/mainproc.c:586
 msgid "WARNING: message was not integrity protected\n"
 msgstr "警告: 訊息未受到完整的保護\n"
 
-#: g10/mainproc.c:587
+#: g10/mainproc.c:589
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "警告: 加密過的訊息已經被變造了!\n"
 
-#: g10/mainproc.c:595
+#: g10/mainproc.c:597
 #, c-format
 msgid "cleared passphrase cached with ID: %s\n"
 msgstr "清除此 ID 被快取住的密語: %s\n"
 
-#: g10/mainproc.c:600
+#: g10/mainproc.c:602
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "解密失敗: %s\n"
 
-#: g10/mainproc.c:621
+#: g10/mainproc.c:623
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "請注意: 寄件者要求了 \"你應該祇用眼睛看\"\n"
 
-#: g10/mainproc.c:623
+#: g10/mainproc.c:625
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "原始的檔名 ='%.*s'\n"
 
-#: g10/mainproc.c:711
+#: g10/mainproc.c:713
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "警告: 看到了多份明文\n"
 
-#: g10/mainproc.c:850
+#: g10/mainproc.c:866
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "獨立撤銷 - 請用 \"gpg --import\" 來套用\n"
 
-#: g10/mainproc.c:1203 g10/mainproc.c:1240
+#: g10/mainproc.c:1184 g10/mainproc.c:1221
 msgid "no signature found\n"
 msgstr "找不到簽章\n"
 
-#: g10/mainproc.c:1478
+#: g10/mainproc.c:1486
 msgid "signature verification suppressed\n"
 msgstr "簽章驗證已抑制\n"
 
-#: g10/mainproc.c:1587
+#: g10/mainproc.c:1595
 msgid "can't handle this ambiguous signature data\n"
 msgstr "無法處理這個不明確的簽章資料\n"
 
-#: g10/mainproc.c:1598
+#: g10/mainproc.c:1606
 #, c-format
 msgid "Signature made %s\n"
 msgstr "由 %s 建立的簽章\n"
 
-#: g10/mainproc.c:1599
+#: g10/mainproc.c:1607
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               使用 %s 金鑰 %s\n"
 
-#: g10/mainproc.c:1603
+#: g10/mainproc.c:1611
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "由 %s 建立的簽章, 使用 %s 金鑰 ID %s\n"
 
-#: g10/mainproc.c:1623
+#: g10/mainproc.c:1631
 msgid "Key available at: "
 msgstr "可用的金鑰於: "
 
-#: g10/mainproc.c:1756 g10/mainproc.c:1804
+#: g10/mainproc.c:1764 g10/mainproc.c:1812
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "*損壞* 的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1758 g10/mainproc.c:1806
+#: g10/mainproc.c:1766 g10/mainproc.c:1814
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "過期的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1760 g10/mainproc.c:1808
+#: g10/mainproc.c:1768 g10/mainproc.c:1816
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "完好的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1810
+#: g10/mainproc.c:1818
 msgid "[uncertain]"
 msgstr "[ 不確定 ]"
 
-#: g10/mainproc.c:1843
+#: g10/mainproc.c:1851
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                亦即 \"%s\""
 
-#: g10/mainproc.c:1941
+#: g10/mainproc.c:1949
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "這份簽署已經在 %s 過期了\n"
 
-#: g10/mainproc.c:1946
+#: g10/mainproc.c:1954
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "這份簽署將在 %s 到期\n"
 
-#: g10/mainproc.c:1949
+#: g10/mainproc.c:1957
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s 簽章, 摘要演算法 %s\n"
 
-#: g10/mainproc.c:1950
+#: g10/mainproc.c:1958
 msgid "binary"
 msgstr "二進制"
 
-#: g10/mainproc.c:1951
+#: g10/mainproc.c:1959
 msgid "textmode"
 msgstr "文字模式"
 
-#: g10/mainproc.c:1951 g10/trustdb.c:546
+#: g10/mainproc.c:1959 g10/trustdb.c:547
 msgid "unknown"
 msgstr "未知"
 
-#: g10/mainproc.c:1971
+#: g10/mainproc.c:1979
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "無法檢查簽章: %s\n"
 
-#: g10/mainproc.c:2055 g10/mainproc.c:2071 g10/mainproc.c:2167
+#: g10/mainproc.c:2063 g10/mainproc.c:2079 g10/mainproc.c:2175
 msgid "not a detached signature\n"
 msgstr "不是一份分離的簽章\n"
 
-#: g10/mainproc.c:2098
+#: g10/mainproc.c:2106
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "警告: 偵測到多重簽章. 祇有第一個簽章纔會被核選.\n"
 
-#: g10/mainproc.c:2106
+#: g10/mainproc.c:2114
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "等級 0x%02x 的獨立簽章\n"
 
-#: g10/mainproc.c:2171
+#: g10/mainproc.c:2179
 msgid "old style (PGP 2.x) signature\n"
 msgstr "舊型 (PGP 2.x) 簽章\n"
 
-#: g10/mainproc.c:2181
+#: g10/mainproc.c:2189
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "在 proc_tree() 中偵測到無效的 root 封包\n"
 
-#: g10/misc.c:109 g10/misc.c:139 g10/misc.c:215
+#: g10/misc.c:112 g10/misc.c:142 g10/misc.c:218
 #, c-format
 msgid "fstat of `%s' failed in %s: %s\n"
 msgstr "`%s' 的 fstat 失敗於 %s: %s\n"
 
-#: g10/misc.c:178
+#: g10/misc.c:181
 #, c-format
 msgid "fstat(%d) failed in %s: %s\n"
 msgstr "fstat(%d) 失敗於 %s: %s\n"
 
-#: g10/misc.c:296
+#: g10/misc.c:299
 #, c-format
 msgid "WARNING: using experimental public key algorithm %s\n"
 msgstr "警告: 正在使用實驗性的 %s 公鑰演算法\n"
 
-#: g10/misc.c:302
+#: g10/misc.c:305
 msgid "WARNING: Elgamal sign+encrypt keys are deprecated\n"
 msgstr "警告: 已不建議使用 Elgamal 簽署暨加密金鑰\n"
 
-#: g10/misc.c:315
+#: g10/misc.c:318
 #, c-format
 msgid "WARNING: using experimental cipher algorithm %s\n"
 msgstr "警告: 正在使用實驗性的 %s 編密演算法\n"
 
-#: g10/misc.c:330
+#: g10/misc.c:333
 #, c-format
 msgid "WARNING: using experimental digest algorithm %s\n"
 msgstr "警告: 正在使用實驗性的 %s 摘要演算法\n"
 
-#: g10/misc.c:335
+#: g10/misc.c:338
 #, c-format
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "警告: 已不建議使用 %s 摘要演算法\n"
 
-#: g10/misc.c:503
+#: g10/misc.c:548
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA 編密法外掛模組不存在\n"
 
-#: g10/misc.c:504 g10/sig-check.c:107 jnlib/utf8conv.c:87
+#: g10/misc.c:549 g10/sig-check.c:107
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "請參考 %s 上進一步的資訊\n"
 
-#: g10/misc.c:761
+#: g10/misc.c:823
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: 不建議使用的選項 \"%s\"\n"
 
-#: g10/misc.c:765
+#: g10/misc.c:827
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "警告: 已不建議使用 \"%s\" 選項\n"
 
-#: g10/misc.c:767
+#: g10/misc.c:829
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "請改以 \"%s%s\" 代替\n"
 
-#: g10/misc.c:774
+#: g10/misc.c:836
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "警告: \"%s\" 是個棄而不顧的指令 - 別再用了\n"
 
-#: g10/misc.c:784
+#: g10/misc.c:846
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: 廢棄的 \"%s\" 選項 - 沒有任何影響\n"
 
-#: g10/misc.c:787
+#: g10/misc.c:849
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "警告: \"%s\" 是已廢棄的選項 - 沒有效果\n"
 
-#: g10/misc.c:848
+#: g10/misc.c:910
 msgid "Uncompressed"
 msgstr "未壓縮"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:873
+#: g10/misc.c:935
 msgid "uncompressed|none"
 msgstr "uncompressed|none|未壓縮|無"
 
-#: g10/misc.c:1000
+#: g10/misc.c:1062
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "這個訊息對 %s 來說無法使用\n"
 
-#: g10/misc.c:1175
+#: g10/misc.c:1237
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "不明確的 `%s' 選項\n"
 
-#: g10/misc.c:1200
+#: g10/misc.c:1262
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "未知的 `%s' 選項\n"
@@ -5297,16 +5327,16 @@ msgstr "新的設定檔 `%s' 被建立了\n"
 msgid "WARNING: options in `%s' are not yet active during this run\n"
 msgstr "警告: 在 `%s' 裡的選項於這次執行期間並沒有被啟用\n"
 
-#: g10/parse-packet.c:201
+#: g10/parse-packet.c:213
 #, c-format
 msgid "can't handle public key algorithm %d\n"
 msgstr "無法操作 %d 公開金鑰演算法\n"
 
-#: g10/parse-packet.c:822
+#: g10/parse-packet.c:834
 msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
 msgstr "警告: 可能並不安全的對稱式加密階段金鑰\n"
 
-#: g10/parse-packet.c:1273
+#: g10/parse-packet.c:1285
 #, c-format
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d 類別的子封包設定了關鍵位元\n"
@@ -5362,7 +5392,7 @@ msgstr "%u 位元長的 %s 金鑰, ID %s, 建立於 %s"
 msgid "         (subkey on main key ID %s)"
 msgstr "         (在主鑰 ID %s 上的子鑰)"
 
-#: g10/photoid.c:74
+#: g10/photoid.c:77
 msgid ""
 "\n"
 "Pick an image to use for your photo ID.  The image must be a JPEG file.\n"
@@ -5376,34 +5406,34 @@ msgstr ""
 "你的金鑰也會變成非常地大!\n"
 "盡量把圖片尺寸控制在 240x288 左右, 會是個非常理想的大小.\n"
 
-#: g10/photoid.c:96
+#: g10/photoid.c:99
 msgid "Enter JPEG filename for photo ID: "
 msgstr "輸入要當作照片 ID 的 JPEG 檔名: "
 
-#: g10/photoid.c:117
+#: g10/photoid.c:120
 #, c-format
 msgid "unable to open JPEG file `%s': %s\n"
 msgstr "無法開啟 JPEG 圖檔 `%s': %s\n"
 
-#: g10/photoid.c:128
+#: g10/photoid.c:131
 #, c-format
 msgid "This JPEG is really large (%d bytes) !\n"
 msgstr "這個 JPEG 檔案真的很大 (%d 位元組) !\n"
 
-#: g10/photoid.c:130
+#: g10/photoid.c:133
 msgid "Are you sure you want to use it? (y/N) "
 msgstr "你確定要用它嗎? (y/N) "
 
-#: g10/photoid.c:146
+#: g10/photoid.c:149
 #, c-format
 msgid "`%s' is not a JPEG file\n"
 msgstr "`%s' 不是一個 JPEG 圖檔\n"
 
-#: g10/photoid.c:165
+#: g10/photoid.c:168
 msgid "Is this photo correct (y/N/q)? "
 msgstr "這張照片正確嗎? (y/N/q) "
 
-#: g10/photoid.c:373
+#: g10/photoid.c:377
 msgid "unable to display photo ID!\n"
 msgstr "無法顯示照片 ID!\n"
 
@@ -5436,6 +5466,16 @@ msgid "revocation comment: "
 msgstr "撤銷註釋: "
 
 #  a string with valid answers
+#. TRANSLATORS: These are the allowed answers in lower and
+#. uppercase.  Below you will find the matching strings which
+#. should be translated accordingly and the letter changed to
+#. match the one in the answer string.
+#.
+#. i = please show me more information
+#. m = back to the main menu
+#. s = skip this key
+#. q = quit
+#.
 #: g10/pkclist.c:204
 msgid "iImMqQsS"
 msgstr "iImMqQsS"
@@ -5610,25 +5650,25 @@ msgstr "警告: 這把金鑰並非以足夠信任的簽章所認證!\n"
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr "         這份簽章並不屬於這個持有者\n"
 
-#: g10/pkclist.c:833 g10/pkclist.c:875 g10/pkclist.c:1087 g10/pkclist.c:1157
+#: g10/pkclist.c:833 g10/pkclist.c:880 g10/pkclist.c:1092 g10/pkclist.c:1167
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: 已跳過: %s\n"
 
-#: g10/pkclist.c:845 g10/pkclist.c:1125
+#: g10/pkclist.c:850 g10/pkclist.c:1135
 #, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: 已跳過: 公鑰已存在\n"
 
-#: g10/pkclist.c:896
+#: g10/pkclist.c:901
 msgid "You did not specify a user ID. (you may use \"-r\")\n"
 msgstr "你沒有指定使用者 ID. (你可能得用 \"-r\")\n"
 
-#: g10/pkclist.c:920
+#: g10/pkclist.c:925
 msgid "Current recipients:\n"
 msgstr "目前的收件者:\n"
 
-#: g10/pkclist.c:946
+#: g10/pkclist.c:951
 msgid ""
 "\n"
 "Enter the user ID.  End with an empty line: "
@@ -5636,42 +5676,42 @@ msgstr ""
 "\n"
 "請輸入使用者 ID. 以空白列結束: "
 
-#: g10/pkclist.c:971
+#: g10/pkclist.c:976
 msgid "No such user ID.\n"
 msgstr "沒有這個使用者 ID.\n"
 
-#: g10/pkclist.c:980 g10/pkclist.c:1054
+#: g10/pkclist.c:985 g10/pkclist.c:1059
 msgid "skipped: public key already set as default recipient\n"
 msgstr "已跳過: 公鑰已經被設成預設收件者\n"
 
-#: g10/pkclist.c:1001
+#: g10/pkclist.c:1006
 msgid "Public key is disabled.\n"
 msgstr "公鑰已停用.\n"
 
-#: g10/pkclist.c:1010
+#: g10/pkclist.c:1015
 msgid "skipped: public key already set\n"
 msgstr "已跳過: 公鑰已設過\n"
 
-#: g10/pkclist.c:1045
+#: g10/pkclist.c:1050
 #, c-format
 msgid "unknown default recipient \"%s\"\n"
 msgstr "未知的預設收件者 \"%s\"\n"
 
-#: g10/pkclist.c:1103
+#: g10/pkclist.c:1112
 #, c-format
 msgid "%s: skipped: public key is disabled\n"
 msgstr "%s: 已跳過: 公鑰已停用\n"
 
-#: g10/pkclist.c:1165
+#: g10/pkclist.c:1175
 msgid "no valid addressees\n"
 msgstr "沒有有效的地址\n"
 
-#: g10/pkclist.c:1503
+#: g10/pkclist.c:1513
 #, c-format
 msgid "Note: key %s has no %s feature\n"
 msgstr "請注意: 金鑰 %s 沒有 %s 功能\n"
 
-#: g10/pkclist.c:1528
+#: g10/pkclist.c:1538
 #, c-format
 msgid "Note: key %s has no preference for %s\n"
 msgstr "警告: 金鑰 %s 沒有 %s 的偏好設定\n"
@@ -5954,17 +5994,23 @@ msgstr "請注意: 簽章金鑰 %s 已於 %s 過期\n"
 msgid "NOTE: signature key %s has been revoked\n"
 msgstr "請注意: 簽署金鑰 %s 已撤銷\n"
 
-#: g10/sig-check.c:325
+#: g10/sig-check.c:280
+#, fuzzy, c-format
+#| msgid "%s signature, digest algorithm %s\n"
+msgid "Note: signatures using the %s algorithm are rejected\n"
+msgstr "%s 簽章, 摘要演算法 %s\n"
+
+#: g10/sig-check.c:341
 #, c-format
 msgid "assuming bad signature from key %s due to an unknown critical bit\n"
 msgstr "假設金鑰 %s 的損壞簽章導因於某個未知的關鍵位元\n"
 
-#: g10/sig-check.c:591
+#: g10/sig-check.c:607
 #, c-format
 msgid "key %s: no subkey for subkey revocation signature\n"
 msgstr "金鑰 %s: 沒有子鑰可供子鑰撤銷簽章使用\n"
 
-#: g10/sig-check.c:618
+#: g10/sig-check.c:634
 #, c-format
 msgid "key %s: no subkey for subkey binding signature\n"
 msgstr "金鑰 %s: 沒有子鑰可供附子鑰簽章之用\n"
@@ -6042,7 +6088,7 @@ msgstr "已跳過: 私鑰已經存在\n"
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "這是由 PGP 產生的 ElGamal 金鑰, 用於簽章並不安全!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:360
+#: g10/tdbdump.c:58 g10/trustdb.c:361
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "信任記錄 %lu, 類別 %d: 寫入失敗: %s\n"
@@ -6087,17 +6133,17 @@ msgstr "在 `%s' 中尋找信任記錄時出錯: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "讀取 `%s' 錯誤: %s\n"
 
-#: g10/tdbdump.c:229 g10/trustdb.c:375
+#: g10/tdbdump.c:229 g10/trustdb.c:376
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "信任資料庫: 同步化失敗: %s\n"
 
-#: g10/tdbio.c:128 g10/tdbio.c:1456
+#: g10/tdbio.c:128 g10/tdbio.c:1460
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "信任資料庫記錄 %lu: 本機搜尋失敗: %s\n"
 
-#: g10/tdbio.c:135 g10/tdbio.c:1463
+#: g10/tdbio.c:135 g10/tdbio.c:1467
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "信任資料庫記錄 %lu: 寫入失敗 (n=%d): %s\n"
@@ -6106,117 +6152,117 @@ msgstr "信任資料庫記錄 %lu: 寫入失敗 (n=%d): %s\n"
 msgid "trustdb transaction too large\n"
 msgstr "信任資料庫更動量過大\n"
 
-#: g10/tdbio.c:500
+#: g10/tdbio.c:502
 #, c-format
 msgid "can't access `%s': %s\n"
 msgstr "無法存取 `%s': %s\n"
 
-#: g10/tdbio.c:527
+#: g10/tdbio.c:531
 #, c-format
 msgid "%s: directory does not exist!\n"
 msgstr "%s: 目錄不存在!\n"
 
-#: g10/tdbio.c:537 g10/tdbio.c:560 g10/tdbio.c:601 sm/keydb.c:219
+#: g10/tdbio.c:541 g10/tdbio.c:564 g10/tdbio.c:605 sm/keydb.c:344
 #, c-format
 msgid "can't create lock for `%s'\n"
 msgstr "無法為 `%s' 建立鎖定\n"
 
-#: g10/tdbio.c:539 g10/tdbio.c:604
+#: g10/tdbio.c:543 g10/tdbio.c:608
 #, c-format
 msgid "can't lock `%s'\n"
 msgstr "無法鎖定 `%s'\n"
 
-#: g10/tdbio.c:565
+#: g10/tdbio.c:569
 #, c-format
 msgid "%s: failed to create version record: %s"
 msgstr "%s: 建立版本記錄失敗: %s"
 
-#: g10/tdbio.c:569
+#: g10/tdbio.c:573
 #, c-format
 msgid "%s: invalid trustdb created\n"
 msgstr "%s: 建立了無效的信任資料庫\n"
 
-#: g10/tdbio.c:572
+#: g10/tdbio.c:576
 #, c-format
 msgid "%s: trustdb created\n"
 msgstr "%s: 建立了信任資料庫\n"
 
-#: g10/tdbio.c:615
+#: g10/tdbio.c:619
 msgid "NOTE: trustdb not writable\n"
 msgstr "請注意: 信任資料庫不可寫入\n"
 
-#: g10/tdbio.c:623
+#: g10/tdbio.c:627
 #, c-format
 msgid "%s: invalid trustdb\n"
 msgstr "%s: 無效的信任資料庫\n"
 
-#: g10/tdbio.c:655
+#: g10/tdbio.c:659
 #, c-format
 msgid "%s: failed to create hashtable: %s\n"
 msgstr "%s: 建立雜湊表失敗: %s\n"
 
-#: g10/tdbio.c:663
+#: g10/tdbio.c:667
 #, c-format
 msgid "%s: error updating version record: %s\n"
 msgstr "%s: 更新版本記錄時錯誤: %s\n"
 
-#: g10/tdbio.c:680 g10/tdbio.c:701 g10/tdbio.c:717 g10/tdbio.c:731
-#: g10/tdbio.c:761 g10/tdbio.c:1388 g10/tdbio.c:1415
+#: g10/tdbio.c:684 g10/tdbio.c:705 g10/tdbio.c:721 g10/tdbio.c:735
+#: g10/tdbio.c:765 g10/tdbio.c:1392 g10/tdbio.c:1419
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: 讀取版本記錄時錯誤: %s\n"
 
-#: g10/tdbio.c:740
+#: g10/tdbio.c:744
 #, c-format
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: 寫入版本記錄時錯誤: %s\n"
 
-#: g10/tdbio.c:1181
+#: g10/tdbio.c:1185
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "信任資料庫: 本機搜尋失敗: %s\n"
 
-#: g10/tdbio.c:1190
+#: g10/tdbio.c:1194
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "信任資料庫: 讀取失敗 (n=%d): %s\n"
 
-#: g10/tdbio.c:1211
+#: g10/tdbio.c:1215
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: 不是一個信任資料庫檔案\n"
 
-#: g10/tdbio.c:1230
+#: g10/tdbio.c:1234
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: 記錄編號為 %lu 的版本記錄\n"
 
-#: g10/tdbio.c:1235
+#: g10/tdbio.c:1239
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: 無效的檔案版本 %d\n"
 
-#: g10/tdbio.c:1421
+#: g10/tdbio.c:1425
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: 讀取可用空間記錄時出錯: %s\n"
 
-#: g10/tdbio.c:1429
+#: g10/tdbio.c:1433
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: 寫入目錄記錄時出錯: %s\n"
 
-#: g10/tdbio.c:1439
+#: g10/tdbio.c:1443
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: 記錄歸零失敗: %s\n"
 
-#: g10/tdbio.c:1469
+#: g10/tdbio.c:1473
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: 附加記錄失敗: %s\n"
 
-#: g10/tdbio.c:1512
+#: g10/tdbio.c:1516
 msgid "Error: The trustdb is corrupted.\n"
 msgstr "錯誤: 信任資料庫已毀損.\n"
 
@@ -6230,169 +6276,177 @@ msgstr "無法處理長於 %d 字符的文字列\n"
 msgid "input line longer than %d characters\n"
 msgstr "輸入列比 %d 字符還長\n"
 
-#: g10/trustdb.c:221
+#: g10/trustdb.c:222
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' 不是一個有效的長式金鑰 ID\n"
 
-#: g10/trustdb.c:252
+#: g10/trustdb.c:253
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "金鑰 %s: 如受信任的金鑰般被接受了\n"
 
-#: g10/trustdb.c:290
+#: g10/trustdb.c:291
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "金鑰 %s 在信任資料庫中出現了不止一次\n"
 
-#: g10/trustdb.c:305
+#: g10/trustdb.c:306
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "金鑰 %s: 受信任的金鑰沒有公鑰 - 已跳過\n"
 
-#: g10/trustdb.c:315
+#: g10/trustdb.c:316
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "金鑰 %s 已標記成徹底信任了\n"
 
-#: g10/trustdb.c:339
+#: g10/trustdb.c:340
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "信任記錄 %lu, 請求類別 %d: 讀取失敗: %s\n"
 
-#: g10/trustdb.c:345
+#: g10/trustdb.c:346
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "信任記錄 %lu 不是所請求的類別 %d\n"
 
-#: g10/trustdb.c:418
+#: g10/trustdb.c:419
 msgid "You may try to re-create the trustdb using the commands:\n"
 msgstr "你可以試著用下列指令來重建信任資料庫:\n"
 
-#: g10/trustdb.c:427
+#: g10/trustdb.c:428
 msgid "If that does not work, please consult the manual\n"
 msgstr "如果行不通的話, 請查閱手冊\n"
 
-#: g10/trustdb.c:462
+#: g10/trustdb.c:463
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr "無法使用未知的信任模型 (%d) - 現在採用 %s 信任模型\n"
 
-#: g10/trustdb.c:468
+#: g10/trustdb.c:469
 #, c-format
 msgid "using %s trust model\n"
 msgstr "正在使用 %s 信任模型\n"
 
-#: g10/trustdb.c:520
+#. TRANSLATORS: these strings are similar to those in
+#. trust_value_to_string(), but are a fixed length.  This is needed to
+#. make attractive information listings where columns line up
+#. properly.  The value "10" should be the length of the strings you
+#. choose to translate to.  This is the length in printable columns.
+#. It gets passed to atoi() so everything after the number is
+#. essentially a comment and need not be translated.  Either key and
+#. uid are both NULL, or neither are NULL.
+#: g10/trustdb.c:521
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10 譯者請參見 trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:522
+#: g10/trustdb.c:523
 msgid "[ revoked]"
 msgstr "[ 已撤銷 ]"
 
-#: g10/trustdb.c:524 g10/trustdb.c:529
+#: g10/trustdb.c:525 g10/trustdb.c:530
 msgid "[ expired]"
 msgstr "[ 已過期 ]"
 
-#: g10/trustdb.c:528
+#: g10/trustdb.c:529
 msgid "[ unknown]"
 msgstr "[  未知  ]"
 
-#: g10/trustdb.c:530
+#: g10/trustdb.c:531
 msgid "[  undef ]"
 msgstr "[ 未定義 ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:532
 msgid "[marginal]"
 msgstr "[  勉強  ]"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:533
 msgid "[  full  ]"
 msgstr "[  完全  ]"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:534
 msgid "[ultimate]"
 msgstr "[  徹底  ]"
 
-#: g10/trustdb.c:548
+#: g10/trustdb.c:549
 msgid "undefined"
 msgstr "未定義"
 
-#: g10/trustdb.c:549
+#: g10/trustdb.c:550
 msgid "never"
 msgstr "永遠不會"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:551
 msgid "marginal"
 msgstr "勉強"
 
-#: g10/trustdb.c:551
+#: g10/trustdb.c:552
 msgid "full"
 msgstr "完全"
 
-#: g10/trustdb.c:552
+#: g10/trustdb.c:553
 msgid "ultimate"
 msgstr "徹底"
 
-#: g10/trustdb.c:592
+#: g10/trustdb.c:593
 msgid "no need for a trustdb check\n"
 msgstr "不需要檢查信任資料庫\n"
 
-#: g10/trustdb.c:598 g10/trustdb.c:2487
+#: g10/trustdb.c:599 g10/trustdb.c:2521
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "下次信任資料庫檢查將於 %s 進行\n"
 
-#: g10/trustdb.c:607
+#: g10/trustdb.c:608
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "在 `%s' 信任模型中並不需要檢查信任資料庫\n"
 
-#: g10/trustdb.c:622
+#: g10/trustdb.c:623
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "在 `%s' 信任模型中並不需要更新信任資料庫\n"
 
-#: g10/trustdb.c:857 g10/trustdb.c:1310
+#: g10/trustdb.c:875 g10/trustdb.c:1344
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "找不到公鑰 %s: %s\n"
 
-#: g10/trustdb.c:1053
+#: g10/trustdb.c:1079
 msgid "please do a --check-trustdb\n"
 msgstr "請做一次 --check-trustdb\n"
 
-#: g10/trustdb.c:1057
+#: g10/trustdb.c:1083
 msgid "checking the trustdb\n"
 msgstr "正在檢查信任資料庫\n"
 
-#: g10/trustdb.c:2230
+#: g10/trustdb.c:2264
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "已經處理了 %d 把金鑰 (共計已解決了 %d 份有效性)\n"
 
-#: g10/trustdb.c:2295
+#: g10/trustdb.c:2329
 msgid "no ultimately trusted keys found\n"
 msgstr "沒有找到任何徹底信任的金鑰\n"
 
-#: g10/trustdb.c:2309
+#: g10/trustdb.c:2343
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "找不到徹底信任金鑰 %s 的公鑰\n"
 
-#: g10/trustdb.c:2332
+#: g10/trustdb.c:2366
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d 個勉強信任以及 %d 個完全信任是 %s 信任模型的最小需求\n"
 
-#: g10/trustdb.c:2418
+#: g10/trustdb.c:2452
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr "深度: %d  有效: %3d  已簽署: %3d  信任: %d-, %dq, %dn, %dm, %df, %du\n"
 
-#: g10/trustdb.c:2493
+#: g10/trustdb.c:2527
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "無法更新信任資料庫版本記錄: 寫入失敗: %s\n"
@@ -6417,68 +6471,68 @@ msgstr "輸入列 %u 太長或者列末的 LF 遺失了\n"
 msgid "can't open fd %d: %s\n"
 msgstr "無法開啟 fd %d: %s\n"
 
-#: jnlib/argparse.c:180
+#: jnlib/argparse.c:194
 msgid "argument not expected"
 msgstr "沒料到有引數"
 
-#: jnlib/argparse.c:182
+#: jnlib/argparse.c:196
 msgid "read error"
 msgstr "讀取錯誤"
 
-#: jnlib/argparse.c:184
+#: jnlib/argparse.c:198
 msgid "keyword too long"
 msgstr "關鍵字太長"
 
-#: jnlib/argparse.c:186
+#: jnlib/argparse.c:200
 msgid "missing argument"
 msgstr "無效的引數"
 
-#: jnlib/argparse.c:188
+#: jnlib/argparse.c:202
 msgid "invalid command"
 msgstr "無效的指令"
 
-#: jnlib/argparse.c:190
+#: jnlib/argparse.c:204
 msgid "invalid alias definition"
 msgstr "無效的別名定義"
 
-#: jnlib/argparse.c:192
+#: jnlib/argparse.c:206
 msgid "out of core"
 msgstr "超出核心"
 
-#: jnlib/argparse.c:194
+#: jnlib/argparse.c:208
 msgid "invalid option"
 msgstr "無效的選項"
 
-#: jnlib/argparse.c:202
+#: jnlib/argparse.c:216
 #, c-format
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "\"%.50s\" 選項遺失了引數\n"
 
-#: jnlib/argparse.c:204
+#: jnlib/argparse.c:218
 #, c-format
 msgid "option \"%.50s\" does not expect an argument\n"
 msgstr "\"%.50s\" 選項沒料到會有引數\n"
 
-#: jnlib/argparse.c:207
+#: jnlib/argparse.c:221
 #, c-format
 msgid "invalid command \"%.50s\"\n"
 msgstr "無效的指令 \"%.50s\"\n"
 
-#: jnlib/argparse.c:209
+#: jnlib/argparse.c:223
 #, c-format
 msgid "option \"%.50s\" is ambiguous\n"
 msgstr "\"%.50s\" 選項不明確\n"
 
-#: jnlib/argparse.c:211
+#: jnlib/argparse.c:225
 #, c-format
 msgid "command \"%.50s\" is ambiguous\n"
 msgstr "\"%.50s\" 指令不明確\n"
 
-#: jnlib/argparse.c:213
+#: jnlib/argparse.c:227
 msgid "out of core\n"
 msgstr "超出核心\n"
 
-#: jnlib/argparse.c:215
+#: jnlib/argparse.c:229
 #, c-format
 msgid "invalid option \"%.50s\"\n"
 msgstr "無效的選項 \"%.50s\"\n"
@@ -6488,22 +6542,17 @@ msgstr "無效的選項 \"%.50s\"\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "你找到一個瑕疵了 ... (%s:%d)\n"
 
-#: jnlib/utf8conv.c:85
-#, c-format
-msgid "error loading `%s': %s\n"
-msgstr "載入 `%s' 時出錯: %s\n"
-
-#: jnlib/utf8conv.c:123
+#: jnlib/utf8conv.c:68
 #, c-format
 msgid "conversion from `%s' to `%s' not available\n"
 msgstr "沒有從 `%s' 到 `%s' 之間的轉換可用\n"
 
-#: jnlib/utf8conv.c:131
+#: jnlib/utf8conv.c:76
 #, c-format
 msgid "iconv_open failed: %s\n"
 msgstr "iconv_open 失敗: %s\n"
 
-#: jnlib/utf8conv.c:388 jnlib/utf8conv.c:654
+#: jnlib/utf8conv.c:328 jnlib/utf8conv.c:594
 #, c-format
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "從 `%s' 轉換成 `%s' 失敗: %s\n"
@@ -6561,24 +6610,24 @@ msgstr "用法: kbxutil [選項] [檔案] (或用 -h 求助)"
 #: kbx/kbxutil.c:120
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
-"list, export, import Keybox data\n"
+"List, export, import Keybox data\n"
 msgstr ""
 "語法: kbxutil [選項] [檔案]\n"
 "列出, 匯出, 匯入金鑰鑰匙盒資料\n"
 
-#: scd/app-nks.c:713 scd/app-openpgp.c:2647
+#: scd/app-nks.c:713 scd/app-openpgp.c:2808
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA 模組缺漏或者並非 %d 位元大\n"
 
-#: scd/app-nks.c:721 scd/app-openpgp.c:2659
+#: scd/app-nks.c:721 scd/app-openpgp.c:2820
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA 公用指數缺漏或者大於 %d 位元\n"
 
-#: scd/app-nks.c:801 scd/app-openpgp.c:1549 scd/app-openpgp.c:1568
-#: scd/app-openpgp.c:1729 scd/app-openpgp.c:1746 scd/app-openpgp.c:1994
-#: scd/app-openpgp.c:2039 scd/app-dinsig.c:303
+#: scd/app-nks.c:801 scd/app-openpgp.c:1648 scd/app-openpgp.c:1667
+#: scd/app-openpgp.c:1829 scd/app-openpgp.c:1846 scd/app-openpgp.c:2109
+#: scd/app-openpgp.c:2156 scd/app-openpgp.c:2261 scd/app-dinsig.c:303
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "收回個人識別碼 (PIN) 時傳回錯誤: %s\n"
@@ -6623,198 +6672,209 @@ msgid ""
 "qualified signatures."
 msgstr "|P|請輸入金鑰的 PIN 重設碼 (PUK) 以建立完善的簽章."
 
-#: scd/app-nks.c:1222 scd/app-openpgp.c:2072 scd/app-dinsig.c:532
+#: scd/app-nks.c:1222 scd/app-openpgp.c:2190 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "取得新的個人識別碼 (PIN) 時出錯: %s\n"
 
-#: scd/app-openpgp.c:695
+#: scd/app-openpgp.c:758
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "存放指紋失敗: %s\n"
 
-#: scd/app-openpgp.c:708
+#: scd/app-openpgp.c:771
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "存放創生日期失敗: %s\n"
 
-#: scd/app-openpgp.c:1156
+#: scd/app-openpgp.c:1219
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "讀取公鑰時失敗: %s\n"
 
-#: scd/app-openpgp.c:1164 scd/app-openpgp.c:2882
+#: scd/app-openpgp.c:1227 scd/app-openpgp.c:3080
 msgid "response does not contain the public key data\n"
 msgstr "回應中未包含公鑰資料\n"
 
-#: scd/app-openpgp.c:1172 scd/app-openpgp.c:2890
+#: scd/app-openpgp.c:1235 scd/app-openpgp.c:3088
 msgid "response does not contain the RSA modulus\n"
 msgstr "回應中未包含 RSA 系數\n"
 
-#: scd/app-openpgp.c:1181 scd/app-openpgp.c:2900
+#: scd/app-openpgp.c:1244 scd/app-openpgp.c:3098
 msgid "response does not contain the RSA public exponent\n"
 msgstr "回應中未包含 RSA 公用指數\n"
 
-#: scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:1599
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "以 %s 做為預設 PIN\n"
 
-#: scd/app-openpgp.c:1508
+#: scd/app-openpgp.c:1606
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "使用 %s 做為預設個人識別碼 (PIN) 失敗: %s - 正在停用之後的預設使用\n"
 
-#: scd/app-openpgp.c:1523
+#: scd/app-openpgp.c:1621
 #, c-format
 msgid "||Please enter the PIN%%0A[sigs done: %lu]"
 msgstr "||請輸入 PIN%%0A[簽署完成: %lu]"
 
-#: scd/app-openpgp.c:1534 scd/app-openpgp.c:1988
+#: scd/app-openpgp.c:1632 scd/app-openpgp.c:2103
 msgid "||Please enter the PIN"
 msgstr "||請輸入個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:1575 scd/app-openpgp.c:1753 scd/app-openpgp.c:2001
+#: scd/app-openpgp.c:1674 scd/app-openpgp.c:1853 scd/app-openpgp.c:2116
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "用於 CHV%d 的個人識別碼 (PIN) 太短; 長度最少要有 %d\n"
 
-#: scd/app-openpgp.c:1588 scd/app-openpgp.c:1627 scd/app-openpgp.c:1765
-#: scd/app-openpgp.c:3200
+#: scd/app-openpgp.c:1687 scd/app-openpgp.c:1726 scd/app-openpgp.c:1865
+#: scd/app-openpgp.c:3398
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "驗證 CHV%d 失敗: %s\n"
 
-#: scd/app-openpgp.c:1656 scd/app-openpgp.c:2020 scd/app-openpgp.c:3498
+#: scd/app-openpgp.c:1755 scd/app-openpgp.c:2137 scd/app-openpgp.c:3702
 msgid "error retrieving CHV status from card\n"
 msgstr "從卡片取回 CHV 狀態時出錯\n"
 
-#: scd/app-openpgp.c:1662 scd/app-openpgp.c:3507
+#: scd/app-openpgp.c:1761 scd/app-openpgp.c:3711
 msgid "card is permanently locked!\n"
 msgstr "卡片永久鎖定了!!\n"
 
-#: scd/app-openpgp.c:1669
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "%d 管理者個人識別碼 (PIN) 試圖在卡片永久鎖定前遺留下來\n"
 
 #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
 #. the start of the string.  Use %%0A to force a linefeed.
-#: scd/app-openpgp.c:1676
+#: scd/app-openpgp.c:1775
 #, c-format
 msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
 msgstr "|A|請在上輸入管理者 PIN%%0A[剩餘嘗試次數: %d]"
 
-#: scd/app-openpgp.c:1680
+#: scd/app-openpgp.c:1779
 msgid "|A|Please enter the Admin PIN"
 msgstr "|A|請輸入管理者 PIN"
 
-#: scd/app-openpgp.c:1701
+#: scd/app-openpgp.c:1800
 msgid "access to admin commands is not configured\n"
 msgstr "管理者指令存取權限尚未組態\n"
 
-#: scd/app-openpgp.c:2035
+#: scd/app-openpgp.c:2152
 msgid "||Please enter the Reset Code for the card"
 msgstr "||請輸入卡片的重設碼"
 
-#: scd/app-openpgp.c:2045 scd/app-openpgp.c:2097
+#: scd/app-openpgp.c:2162 scd/app-openpgp.c:2216
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "重設碼太短; 長度最少要有 %d\n"
 
-#: scd/app-openpgp.c:2067
+#. TRANSLATORS: Do not translate the "|*|" prefixes but
+#. keep it at the start of the string.  We need this elsewhere
+#. to get some infos on the string.
+#: scd/app-openpgp.c:2185
 msgid "|RN|New Reset Code"
 msgstr "|RN|新增重設碼"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|AN|New Admin PIN"
 msgstr "|AN|新增管理者個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2068
+#: scd/app-openpgp.c:2186
 msgid "|N|New PIN"
 msgstr "|N|新增個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2178 scd/app-openpgp.c:2968
+#: scd/app-openpgp.c:2257
+msgid "||Please enter the Admin PIN and New Admin PIN"
+msgstr "||請輸入管理者 PIN 及新的管理者 PIN"
+
+#: scd/app-openpgp.c:2258
+msgid "||Please enter the PIN and New PIN"
+msgstr "||請輸入個人識別碼及新的個人識別碼 (PIN)"
+
+#: scd/app-openpgp.c:2315 scd/app-openpgp.c:3166
 msgid "error reading application data\n"
 msgstr "讀取應用程式資料時出錯\n"
 
-#: scd/app-openpgp.c:2184 scd/app-openpgp.c:2975
+#: scd/app-openpgp.c:2321 scd/app-openpgp.c:3173
 msgid "error reading fingerprint DO\n"
 msgstr "讀取指紋 DO 時出錯\n"
 
-#: scd/app-openpgp.c:2194
+#: scd/app-openpgp.c:2331
 msgid "key already exists\n"
 msgstr "金鑰已存在\n"
 
-#: scd/app-openpgp.c:2198
+#: scd/app-openpgp.c:2335
 msgid "existing key will be replaced\n"
 msgstr "既有的金鑰將被取代\n"
 
-#: scd/app-openpgp.c:2200
+#: scd/app-openpgp.c:2337
 msgid "generating new key\n"
 msgstr "正在產生新的金鑰\n"
 
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2339
 msgid "writing new key\n"
 msgstr "正在寫入新的金鑰\n"
 
-#: scd/app-openpgp.c:2627
+#: scd/app-openpgp.c:2788
 msgid "creation timestamp missing\n"
 msgstr "缺漏創生時間戳印\n"
 
-#: scd/app-openpgp.c:2669 scd/app-openpgp.c:2677
+#: scd/app-openpgp.c:2830 scd/app-openpgp.c:2838
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA 質數 %s 缺漏或者並非 %d 位元大\n"
 
-#: scd/app-openpgp.c:2773
+#: scd/app-openpgp.c:2971
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "存放金鑰失敗: %s\n"
 
-#: scd/app-openpgp.c:2859
+#: scd/app-openpgp.c:3057
 msgid "please wait while key is being generated ...\n"
 msgstr "正在產生金鑰中, 請稍候 ...\n"
 
-#: scd/app-openpgp.c:2872
+#: scd/app-openpgp.c:3070
 msgid "generating key failed\n"
 msgstr "產生金鑰時失敗\n"
 
-#: scd/app-openpgp.c:2875
+#: scd/app-openpgp.c:3073
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "金鑰產生完畢 (%d 秒)\n"
 
-#: scd/app-openpgp.c:2933
+#: scd/app-openpgp.c:3131
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "無效的 OpenPGP 卡片結構 (DO 0x93)\n"
 
-#: scd/app-openpgp.c:2983
+#: scd/app-openpgp.c:3181
 msgid "fingerprint on card does not match requested one\n"
 msgstr "卡片上的指紋與所要求的那個並不吻合\n"
 
-#: scd/app-openpgp.c:3099
+#: scd/app-openpgp.c:3297
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "卡片不支援 %s 摘要演算法\n"
 
-#: scd/app-openpgp.c:3175
+#: scd/app-openpgp.c:3373
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "目前建立的簽章: %lu\n"
 
-#: scd/app-openpgp.c:3512
+#: scd/app-openpgp.c:3716
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "目前在此指令中的管理者 PIN 驗證被禁止了\n"
 
-#: scd/app-openpgp.c:3737 scd/app-openpgp.c:3748
+#: scd/app-openpgp.c:3943 scd/app-openpgp.c:3954
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "無法存取 %s - 無效的 OpenPGP 卡片?\n"
 
 #: scd/app-dinsig.c:299
-msgid "||Please enter your PIN at the reader's keypad"
+msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||請在讀卡機鍵盤上輸入你的個人識別碼 (PIN)"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
@@ -6824,51 +6884,55 @@ msgstr "||請在讀卡機鍵盤上輸入你的個人識別碼 (PIN)"
 msgid "|N|Initial New PIN"
 msgstr "|N|開始新增個人識別碼 (PIN)"
 
-#: scd/scdaemon.c:107
+#: scd/scdaemon.c:109
 msgid "run in multi server mode (foreground)"
 msgstr "以多重伺服器模式執行 (前景)"
 
-#: scd/scdaemon.c:117 sm/gpgsm.c:316
+#: scd/scdaemon.c:119 sm/gpgsm.c:316
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|等級|設定除錯等級為「等級」"
 
-#: scd/scdaemon.c:124 tools/gpgconf-comp.c:620
+#: scd/scdaemon.c:126 tools/gpgconf-comp.c:630
 msgid "|FILE|write a log to FILE"
 msgstr "|檔案|將日誌寫入至「檔案」"
 
-#: scd/scdaemon.c:126
+#: scd/scdaemon.c:128
 msgid "|N|connect to reader at port N"
 msgstr "|N|從 N 埠連線至讀卡機"
 
-#: scd/scdaemon.c:128
+#: scd/scdaemon.c:130
 msgid "|NAME|use NAME as ct-API driver"
 msgstr "|名稱|使用「名稱」做為 ct-API 驅動程式"
 
-#: scd/scdaemon.c:130
+#: scd/scdaemon.c:132
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|名稱|使用「名稱」做為 PC/SC 驅動程式"
 
-#: scd/scdaemon.c:133
+#: scd/scdaemon.c:135
 msgid "do not use the internal CCID driver"
 msgstr "不要使用內部的 CCID 驅動程式"
 
-#: scd/scdaemon.c:139
+#: scd/scdaemon.c:141
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|沒有活動達 N 秒後就與卡片斷線"
 
-#: scd/scdaemon.c:141
-msgid "do not use a reader's keypad"
+#: scd/scdaemon.c:144
+msgid "do not use a reader's pinpad"
 msgstr "不要使用讀卡機鍵盤"
 
-#: scd/scdaemon.c:144
+#: scd/scdaemon.c:149
 msgid "deny the use of admin card commands"
 msgstr "禁用管理者卡片指令"
 
-#: scd/scdaemon.c:259
+#: scd/scdaemon.c:152
+msgid "use variable length input for pinpad"
+msgstr "輸入 PIN 時在輸入區顯示成變動長度"
+
+#: scd/scdaemon.c:269
 msgid "Usage: scdaemon [options] (-h for help)"
 msgstr "用法: scdaemon [選項] (或用 -h 求助)"
 
-#: scd/scdaemon.c:261
+#: scd/scdaemon.c:271
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for GnuPG\n"
@@ -6876,16 +6940,16 @@ msgstr ""
 "語法: scdaemon [選項] [指令 [引數]]\n"
 "GnuPg 智慧卡服務\n"
 
-#: scd/scdaemon.c:766
+#: scd/scdaemon.c:786
 msgid "please use the option `--daemon' to run the program in the background\n"
 msgstr "請使用 `--daemon' 選項來將此程式執行於背景\n"
 
-#: scd/scdaemon.c:1120
+#: scd/scdaemon.c:1140
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "用於 fd %d 的經手程式已啟動\n"
 
-#: scd/scdaemon.c:1132
+#: scd/scdaemon.c:1152
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "用於 fd %d 的經手程式已終止\n"
@@ -6907,7 +6971,7 @@ msgstr "沒有執行中的 dirmngr - 正在啟動 `%s'\n"
 
 #: sm/call-dirmngr.c:285
 msgid "malformed DIRMNGR_INFO environment variable\n"
-msgstr "被變造的 DIRMNGR_INFO 環境變數\n"
+msgstr "格式不對的 DIRMNGR_INFO 環境變數\n"
 
 #: sm/call-dirmngr.c:297
 #, c-format
@@ -6923,11 +6987,11 @@ msgstr "無法連線至 dirmngr - 正試著退回\n"
 msgid "validation model requested by certificate: %s"
 msgstr "憑證所要求的驗證模型: %s"
 
-#: sm/certchain.c:197 sm/certchain.c:1828
+#: sm/certchain.c:197 sm/certchain.c:1884
 msgid "chain"
 msgstr "chain"
 
-#: sm/certchain.c:198 sm/certchain.c:1828
+#: sm/certchain.c:198 sm/certchain.c:1884
 msgid "shell"
 msgstr "shell"
 
@@ -6957,193 +7021,194 @@ msgstr "請注意: 不允許非關鍵的憑證原則"
 msgid "certificate policy not allowed"
 msgstr "未允許憑證原則"
 
-#: sm/certchain.c:498
+#: sm/certchain.c:527
 msgid "looking up issuer at external location\n"
 msgstr "從外部位置尋找發行者\n"
 
-#: sm/certchain.c:517
+#: sm/certchain.c:546
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "吻合的發行者數量: %d\n"
 
-#: sm/certchain.c:561
+#: sm/certchain.c:590
 msgid "looking up issuer from the Dirmngr cache\n"
 msgstr "從 Dirmngr 快取尋找發行者\n"
 
-#: sm/certchain.c:585
+#: sm/certchain.c:614
 #, c-format
 msgid "number of matching certificates: %d\n"
 msgstr "吻合的憑證數量: %d\n"
 
-#: sm/certchain.c:587
+#: sm/certchain.c:616
 #, c-format
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "尋找限於 dirmngr 快取的金鑰時失敗: %s\n"
 
-#: sm/certchain.c:759 sm/certchain.c:1252 sm/certchain.c:1856 sm/decrypt.c:261
-#: sm/encrypt.c:335 sm/sign.c:335 sm/verify.c:113
-msgid "failed to allocated keyDB handle\n"
+#: sm/certchain.c:815 sm/certchain.c:1308 sm/certchain.c:1912 sm/decrypt.c:261
+#: sm/encrypt.c:335 sm/import.c:435 sm/keydb.c:1496 sm/keydb.c:1564
+#: sm/sign.c:335 sm/verify.c:113
+msgid "failed to allocate keyDB handle\n"
 msgstr "配置 keyDB handle 失敗\n"
 
-#: sm/certchain.c:925
+#: sm/certchain.c:981
 msgid "certificate has been revoked"
 msgstr "憑證已撤銷"
 
-#: sm/certchain.c:940
+#: sm/certchain.c:996
 msgid "the status of the certificate is unknown"
 msgstr "憑證的狀態未知"
 
-#: sm/certchain.c:947
+#: sm/certchain.c:1003
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr "請確認 \"dirmngr\" 已安裝妥善\n"
 
-#: sm/certchain.c:953
+#: sm/certchain.c:1009
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "檢查 CRL 時失敗: %s"
 
-#: sm/certchain.c:982 sm/certchain.c:1050
+#: sm/certchain.c:1038 sm/certchain.c:1106
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "有效性無效的憑證: %s"
 
-#: sm/certchain.c:997 sm/certchain.c:1082
+#: sm/certchain.c:1053 sm/certchain.c:1138
 msgid "certificate not yet valid"
 msgstr "憑證尚未生效"
 
-#: sm/certchain.c:998 sm/certchain.c:1083
+#: sm/certchain.c:1054 sm/certchain.c:1139
 msgid "root certificate not yet valid"
 msgstr "根憑證尚未生效"
 
-#: sm/certchain.c:999 sm/certchain.c:1084
+#: sm/certchain.c:1055 sm/certchain.c:1140
 msgid "intermediate certificate not yet valid"
 msgstr "媒介憑證尚未生效"
 
-#: sm/certchain.c:1012
+#: sm/certchain.c:1068
 msgid "certificate has expired"
 msgstr "憑證已過期"
 
-#: sm/certchain.c:1013
+#: sm/certchain.c:1069
 msgid "root certificate has expired"
 msgstr "根憑證已過期"
 
-#: sm/certchain.c:1014
+#: sm/certchain.c:1070
 msgid "intermediate certificate has expired"
 msgstr "媒介憑證已過期"
 
-#: sm/certchain.c:1056
+#: sm/certchain.c:1112
 #, c-format
 msgid "required certificate attributes missing: %s%s%s"
 msgstr "遺失所需的憑證屬性: %s%s%s"
 
-#: sm/certchain.c:1065
+#: sm/certchain.c:1121
 msgid "certificate with invalid validity"
 msgstr "有效性無效的憑證"
 
-#: sm/certchain.c:1102
+#: sm/certchain.c:1158
 msgid "signature not created during lifetime of certificate"
 msgstr "簽章並非在憑證生存時間內所造"
 
-#: sm/certchain.c:1104
+#: sm/certchain.c:1160
 msgid "certificate not created during lifetime of issuer"
 msgstr "憑證並非在發行者生存時間內所造"
 
-#: sm/certchain.c:1105
+#: sm/certchain.c:1161
 msgid "intermediate certificate not created during lifetime of issuer"
 msgstr "媒介憑證並非在發行者生存時間內所造"
 
-#: sm/certchain.c:1109
+#: sm/certchain.c:1165
 msgid "  (  signature created at "
 msgstr "  (            簽章建立於 "
 
-#: sm/certchain.c:1110
+#: sm/certchain.c:1166
 msgid "  (certificate created at "
 msgstr "  (            憑證建立於 "
 
-#: sm/certchain.c:1113
+#: sm/certchain.c:1169
 msgid "  (certificate valid from "
 msgstr "  (憑證有效自 "
 
-#: sm/certchain.c:1114
+#: sm/certchain.c:1170
 msgid "  (     issuer valid from "
 msgstr "  (        發行者有效自 "
 
-#: sm/certchain.c:1144
+#: sm/certchain.c:1200
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "指紋=%s\n"
 
-#: sm/certchain.c:1153
+#: sm/certchain.c:1209
 msgid "root certificate has now been marked as trusted\n"
 msgstr "根憑證現在已標記為已信任\n"
 
-#: sm/certchain.c:1166
+#: sm/certchain.c:1222
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr "在 gpg-agent 中未啟用互動式標記為已信任\n"
 
-#: sm/certchain.c:1172
+#: sm/certchain.c:1228
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr "互動式標記為已信任在此作業階段中已停用\n"
 
-#: sm/certchain.c:1229
+#: sm/certchain.c:1285
 msgid "WARNING: creation time of signature not known - assuming current time"
 msgstr "警告: 簽章創造時間未知 - 假設為此刻"
 
-#: sm/certchain.c:1293
+#: sm/certchain.c:1349
 msgid "no issuer found in certificate"
 msgstr "憑證中找不到發行者"
 
-#: sm/certchain.c:1366
+#: sm/certchain.c:1422
 msgid "self-signed certificate has a BAD signature"
 msgstr "自簽憑證有 不良 簽章"
 
-#: sm/certchain.c:1435
+#: sm/certchain.c:1491
 msgid "root certificate is not marked trusted"
 msgstr "根憑證未標記為已信任"
 
-#: sm/certchain.c:1448
+#: sm/certchain.c:1504
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "檢查信任清單時失敗: %s\n"
 
-#: sm/certchain.c:1477 sm/import.c:160
+#: sm/certchain.c:1533 sm/import.c:160
 msgid "certificate chain too long\n"
 msgstr "憑證鏈太長\n"
 
-#: sm/certchain.c:1489
+#: sm/certchain.c:1545
 msgid "issuer certificate not found"
 msgstr "找不到發行者憑證"
 
-#: sm/certchain.c:1522
+#: sm/certchain.c:1578
 msgid "certificate has a BAD signature"
 msgstr "憑證有 不良 簽章"
 
-#: sm/certchain.c:1553
+#: sm/certchain.c:1609
 msgid "found another possible matching CA certificate - trying again"
 msgstr "找到了另一個可能吻合的 CA 憑證 - 正再試一次"
 
-#: sm/certchain.c:1604
+#: sm/certchain.c:1660
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "憑證鏈比 CA 所允許的 (%d) 還長"
 
-#: sm/certchain.c:1644 sm/certchain.c:1927
+#: sm/certchain.c:1700 sm/certchain.c:1983
 msgid "certificate is good\n"
 msgstr "憑證完好\n"
 
-#: sm/certchain.c:1645
+#: sm/certchain.c:1701
 msgid "intermediate certificate is good\n"
 msgstr "媒介憑證良好\n"
 
-#: sm/certchain.c:1646
+#: sm/certchain.c:1702
 msgid "root certificate is good\n"
 msgstr "根憑證完好\n"
 
-#: sm/certchain.c:1817
+#: sm/certchain.c:1873
 msgid "switching to chain model"
 msgstr "切換至鏈模型"
 
-#: sm/certchain.c:1826
+#: sm/certchain.c:1882
 #, c-format
 msgid "validation model used: %s"
 msgstr "已使用的驗證模型: %s"
@@ -7206,19 +7271,19 @@ msgid "error getting key usage information: %s\n"
 msgstr "取得金鑰用途資訊時出錯: %s\n"
 
 #: sm/certlist.c:142
-msgid "certificate should have not been used for certification\n"
+msgid "certificate should not have been used for certification\n"
 msgstr "憑證應該還未被用於憑證\n"
 
 #: sm/certlist.c:154
-msgid "certificate should have not been used for OCSP response signing\n"
+msgid "certificate should not have been used for OCSP response signing\n"
 msgstr "憑證應該還未被用於 OCSP 回應簽署\n"
 
 #: sm/certlist.c:165
-msgid "certificate should have not been used for encryption\n"
+msgid "certificate should not have been used for encryption\n"
 msgstr "憑證應該還未被用於加密\n"
 
 #: sm/certlist.c:166
-msgid "certificate should have not been used for signing\n"
+msgid "certificate should not have been used for signing\n"
 msgstr "憑證應該還未被用於簽署\n"
 
 #: sm/certlist.c:167
@@ -7417,7 +7482,7 @@ msgstr "(這看起來不像是個加密過的訊息)\n"
 msgid "certificate `%s' not found: %s\n"
 msgstr "找不到憑證 `%s': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1397 sm/keydb.c:1499
+#: sm/delete.c:122 sm/keydb.c:1574 sm/keydb.c:1676
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "鎖住金鑰鑰匙盒時出錯: %s\n"
@@ -7545,7 +7610,7 @@ msgstr "|檔案|將此金鑰鑰匙圈加到金鑰鑰匙圈清單「檔案」中"
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|使用者-ID|使用「使用者-ID」做為預設私鑰"
 
-#: sm/gpgsm.c:311 tools/gpgconf-comp.c:745
+#: sm/gpgsm.c:311 tools/gpgconf-comp.c:755
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|使用此金鑰伺服器來查找金鑰"
 
@@ -7564,8 +7629,8 @@ msgstr "用法: gpgsm [選項] [檔案] (或用 -h 求助)"
 #: sm/gpgsm.c:525
 msgid ""
 "Syntax: gpgsm [options] [files]\n"
-"sign, check, encrypt or decrypt using the S/MIME protocol\n"
-"default operation depends on the input data\n"
+"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+"Default operation depends on the input data\n"
 msgstr ""
 "語法: gpgsm [選項] [檔案]\n"
 "用 S/MIME 協定來簽署, 檢查, 加密或解密\n"
@@ -7600,25 +7665,25 @@ msgstr "%s:%u: 給定的密碼沒有使用者\n"
 msgid "%s:%u: skipping this line\n"
 msgstr "%s:%u: 正在跳過這一列\n"
 
-#: sm/gpgsm.c:1376
+#: sm/gpgsm.c:1379
 msgid "could not parse keyserver\n"
 msgstr "無法剖析金鑰伺服器\n"
 
-#: sm/gpgsm.c:1456
+#: sm/gpgsm.c:1459
 msgid "WARNING: running with faked system time: "
 msgstr "警告: 正在偽造的系統時間中執行: "
 
-#: sm/gpgsm.c:1556
+#: sm/gpgsm.c:1559
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "正在匯入通用憑證 `%s'\n"
 
-#: sm/gpgsm.c:1597
+#: sm/gpgsm.c:1600
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "無法用 `%s' 來簽署: %s\n"
 
-#: sm/gpgsm.c:1931
+#: sm/gpgsm.c:1934
 msgid "invalid command (there is no implicit command)\n"
 msgstr "無效的指令 (沒有這樣的指令)\n"
 
@@ -7635,11 +7700,7 @@ msgstr "存放憑證時出錯\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "基本的憑證檢查失敗了 - 未匯入\n"
 
-#: sm/import.c:435 sm/keydb.c:1319 sm/keydb.c:1387
-msgid "failed to allocate keyDB handle\n"
-msgstr "配置 keyDB handle 失敗\n"
-
-#: sm/import.c:492 sm/keydb.c:1417 sm/keydb.c:1511
+#: sm/import.c:492 sm/keydb.c:1594 sm/keydb.c:1688
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "取得已存放的旗標時出錯: %s\n"
@@ -7654,45 +7715,41 @@ msgstr "匯入憑證時出錯: %s\n"
 msgid "error reading input: %s\n"
 msgstr "讀取輸入時出錯: %s\n"
 
-#: sm/keydb.c:187
+#: sm/keydb.c:216
 #, c-format
 msgid "error creating keybox `%s': %s\n"
 msgstr "建立金鑰鑰匙盒 `%s' 時出錯: %s\n"
 
-#: sm/keydb.c:190
-msgid "you may want to start the gpg-agent first\n"
-msgstr "你可能會先想啟動 gpg-agent\n"
-
-#: sm/keydb.c:195
+#: sm/keydb.c:223
 #, c-format
 msgid "keybox `%s' created\n"
 msgstr "`%s' 鑰匙盒已建立\n"
 
-#: sm/keydb.c:1312 sm/keydb.c:1380
+#: sm/keydb.c:1489 sm/keydb.c:1557
 msgid "failed to get the fingerprint\n"
 msgstr "取得指紋失敗\n"
 
-#: sm/keydb.c:1340
+#: sm/keydb.c:1517
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "查找既有憑證的問題: %s\n"
 
-#: sm/keydb.c:1348
+#: sm/keydb.c:1525
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "尋找可寫入的 keyDB 時出錯: %s\n"
 
-#: sm/keydb.c:1356
+#: sm/keydb.c:1533
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "存放憑證時出錯: %s\n"
 
-#: sm/keydb.c:1408
+#: sm/keydb.c:1585
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "重新搜尋憑證的問題: %s\n"
 
-#: sm/keydb.c:1429 sm/keydb.c:1522
+#: sm/keydb.c:1606 sm/keydb.c:1699
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "存放旗標時出錯: %s\n"
@@ -7880,144 +7937,144 @@ msgstr "送出 `%s' 指令時出錯: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "送出標準選項時出錯: %s\n"
 
-#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:644
-#: tools/gpgconf-comp.c:712 tools/gpgconf-comp.c:799
+#: tools/gpgconf-comp.c:473 tools/gpgconf-comp.c:583 tools/gpgconf-comp.c:654
+#: tools/gpgconf-comp.c:722 tools/gpgconf-comp.c:809
 msgid "Options controlling the diagnostic output"
 msgstr "控制著診斷性輸出的選項"
 
-#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:590 tools/gpgconf-comp.c:657
-#: tools/gpgconf-comp.c:725 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:486 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:667
+#: tools/gpgconf-comp.c:735 tools/gpgconf-comp.c:832
 msgid "Options controlling the configuration"
 msgstr "控制著組態的選項"
 
-#: tools/gpgconf-comp.c:496 tools/gpgconf-comp.c:615 tools/gpgconf-comp.c:673
-#: tools/gpgconf-comp.c:750 tools/gpgconf-comp.c:829
+#: tools/gpgconf-comp.c:502 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:683
+#: tools/gpgconf-comp.c:760 tools/gpgconf-comp.c:839
 msgid "Options useful for debugging"
 msgstr "對除錯有幫助的選項"
 
-#: tools/gpgconf-comp.c:501 tools/gpgconf-comp.c:678 tools/gpgconf-comp.c:755
-#: tools/gpgconf-comp.c:837
+#: tools/gpgconf-comp.c:507 tools/gpgconf-comp.c:688 tools/gpgconf-comp.c:765
+#: tools/gpgconf-comp.c:847
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|檔案|將伺服器模式日誌寫入至「檔案」"
 
-#: tools/gpgconf-comp.c:509 tools/gpgconf-comp.c:625 tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:515 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:773
 msgid "Options controlling the security"
 msgstr "控制著安全性的選項"
 
-#: tools/gpgconf-comp.c:516
+#: tools/gpgconf-comp.c:522
 msgid "|N|expire SSH keys after N seconds"
 msgstr "|N|在 N 秒之後讓 SSH 金鑰過期"
 
-#: tools/gpgconf-comp.c:520
+#: tools/gpgconf-comp.c:526
 msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgstr "|N|把個人識別碼 (PIN) 快取最大生存時間設成 N 秒"
 
-#: tools/gpgconf-comp.c:524
+#: tools/gpgconf-comp.c:530
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|把 SSH 金鑰最大生存時間設成 N 秒"
 
-#: tools/gpgconf-comp.c:538
+#: tools/gpgconf-comp.c:544
 msgid "Options enforcing a passphrase policy"
 msgstr "強制執行密語原則的選項"
 
-#: tools/gpgconf-comp.c:541
+#: tools/gpgconf-comp.c:547
 msgid "do not allow to bypass the passphrase policy"
 msgstr "不允許略過密語原則"
 
-#: tools/gpgconf-comp.c:545
+#: tools/gpgconf-comp.c:551
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|把新密語所需的最短長度設成 N"
 
-#: tools/gpgconf-comp.c:549
+#: tools/gpgconf-comp.c:555
 msgid "|N|require at least N non-alpha characters for a new passphrase"
 msgstr "|N|新密語至少要有 N 個非字母的字符"
 
-#: tools/gpgconf-comp.c:553
+#: tools/gpgconf-comp.c:559
 msgid "|FILE|check new passphrases against pattern in FILE"
 msgstr "|檔案|用「檔案」中的樣式來檢查新密語"
 
-#: tools/gpgconf-comp.c:557
+#: tools/gpgconf-comp.c:563
 msgid "|N|expire the passphrase after N days"
 msgstr "|N|在 N 天之後讓密語過期"
 
-#: tools/gpgconf-comp.c:561
+#: tools/gpgconf-comp.c:567
 msgid "do not allow the reuse of old passphrases"
 msgstr "不允許重複使用舊密語"
 
-#: tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:727
+#: tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:737
 msgid "|NAME|use NAME as default secret key"
 msgstr "|名字|使用「名字」做為預設私鑰"
 
-#: tools/gpgconf-comp.c:662 tools/gpgconf-comp.c:730
+#: tools/gpgconf-comp.c:672 tools/gpgconf-comp.c:740
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|名字|也加密給使用者 ID「名字」"
 
-#: tools/gpgconf-comp.c:665
+#: tools/gpgconf-comp.c:675
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|設定電子郵件別名"
 
-#: tools/gpgconf-comp.c:686
+#: tools/gpgconf-comp.c:696
 msgid "Configuration for Keyservers"
 msgstr "金鑰伺服器組態"
 
-#: tools/gpgconf-comp.c:688
+#: tools/gpgconf-comp.c:698
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|使用位於 URL 的金鑰伺服器"
 
-#: tools/gpgconf-comp.c:691
+#: tools/gpgconf-comp.c:701
 msgid "allow PKA lookups (DNS requests)"
 msgstr "允許 PKA 查找 (DNS 請求)"
 
-#: tools/gpgconf-comp.c:694
+#: tools/gpgconf-comp.c:704
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|使用 MECHANISMS 機制來從郵件地址找出金鑰"
 
-#: tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:749
 msgid "disable all access to the dirmngr"
 msgstr "停用所有的 dirmngr 存取"
 
-#: tools/gpgconf-comp.c:742
+#: tools/gpgconf-comp.c:752
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|名稱|將「名稱」編碼用於 PKCS#12 密語"
 
-#: tools/gpgconf-comp.c:768
+#: tools/gpgconf-comp.c:778
 msgid "do not check CRLs for root certificates"
 msgstr "不要為根憑證檢查 CRL"
 
-#: tools/gpgconf-comp.c:812
+#: tools/gpgconf-comp.c:822
 msgid "Options controlling the format of the output"
 msgstr "控制著輸出格式的選項"
 
-#: tools/gpgconf-comp.c:848
+#: tools/gpgconf-comp.c:858
 msgid "Options controlling the interactivity and enforcement"
 msgstr "控制著互動及強制執行的選項"
 
-#: tools/gpgconf-comp.c:858
+#: tools/gpgconf-comp.c:868
 msgid "Configuration for HTTP servers"
 msgstr "HTTP 伺服器組態"
 
-#: tools/gpgconf-comp.c:869
+#: tools/gpgconf-comp.c:879
 msgid "use system's HTTP proxy setting"
 msgstr "使用系統的 HTTP 代理伺服器設定"
 
-#: tools/gpgconf-comp.c:874
+#: tools/gpgconf-comp.c:884
 msgid "Configuration of LDAP servers to use"
 msgstr "要用的 LDAP 伺服器組態"
 
-#: tools/gpgconf-comp.c:903
+#: tools/gpgconf-comp.c:913
 msgid "LDAP server list"
 msgstr "LDAP 伺服器清單"
 
-#: tools/gpgconf-comp.c:911
+#: tools/gpgconf-comp.c:921
 msgid "Configuration for OCSP"
 msgstr "OCSP 組態"
 
-#: tools/gpgconf-comp.c:3077
+#: tools/gpgconf-comp.c:3087
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "元件 %s 的外部驗證失敗"
 
-#: tools/gpgconf-comp.c:3227
+#: tools/gpgconf-comp.c:3237
 msgid "Note that group specifications are ignored\n"
 msgstr "請注意群組規格已忽略\n"
 
@@ -8273,6 +8330,15 @@ msgstr ""
 "語法: gpg-check-pattern [選項] 樣式檔案\n"
 "用樣式檔案來檢查由標準輸入給定的密語\n"
 
+#~ msgid "you may want to start the gpg-agent first\n"
+#~ msgstr "你可能會先想啟動 gpg-agent\n"
+
+#~ msgid "error loading `%s': %s\n"
+#~ msgstr "載入 `%s' 時出錯: %s\n"
+
+#~ msgid "failed to allocated keyDB handle\n"
+#~ msgstr "配置 keyDB handle 失敗\n"
+
 #~ msgid "Command> "
 #~ msgstr "指令> "
 
@@ -8776,9 +8842,6 @@ msgstr ""
 #~ msgid "wrong secret key used"
 #~ msgstr "用了錯誤的私鑰"
 
-#~ msgid "not supported"
-#~ msgstr "未支援"
-
 #~ msgid "bad key"
 #~ msgstr "損壞的金鑰"
 
index 58e2f9b..e883180 100644 (file)
 
 ## Process this file with automake to produce Makefile.in
 
-bin_PROGRAMS = scdaemon
-if ! HAVE_W32_SYSTEM
-libexec_PROGRAMS = gnupg-pcsc-wrapper
+if HAVE_W32_SYSTEM
+libexec_PROGRAMS = scdaemon
+else
+libexec_PROGRAMS = scdaemon gnupg-pcsc-wrapper
 endif
 
-EXTRA_DIST = ChangeLog-2011
+EXTRA_DIST = ChangeLog-2011 scdaemon-w32info.rc
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
 
 include $(top_srcdir)/am/cmacros.am
 
-AM_CFLAGS =  $(LIBGCRYPT_CFLAGS) \
-            $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
+if HAVE_W32_SYSTEM
+resource_objs += scdaemon-w32info.o
+endif
+
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) \
+           $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
 
 
 card_apps = app-openpgp.c app-nks.c app-dinsig.c app-p15.c app-geldkarte.c
@@ -46,7 +51,7 @@ scdaemon_SOURCES = \
 scdaemon_LDADD = $(libcommonpth) ../jnlib/libjnlib.a ../gl/libgnu.a \
        $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
        $(LIBUSB_LIBS) $(GPG_ERROR_LIBS) \
-        $(LIBINTL) $(DL_LIBS) $(NETLIBS) $(LIBICONV)
+        $(LIBINTL) $(DL_LIBS) $(NETLIBS) $(LIBICONV) $(resource_objs)
 
 # Removed for now: We need to decide whether it makes sense to
 # continue it at all, given that gpg has now all required
index d3a924c..71865f6 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -69,8 +86,9 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-bin_PROGRAMS = scdaemon$(EXEEXT)
-@HAVE_W32_SYSTEM_FALSE@libexec_PROGRAMS = gnupg-pcsc-wrapper$(EXEEXT)
+@HAVE_W32_SYSTEM_FALSE@libexec_PROGRAMS = scdaemon$(EXEEXT) \
+@HAVE_W32_SYSTEM_FALSE@        gnupg-pcsc-wrapper$(EXEEXT)
+@HAVE_W32_SYSTEM_TRUE@libexec_PROGRAMS = scdaemon$(EXEEXT)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(top_srcdir)/am/cmacros.am
 @HAVE_DOSISH_SYSTEM_FALSE@am__append_1 = -DGNUPG_BINDIR="\"$(bindir)\""            \
@@ -88,6 +106,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GNUPG_SCDAEMON_PGM_TRUE@am__append_4 = -DGNUPG_DEFAULT_SCDAEMON="\"@GNUPG_SCDAEMON_PGM@\""
 @GNUPG_DIRMNGR_PGM_TRUE@am__append_5 = -DGNUPG_DEFAULT_DIRMNGR="\"@GNUPG_DIRMNGR_PGM@\""
 @GNUPG_PROTECT_TOOL_PGM_TRUE@am__append_6 = -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
+@HAVE_W32_SYSTEM_TRUE@am__append_7 = scdaemon-w32info.o
 subdir = scd
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/gl/m4/absolute-header.m4 \
@@ -118,8 +137,8 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"
-PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
+am__installdirs = "$(DESTDIR)$(libexecdir)"
+PROGRAMS = $(libexec_PROGRAMS)
 am_gnupg_pcsc_wrapper_OBJECTS =  \
        gnupg_pcsc_wrapper-pcsc-wrapper.$(OBJEXT)
 gnupg_pcsc_wrapper_OBJECTS = $(am_gnupg_pcsc_wrapper_OBJECTS)
@@ -138,7 +157,7 @@ scdaemon_DEPENDENCIES = $(libcommonpth) ../jnlib/libjnlib.a \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(resource_objs)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
 am__depfiles_maybe = depfiles
@@ -149,6 +168,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(gnupg_pcsc_wrapper_SOURCES) $(scdaemon_SOURCES)
 DIST_SOURCES = $(gnupg_pcsc_wrapper_SOURCES) $(scdaemon_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -168,7 +192,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -346,17 +374,18 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = ChangeLog-2011
+EXTRA_DIST = ChangeLog-2011 scdaemon-w32info.rc
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl \
        -I$(top_srcdir)/common -DLOCALEDIR=\"$(localedir)\" \
        $(am__append_1) $(am__append_2) $(am__append_3) \
        $(am__append_4) $(am__append_5) $(am__append_6)
+resource_objs = $(am__append_7)
 
 # Convenience macros
 libcommon = ../common/libcommon.a
 libcommonpth = ../common/libcommonpth.a
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) \
-            $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) \
+           $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS)
 
 card_apps = app-openpgp.c app-nks.c app-dinsig.c app-p15.c app-geldkarte.c
 scdaemon_SOURCES = \
@@ -370,7 +399,7 @@ scdaemon_SOURCES = \
 scdaemon_LDADD = $(libcommonpth) ../jnlib/libjnlib.a ../gl/libgnu.a \
        $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
        $(LIBUSB_LIBS) $(GPG_ERROR_LIBS) \
-        $(LIBINTL) $(DL_LIBS) $(NETLIBS) $(LIBICONV)
+        $(LIBINTL) $(DL_LIBS) $(NETLIBS) $(LIBICONV) $(resource_objs)
 
 
 # Removed for now: We need to decide whether it makes sense to
@@ -397,7 +426,7 @@ gnupg_pcsc_wrapper_CFLAGS =
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -419,6 +448,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -428,47 +458,13 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       for p in $$list; do echo "$$p $$p"; done | \
-       sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
-       done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-           -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-       sed 'N;N;N;s,\n, ,g' | \
-       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-           if ($$2 == $$4) files[d] = files[d] " " $$1; \
-           else { print "f", $$3 "/" $$4, $$1; } } \
-         END { for (d in files) print "f", d, files[d] }' | \
-       while read type dir files; do \
-           if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-           test -z "$$files" || { \
-             echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-             $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-           } \
-       ; done
-
-uninstall-binPROGRAMS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       files=`for p in $$list; do echo "$$p"; done | \
-         sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
        @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -502,10 +498,10 @@ uninstall-libexecPROGRAMS:
 
 clean-libexecPROGRAMS:
        -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
-gnupg-pcsc-wrapper$(EXEEXT): $(gnupg_pcsc_wrapper_OBJECTS) $(gnupg_pcsc_wrapper_DEPENDENCIES) 
+gnupg-pcsc-wrapper$(EXEEXT): $(gnupg_pcsc_wrapper_OBJECTS) $(gnupg_pcsc_wrapper_DEPENDENCIES) $(EXTRA_gnupg_pcsc_wrapper_DEPENDENCIES) 
        @rm -f gnupg-pcsc-wrapper$(EXEEXT)
        $(gnupg_pcsc_wrapper_LINK) $(gnupg_pcsc_wrapper_OBJECTS) $(gnupg_pcsc_wrapper_LDADD) $(LIBS)
-scdaemon$(EXEEXT): $(scdaemon_OBJECTS) $(scdaemon_DEPENDENCIES) 
+scdaemon$(EXEEXT): $(scdaemon_OBJECTS) $(scdaemon_DEPENDENCIES) $(EXTRA_scdaemon_DEPENDENCIES) 
        @rm -f scdaemon$(EXEEXT)
        $(LINK) $(scdaemon_OBJECTS) $(scdaemon_LDADD) $(LIBS)
 
@@ -643,7 +639,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"; do \
+       for dir in "$(DESTDIR)$(libexecdir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-am
@@ -656,10 +652,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -673,8 +674,7 @@ maintainer-clean-generic:
        @echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-binPROGRAMS clean-generic clean-libexecPROGRAMS \
-       mostlyclean-am
+clean-am: clean-generic clean-libexecPROGRAMS mostlyclean-am
 
 distclean: distclean-am
        -rm -rf ./$(DEPDIR)
@@ -700,7 +700,7 @@ install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS install-libexecPROGRAMS
+install-exec-am: install-libexecPROGRAMS
 
 install-html: install-html-am
 
@@ -739,24 +739,26 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-libexecPROGRAMS
+uninstall-am: uninstall-libexecPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libexecPROGRAMS ctags distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binPROGRAMS install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am \
-       install-libexecPROGRAMS install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am uninstall-binPROGRAMS uninstall-libexecPROGRAMS
-
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libexecPROGRAMS ctags distclean distclean-compile \
+       distclean-generic distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-libexecPROGRAMS install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-libexecPROGRAMS
+
+
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index b68cd71..9028120 100644 (file)
 #include "exechelp.h"
 #endif /* GNUPG_MAJOR_VERSION != 1 */
 
+#include "iso7816.h"
 #include "apdu.h"
 #include "ccid-driver.h"
 
-
 /* Due to conflicting use of threading libraries we usually can't link
    against libpcsclite.   Instead we use a wrapper program.  */
 #ifdef USE_GNU_PTH
 #define DLSTDCALL
 #endif
 
-
-/* Helper to pass parameters related to keypad based operations. */
-struct pininfo_s
-{
-  int mode;
-  int minlen;
-  int maxlen;
-  int padlen;
-};
+#if defined(__APPLE__) || defined(_WIN32) || defined(__CYGWIN__)
+typedef unsigned int pcsc_dword_t;
+#else
+typedef unsigned long pcsc_dword_t;
+#endif
 
 /* A structure to collect information pertaining to one reader
    slot. */
@@ -105,18 +101,24 @@ struct reader_table_s {
   int (*reset_reader)(int);
   int (*get_status_reader)(int, unsigned int *);
   int (*send_apdu_reader)(int,unsigned char *,size_t,
-                          unsigned char *, size_t *, struct pininfo_s *);
-  int (*check_keypad)(int, int, int, int, int, int);
+                          unsigned char *, size_t *, pininfo_t *);
+  int (*check_pinpad)(int, int, pininfo_t *);
   void (*dump_status_reader)(int);
   int (*set_progress_cb)(int, gcry_handler_progress_t, void*);
+  int (*pinpad_verify)(int, int, int, int, int, pininfo_t *);
+  int (*pinpad_modify)(int, int, int, int, int, pininfo_t *);
 
   struct {
     ccid_driver_t handle;
   } ccid;
   struct {
-    unsigned long context;
-    unsigned long card;
-    unsigned long protocol;
+    long context;
+    long card;
+    pcsc_dword_t protocol;
+    pcsc_dword_t verify_ioctl;
+    pcsc_dword_t modify_ioctl;
+    int pinmin;
+    int pinmax;
 #ifdef NEED_PCSC_WRAPPER
     int req_fd;
     int rsp_fd;
@@ -133,6 +135,10 @@ struct reader_table_s {
   int last_status;
   int status;
   int is_t0;         /* True if we know that we are running T=0. */
+  int is_spr532;     /* True if we know that the reader is a SPR532.  */
+  int pinpad_varlen_supported;  /* True if we know that the reader
+                                   supports variable length pinpad
+                                   input.  */
   unsigned char atr[33];
   size_t atrlen;           /* A zero length indicates that the ATR has
                               not yet been read; i.e. the card is not
@@ -216,8 +222,34 @@ static char (* DLSTDCALL CT_close) (unsigned short ctn);
 #define PCSC_E_SYSTEM_CANCELLED        0x80100012
 #define PCSC_E_NOT_TRANSACTED          0x80100016
 #define PCSC_E_READER_UNAVAILABLE      0x80100017
+#define PCSC_E_NO_SERVICE              0x8010001D
 #define PCSC_W_REMOVED_CARD            0x80100069
 
+/* Fix pcsc-lite ABI incompatibilty.  */
+#ifndef SCARD_CTL_CODE
+#ifdef _WIN32
+#include <winioctl.h>
+#define SCARD_CTL_CODE(code) CTL_CODE(FILE_DEVICE_SMARTCARD, (code), \
+                                     METHOD_BUFFERED, FILE_ANY_ACCESS)
+#else
+#define SCARD_CTL_CODE(code) (0x42000000 + (code))
+#endif
+#endif
+
+#define CM_IOCTL_GET_FEATURE_REQUEST     SCARD_CTL_CODE(3400)
+#define CM_IOCTL_VENDOR_IFD_EXCHANGE     SCARD_CTL_CODE(1)
+#define FEATURE_VERIFY_PIN_DIRECT        0x06
+#define FEATURE_MODIFY_PIN_DIRECT        0x07
+#define FEATURE_GET_TLV_PROPERTIES       0x12
+
+#define PCSCv2_PART10_PROPERTY_bEntryValidationCondition 2
+#define PCSCv2_PART10_PROPERTY_bTimeOut2                 3
+#define PCSCv2_PART10_PROPERTY_bMinPINSize               6
+#define PCSCv2_PART10_PROPERTY_bMaxPINSize               7
+#define PCSCv2_PART10_PROPERTY_wIdVendor                11
+#define PCSCv2_PART10_PROPERTY_wIdProduct               12
+
+
 /* The PC/SC error is defined as a long as per specs.  Due to left
    shifts bit 31 will get sign extended.  We use this mask to fix
    it. */
@@ -232,71 +264,89 @@ struct pcsc_io_request_s
 
 typedef struct pcsc_io_request_s *pcsc_io_request_t;
 
+#ifdef __APPLE__
+#pragma pack(1)
+#endif
+
 struct pcsc_readerstate_s
 {
   const char *reader;
   void *user_data;
-  unsigned long current_state;
-  unsigned long event_state;
-  unsigned long atrlen;
+  pcsc_dword_t current_state;
+  pcsc_dword_t event_state;
+  pcsc_dword_t atrlen;
   unsigned char atr[33];
 };
 
+#ifdef __APPLE__
+#pragma pack()
+#endif
+
 typedef struct pcsc_readerstate_s *pcsc_readerstate_t;
 
-long (* DLSTDCALL pcsc_establish_context) (unsigned long scope,
+long (* DLSTDCALL pcsc_establish_context) (pcsc_dword_t scope,
                                            const void *reserved1,
                                            const void *reserved2,
-                                           unsigned long *r_context);
-long (* DLSTDCALL pcsc_release_context) (unsigned long context);
-long (* DLSTDCALL pcsc_list_readers) (unsigned long context,
+                                           long *r_context);
+long (* DLSTDCALL pcsc_release_context) (long context);
+long (* DLSTDCALL pcsc_list_readers) (long context,
                                       const char *groups,
-                                      char *readers, unsigned long*readerslen);
-long (* DLSTDCALL pcsc_get_status_change) (unsigned long context,
-                                           unsigned long timeout,
+                                      char *readers, pcsc_dword_t*readerslen);
+long (* DLSTDCALL pcsc_get_status_change) (long context,
+                                           pcsc_dword_t timeout,
                                            pcsc_readerstate_t readerstates,
-                                           unsigned long nreaderstates);
-long (* DLSTDCALL pcsc_connect) (unsigned long context,
+                                           pcsc_dword_t nreaderstates);
+long (* DLSTDCALL pcsc_connect) (long context,
                                  const char *reader,
-                                 unsigned long share_mode,
-                                 unsigned long preferred_protocols,
-                                 unsigned long *r_card,
-                                 unsigned long *r_active_protocol);
-long (* DLSTDCALL pcsc_reconnect) (unsigned long card,
-                                   unsigned long share_mode,
-                                   unsigned long preferred_protocols,
-                                   unsigned long initialization,
-                                   unsigned long *r_active_protocol);
-long (* DLSTDCALL pcsc_disconnect) (unsigned long card,
-                                    unsigned long disposition);
-long (* DLSTDCALL pcsc_status) (unsigned long card,
-                                char *reader, unsigned long *readerlen,
-                                unsigned long *r_state,
-                                unsigned long *r_protocol,
-                                unsigned char *atr, unsigned long *atrlen);
-long (* DLSTDCALL pcsc_begin_transaction) (unsigned long card);
-long (* DLSTDCALL pcsc_end_transaction) (unsigned long card,
-                                         unsigned long disposition);
-long (* DLSTDCALL pcsc_transmit) (unsigned long card,
+                                 pcsc_dword_t share_mode,
+                                 pcsc_dword_t preferred_protocols,
+                                 long *r_card,
+                                 pcsc_dword_t *r_active_protocol);
+long (* DLSTDCALL pcsc_reconnect) (long card,
+                                   pcsc_dword_t share_mode,
+                                   pcsc_dword_t preferred_protocols,
+                                   pcsc_dword_t initialization,
+                                   pcsc_dword_t *r_active_protocol);
+long (* DLSTDCALL pcsc_disconnect) (long card,
+                                    pcsc_dword_t disposition);
+long (* DLSTDCALL pcsc_status) (long card,
+                                char *reader, pcsc_dword_t *readerlen,
+                                pcsc_dword_t *r_state,
+                                pcsc_dword_t *r_protocol,
+                                unsigned char *atr, pcsc_dword_t *atrlen);
+long (* DLSTDCALL pcsc_begin_transaction) (long card);
+long (* DLSTDCALL pcsc_end_transaction) (long card,
+                                         pcsc_dword_t disposition);
+long (* DLSTDCALL pcsc_transmit) (long card,
                                   const pcsc_io_request_t send_pci,
                                   const unsigned char *send_buffer,
-                                  unsigned long send_len,
+                                  pcsc_dword_t send_len,
                                   pcsc_io_request_t recv_pci,
                                   unsigned char *recv_buffer,
-                                  unsigned long *recv_len);
-long (* DLSTDCALL pcsc_set_timeout) (unsigned long context,
-                                     unsigned long timeout);
-
-/* Flag set if PC/SC returned the no-service error.  */
-static int pcsc_no_service;
+                                  pcsc_dword_t *recv_len);
+long (* DLSTDCALL pcsc_set_timeout) (long context,
+                                     pcsc_dword_t timeout);
+long (* DLSTDCALL pcsc_control) (long card,
+                                 pcsc_dword_t control_code,
+                                 const void *send_buffer,
+                                 pcsc_dword_t send_len,
+                                 void *recv_buffer,
+                                 pcsc_dword_t recv_len,
+                                 pcsc_dword_t *bytes_returned);
 
 
 /*  Prototypes.  */
+static int pcsc_vendor_specific_init (int slot);
 static int pcsc_get_status (int slot, unsigned int *status);
 static int reset_pcsc_reader (int slot);
 static int apdu_get_status_internal (int slot, int hang, int no_atr_reset,
                                      unsigned int *status,
                                      unsigned int *changed);
+static int check_pcsc_pinpad (int slot, int command, pininfo_t *pininfo);
+static int pcsc_pinpad_verify (int slot, int class, int ins, int p0, int p1,
+                               pininfo_t *pininfo);
+static int pcsc_pinpad_modify (int slot, int class, int ins, int p0, int p1,
+                               pininfo_t *pininfo);
 
 
 \f
@@ -305,8 +355,47 @@ static int apdu_get_status_internal (int slot, int hang, int no_atr_reset,
  */
 
 
+static int
+lock_slot (int slot)
+{
+#ifdef USE_GNU_PTH
+  if (!pth_mutex_acquire (&reader_table[slot].lock, 0, NULL))
+    {
+      log_error ("failed to acquire apdu lock: %s\n", strerror (errno));
+      return SW_HOST_LOCKING_FAILED;
+    }
+#endif /*USE_GNU_PTH*/
+  return 0;
+}
+
+static int
+trylock_slot (int slot)
+{
+#ifdef USE_GNU_PTH
+  if (!pth_mutex_acquire (&reader_table[slot].lock, TRUE, NULL))
+    {
+      if (errno == EBUSY)
+        return SW_HOST_BUSY;
+      log_error ("failed to acquire apdu lock: %s\n", strerror (errno));
+      return SW_HOST_LOCKING_FAILED;
+    }
+#endif /*USE_GNU_PTH*/
+  return 0;
+}
+
+static void
+unlock_slot (int slot)
+{
+#ifdef USE_GNU_PTH
+  if (!pth_mutex_release (&reader_table[slot].lock))
+    log_error ("failed to release apdu lock: %s\n", strerror (errno));
+#endif /*USE_GNU_PTH*/
+}
+
+
 /* Find an unused reader slot for PORTSTR and put it into the reader
-   table.  Return -1 on error or the index into the reader table. */
+   table.  Return -1 on error or the index into the reader table.
+   Acquire slot's lock on successful return.  Caller needs to unlock it.  */
 static int
 new_reader_slot (void)
 {
@@ -333,6 +422,11 @@ new_reader_slot (void)
       reader_table[reader].lock_initialized = 1;
     }
 #endif /*USE_GNU_PTH*/
+  if (lock_slot (reader))
+    {
+      log_error ("error locking mutex: %s\n", strerror (errno));
+      return -1;
+    }
   reader_table[reader].connect_card = NULL;
   reader_table[reader].disconnect_card = NULL;
   reader_table[reader].close_reader = NULL;
@@ -340,19 +434,27 @@ new_reader_slot (void)
   reader_table[reader].reset_reader = NULL;
   reader_table[reader].get_status_reader = NULL;
   reader_table[reader].send_apdu_reader = NULL;
-  reader_table[reader].check_keypad = NULL;
+  reader_table[reader].check_pinpad = check_pcsc_pinpad;
   reader_table[reader].dump_status_reader = NULL;
   reader_table[reader].set_progress_cb = NULL;
+  reader_table[reader].pinpad_verify = pcsc_pinpad_verify;
+  reader_table[reader].pinpad_modify = pcsc_pinpad_modify;
 
   reader_table[reader].used = 1;
   reader_table[reader].any_status = 0;
   reader_table[reader].last_status = 0;
   reader_table[reader].is_t0 = 1;
+  reader_table[reader].is_spr532 = 0;
+  reader_table[reader].pinpad_varlen_supported = 0;
 #ifdef NEED_PCSC_WRAPPER
   reader_table[reader].pcsc.req_fd = -1;
   reader_table[reader].pcsc.rsp_fd = -1;
   reader_table[reader].pcsc.pid = (pid_t)(-1);
 #endif
+  reader_table[reader].pcsc.verify_ioctl = 0;
+  reader_table[reader].pcsc.modify_ioctl = 0;
+  reader_table[reader].pcsc.pinmin = -1;
+  reader_table[reader].pcsc.pinmax = -1;
 
   return reader;
 }
@@ -395,7 +497,7 @@ host_sw_string (long err)
     case SW_HOST_GENERAL_ERROR: return "general error";
     case SW_HOST_NO_READER: return "no reader";
     case SW_HOST_ABORTED: return "aborted";
-    case SW_HOST_NO_KEYPAD: return "no keypad";
+    case SW_HOST_NO_PINPAD: return "no pinpad";
     case SW_HOST_ALREADY_CONNECTED: return "already connected";
     default: return "unknown host status error";
     }
@@ -560,7 +662,7 @@ ct_get_status (int slot, unsigned int *status)
    set to BUFLEN.  Returns: CT API error code. */
 static int
 ct_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
-              unsigned char *buffer, size_t *buflen, struct pininfo_s *pininfo)
+              unsigned char *buffer, size_t *buflen, pininfo_t *pininfo)
 {
   int rc;
   unsigned char dad[1], sad[1];
@@ -610,6 +712,7 @@ open_ct_reader (int port)
       log_error ("apdu_open_ct_reader failed on port %d: %s\n",
                  port, ct_error_string (rc));
       reader_table[reader].used = 0;
+      unlock_slot (reader);
       return -1;
     }
 
@@ -625,10 +728,13 @@ open_ct_reader (int port)
   reader_table[reader].reset_reader = reset_ct_reader;
   reader_table[reader].get_status_reader = ct_get_status;
   reader_table[reader].send_apdu_reader = ct_send_apdu;
-  reader_table[reader].check_keypad = NULL;
+  reader_table[reader].check_pinpad = NULL;
   reader_table[reader].dump_status_reader = ct_dump_reader_status;
+  reader_table[reader].pinpad_verify = NULL;
+  reader_table[reader].pinpad_modify = NULL;
 
   dump_reader_status (reader);
+  unlock_slot (reader);
   return reader;
 }
 
@@ -766,6 +872,7 @@ pcsc_error_to_sw (long ec)
     case PCSC_E_CANCELLED:           rc = SW_HOST_ABORTED; break;
     case PCSC_E_NO_MEMORY:           rc = SW_HOST_OUT_OF_CORE; break;
     case PCSC_E_TIMEOUT:             rc = SW_HOST_CARD_IO_ERROR; break;
+    case PCSC_E_UNKNOWN_READER:      rc = SW_HOST_NO_READER; break;
     case PCSC_E_SHARING_VIOLATION:   rc = SW_HOST_LOCKING_FAILED; break;
     case PCSC_E_NO_SMARTCARD:        rc = SW_HOST_NO_CARD; break;
     case PCSC_W_REMOVED_CARD:        rc = SW_HOST_NO_CARD; break;
@@ -838,9 +945,11 @@ pcsc_get_status_direct (int slot, unsigned int *status)
 
   *status = 0;
   if ( (rdrstates[0].event_state & PCSC_STATE_PRESENT) )
-    *status |= APDU_CARD_PRESENT;
-  if ( !(rdrstates[0].event_state & PCSC_STATE_MUTE) )
-    *status |= APDU_CARD_ACTIVE;
+    {
+      *status |= APDU_CARD_PRESENT;
+      if ( !(rdrstates[0].event_state & PCSC_STATE_MUTE) )
+       *status |= APDU_CARD_ACTIVE;
+    }
 #ifndef HAVE_W32_SYSTEM
   /* We indicate a useful card if it is not in use by another
      application.  This is because we only use exclusive access
@@ -987,11 +1096,11 @@ pcsc_get_status (int slot, unsigned int *status)
 static int
 pcsc_send_apdu_direct (int slot, unsigned char *apdu, size_t apdulen,
                        unsigned char *buffer, size_t *buflen,
-                       struct pininfo_s *pininfo)
+                       pininfo_t *pininfo)
 {
   long err;
   struct pcsc_io_request_s send_pci;
-  unsigned long recv_len;
+  pcsc_dword_t recv_len;
 
   if (!reader_table[slot].atrlen
       && (err = reset_pcsc_reader (slot)))
@@ -1023,7 +1132,7 @@ pcsc_send_apdu_direct (int slot, unsigned char *apdu, size_t apdulen,
 static int
 pcsc_send_apdu_wrapped (int slot, unsigned char *apdu, size_t apdulen,
                         unsigned char *buffer, size_t *buflen,
-                        struct pininfo_s *pininfo)
+                        pininfo_t *pininfo)
 {
   long err;
   reader_table_t slotp;
@@ -1142,7 +1251,7 @@ pcsc_send_apdu_wrapped (int slot, unsigned char *apdu, size_t apdulen,
 static int
 pcsc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
                 unsigned char *buffer, size_t *buflen,
-                struct pininfo_s *pininfo)
+                pininfo_t *pininfo)
 {
 #ifdef NEED_PCSC_WRAPPER
   return pcsc_send_apdu_wrapped (slot, apdu, apdulen, buffer, buflen, pininfo);
@@ -1154,6 +1263,150 @@ pcsc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
 
 #ifndef NEED_PCSC_WRAPPER
 static int
+control_pcsc_direct (int slot, pcsc_dword_t ioctl_code,
+                     const unsigned char *cntlbuf, size_t len,
+                     unsigned char *buffer, pcsc_dword_t *buflen)
+{
+  long err;
+
+  err = pcsc_control (reader_table[slot].pcsc.card, ioctl_code,
+                      cntlbuf, len, buffer, *buflen, buflen);
+  if (err)
+    {
+      log_error ("pcsc_control failed: %s (0x%lx)\n",
+                 pcsc_error_string (err), err);
+      return pcsc_error_to_sw (err);
+    }
+
+  return 0;
+}
+#endif /*!NEED_PCSC_WRAPPER*/
+
+
+#ifdef NEED_PCSC_WRAPPER
+static int
+control_pcsc_wrapped (int slot, pcsc_dword_t ioctl_code,
+                      const unsigned char *cntlbuf, size_t len,
+                      unsigned char *buffer, pcsc_dword_t *buflen)
+{
+  long err = PCSC_E_NOT_TRANSACTED;
+  reader_table_t slotp;
+  unsigned char msgbuf[9];
+  int i, n;
+  size_t full_len;
+
+  slotp = reader_table + slot;
+
+  msgbuf[0] = 0x06; /* CONTROL command. */
+  msgbuf[1] = ((len + 4) >> 24);
+  msgbuf[2] = ((len + 4) >> 16);
+  msgbuf[3] = ((len + 4) >>  8);
+  msgbuf[4] = ((len + 4)      );
+  msgbuf[5] = (ioctl_code >> 24);
+  msgbuf[6] = (ioctl_code >> 16);
+  msgbuf[7] = (ioctl_code >>  8);
+  msgbuf[8] = (ioctl_code      );
+  if ( writen (slotp->pcsc.req_fd, msgbuf, 9)
+       || writen (slotp->pcsc.req_fd, cntlbuf, len))
+    {
+      log_error ("error sending PC/SC CONTROL request: %s\n",
+                 strerror (errno));
+      goto command_failed;
+    }
+
+  /* Read the response. */
+  if ((i=readn (slotp->pcsc.rsp_fd, msgbuf, 9, &len)) || len != 9)
+    {
+      log_error ("error receiving PC/SC CONTROL response: %s\n",
+                 i? strerror (errno) : "premature EOF");
+      goto command_failed;
+    }
+  len = (msgbuf[1] << 24) | (msgbuf[2] << 16) | (msgbuf[3] << 8 ) | msgbuf[4];
+  if (msgbuf[0] != 0x81 || len < 4)
+    {
+      log_error ("invalid response header from PC/SC received\n");
+      goto command_failed;
+    }
+  len -= 4; /* Already read the error code. */
+  err = PCSC_ERR_MASK ((msgbuf[5] << 24) | (msgbuf[6] << 16)
+                       | (msgbuf[7] << 8 ) | msgbuf[8]);
+  if (err)
+    {
+      log_error ("pcsc_control failed: %s (0x%lx)\n",
+                 pcsc_error_string (err), err);
+      return pcsc_error_to_sw (err);
+    }
+
+  full_len = len;
+
+  n = *buflen < len ? *buflen : len;
+  if ((i=readn (slotp->pcsc.rsp_fd, buffer, n, &len)) || len != n)
+    {
+      log_error ("error receiving PC/SC CONTROL response: %s\n",
+                 i? strerror (errno) : "premature EOF");
+      goto command_failed;
+    }
+  *buflen = n;
+
+  full_len -= len;
+  if (full_len)
+    {
+      log_error ("pcsc_send_apdu: provided buffer too short - truncated\n");
+      err = PCSC_E_INVALID_VALUE;
+    }
+  /* We need to read any rest of the response, to keep the
+     protocol running.  */
+  while (full_len)
+    {
+      unsigned char dummybuf[128];
+
+      n = full_len < DIM (dummybuf) ? full_len : DIM (dummybuf);
+      if ((i=readn (slotp->pcsc.rsp_fd, dummybuf, n, &len)) || len != n)
+        {
+          log_error ("error receiving PC/SC CONTROL response: %s\n",
+                     i? strerror (errno) : "premature EOF");
+          goto command_failed;
+        }
+      full_len -= n;
+    }
+
+  if (!err)
+    return 0;
+
+ command_failed:
+  close (slotp->pcsc.req_fd);
+  close (slotp->pcsc.rsp_fd);
+  slotp->pcsc.req_fd = -1;
+  slotp->pcsc.rsp_fd = -1;
+  kill (slotp->pcsc.pid, SIGTERM);
+  slotp->pcsc.pid = (pid_t)(-1);
+  slotp->used = 0;
+  return pcsc_error_to_sw (err);
+}
+#endif /*NEED_PCSC_WRAPPER*/
+
+
+
+/* Do some control with the value of IOCTL_CODE to the card inserted
+   to SLOT.  Input buffer is specified by CNTLBUF of length LEN.
+   Output buffer is specified by BUFFER of length *BUFLEN, and the
+   actual output size will be stored at BUFLEN.  Returns: A status word.
+   This routine is used for PIN pad input support.  */
+static int
+control_pcsc (int slot, pcsc_dword_t ioctl_code,
+              const unsigned char *cntlbuf, size_t len,
+              unsigned char *buffer, pcsc_dword_t *buflen)
+{
+#ifdef NEED_PCSC_WRAPPER
+  return control_pcsc_wrapped (slot, ioctl_code, cntlbuf, len, buffer, buflen);
+#else
+  return control_pcsc_direct (slot, ioctl_code, cntlbuf, len, buffer, buflen);
+#endif
+}
+
+
+#ifndef NEED_PCSC_WRAPPER
+static int
 close_pcsc_reader_direct (int slot)
 {
   pcsc_release_context (reader_table[slot].pcsc.context);
@@ -1277,8 +1530,10 @@ connect_pcsc_card (int slot)
   else
     {
       char reader[250];
-      unsigned long readerlen, atrlen;
-      unsigned long card_state, card_protocol;
+      pcsc_dword_t readerlen, atrlen;
+      long card_state, card_protocol;
+
+      pcsc_vendor_specific_init (slot);
 
       atrlen = DIM (reader_table[0].atr);
       readerlen = sizeof reader -1 ;
@@ -1465,6 +1720,147 @@ reset_pcsc_reader (int slot)
 }
 
 
+/* Examine reader specific parameters and initialize.  This is mostly
+   for pinpad input.  Called at opening the connection to the reader.  */
+static int
+pcsc_vendor_specific_init (int slot)
+{
+  unsigned char buf[256];
+  pcsc_dword_t len;
+  int sw;
+  int vendor = 0;
+  int product = 0;
+  pcsc_dword_t get_tlv_ioctl = (pcsc_dword_t)-1;
+  unsigned char *p;
+
+  len = sizeof (buf);
+  sw = control_pcsc (slot, CM_IOCTL_GET_FEATURE_REQUEST, NULL, 0, buf, &len);
+  if (sw)
+    {
+      log_error ("pcsc_vendor_specific_init: GET_FEATURE_REQUEST failed: %d\n",
+                 sw);
+      return SW_NOT_SUPPORTED;
+    }
+  else
+    {
+      p = buf;
+      while (p < buf + len)
+        {
+          unsigned char code = *p++;
+          int l = *p++;
+          unsigned int v = 0;
+
+          if (l == 1)
+            v = p[0];
+          else if (l == 2)
+            v = ((p[0] << 8) | p[1]);
+          else if (l == 4)
+            v = ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
+
+          if (code == FEATURE_VERIFY_PIN_DIRECT)
+            reader_table[slot].pcsc.verify_ioctl = v;
+          else if (code == FEATURE_MODIFY_PIN_DIRECT)
+            reader_table[slot].pcsc.modify_ioctl = v;
+          else if (code == FEATURE_GET_TLV_PROPERTIES)
+            get_tlv_ioctl = v;
+
+          if (DBG_CARD_IO)
+            log_debug ("feature: code=%02X, len=%d, v=%02X\n", code, l, v);
+
+          p += l;
+        }
+    }
+
+  if (get_tlv_ioctl == (pcsc_dword_t)-1)
+    {
+      /*
+       * For system which doesn't support GET_TLV_PROPERTIES,
+       * we put some heuristics here.
+       */
+      if (reader_table[slot].rdrname)
+        {
+          if (strstr (reader_table[slot].rdrname, "SPRx32"))
+            {
+              reader_table[slot].is_spr532 = 1;
+              reader_table[slot].pinpad_varlen_supported = 1;
+            }
+          else if (strstr (reader_table[slot].rdrname, "ST-2xxx")
+                   || strstr (reader_table[slot].rdrname, "cyberJack")
+                   || strstr (reader_table[slot].rdrname, "DIGIPASS")
+                   || strstr (reader_table[slot].rdrname, "Gnuk")
+                   || strstr (reader_table[slot].rdrname, "KAAN"))
+            reader_table[slot].pinpad_varlen_supported = 1;
+        }
+
+      return 0;
+    }
+
+  len = sizeof (buf);
+  sw = control_pcsc (slot, get_tlv_ioctl, NULL, 0, buf, &len);
+  if (sw)
+    {
+      log_error ("pcsc_vendor_specific_init: GET_TLV_IOCTL failed: %d\n", sw);
+      return SW_NOT_SUPPORTED;
+    }
+
+  p = buf;
+  while (p < buf + len)
+    {
+      unsigned char tag = *p++;
+      int l = *p++;
+      unsigned int v = 0;
+
+      /* Umm... here is little endian, while the encoding above is big.  */
+      if (l == 1)
+        v = p[0];
+      else if (l == 2)
+        v = ((p[1] << 8) | p[0]);
+      else if (l == 4)
+        v = ((p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]);
+
+      if (tag == PCSCv2_PART10_PROPERTY_bMinPINSize)
+        reader_table[slot].pcsc.pinmin = v;
+      else if (tag == PCSCv2_PART10_PROPERTY_bMaxPINSize)
+        reader_table[slot].pcsc.pinmax = v;
+      else if (tag == PCSCv2_PART10_PROPERTY_wIdVendor)
+        vendor = v;
+      else if (tag == PCSCv2_PART10_PROPERTY_wIdProduct)
+        product = v;
+
+      if (DBG_CARD_IO)
+        log_debug ("TLV properties: tag=%02X, len=%d, v=%08X\n", tag, l, v);
+
+      p += l;
+    }
+
+  if (vendor == 0x0982 && product == 0x0008) /* Vega Alpha */
+    {
+      /*
+       * Please read the comment of ccid_vendor_specific_init in
+       * ccid-driver.c.
+       */
+      const unsigned char cmd[] = { '\xb5', '\x01', '\x00', '\x03', '\x00' };
+      sw = control_pcsc (slot, CM_IOCTL_VENDOR_IFD_EXCHANGE,
+                         cmd, sizeof (cmd), NULL, 0);
+      if (sw)
+        return SW_NOT_SUPPORTED;
+    }
+  else if (vendor == 0x04e6 && product == 0xe003) /* SCM SPR532 */
+    {
+      reader_table[slot].is_spr532 = 1;
+      reader_table[slot].pinpad_varlen_supported = 1;
+    }
+  else if ((vendor == 0x046a && product == 0x003e)  /* Cherry ST-2xxx */
+           || vendor == 0x0c4b /* Tested with Reiner cyberJack GO */
+           || vendor == 0x1a44 /* Tested with Vasco DIGIPASS 920 */
+           || vendor == 0x234b /* Tested with FSIJ Gnuk Token */
+           || vendor == 0x0d46 /* Tested with KAAN Advanced??? */)
+    reader_table[slot].pinpad_varlen_supported = 1;
+
+  return 0;
+}
+
+
 /* Open the PC/SC reader without using the wrapper.  Returns -1 on
    error or a slot number for the reader.  */
 #ifndef NEED_PCSC_WRAPPER
@@ -1474,7 +1870,7 @@ open_pcsc_reader_direct (const char *portstr)
   long err;
   int slot;
   char *list = NULL;
-  unsigned long nreader, listlen;
+  pcsc_dword_t nreader, listlen;
   char *p;
 
   slot = new_reader_slot ();
@@ -1490,11 +1886,9 @@ open_pcsc_reader_direct (const char *portstr)
       log_error ("pcsc_establish_context failed: %s (0x%lx)\n",
                  pcsc_error_string (err), err);
       reader_table[slot].used = 0;
-      if (err == 0x8010001d)
-        pcsc_no_service = 1;
+      unlock_slot (slot);
       return -1;
     }
-  pcsc_no_service = 0;
 
   err = pcsc_list_readers (reader_table[slot].pcsc.context,
                            NULL, NULL, &nreader);
@@ -1506,6 +1900,7 @@ open_pcsc_reader_direct (const char *portstr)
           log_error ("error allocating memory for reader list\n");
           pcsc_release_context (reader_table[slot].pcsc.context);
           reader_table[slot].used = 0;
+         unlock_slot (slot);
           return -1 /*SW_HOST_OUT_OF_CORE*/;
         }
       err = pcsc_list_readers (reader_table[slot].pcsc.context,
@@ -1518,6 +1913,7 @@ open_pcsc_reader_direct (const char *portstr)
       pcsc_release_context (reader_table[slot].pcsc.context);
       reader_table[slot].used = 0;
       xfree (list);
+      unlock_slot (slot);
       return -1;
     }
 
@@ -1544,6 +1940,7 @@ open_pcsc_reader_direct (const char *portstr)
       log_error ("error allocating memory for reader name\n");
       pcsc_release_context (reader_table[slot].pcsc.context);
       reader_table[slot].used = 0;
+      unlock_slot (slot);
       return -1;
     }
   strcpy (reader_table[slot].rdrname, portstr? portstr : list);
@@ -1563,6 +1960,7 @@ open_pcsc_reader_direct (const char *portstr)
   reader_table[slot].dump_status_reader = dump_pcsc_reader_status;
 
   dump_reader_status (slot);
+  unlock_slot (slot);
   return slot;
 }
 #endif /*!NEED_PCSC_WRAPPER */
@@ -1610,6 +2008,7 @@ open_pcsc_reader_wrapped (const char *portstr)
     {
       log_error ("error creating a pipe: %s\n", strerror (errno));
       slotp->used = 0;
+      unlock_slot (slot);
       return -1;
     }
   if (pipe (wp) == -1)
@@ -1618,6 +2017,7 @@ open_pcsc_reader_wrapped (const char *portstr)
       close (rp[0]);
       close (rp[1]);
       slotp->used = 0;
+      unlock_slot (slot);
       return -1;
     }
 
@@ -1630,6 +2030,7 @@ open_pcsc_reader_wrapped (const char *portstr)
       close (wp[0]);
       close (wp[1]);
       slotp->used = 0;
+      unlock_slot (slot);
       return -1;
     }
   slotp->pcsc.pid = pid;
@@ -1726,9 +2127,11 @@ open_pcsc_reader_wrapped (const char *portstr)
     }
   err = PCSC_ERR_MASK ((msgbuf[5] << 24) | (msgbuf[6] << 16)
                        | (msgbuf[7] << 8 ) | msgbuf[8]);
+
   if (err)
     {
-      log_error ("PC/SC OPEN failed: %s\n", pcsc_error_string (err));
+      log_error ("PC/SC OPEN failed: %s (0x%08x)\n",
+                pcsc_error_string (err), err);
       /*sw = pcsc_error_to_sw (err);*/
       goto command_failed;
     }
@@ -1760,10 +2163,13 @@ open_pcsc_reader_wrapped (const char *portstr)
   reader_table[slot].send_apdu_reader = pcsc_send_apdu;
   reader_table[slot].dump_status_reader = dump_pcsc_reader_status;
 
+  pcsc_vendor_specific_init (slot);
+
   /* Read the status so that IS_T0 will be set. */
   pcsc_get_status (slot, &dummy_status);
 
   dump_reader_status (slot);
+  unlock_slot (slot);
   return slot;
 
  command_failed:
@@ -1774,6 +2180,7 @@ open_pcsc_reader_wrapped (const char *portstr)
   kill (slotp->pcsc.pid, SIGTERM);
   slotp->pcsc.pid = (pid_t)(-1);
   slotp->used = 0;
+  unlock_slot (slot);
   /* There is no way to return SW. */
   return -1;
 
@@ -1792,6 +2199,200 @@ open_pcsc_reader (const char *portstr)
 }
 
 
+/* Check whether the reader supports the ISO command code COMMAND
+   on the pinpad.  Return 0 on success.  */
+static int
+check_pcsc_pinpad (int slot, int command, pininfo_t *pininfo)
+{
+  int r;
+
+  if (reader_table[slot].pcsc.pinmin >= 0)
+    pininfo->minlen = reader_table[slot].pcsc.pinmin;
+
+  if (reader_table[slot].pcsc.pinmax >= 0)
+    pininfo->maxlen = reader_table[slot].pcsc.pinmax;
+
+  if (!pininfo->minlen)
+    pininfo->minlen = 1;
+  if (!pininfo->maxlen)
+    pininfo->maxlen = 15;
+
+  if ((command == ISO7816_VERIFY && reader_table[slot].pcsc.verify_ioctl != 0)
+      || (command == ISO7816_CHANGE_REFERENCE_DATA
+          && reader_table[slot].pcsc.modify_ioctl != 0))
+    r = 0;                       /* Success */
+  else
+    r = SW_NOT_SUPPORTED;
+
+  if (DBG_CARD_IO)
+    log_debug ("check_pcsc_pinpad: command=%02X, r=%d\n",
+               (unsigned int)command, r);
+
+  if (reader_table[slot].pinpad_varlen_supported)
+    pininfo->fixedlen = 0;
+
+  return r;
+}
+
+#define PIN_VERIFY_STRUCTURE_SIZE 24
+static int
+pcsc_pinpad_verify (int slot, int class, int ins, int p0, int p1,
+                    pininfo_t *pininfo)
+{
+  int sw;
+  unsigned char *pin_verify;
+  int len = PIN_VERIFY_STRUCTURE_SIZE + pininfo->fixedlen;
+  unsigned char result[2];
+  pcsc_dword_t resultlen = 2;
+  int no_lc;
+
+  if (!reader_table[slot].atrlen
+      && (sw = reset_pcsc_reader (slot)))
+    return sw;
+
+  if (pininfo->fixedlen < 0 || pininfo->fixedlen >= 16)
+    return SW_NOT_SUPPORTED;
+
+  pin_verify = xtrymalloc (len);
+  if (!pin_verify)
+    return SW_HOST_OUT_OF_CORE;
+
+  no_lc = (!pininfo->fixedlen && reader_table[slot].is_spr532);
+
+  pin_verify[0] = 0x00; /* bTimeOut */
+  pin_verify[1] = 0x00; /* bTimeOut2 */
+  pin_verify[2] = 0x82; /* bmFormatString: Byte, pos=0, left, ASCII. */
+  pin_verify[3] = pininfo->fixedlen; /* bmPINBlockString */
+  pin_verify[4] = 0x00; /* bmPINLengthFormat */
+  pin_verify[5] = pininfo->maxlen; /* wPINMaxExtraDigit */
+  pin_verify[6] = pininfo->minlen; /* wPINMaxExtraDigit */
+  pin_verify[7] = 0x02; /* bEntryValidationCondition: Validation key pressed */
+  if (pininfo->minlen && pininfo->maxlen && pininfo->minlen == pininfo->maxlen)
+    pin_verify[7] |= 0x01; /* Max size reached.  */
+  pin_verify[8] = 0x01; /* bNumberMessage: One message */
+  pin_verify[9] =  0x09; /* wLangId: 0x0409: US English */
+  pin_verify[10] = 0x04; /* wLangId: 0x0409: US English */
+  pin_verify[11] = 0x00; /* bMsgIndex */
+  pin_verify[12] = 0x00; /* bTeoPrologue[0] */
+  pin_verify[13] = 0x00; /* bTeoPrologue[1] */
+  pin_verify[14] = pininfo->fixedlen + 0x05 - no_lc; /* bTeoPrologue[2] */
+  pin_verify[15] = pininfo->fixedlen + 0x05 - no_lc; /* ulDataLength */
+  pin_verify[16] = 0x00; /* ulDataLength */
+  pin_verify[17] = 0x00; /* ulDataLength */
+  pin_verify[18] = 0x00; /* ulDataLength */
+  pin_verify[19] = class; /* abData[0] */
+  pin_verify[20] = ins; /* abData[1] */
+  pin_verify[21] = p0; /* abData[2] */
+  pin_verify[22] = p1; /* abData[3] */
+  pin_verify[23] = pininfo->fixedlen; /* abData[4] */
+  if (pininfo->fixedlen)
+    memset (&pin_verify[24], 0xff, pininfo->fixedlen);
+  else if (no_lc)
+    len--;
+
+  if (DBG_CARD_IO)
+    log_debug ("send secure: c=%02X i=%02X p1=%02X p2=%02X len=%d pinmax=%d\n",
+              class, ins, p0, p1, len, pininfo->maxlen);
+
+  sw = control_pcsc (slot, reader_table[slot].pcsc.verify_ioctl,
+                     pin_verify, len, result, &resultlen);
+  xfree (pin_verify);
+  if (sw || resultlen < 2)
+    {
+      log_error ("control_pcsc failed: %d\n", sw);
+      return sw? sw: SW_HOST_INCOMPLETE_CARD_RESPONSE;
+    }
+  sw = (result[resultlen-2] << 8) | result[resultlen-1];
+  if (DBG_CARD_IO)
+    log_debug (" response: sw=%04X  datalen=%d\n", sw, (unsigned int)resultlen);
+  return sw;
+}
+
+
+#define PIN_MODIFY_STRUCTURE_SIZE 29
+static int
+pcsc_pinpad_modify (int slot, int class, int ins, int p0, int p1,
+                    pininfo_t *pininfo)
+{
+  int sw;
+  unsigned char *pin_modify;
+  int len = PIN_MODIFY_STRUCTURE_SIZE + 2 * pininfo->fixedlen;
+  unsigned char result[2];
+  pcsc_dword_t resultlen = 2;
+  int no_lc;
+
+  if (!reader_table[slot].atrlen
+      && (sw = reset_pcsc_reader (slot)))
+    return sw;
+
+  if (pininfo->fixedlen < 0 || pininfo->fixedlen >= 16)
+    return SW_NOT_SUPPORTED;
+
+  pin_modify = xtrymalloc (len);
+  if (!pin_modify)
+    return SW_HOST_OUT_OF_CORE;
+
+  no_lc = (!pininfo->fixedlen && reader_table[slot].is_spr532);
+
+  pin_modify[0] = 0x00; /* bTimeOut */
+  pin_modify[1] = 0x00; /* bTimeOut2 */
+  pin_modify[2] = 0x82; /* bmFormatString: Byte, pos=0, left, ASCII. */
+  pin_modify[3] = pininfo->fixedlen; /* bmPINBlockString */
+  pin_modify[4] = 0x00; /* bmPINLengthFormat */
+  pin_modify[5] = 0x00; /* bInsertionOffsetOld */
+  pin_modify[6] = pininfo->fixedlen; /* bInsertionOffsetNew */
+  pin_modify[7] = pininfo->maxlen; /* wPINMaxExtraDigit */
+  pin_modify[8] = pininfo->minlen; /* wPINMaxExtraDigit */
+  pin_modify[9] = (p0 == 0 ? 0x03 : 0x01);
+                  /* bConfirmPIN
+                   *    0x00: new PIN once
+                   *    0x01: new PIN twice (confirmation)
+                   *    0x02: old PIN and new PIN once
+                   *    0x03: old PIN and new PIN twice (confirmation)
+                   */
+  pin_modify[10] = 0x02; /* bEntryValidationCondition: Validation key pressed */
+  if (pininfo->minlen && pininfo->maxlen && pininfo->minlen == pininfo->maxlen)
+    pin_modify[10] |= 0x01; /* Max size reached.  */
+  pin_modify[11] = 0x03; /* bNumberMessage: Three messages */
+  pin_modify[12] = 0x09; /* wLangId: 0x0409: US English */
+  pin_modify[13] = 0x04; /* wLangId: 0x0409: US English */
+  pin_modify[14] = 0x00; /* bMsgIndex1 */
+  pin_modify[15] = 0x01; /* bMsgIndex2 */
+  pin_modify[16] = 0x02; /* bMsgIndex3 */
+  pin_modify[17] = 0x00; /* bTeoPrologue[0] */
+  pin_modify[18] = 0x00; /* bTeoPrologue[1] */
+  pin_modify[19] = 2 * pininfo->fixedlen + 0x05 - no_lc; /* bTeoPrologue[2] */
+  pin_modify[20] = 2 * pininfo->fixedlen + 0x05 - no_lc; /* ulDataLength */
+  pin_modify[21] = 0x00; /* ulDataLength */
+  pin_modify[22] = 0x00; /* ulDataLength */
+  pin_modify[23] = 0x00; /* ulDataLength */
+  pin_modify[24] = class; /* abData[0] */
+  pin_modify[25] = ins; /* abData[1] */
+  pin_modify[26] = p0; /* abData[2] */
+  pin_modify[27] = p1; /* abData[3] */
+  pin_modify[28] = 2 * pininfo->fixedlen; /* abData[4] */
+  if (pininfo->fixedlen)
+    memset (&pin_modify[29], 0xff, 2 * pininfo->fixedlen);
+  else if (no_lc)
+    len--;
+
+  if (DBG_CARD_IO)
+    log_debug ("send secure: c=%02X i=%02X p1=%02X p2=%02X len=%d pinmax=%d\n",
+              class, ins, p0, p1, len, (int)pininfo->maxlen);
+
+  sw = control_pcsc (slot, reader_table[slot].pcsc.modify_ioctl,
+                     pin_modify, len, result, &resultlen);
+  xfree (pin_modify);
+  if (sw || resultlen < 2)
+    {
+      log_error ("control_pcsc failed: %d\n", sw);
+      return sw? sw : SW_HOST_INCOMPLETE_CARD_RESPONSE;
+    }
+  sw = (result[resultlen-2] << 8) | result[resultlen-1];
+  if (DBG_CARD_IO)
+    log_debug (" response: sw=%04X  datalen=%d\n", sw, (unsigned int)resultlen);
+  return sw;
+}
 \f
 #ifdef HAVE_LIBUSB
 /*
@@ -1878,7 +2479,7 @@ get_status_ccid (int slot, unsigned int *status)
 static int
 send_apdu_ccid (int slot, unsigned char *apdu, size_t apdulen,
                 unsigned char *buffer, size_t *buflen,
-                struct pininfo_s *pininfo)
+                pininfo_t *pininfo)
 {
   long err;
   size_t maxbuflen;
@@ -1894,11 +2495,7 @@ send_apdu_ccid (int slot, unsigned char *apdu, size_t apdulen,
   maxbuflen = *buflen;
   if (pininfo)
     err = ccid_transceive_secure (reader_table[slot].ccid.handle,
-                                  apdu, apdulen,
-                                  pininfo->mode,
-                                  pininfo->minlen,
-                                  pininfo->maxlen,
-                                  pininfo->padlen,
+                                  apdu, apdulen, pininfo,
                                   buffer, maxbuflen, buflen);
   else
     err = ccid_transceive (reader_table[slot].ccid.handle,
@@ -1913,19 +2510,43 @@ send_apdu_ccid (int slot, unsigned char *apdu, size_t apdulen,
 
 
 /* Check whether the CCID reader supports the ISO command code COMMAND
-   on the keypad.  Return 0 on success.  For a description of the pin
+   on the pinpad.  Return 0 on success.  For a description of the pin
    parameters, see ccid-driver.c */
 static int
-check_ccid_keypad (int slot, int command, int pin_mode,
-                   int pinlen_min, int pinlen_max, int pin_padlen)
+check_ccid_pinpad (int slot, int command, pininfo_t *pininfo)
 {
   unsigned char apdu[] = { 0, 0, 0, 0x81 };
 
   apdu[1] = command;
-  return ccid_transceive_secure (reader_table[slot].ccid.handle,
-                                 apdu, sizeof apdu,
-                                 pin_mode, pinlen_min, pinlen_max, pin_padlen,
-                                 NULL, 0, NULL);
+  return ccid_transceive_secure (reader_table[slot].ccid.handle, apdu,
+                                sizeof apdu, pininfo, NULL, 0, NULL);
+}
+
+
+static int
+ccid_pinpad_operation (int slot, int class, int ins, int p0, int p1,
+                      pininfo_t *pininfo)
+{
+  unsigned char apdu[4];
+  int err, sw;
+  unsigned char result[2];
+  size_t resultlen = 2;
+
+  apdu[0] = class;
+  apdu[1] = ins;
+  apdu[2] = p0;
+  apdu[3] = p1;
+  err = ccid_transceive_secure (reader_table[slot].ccid.handle,
+                                apdu, sizeof apdu, pininfo,
+                                result, 2, &resultlen);
+  if (err)
+    return err;
+
+  if (resultlen < 2)
+    return SW_HOST_INCOMPLETE_CARD_RESPONSE;
+
+  sw = (result[resultlen-2] << 8) | result[resultlen-1];
+  return sw;
 }
 
 
@@ -1946,6 +2567,7 @@ open_ccid_reader (const char *portstr)
   if (err)
     {
       slotp->used = 0;
+      unlock_slot (slot);
       return -1;
     }
 
@@ -1970,14 +2592,17 @@ open_ccid_reader (const char *portstr)
   reader_table[slot].reset_reader = reset_ccid_reader;
   reader_table[slot].get_status_reader = get_status_ccid;
   reader_table[slot].send_apdu_reader = send_apdu_ccid;
-  reader_table[slot].check_keypad = check_ccid_keypad;
+  reader_table[slot].check_pinpad = check_ccid_pinpad;
   reader_table[slot].dump_status_reader = dump_ccid_reader_status;
   reader_table[slot].set_progress_cb = set_progress_cb_ccid_reader;
+  reader_table[slot].pinpad_verify = ccid_pinpad_operation;
+  reader_table[slot].pinpad_modify = ccid_pinpad_operation;
   /* Our CCID reader code does not support T=0 at all, thus reset the
      flag.  */
   reader_table[slot].is_t0 = 0;
 
   dump_reader_status (slot);
+  unlock_slot (slot);
   return slot;
 }
 
@@ -2132,7 +2757,7 @@ my_rapdu_get_status (int slot, unsigned int *status)
 static int
 my_rapdu_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
                     unsigned char *buffer, size_t *buflen,
-                    struct pininfo_s *pininfo)
+                    pininfo_t *pininfo)
 {
   int err;
   reader_table_t slotp;
@@ -2216,6 +2841,7 @@ open_rapdu_reader (int portno,
   if (!slotp->rapdu.handle)
     {
       slotp->used = 0;
+      unlock_slot (slot);
       return -1;
     }
 
@@ -2263,17 +2889,21 @@ open_rapdu_reader (int portno,
   reader_table[slot].reset_reader = reset_rapdu_reader;
   reader_table[slot].get_status_reader = my_rapdu_get_status;
   reader_table[slot].send_apdu_reader = my_rapdu_send_apdu;
-  reader_table[slot].check_keypad = NULL;
+  reader_table[slot].check_pinpad = NULL;
   reader_table[slot].dump_status_reader = NULL;
+  reader_table[slot].pinpad_verify = NULL;
+  reader_table[slot].pinpad_modify = NULL;
 
   dump_reader_status (slot);
   rapdu_msg_release (msg);
+  unlock_slot (slot);
   return slot;
 
  failure:
   rapdu_msg_release (msg);
   rapdu_release (slotp->rapdu.handle);
   slotp->used = 0;
+  unlock_slot (slot);
   return -1;
 }
 
@@ -2286,60 +2916,18 @@ open_rapdu_reader (int portno,
  */
 
 
-static int
-lock_slot (int slot)
-{
-#ifdef USE_GNU_PTH
-  if (!pth_mutex_acquire (&reader_table[slot].lock, 0, NULL))
-    {
-      log_error ("failed to acquire apdu lock: %s\n", strerror (errno));
-      return SW_HOST_LOCKING_FAILED;
-    }
-#endif /*USE_GNU_PTH*/
-  return 0;
-}
-
-static int
-trylock_slot (int slot)
-{
-#ifdef USE_GNU_PTH
-  if (!pth_mutex_acquire (&reader_table[slot].lock, TRUE, NULL))
-    {
-      if (errno == EBUSY)
-        return SW_HOST_BUSY;
-      log_error ("failed to acquire apdu lock: %s\n", strerror (errno));
-      return SW_HOST_LOCKING_FAILED;
-    }
-#endif /*USE_GNU_PTH*/
-  return 0;
-}
-
-static void
-unlock_slot (int slot)
-{
-#ifdef USE_GNU_PTH
-  if (!pth_mutex_release (&reader_table[slot].lock))
-    log_error ("failed to release apdu lock: %s\n", strerror (errno));
-#endif /*USE_GNU_PTH*/
-}
-
-
 /* Open the reader and return an internal slot number or -1 on
    error. If PORTSTR is NULL we default to a suitable port (for ctAPI:
    the first USB reader.  For PC/SC the first listed reader). */
 int
-apdu_open_reader (const char *portstr, int *r_no_service)
+apdu_open_reader (const char *portstr)
 {
   static int pcsc_api_loaded, ct_api_loaded;
-  int slot;
-
-  if (r_no_service)
-    *r_no_service = 0;
 
 #ifdef HAVE_LIBUSB
   if (!opt.disable_ccid)
     {
-      int i;
+      int slot, i;
       const char *s;
 
       slot = open_ccid_reader (portstr);
@@ -2432,6 +3020,7 @@ apdu_open_reader (const char *portstr, int *r_no_service)
       pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
       pcsc_transmit          = dlsym (handle, "SCardTransmit");
       pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
+      pcsc_control           = dlsym (handle, "SCardControl");
 
       if (!pcsc_establish_context
           || !pcsc_release_context
@@ -2444,12 +3033,13 @@ apdu_open_reader (const char *portstr, int *r_no_service)
           || !pcsc_begin_transaction
           || !pcsc_end_transaction
           || !pcsc_transmit
+          || !pcsc_control
           /* || !pcsc_set_timeout */)
         {
           /* Note that set_timeout is currently not used and also not
              available under Windows. */
           log_error ("apdu_open_reader: invalid PC/SC driver "
-                     "(%d%d%d%d%d%d%d%d%d%d%d%d)\n",
+                     "(%d%d%d%d%d%d%d%d%d%d%d%d%d)\n",
                      !!pcsc_establish_context,
                      !!pcsc_release_context,
                      !!pcsc_list_readers,
@@ -2461,7 +3051,8 @@ apdu_open_reader (const char *portstr, int *r_no_service)
                      !!pcsc_begin_transaction,
                      !!pcsc_end_transaction,
                      !!pcsc_transmit,
-                     !!pcsc_set_timeout );
+                     !!pcsc_set_timeout,
+                     !!pcsc_control );
           dlclose (handle);
           return -1;
         }
@@ -2469,11 +3060,7 @@ apdu_open_reader (const char *portstr, int *r_no_service)
       pcsc_api_loaded = 1;
     }
 
-  slot = open_pcsc_reader (portstr);
-  if (slot == -1 && r_no_service && pcsc_no_service)
-    *r_no_service = 1;
-
-  return slot;
+  return open_pcsc_reader (portstr);
 }
 
 
@@ -2596,11 +3183,14 @@ apdu_enum_reader (int slot, int *used)
 
 
 /* Connect a card.  This is used to power up the card and make sure
-   that an ATR is available.  */
+   that an ATR is available.  Depending on the reader backend it may
+   return an error for an inactive card or if no card is
+   available.  */
 int
 apdu_connect (int slot)
 {
   int sw;
+  unsigned int status;
 
   if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
     return SW_HOST_NO_DRIVER;
@@ -2625,7 +3215,14 @@ apdu_connect (int slot)
      scdaemon is fired up and apdu_get_status has not yet been called.
      Without that we would force a reset of the card with the next
      call to apdu_get_status.  */
-  apdu_get_status_internal (slot, 1, 1, NULL, NULL);
+  apdu_get_status_internal (slot, 1, 1, &status, NULL);
+  if (sw)
+    ;
+  else if (!(status & APDU_CARD_PRESENT))
+    sw = SW_HOST_NO_CARD;
+  else if ((status & APDU_CARD_PRESENT) && !(status & APDU_CARD_ACTIVE))
+    sw = SW_HOST_CARD_INACTIVE;
+
 
   return sw;
 }
@@ -2847,19 +3444,76 @@ apdu_get_status (int slot, int hang,
 
 
 /* Check whether the reader supports the ISO command code COMMAND on
-   the keypad.  Return 0 on success.  For a description of the pin
+   the pinpad.  Return 0 on success.  For a description of the pin
    parameters, see ccid-driver.c */
 int
-apdu_check_keypad (int slot, int command, int pin_mode,
-                   int pinlen_min, int pinlen_max, int pin_padlen)
+apdu_check_pinpad (int slot, int command, pininfo_t *pininfo)
 {
   if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
     return SW_HOST_NO_DRIVER;
 
-  if (reader_table[slot].check_keypad)
-    return reader_table[slot].check_keypad (slot, command,
-                                            pin_mode, pinlen_min, pinlen_max,
-                                            pin_padlen);
+  if (opt.enable_pinpad_varlen)
+    pininfo->fixedlen = 0;
+
+  if (reader_table[slot].check_pinpad)
+    {
+      int sw;
+
+      if ((sw = lock_slot (slot)))
+        return sw;
+
+      sw = reader_table[slot].check_pinpad (slot, command, pininfo);
+      unlock_slot (slot);
+      return sw;
+    }
+  else
+    return SW_HOST_NOT_SUPPORTED;
+}
+
+
+int
+apdu_pinpad_verify (int slot, int class, int ins, int p0, int p1,
+                   pininfo_t *pininfo)
+{
+  if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
+    return SW_HOST_NO_DRIVER;
+
+  if (reader_table[slot].pinpad_verify)
+    {
+      int sw;
+
+      if ((sw = lock_slot (slot)))
+        return sw;
+
+      sw = reader_table[slot].pinpad_verify (slot, class, ins, p0, p1,
+                                            pininfo);
+      unlock_slot (slot);
+      return sw;
+    }
+  else
+    return SW_HOST_NOT_SUPPORTED;
+}
+
+
+int
+apdu_pinpad_modify (int slot, int class, int ins, int p0, int p1,
+                   pininfo_t *pininfo)
+{
+  if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
+    return SW_HOST_NO_DRIVER;
+
+  if (reader_table[slot].pinpad_modify)
+    {
+      int sw;
+
+      if ((sw = lock_slot (slot)))
+        return sw;
+
+      sw = reader_table[slot].pinpad_modify (slot, class, ins, p0, p1,
+                                             pininfo);
+      unlock_slot (slot);
+      return sw;
+    }
   else
     return SW_HOST_NOT_SUPPORTED;
 }
@@ -2869,7 +3523,7 @@ apdu_check_keypad (int slot, int command, int pin_mode,
    function should be called in locked state. */
 static int
 send_apdu (int slot, unsigned char *apdu, size_t apdulen,
-           unsigned char *buffer, size_t *buflen, struct pininfo_s *pininfo)
+           unsigned char *buffer, size_t *buflen, pininfo_t *pininfo)
 {
   if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
     return SW_HOST_NO_DRIVER;
@@ -2885,7 +3539,7 @@ send_apdu (int slot, unsigned char *apdu, size_t apdulen,
 
 
 /* Core APDU tranceiver function. Parameters are described at
-   apdu_send_le with the exception of PININFO which indicates keypad
+   apdu_send_le with the exception of PININFO which indicates pinpad
    related operations if not NULL.  If EXTENDED_MODE is not 0
    command chaining or extended length will be used according to these
    values:
@@ -2901,7 +3555,7 @@ static int
 send_le (int slot, int class, int ins, int p0, int p1,
          int lc, const char *data, int le,
          unsigned char **retbuf, size_t *retbuflen,
-         struct pininfo_s *pininfo, int extended_mode)
+         pininfo_t *pininfo, int extended_mode)
 {
 #define SHORT_RESULT_BUFFER_SIZE 258
   /* We allocate 8 extra bytes as a safety margin towards a driver bug.  */
@@ -3298,24 +3952,6 @@ apdu_send_simple (int slot, int extended_mode,
 }
 
 
-/* Same as apdu_send_simple but uses the keypad of the reader. */
-int
-apdu_send_simple_kp (int slot, int class, int ins, int p0, int p1,
-                     int lc, const char *data,
-                     int pin_mode,
-                     int pinlen_min, int pinlen_max, int pin_padlen)
-{
-  struct pininfo_s pininfo;
-
-  pininfo.mode = pin_mode;
-  pininfo.minlen = pinlen_min;
-  pininfo.maxlen = pinlen_max;
-  pininfo.padlen = pin_padlen;
-  return send_le (slot, class, ins, p0, p1, lc, data, -1,
-                  NULL, NULL, &pininfo, 0);
-}
-
-
 /* This is a more generic version of the apdu sending routine.  It
    takes an already formatted APDU in APDUDATA or length APDUDATALEN
    and returns with an APDU including the status word.  With
index d79f8b4..1524f99 100644 (file)
@@ -66,7 +66,7 @@ enum {
   SW_HOST_GENERAL_ERROR = 0x1000b,
   SW_HOST_NO_READER     = 0x1000c,
   SW_HOST_ABORTED       = 0x1000d,
-  SW_HOST_NO_KEYPAD     = 0x1000e,
+  SW_HOST_NO_PINPAD     = 0x1000e,
   SW_HOST_ALREADY_CONNECTED = 0x1000f
 };
 
@@ -81,7 +81,7 @@ enum {
 
 
 /* Note, that apdu_open_reader returns no status word but -1 on error. */
-int apdu_open_reader (const char *portstr, int *r_no_service);
+int apdu_open_reader (const char *portstr);
 int apdu_open_remote_reader (const char *portstr,
                              const unsigned char *cookie, size_t length,
                              int (*readfnc) (void *opaque,
@@ -112,15 +112,14 @@ int apdu_activate (int slot);
 int apdu_reset (int slot);
 int apdu_get_status (int slot, int hang,
                      unsigned int *status, unsigned int *changed);
-int apdu_check_keypad (int slot, int command, int pin_mode,
-                       int pinlen_min, int pinlen_max, int pin_padlen);
+int apdu_check_pinpad (int slot, int command, pininfo_t *pininfo);
+int apdu_pinpad_verify (int slot, int class, int ins, int p0, int p1,
+                       pininfo_t *pininfo);
+int apdu_pinpad_modify (int slot, int class, int ins, int p0, int p1,
+                       pininfo_t *pininfo);
 int apdu_send_simple (int slot, int extended_mode,
                       int class, int ins, int p0, int p1,
                       int lc, const char *data);
-int apdu_send_simple_kp (int slot, int class, int ins, int p0, int p1,
-                         int lc, const char *data,  
-                         int pin_mode,
-                         int pinlen_min, int pinlen_max, int pin_padlen);
 int apdu_send (int slot, int extended_mode, 
                int class, int ins, int p0, int p1, int lc, const char *data,
                unsigned char **retbuf, size_t *retbuflen);
index 46e9a6a..1a0cb60 100644 (file)
@@ -282,21 +282,21 @@ verify_pin (app_t app,
 {
   const char *s;
   int rc;
-  iso7816_pininfo_t pininfo;
+  pininfo_t pininfo;
 
   if ( app->did_chv1 && !app->force_chv1 ) 
     return 0;  /* No need to verify it again.  */
 
   memset (&pininfo, 0, sizeof pininfo);
-  pininfo.mode = 1;
+  pininfo.fixedlen = -1;
   pininfo.minlen = 6;
   pininfo.maxlen = 8;
 
-  if (!opt.disable_keypad
-      && !iso7816_check_keypad (app->slot, ISO7816_VERIFY, &pininfo) )
+  if (!opt.disable_pinpad
+      && !iso7816_check_pinpad (app->slot, ISO7816_VERIFY, &pininfo) )
     {
       rc = pincb (pincb_arg,
-                  _("||Please enter your PIN at the reader's keypad"),
+                  _("||Please enter your PIN at the reader's pinpad"),
                   NULL);
       if (rc)
         {
@@ -304,11 +304,11 @@ verify_pin (app_t app,
                     gpg_strerror (rc));
           return rc;
         }
-      rc = iso7816_verify_kp (app->slot, 0x81, "", 0, &pininfo); 
+      rc = iso7816_verify_kp (app->slot, 0x81, &pininfo);
       /* Dismiss the prompt. */
       pincb (pincb_arg, NULL, NULL);
     }
-  else  /* No Keypad.  */
+  else  /* No Pinpad.  */
     {
       char *pinvalue;
 
index 076b913..f117445 100644 (file)
@@ -781,19 +781,19 @@ verify_pin (app_t app, int pwid, const char *desc,
             gpg_error_t (*pincb)(void*, const char *, char **),
             void *pincb_arg)
 {
-  iso7816_pininfo_t pininfo;
+  pininfo_t pininfo;
   int rc;
 
   if (!desc)
     desc = "PIN";
 
   memset (&pininfo, 0, sizeof pininfo);
-  pininfo.mode = 1;
+  pininfo.fixedlen = -1;
   pininfo.minlen = 6;
   pininfo.maxlen = 16;
 
-  if (!opt.disable_keypad
-      && !iso7816_check_keypad (app->slot, ISO7816_VERIFY, &pininfo) )
+  if (!opt.disable_pinpad
+      && !iso7816_check_pinpad (app->slot, ISO7816_VERIFY, &pininfo) )
     {
       rc = pincb (pincb_arg, desc, NULL);
       if (rc)
@@ -802,8 +802,8 @@ verify_pin (app_t app, int pwid, const char *desc,
                     gpg_strerror (rc));
           return rc;
         }
-      rc = iso7816_verify_kp (app->slot, pwid, "", 0, &pininfo); 
+
+      rc = iso7816_verify_kp (app->slot, pwid, &pininfo);
       pincb (pincb_arg, NULL, NULL);  /* Dismiss the prompt. */
     }
   else
@@ -1144,7 +1144,7 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *pwidstr,
   int is_sigg;
   const char *newdesc;
   int pwid;
-  iso7816_pininfo_t pininfo;
+  pininfo_t pininfo;
 
   (void)ctrl;
 
index 8a71caf..0d4ce90 100644 (file)
@@ -1,6 +1,6 @@
 /* app-openpgp.c - The OpenPGP card application.
  * Copyright (C) 2003, 2004, 2005, 2007, 2008,
- *               2009 Free Software Foundation, Inc.
+ *               2009, 2013 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -118,13 +118,13 @@ static struct {
 
 /* The format of RSA private keys.  */
 typedef enum
-  { 
+  {
     RSA_UNKNOWN_FMT,
     RSA_STD,
     RSA_STD_N,
     RSA_CRT,
     RSA_CRT_N
-  } 
+  }
 rsa_key_format_t;
 
 
@@ -141,7 +141,7 @@ struct cache_s {
 struct app_local_s {
   /* A linked list with cached DOs.  */
   struct cache_s *cache;
-  
+
   /* Keep track of the public keys.  */
   struct
   {
@@ -158,6 +158,8 @@ struct app_local_s {
 
   unsigned char status_indicator; /* The card status indicator.  */
 
+  unsigned int manufacturer:16;   /* Manufacturer ID from the s/n.  */
+
   /* Keep track of the ISO card capabilities.  */
   struct
   {
@@ -166,7 +168,7 @@ struct app_local_s {
   } cardcap;
 
   /* Keep track of extended card capabilities.  */
-  struct 
+  struct
   {
     unsigned int is_v2:1;              /* This is a v2.0 compatible card.  */
     unsigned int get_challenge:1;
@@ -189,13 +191,21 @@ struct app_local_s {
     unsigned int def_chv2:1;  /* Use 123456 for CHV2.  */
   } flags;
 
+  /* Pinpad request specified on card.  */
+  struct
+  {
+    unsigned int specified:1;
+    int fixedlen_user;
+    int fixedlen_admin;
+  } pinpad;
+
   struct
   {
     unsigned int n_bits;     /* Size of the modulus in bits.  The rest
                                 of this strucuire is only valid if
                                 this is not 0.  */
     unsigned int e_bits;     /* Size of the public exponent in bits.  */
-    rsa_key_format_t format;  
+    rsa_key_format_t format;
   } keyattr[3];
 
 };
@@ -213,7 +223,7 @@ static gpg_error_t do_auth (app_t app, const char *keyidstr,
                             unsigned char **outdata, size_t *outdatalen);
 static void parse_algorithm_attribute (app_t app, int keyno);
 static gpg_error_t change_keyattr_from_string
-                           (app_t app, 
+                           (app_t app,
                             gpg_error_t (*pincb)(void*, const char *, char **),
                             void *pincb_arg,
                             const void *value, size_t valuelen);
@@ -253,7 +263,7 @@ do_deinit (app_t app)
    bypassed.  With TRY_EXTLEN extended lengths APDUs are use if
    supported by the card.  */
 static gpg_error_t
-get_cached_data (app_t app, int tag, 
+get_cached_data (app_t app, int tag,
                  unsigned char **result, size_t *resultlen,
                  int get_immediate, int try_extlen)
 {
@@ -280,13 +290,13 @@ get_cached_data (app_t app, int tag,
                 memcpy (p, c->data, c->length);
                 *result = p;
               }
-            
+
             *resultlen = c->length;
-            
+
             return 0;
           }
     }
-  
+
   if (try_extlen && app->app_local->cardcap.ext_lc_le)
     exmode = app->app_local->extcap.max_rsp_data;
   else
@@ -313,7 +323,7 @@ get_cached_data (app_t app, int tag,
   /* Okay, cache it. */
   for (c=app->app_local->cache; c; c = c->next)
     assert (c->tag != tag);
-  
+
   c = xtrymalloc (sizeof *c + len);
   if (c)
     {
@@ -439,7 +449,7 @@ get_one_do (app_t app, int tag, unsigned char **result, size_t *nbytes,
     {
       rc = get_cached_data (app, data_objects[i].get_from,
                             &buffer, &buflen,
-                            (data_objects[i].dont_cache 
+                            (data_objects[i].dont_cache
                              || data_objects[i].get_immediate_in_v11),
                             data_objects[i].try_extlen);
       if (!rc)
@@ -463,7 +473,7 @@ get_one_do (app_t app, int tag, unsigned char **result, size_t *nbytes,
   if (!value) /* Not in a constructed DO, try simple. */
     {
       rc = get_cached_data (app, tag, &buffer, &buflen,
-                            (data_objects[i].dont_cache 
+                            (data_objects[i].dont_cache
                              || data_objects[i].get_immediate_in_v11),
                             data_objects[i].try_extlen);
       if (!rc)
@@ -490,7 +500,7 @@ dump_all_do (int slot)
   int rc, i, j;
   unsigned char *buffer;
   size_t buflen;
-  
+
   for (i=0; data_objects[i].tag; i++)
     {
       if (data_objects[i].get_from)
@@ -501,7 +511,7 @@ dump_all_do (int slot)
       rc = iso7816_get_data (slot, 0, data_objects[i].tag, &buffer, &buflen);
       if (gpg_err_code (rc) == GPG_ERR_NO_OBJ)
         ;
-      else if (rc) 
+      else if (rc)
         log_info ("DO `%s' not available: %s\n",
                   data_objects[i].desc, gpg_strerror (rc));
       else
@@ -522,7 +532,7 @@ dump_all_do (int slot)
                 {
                   const unsigned char *value;
                   size_t valuelen;
-                  
+
                   if (j==i || data_objects[i].tag != data_objects[j].get_from)
                     continue;
                   value = find_tlv_unchecked (buffer, buflen,
@@ -579,17 +589,23 @@ count_bits (const unsigned char *a, size_t len)
    Everything up to a LF is considered a mailbox or account name.  If
    the first LF is followed by DC4 (0x14) control sequence are
    expected up to the next LF.  Control sequences are separated by FS
-   (0x18) and consist of key=value pairs.  There is one key defined:
+   (0x18) and consist of key=value pairs.  There are two keys defined:
 
     F=<flags>
 
-    Were FLAGS is a plain hexadecimal number representing flag values.
+    Where FLAGS is a plain hexadecimal number representing flag values.
     The lsb is here the rightmost bit.  Defined flags bits are:
 
       Bit 0 = CHV1 and CHV2 are not syncronized
       Bit 1 = CHV2 has been been set to the default PIN of "123456"
               (this implies that bit 0 is also set).
 
+    P=<pinpad-request>
+
+    Where PINPAD_REQUEST is in the format of: <n> or <n>,<m>.
+    N for user PIN, M for admin PIN.  If M is missing it means M=N.
+    0 means to force not to use pinpad.
+
 */
 static void
 parse_login_data (app_t app)
@@ -601,6 +617,9 @@ parse_login_data (app_t app)
   /* Set defaults.  */
   app->app_local->flags.no_sync = 0;
   app->app_local->flags.def_chv2 = 0;
+  app->app_local->pinpad.specified = 0;
+  app->app_local->pinpad.fixedlen_user = -1;
+  app->app_local->pinpad.fixedlen_admin = -1;
 
   /* Read the DO.  */
   relptr = get_one_do (app, 0x005E, &buffer, &buflen, NULL);
@@ -610,7 +629,11 @@ parse_login_data (app_t app)
     if (*buffer == '\n')
       break;
   if (buflen < 2 || buffer[1] != '\x14')
-    return; /* No control sequences.  */
+    {
+      xfree (relptr);
+      return; /* No control sequences.  */
+    }
+
   buflen--;
   buffer++;
   do
@@ -626,33 +649,73 @@ parse_login_data (app_t app)
              any leading digits but bail out on invalid characters. */
           for (p=buffer+2, len = buflen-2; len && hexdigitp (p); p++, len--)
             lastdig = xtoi_1 (p);
+          buffer = p;
+          buflen = len;
           if (len && !(*p == '\n' || *p == '\x18'))
             goto next;  /* Invalid characters in field.  */
           app->app_local->flags.no_sync = !!(lastdig & 1);
           app->app_local->flags.def_chv2 = (lastdig & 3) == 3;
         }
+      else if (buflen > 1 && *buffer == 'P' && buffer[1] == '=')
+        {
+          /* Pinpad request control sequence found.  */
+          buffer += 2;
+          buflen -= 2;
+
+          if (buflen)
+            {
+              if (digitp (buffer))
+                {
+                  char *q;
+                  int n, m;
+
+                  n = strtol (buffer, &q, 10);
+                  if (q >= (char *)buffer + buflen
+                      || *q == '\x18' || *q == '\n')
+                    m = n;
+                  else
+                    {
+                      if (*q++ != ',' || !digitp (q))
+                        goto next;
+                      m = strtol (q, &q, 10);
+                    }
+
+                  if (buflen < ((unsigned char *)q - buffer))
+                    break;
+
+                  buflen -= ((unsigned char *)q - buffer);
+                  buffer = q;
+
+                  if (buflen && !(*buffer == '\n' || *buffer == '\x18'))
+                    goto next;
+                  app->app_local->pinpad.specified = 1;
+                  app->app_local->pinpad.fixedlen_user = n;
+                  app->app_local->pinpad.fixedlen_admin = m;
+                }
+            }
+        }
     next:
-      for (; buflen && *buffer != '\x18'; buflen--, buffer++)
-        if (*buffer == '\n')
-          buflen = 1; 
+      /* Skip to FS (0x18) or LF (\n).  */
+      for (; buflen && *buffer != '\x18' && *buffer != '\n'; buflen--)
+        buffer++;
     }
-  while (buflen);
+  while (buflen && *buffer != '\n');
 
   xfree (relptr);
 }
 
 /* Note, that FPR must be at least 20 bytes. */
-static gpg_error_t 
+static gpg_error_t
 store_fpr (app_t app, int keynumber, u32 timestamp,
            const unsigned char *m, size_t mlen,
-           const unsigned char *e, size_t elen, 
+           const unsigned char *e, size_t elen,
            unsigned char *fpr, unsigned int card_version)
 {
   unsigned int n, nbits;
   unsigned char *buffer, *p;
   int tag, tag2;
   int rc;
-  
+
   for (; mlen && !*m; mlen--, m++) /* strip leading zeroes */
     ;
   for (; elen && !*e; elen--, e++) /* strip leading zeroes */
@@ -662,7 +725,7 @@ store_fpr (app_t app, int keynumber, u32 timestamp,
   p = buffer = xtrymalloc (3 + n);
   if (!buffer)
     return gpg_error_from_syserror ();
-  
+
   *p++ = 0x99;     /* ctb */
   *p++ = n >> 8;   /* 2 byte length header */
   *p++ = n;
@@ -680,15 +743,15 @@ store_fpr (app_t app, int keynumber, u32 timestamp,
   *p++ = nbits >> 8;
   *p++ = nbits;
   memcpy (p, e, elen); p += elen;
-    
+
   gcry_md_hash_buffer (GCRY_MD_SHA1, fpr, buffer, n+3);
 
   xfree (buffer);
 
   tag = (card_version > 0x0007? 0xC7 : 0xC6) + keynumber;
-  flush_cache_item (app, tag);
+  flush_cache_item (app, 0xC5);
   tag2 = 0xCE + keynumber;
-  flush_cache_item (app, tag2);
+  flush_cache_item (app, 0xCD);
 
   rc = iso7816_put_data (app->slot, 0, tag, fpr, 20);
   if (rc)
@@ -712,11 +775,11 @@ store_fpr (app_t app, int keynumber, u32 timestamp,
   return rc;
 }
 
-       
+
 static void
 send_fpr_if_not_null (ctrl_t ctrl, const char *keyword,
                       int number, const unsigned char *fpr)
-{                      
+{
   int i;
   char buf[41];
   char numbuf[25];
@@ -738,7 +801,7 @@ send_fpr_if_not_null (ctrl_t ctrl, const char *keyword,
 static void
 send_fprtime_if_not_null (ctrl_t ctrl, const char *keyword,
                           int number, const unsigned char *stamp)
-{                      
+{
   char numbuf1[50], numbuf2[50];
   unsigned long value;
 
@@ -753,7 +816,7 @@ send_fprtime_if_not_null (ctrl_t ctrl, const char *keyword,
 }
 
 static void
-send_key_data (ctrl_t ctrl, const char *name, 
+send_key_data (ctrl_t ctrl, const char *name,
                const unsigned char *a, size_t alen)
 {
   char *buffer, *buf;
@@ -784,7 +847,7 @@ send_key_data (ctrl_t ctrl, const char *name,
 
 static void
 send_key_attr (ctrl_t ctrl, app_t app, const char *keyword, int number)
-{                      
+{
   char buffer[200];
 
   assert (number >=0 && number < DIM(app->app_local->keyattr));
@@ -801,7 +864,7 @@ send_key_attr (ctrl_t ctrl, app_t app, const char *keyword, int number)
 
 /* Implement the GETATTR command.  This is similar to the LEARN
    command but returns just one value via the status interface. */
-static gpg_error_t 
+static gpg_error_t
 do_getattr (app_t app, ctrl_t ctrl, const char *name)
 {
   static struct {
@@ -818,7 +881,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
     { "KEY-TIME",     0x00CD, 4 },
     { "KEY-ATTR",     0x0000, -5 },
     { "CA-FPR",       0x00C6, 3 },
-    { "CHV-STATUS",   0x00C4, 1 }, 
+    { "CHV-STATUS",   0x00C4, 1 },
     { "SIG-COUNTER",  0x0093, 2 },
     { "SERIALNO",     0x004F, -1 },
     { "AID",          0x004F },
@@ -839,8 +902,8 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
   for (idx=0; table[idx].name && strcmp (table[idx].name, name); idx++)
     ;
   if (!table[idx].name)
-    return gpg_error (GPG_ERR_INV_NAME); 
-  
+    return gpg_error (GPG_ERR_INV_NAME);
+
   if (table[idx].special == -1)
     {
       /* The serial number is very special.  We could have used the
@@ -868,7 +931,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
       char tmp[100];
 
       snprintf (tmp, sizeof tmp,
-                "gc=%d ki=%d fc=%d pd=%d mcl3=%u aac=%d sm=%d", 
+                "gc=%d ki=%d fc=%d pd=%d mcl3=%u aac=%d sm=%d",
                 app->app_local->extcap.get_challenge,
                 app->app_local->extcap.key_import,
                 app->app_local->extcap.change_force_chv,
@@ -891,7 +954,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
     {
       char *serial;
       time_t stamp;
-    
+
       if (!app_get_serial_and_stamp (app, &serial, &stamp))
         {
           if (strlen (serial) > 16+12)
@@ -902,7 +965,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
             }
           xfree (serial);
         }
-      return gpg_error (GPG_ERR_INV_NAME); 
+      return gpg_error (GPG_ERR_INV_NAME);
     }
   if (table[idx].special == -5)
     {
@@ -917,9 +980,9 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
       if (table[idx].special == 1)
         {
           char numbuf[7*23];
-          
+
           for (i=0,*numbuf=0; i < valuelen && i < 7; i++)
-            sprintf (numbuf+strlen (numbuf), " %d", value[i]); 
+            sprintf (numbuf+strlen (numbuf), " %d", value[i]);
           send_status_info (ctrl, table[idx].name,
                             numbuf, strlen (numbuf), NULL, 0);
         }
@@ -1045,7 +1108,7 @@ retrieve_key_material (FILE *fp, const char *hexkeyid,
             found_key = 1;
           continue;
        }
-      
+
       if ( !strcmp (fields[0], "sub") || !strcmp (fields[0], "pub") )
         break; /* Next key - stop.  */
 
@@ -1058,7 +1121,7 @@ retrieve_key_material (FILE *fp, const char *hexkeyid,
           err = gpg_error (GPG_ERR_GENERAL);
           goto leave; /* Error: Invalid key data record or not an RSA key.  */
         }
-      
+
       err = gcry_mpi_scan (&mpi, GCRYMPI_FMT_HEX, fields[3], 0, NULL);
       if (err)
         mpi = NULL;
@@ -1070,7 +1133,7 @@ retrieve_key_material (FILE *fp, const char *hexkeyid,
       if (err)
         goto leave;
     }
-  
+
   if (m_new && e_new)
     {
       *m = m_new;
@@ -1145,10 +1208,10 @@ get_public_key (app_t app, int keyno)
           le_value = 256; /* Use legacy value. */
         }
 
-      err = iso7816_read_public_key 
+      err = iso7816_read_public_key
         (app->slot, exmode,
          (const unsigned char*)(keyno == 0? "\xB6" :
-                                keyno == 1? "\xB8" : "\xA4"), 2,  
+                                keyno == 1? "\xB8" : "\xA4"), 2,
          le_value,
          &buffer, &buflen);
       if (err)
@@ -1164,7 +1227,7 @@ get_public_key (app_t app, int keyno)
           log_error (_("response does not contain the public key data\n"));
           goto leave;
         }
+
       m = find_tlv (keydata, keydatalen, 0x0081, &mlen);
       if (!m)
         {
@@ -1172,7 +1235,7 @@ get_public_key (app_t app, int keyno)
           log_error (_("response does not contain the RSA modulus\n"));
           goto leave;
         }
-      
+
 
       e = find_tlv (keydata, keydatalen, 0x0082, &elen);
       if (!e)
@@ -1275,7 +1338,7 @@ get_public_key (app_t app, int keyno)
       err = gpg_error_from_syserror ();
       goto leave;
     }
-  
+
   sprintf (keybuf, "(10:public-key(3:rsa(1:n%u:", (unsigned int) mlen);
   keybuf_p = keybuf + strlen (keybuf);
   memcpy (keybuf_p, m, mlen);
@@ -1286,7 +1349,7 @@ get_public_key (app_t app, int keyno)
   keybuf_p += elen;
   strcpy (keybuf_p, ")))");
   keybuf_p += strlen (keybuf_p);
-  
+
   app->app_local->pk[keyno].key = (unsigned char*)keybuf;
   app->app_local->pk[keyno].keylen = (keybuf_p - keybuf);
 
@@ -1319,7 +1382,7 @@ send_keypair_info (app_t app, ctrl_t ctrl, int keyno)
   err = get_public_key (app, keyno);
   if (err)
     goto leave;
-  
+
   assert (keyno >= 1 && keyno <= 3);
   if (!app->app_local->pk[keyno-1].key)
     goto leave; /* No such key - ignore. */
@@ -1329,19 +1392,19 @@ send_keypair_info (app_t app, ctrl_t ctrl, int keyno)
                                  grip);
   if (err)
     goto leave;
-  
+
   bin2hex (grip, 20, gripstr);
 
   sprintf (idbuf, "OPENPGP.%d", keyno);
-  send_status_info (ctrl, "KEYPAIRINFO", 
-                    gripstr, 40, 
-                    idbuf, strlen (idbuf), 
+  send_status_info (ctrl, "KEYPAIRINFO",
+                    gripstr, 40,
+                    idbuf, strlen (idbuf),
                     NULL, (size_t)0);
 
  leave:
 #endif /* GNUPG_MAJOR_VERSION > 1 */
 
-  return err; 
+  return err;
 }
 
 
@@ -1350,7 +1413,7 @@ static gpg_error_t
 do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
 {
   (void)flags;
-  
+
   do_getattr (app, ctrl, "EXTCAP");
   do_getattr (app, ctrl, "DISP-NAME");
   do_getattr (app, ctrl, "DISP-LANG");
@@ -1468,15 +1531,50 @@ do_readcert (app_t app, const char *certid,
 }
 
 
+/* Decide if we use the pinpad of the reader for PIN input according
+   to the user preference on the card, and the capability of the
+   reader.  This routine is only called when the reader has pinpad.
+   Returns 0 if we use pinpad, 1 otherwise.  */
+static int
+check_pinpad_request (app_t app, pininfo_t *pininfo, int admin_pin)
+{
+  if (app->app_local->pinpad.specified == 0) /* No preference on card.  */
+    {
+      if (pininfo->fixedlen == 0) /* Reader has varlen capability.  */
+        return 0;                 /* Then, use pinpad.  */
+      else
+        /*
+         * Reader has limited capability, and it may not match PIN of
+         * the card.
+         */
+        return 1;
+    }
+
+  if (admin_pin)
+    pininfo->fixedlen = app->app_local->pinpad.fixedlen_admin;
+  else
+    pininfo->fixedlen = app->app_local->pinpad.fixedlen_user;
+
+  if (pininfo->fixedlen == 0    /* User requests disable pinpad.  */
+      || pininfo->fixedlen < pininfo->minlen
+      || pininfo->fixedlen > pininfo->maxlen
+      /* Reader doesn't have the capability to input a PIN which
+       * length is FIXEDLEN.  */)
+    return 1;
+
+  return 0;
+}
+
+
 /* Verify a CHV either using using the pinentry or if possibile by
-   using a keypad.  PINCB and PINCB_ARG describe the usual callback
+   using a pinpad.  PINCB and PINCB_ARG describe the usual callback
    for the pinentry.  CHVNO must be either 1 or 2. SIGCOUNT is only
    used with CHV1.  PINVALUE is the address of a pointer which will
    receive a newly allocated block with the actual PIN (this is useful
    in case that PIN shall be used for another verify operation).  The
    caller needs to free this value.  If the function returns with
    success and NULL is stored at PINVALUE, the caller should take this
-   as an indication that the keypad has been used.
+   as an indication that the pinpad has been used.
    */
 static gpg_error_t
 verify_a_chv (app_t app,
@@ -1487,7 +1585,7 @@ verify_a_chv (app_t app,
   int rc = 0;
   char *prompt_buffer = NULL;
   const char *prompt;
-  iso7816_pininfo_t pininfo;
+  pininfo_t pininfo;
   int minlen = 6;
 
   assert (chvno == 1 || chvno == 2);
@@ -1514,7 +1612,7 @@ verify_a_chv (app_t app,
     }
 
   memset (&pininfo, 0, sizeof pininfo);
-  pininfo.mode = 1;
+  pininfo.fixedlen = -1;
   pininfo.minlen = minlen;
 
 
@@ -1533,16 +1631,17 @@ verify_a_chv (app_t app,
   else
     prompt = _("||Please enter the PIN");
 
-  
-  if (!opt.disable_keypad
-      && !iso7816_check_keypad (app->slot, ISO7816_VERIFY, &pininfo) )
+
+  if (!opt.disable_pinpad
+      && !iso7816_check_pinpad (app->slot, ISO7816_VERIFY, &pininfo)
+      && !check_pinpad_request (app, &pininfo, 0))
     {
-      /* The reader supports the verify command through the keypad.
+      /* The reader supports the verify command through the pinpad.
          Note that the pincb appends a text to the prompt telling the
-         user to use the keypad. */
-      rc = pincb (pincb_arg, prompt, NULL); 
+         user to use the pinpad. */
+      rc = pincb (pincb_arg, prompt, NULL);
       prompt = NULL;
-      xfree (prompt_buffer); 
+      xfree (prompt_buffer);
       prompt_buffer = NULL;
       if (rc)
         {
@@ -1550,7 +1649,7 @@ verify_a_chv (app_t app,
                     gpg_strerror (rc));
           return rc;
         }
-      rc = iso7816_verify_kp (app->slot, 0x80+chvno, "", 0, &pininfo); 
+      rc = iso7816_verify_kp (app->slot, 0x80+chvno, &pininfo);
       /* Dismiss the prompt. */
       pincb (pincb_arg, NULL, NULL);
 
@@ -1558,10 +1657,10 @@ verify_a_chv (app_t app,
     }
   else
     {
-      /* The reader has no keypad or we don't want to use it. */
-      rc = pincb (pincb_arg, prompt, pinvalue); 
+      /* The reader has no pinpad or we don't want to use it. */
+      rc = pincb (pincb_arg, prompt, pinvalue);
       prompt = NULL;
-      xfree (prompt_buffer); 
+      xfree (prompt_buffer);
       prompt_buffer = NULL;
       if (rc)
         {
@@ -1569,7 +1668,7 @@ verify_a_chv (app_t app,
                     gpg_strerror (rc));
           return rc;
         }
-      
+
       if (strlen (*pinvalue) < minlen)
         {
           log_error (_("PIN for CHV%d is too short;"
@@ -1582,7 +1681,7 @@ verify_a_chv (app_t app,
       rc = iso7816_verify (app->slot, 0x80+chvno,
                            *pinvalue, strlen (*pinvalue));
     }
-  
+
   if (rc)
     {
       log_error (_("verify CHV%d failed: %s\n"), chvno, gpg_strerror (rc));
@@ -1605,20 +1704,20 @@ verify_chv2 (app_t app,
   int rc;
   char *pinvalue;
 
-  if (app->did_chv2) 
+  if (app->did_chv2)
     return 0;  /* We already verified CHV2.  */
 
   rc = verify_a_chv (app, pincb, pincb_arg, 2, 0, &pinvalue);
   if (rc)
     return rc;
   app->did_chv2 = 1;
-  
+
   if (!app->did_chv1 && !app->force_chv1 && pinvalue)
     {
       /* For convenience we verify CHV1 here too.  We do this only if
          the card is not configured to require a verification before
          each CHV1 controlled operation (force_chv1) and if we are not
-         using the keypad (PINVALUE == NULL). */
+         using the pinpad (PINVALUE == NULL). */
       rc = iso7816_verify (app->slot, 0x81, pinvalue, strlen (pinvalue));
       if (gpg_err_code (rc) == GPG_ERR_BAD_PIN)
         rc = gpg_error (GPG_ERR_PIN_NOT_SYNCED);
@@ -1639,7 +1738,7 @@ verify_chv2 (app_t app,
 
 /* Build the prompt to enter the Admin PIN.  The prompt depends on the
    current sdtate of the card.  */
-static gpg_error_t 
+static gpg_error_t
 build_enter_admin_pin_prompt (app_t app, char **r_prompt)
 {
   void *relptr;
@@ -1665,7 +1764,7 @@ build_enter_admin_pin_prompt (app_t app, char **r_prompt)
     }
   remaining = value[6];
   xfree (relptr);
-  
+
   log_info(_("%d Admin PIN attempts remaining before card"
              " is permanently locked\n"), remaining);
 
@@ -1678,10 +1777,10 @@ build_enter_admin_pin_prompt (app_t app, char **r_prompt)
     }
   else
     prompt = xtrystrdup (_("|A|Please enter the Admin PIN"));
-  
+
   if (!prompt)
     return gpg_error_from_syserror ();
-  
+
   *r_prompt = prompt;
   return 0;
 }
@@ -1702,26 +1801,27 @@ verify_chv3 (app_t app,
       return gpg_error (GPG_ERR_EACCES);
     }
 #endif
-      
-  if (!app->did_chv3) 
+
+  if (!app->did_chv3)
     {
-      iso7816_pininfo_t pininfo;
+      pininfo_t pininfo;
       int minlen = 8;
       char *prompt;
 
       memset (&pininfo, 0, sizeof pininfo);
-      pininfo.mode = 1;
+      pininfo.fixedlen = -1;
       pininfo.minlen = minlen;
 
       rc = build_enter_admin_pin_prompt (app, &prompt);
       if (rc)
         return rc;
 
-      if (!opt.disable_keypad
-          && !iso7816_check_keypad (app->slot, ISO7816_VERIFY, &pininfo) )
+      if (!opt.disable_pinpad
+          && !iso7816_check_pinpad (app->slot, ISO7816_VERIFY, &pininfo)
+          && !check_pinpad_request (app, &pininfo, 1))
         {
-          /* The reader supports the verify command through the keypad. */
-          rc = pincb (pincb_arg, prompt, NULL); 
+          /* The reader supports the verify command through the pinpad. */
+          rc = pincb (pincb_arg, prompt, NULL);
           xfree (prompt);
           prompt = NULL;
           if (rc)
@@ -1730,7 +1830,7 @@ verify_chv3 (app_t app,
                         gpg_strerror (rc));
               return rc;
             }
-          rc = iso7816_verify_kp (app->slot, 0x83, "", 0, &pininfo); 
+          rc = iso7816_verify_kp (app->slot, 0x83, &pininfo);
           /* Dismiss the prompt. */
           pincb (pincb_arg, NULL, NULL);
         }
@@ -1738,7 +1838,7 @@ verify_chv3 (app_t app,
         {
           char *pinvalue;
 
-          rc = pincb (pincb_arg, prompt, &pinvalue); 
+          rc = pincb (pincb_arg, prompt, &pinvalue);
           xfree (prompt);
           prompt = NULL;
           if (rc)
@@ -1747,7 +1847,7 @@ verify_chv3 (app_t app,
                         gpg_strerror (rc));
               return rc;
             }
-          
+
           if (strlen (pinvalue) < minlen)
             {
               log_error (_("PIN for CHV%d is too short;"
@@ -1755,11 +1855,11 @@ verify_chv3 (app_t app,
               xfree (pinvalue);
               return gpg_error (GPG_ERR_BAD_PIN);
             }
-          
+
           rc = iso7816_verify (app->slot, 0x83, pinvalue, strlen (pinvalue));
           xfree (pinvalue);
         }
-      
+
       if (rc)
         {
           log_error (_("verify CHV%d failed: %s\n"), 3, gpg_strerror (rc));
@@ -1774,7 +1874,7 @@ verify_chv3 (app_t app,
 
 /* Handle the SETATTR operation. All arguments are already basically
    checked. */
-static gpg_error_t 
+static gpg_error_t
 do_setattr (app_t app, const char *name,
             gpg_error_t (*pincb)(void*, const char *, char **),
             void *pincb_arg,
@@ -1813,7 +1913,7 @@ do_setattr (app_t app, const char *name,
   for (idx=0; table[idx].name && strcmp (table[idx].name, name); idx++)
     ;
   if (!table[idx].name)
-    return gpg_error (GPG_ERR_INV_NAME); 
+    return gpg_error (GPG_ERR_INV_NAME);
   if (table[idx].need_v2 && !app->app_local->extcap.is_v2)
     return gpg_error (GPG_ERR_NOT_SUPPORTED); /* Not yet supported.  */
 
@@ -1864,7 +1964,7 @@ do_setattr (app_t app, const char *name,
    callback.  */
 static gpg_error_t
 do_writecert (app_t app, ctrl_t ctrl,
-              const char *certidstr, 
+              const char *certidstr,
               gpg_error_t (*pincb)(void*, const char *, char **),
               void *pincb_arg,
               const unsigned char *certdata, size_t certdatalen)
@@ -1902,8 +2002,8 @@ do_writecert (app_t app, ctrl_t ctrl,
      -       2   2      Verify Reset Code and set a new PW1.
      -       3   any    Verify CHV3/PW3 and set a new CHV3/PW3.
  */
-static gpg_error_t 
-do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr, 
+static gpg_error_t
+do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
                unsigned int flags,
                gpg_error_t (*pincb)(void*, const char *, char **),
                void *pincb_arg)
@@ -1912,11 +2012,17 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
   int chvno = atoi (chvnostr);
   char *resetcode = NULL;
   char *oldpinvalue = NULL;
-  char *pinvalue;
+  char *pinvalue = NULL;
   int reset_mode = !!(flags & APP_CHANGE_FLAG_RESET);
   int set_resetcode = 0;
+  pininfo_t pininfo;
+  int use_pinpad = 0;
+  int minlen = 6;
 
   (void)ctrl;
+  memset (&pininfo, 0, sizeof pininfo);
+  pininfo.fixedlen = -1;
+  pininfo.minlen = minlen;
 
   if (reset_mode && chvno == 3)
     {
@@ -1941,7 +2047,7 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
           /* On a v1.x card CHV1 and CVH2 should always have the same
              value, thus we enforce it here.  */
           int save_force = app->force_chv1;
-          
+
           app->force_chv1 = 0;
           app->did_chv1 = 0;
           app->did_chv2 = 0;
@@ -1960,48 +2066,58 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
     {
       /* Version 2 cards.  */
 
+      if (!opt.disable_pinpad
+          && !iso7816_check_pinpad (app->slot,
+                                    ISO7816_CHANGE_REFERENCE_DATA, &pininfo)
+          && !check_pinpad_request (app, &pininfo, chvno == 3))
+        use_pinpad = 1;
+
       if (reset_mode)
         {
           /* To reset a PIN the Admin PIN is required. */
+          use_pinpad = 0;
           app->did_chv3 = 0;
           rc = verify_chv3 (app, pincb, pincb_arg);
           if (rc)
             goto leave;
-          
+
           if (chvno == 2)
             set_resetcode = 1;
         }
       else if (chvno == 1 || chvno == 3)
         {
-          int minlen = (chvno ==3)? 8 : 6;
-          char *promptbuf = NULL;
-          const char *prompt;
-
-          if (chvno == 3)
+         if (!use_pinpad)
             {
-              rc = build_enter_admin_pin_prompt (app, &promptbuf);
+              char *promptbuf = NULL;
+              const char *prompt;
+
+              if (chvno == 3)
+                {
+                  minlen = 8;
+                  rc = build_enter_admin_pin_prompt (app, &promptbuf);
+                  if (rc)
+                    goto leave;
+                  prompt = promptbuf;
+                }
+              else
+                prompt = _("||Please enter the PIN");
+              rc = pincb (pincb_arg, prompt, &oldpinvalue);
+              xfree (promptbuf);
+              promptbuf = NULL;
               if (rc)
-                goto leave;
-              prompt = promptbuf;
-            }
-          else
-            prompt = _("||Please enter the PIN");
-          rc = pincb (pincb_arg, prompt, &oldpinvalue);
-          xfree (promptbuf);
-          promptbuf = NULL;
-          if (rc)
-            {
-              log_info (_("PIN callback returned error: %s\n"),
-                        gpg_strerror (rc));
-              goto leave;
-            }
+                {
+                  log_info (_("PIN callback returned error: %s\n"),
+                            gpg_strerror (rc));
+                  goto leave;
+                }
 
-          if (strlen (oldpinvalue) < minlen)
-            {
-              log_info (_("PIN for CHV%d is too short;"
-                          " minimum length is %d\n"), chvno, minlen);
-              rc = gpg_error (GPG_ERR_BAD_PIN);
-              goto leave;
+              if (strlen (oldpinvalue) < minlen)
+                {
+                  log_info (_("PIN for CHV%d is too short;"
+                              " minimum length is %d\n"), chvno, minlen);
+                  rc = gpg_error (GPG_ERR_BAD_PIN);
+                  goto leave;
+                }
             }
         }
       else if (chvno == 2)
@@ -2012,8 +2128,9 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
           unsigned char *value;
           size_t valuelen;
           int remaining;
-          int minlen = 8;
 
+          use_pinpad = 0;
+          minlen = 8;
           relptr = get_one_do (app, 0x00C4, &value, &valuelen, NULL);
           if (!relptr || valuelen < 7)
             {
@@ -2029,14 +2146,14 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
               log_error (_("Reset Code not or not anymore available\n"));
               rc = gpg_error (GPG_ERR_BAD_PIN);
               goto leave;
-            }          
-          
+            }
+
           rc = pincb (pincb_arg,
                       _("||Please enter the Reset Code for the card"),
-                      &resetcode); 
+                      &resetcode);
           if (rc)
             {
-              log_info (_("PIN callback returned error: %s\n"), 
+              log_info (_("PIN callback returned error: %s\n"),
                         gpg_strerror (rc));
               goto leave;
             }
@@ -2060,17 +2177,19 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
   else
     app->did_chv1 = app->did_chv2 = 0;
 
-  /* TRANSLATORS: Do not translate the "|*|" prefixes but
-     keep it at the start of the string.  We need this elsewhere
-     to get some infos on the string. */
-  rc = pincb (pincb_arg, 
-              set_resetcode? _("|RN|New Reset Code") :
-              chvno == 3? _("|AN|New Admin PIN") : _("|N|New PIN"), 
-              &pinvalue); 
-  if (rc)
+  if (!use_pinpad)
     {
-      log_error (_("error getting new PIN: %s\n"), gpg_strerror (rc));
-      goto leave;
+      /* TRANSLATORS: Do not translate the "|*|" prefixes but
+         keep it at the start of the string.  We need this elsewhere
+         to get some infos on the string. */
+      rc = pincb (pincb_arg, set_resetcode? _("|RN|New Reset Code") :
+                  chvno == 3? _("|AN|New Admin PIN") : _("|N|New PIN"),
+                  &pinvalue);
+      if (rc)
+        {
+          log_error (_("error getting new PIN: %s\n"), gpg_strerror (rc));
+          goto leave;
+        }
     }
 
 
@@ -2130,10 +2249,28 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
     {
       /* Version 2 cards.  */
       assert (chvno == 1 || chvno == 3);
-      
-      rc = iso7816_change_reference_data (app->slot, 0x80 + chvno,
-                                          oldpinvalue, strlen (oldpinvalue),
-                                          pinvalue, strlen (pinvalue));
+
+      if (use_pinpad)
+        {
+          rc = pincb (pincb_arg,
+                      chvno == 3 ?
+                      _("||Please enter the Admin PIN and New Admin PIN") :
+                      _("||Please enter the PIN and New PIN"), NULL);
+          if (rc)
+            {
+              log_info (_("PIN callback returned error: %s\n"),
+                        gpg_strerror (rc));
+              goto leave;
+            }
+          rc = iso7816_change_reference_data_kp (app->slot, 0x80 + chvno, 0,
+                                                 &pininfo);
+          /* Dismiss the prompt. */
+          pincb (pincb_arg, NULL, NULL);
+        }
+      else
+        rc = iso7816_change_reference_data (app->slot, 0x80 + chvno,
+                                            oldpinvalue, strlen (oldpinvalue),
+                                            pinvalue, strlen (pinvalue));
     }
 
   if (pinvalue)
@@ -2208,7 +2345,7 @@ does_key_exist (app_t app, int keyidx, int generating, int force)
    of tag and length.  A LENGTH greater than 65535 is truncated. */
 static size_t
 add_tlv (unsigned char *buffer, unsigned int tag, size_t length)
-{ 
+{
   unsigned char *p = buffer;
 
   assert (tag <= 0xffff);
@@ -2243,10 +2380,13 @@ build_privkey_template (app_t app, int keyno,
                         const unsigned char *rsa_e, size_t rsa_e_len,
                         const unsigned char *rsa_p, size_t rsa_p_len,
                         const unsigned char *rsa_q, size_t rsa_q_len,
+                        const unsigned char *rsa_u, size_t rsa_u_len,
+                        const unsigned char *rsa_dp, size_t rsa_dp_len,
+                        const unsigned char *rsa_dq, size_t rsa_dq_len,
                         unsigned char **result, size_t *resultlen)
 {
   size_t rsa_e_reqlen;
-  unsigned char privkey[7*(1+3)];
+  unsigned char privkey[7*(1+3+3)];
   size_t privkey_len;
   unsigned char exthdr[2+2+3];
   size_t exthdr_len;
@@ -2264,17 +2404,16 @@ build_privkey_template (app_t app, int keyno,
     {
     case RSA_STD:
     case RSA_STD_N:
-      break;
     case RSA_CRT:
     case RSA_CRT_N:
-      return gpg_error (GPG_ERR_NOT_SUPPORTED);
+      break;
 
     default:
       return gpg_error (GPG_ERR_INV_VALUE);
     }
 
-  /* Get the required length for E.  */
-  rsa_e_reqlen = app->app_local->keyattr[keyno].e_bits/8;
+  /* Get the required length for E. Rounded up to the nearest byte  */
+  rsa_e_reqlen = (app->app_local->keyattr[keyno].e_bits + 7) / 8;
   assert (rsa_e_len <= rsa_e_reqlen);
 
   /* Build the 7f48 cardholder private key template.  */
@@ -2290,6 +2429,17 @@ build_privkey_template (app_t app, int keyno,
   tp += add_tlv (tp, 0x93, rsa_q_len);
   datalen += rsa_q_len;
 
+  if (app->app_local->keyattr[keyno].format == RSA_CRT
+      || app->app_local->keyattr[keyno].format == RSA_CRT_N)
+    {
+      tp += add_tlv (tp, 0x94, rsa_u_len);
+      datalen += rsa_u_len;
+      tp += add_tlv (tp, 0x95, rsa_dp_len);
+      datalen += rsa_dp_len;
+      tp += add_tlv (tp, 0x96, rsa_dq_len);
+      datalen += rsa_dq_len;
+    }
+
   if (app->app_local->keyattr[keyno].format == RSA_STD_N
       || app->app_local->keyattr[keyno].format == RSA_CRT_N)
     {
@@ -2334,15 +2484,26 @@ build_privkey_template (app_t app, int keyno,
       /* Right justify E. */
       memmove (tp + rsa_e_reqlen - rsa_e_len, tp, rsa_e_len);
       memset (tp, 0, rsa_e_reqlen - rsa_e_len);
-    }                 
+    }
   tp += rsa_e_reqlen;
-      
+
   memcpy (tp, rsa_p, rsa_p_len);
   tp += rsa_p_len;
-      
+
   memcpy (tp, rsa_q, rsa_q_len);
   tp += rsa_q_len;
-  
+
+  if (app->app_local->keyattr[keyno].format == RSA_CRT
+      || app->app_local->keyattr[keyno].format == RSA_CRT_N)
+    {
+      memcpy (tp, rsa_u, rsa_u_len);
+      tp += rsa_u_len;
+      memcpy (tp, rsa_dp, rsa_dp_len);
+      tp += rsa_dp_len;
+      memcpy (tp, rsa_dq, rsa_dq_len);
+      tp += rsa_dq_len;
+    }
+
   if (app->app_local->keyattr[keyno].format == RSA_STD_N
       || app->app_local->keyattr[keyno].format == RSA_CRT_N)
     {
@@ -2387,7 +2548,7 @@ change_keyattr (app_t app, int keyno, unsigned int nbits,
       xfree (relptr);
       return gpg_error (GPG_ERR_CARD);
     }
-  
+
   /* We only change n_bits and don't touch anything else.  Before we
      do so, we round up NBITS to a sensible way in the same way as
      gpg's key generation does it.  This may help to sort out problems
@@ -2422,8 +2583,8 @@ change_keyattr (app_t app, int keyno, unsigned int nbits,
 
 /* Helper to process an setattr command for name KEY-ATTR.  It expects
    a string "--force <keyno> <algo> <nbits>" in (VALUE,VALUELEN).  */
-static gpg_error_t 
-change_keyattr_from_string (app_t app, 
+static gpg_error_t
+change_keyattr_from_string (app_t app,
                             gpg_error_t (*pincb)(void*, const char *, char **),
                             void *pincb_arg,
                             const void *value, size_t valuelen)
@@ -2503,13 +2664,13 @@ do_writekey (app_t app, ctrl_t ctrl,
     keyno = 2;
   else
     return gpg_error (GPG_ERR_INV_ID);
-  
+
   err = does_key_exist (app, keyno, 0, force);
   if (err)
     return err;
 
 
-  /* 
+  /*
      Parse the S-expression
    */
   buf = keydata;
@@ -2557,10 +2718,10 @@ do_writekey (app_t app, ctrl_t ctrl,
 
           switch (*tok)
             {
-            case 'n': mpi = &rsa_n; mpi_len = &rsa_n_len; break; 
-            case 'e': mpi = &rsa_e; mpi_len = &rsa_e_len; break; 
-            case 'p': mpi = &rsa_p; mpi_len = &rsa_p_len; break; 
-            case 'q': mpi = &rsa_q; mpi_len = &rsa_q_len;break; 
+            case 'n': mpi = &rsa_n; mpi_len = &rsa_n_len; break;
+            case 'e': mpi = &rsa_e; mpi_len = &rsa_e_len; break;
+            case 'p': mpi = &rsa_p; mpi_len = &rsa_p_len; break;
+            case 'q': mpi = &rsa_q; mpi_len = &rsa_q_len;break;
             default: mpi = NULL;  mpi_len = NULL; break;
             }
           if (mpi && *mpi)
@@ -2632,7 +2793,7 @@ do_writekey (app_t app, ctrl_t ctrl,
   maxbits = app->app_local->keyattr[keyno].n_bits;
   nbits = rsa_n? count_bits (rsa_n, rsa_n_len) : 0;
   if (opt.verbose)
-    log_info ("RSA modulus size is %u bits (%u bytes)\n", 
+    log_info ("RSA modulus size is %u bits (%u bytes)\n",
               nbits, (unsigned int)rsa_n_len);
   if (nbits && nbits != maxbits
       && app->app_local->extcap.algo_attr_change)
@@ -2644,7 +2805,7 @@ do_writekey (app_t app, ctrl_t ctrl,
     }
   if (nbits != maxbits)
     {
-      log_error (_("RSA modulus missing or not of size %d bits\n"), 
+      log_error (_("RSA modulus missing or not of size %d bits\n"),
                  (int)maxbits);
       err = gpg_error (GPG_ERR_BAD_SECKEY);
       goto leave;
@@ -2666,7 +2827,7 @@ do_writekey (app_t app, ctrl_t ctrl,
   nbits = rsa_p? count_bits (rsa_p, rsa_p_len) : 0;
   if (nbits != maxbits)
     {
-      log_error (_("RSA prime %s missing or not of size %d bits\n"), 
+      log_error (_("RSA prime %s missing or not of size %d bits\n"),
                  "P", (int)maxbits);
       err = gpg_error (GPG_ERR_BAD_SECKEY);
       goto leave;
@@ -2674,12 +2835,12 @@ do_writekey (app_t app, ctrl_t ctrl,
   nbits = rsa_q? count_bits (rsa_q, rsa_q_len) : 0;
   if (nbits != maxbits)
     {
-      log_error (_("RSA prime %s missing or not of size %d bits\n"), 
+      log_error (_("RSA prime %s missing or not of size %d bits\n"),
                  "Q", (int)maxbits);
       err = gpg_error (GPG_ERR_BAD_SECKEY);
       goto leave;
     }
-  
+
   /* We need to remove the cached public key.  */
   xfree (app->app_local->pk[keyno].key);
   app->app_local->pk[keyno].key = NULL;
@@ -2689,16 +2850,53 @@ do_writekey (app_t app, ctrl_t ctrl,
 
   if (app->app_local->extcap.is_v2)
     {
+      unsigned char *rsa_u, *rsa_dp, *rsa_dq;
+      size_t rsa_u_len, rsa_dp_len, rsa_dq_len;
+      gcry_mpi_t mpi_e, mpi_p, mpi_q;
+      gcry_mpi_t mpi_u = gcry_mpi_snew (0);
+      gcry_mpi_t mpi_dp = gcry_mpi_snew (0);
+      gcry_mpi_t mpi_dq = gcry_mpi_snew (0);
+      gcry_mpi_t mpi_tmp = gcry_mpi_snew (0);
+      int exmode;
+
+      /* Calculate the u, dp and dq components needed by RSA_CRT cards */
+      gcry_mpi_scan (&mpi_e, GCRYMPI_FMT_USG, rsa_e, rsa_e_len, NULL);
+      gcry_mpi_scan (&mpi_p, GCRYMPI_FMT_USG, rsa_p, rsa_p_len, NULL);
+      gcry_mpi_scan (&mpi_q, GCRYMPI_FMT_USG, rsa_q, rsa_q_len, NULL);
+
+      gcry_mpi_invm (mpi_u, mpi_q, mpi_p);
+      gcry_mpi_sub_ui (mpi_tmp, mpi_p, 1);
+      gcry_mpi_invm (mpi_dp, mpi_e, mpi_tmp);
+      gcry_mpi_sub_ui (mpi_tmp, mpi_q, 1);
+      gcry_mpi_invm (mpi_dq, mpi_e, mpi_tmp);
+
+      gcry_mpi_aprint (GCRYMPI_FMT_USG, &rsa_u, &rsa_u_len, mpi_u);
+      gcry_mpi_aprint (GCRYMPI_FMT_USG, &rsa_dp, &rsa_dp_len, mpi_dp);
+      gcry_mpi_aprint (GCRYMPI_FMT_USG, &rsa_dq, &rsa_dq_len, mpi_dq);
+
+      gcry_mpi_release (mpi_e);
+      gcry_mpi_release (mpi_p);
+      gcry_mpi_release (mpi_q);
+      gcry_mpi_release (mpi_u);
+      gcry_mpi_release (mpi_dp);
+      gcry_mpi_release (mpi_dq);
+      gcry_mpi_release (mpi_tmp);
+
       /* Build the private key template as described in section 4.3.3.7 of
          the OpenPGP card specs version 2.0.  */
-      int exmode;
       err = build_privkey_template (app, keyno,
                                     rsa_n, rsa_n_len,
                                     rsa_e, rsa_e_len,
                                     rsa_p, rsa_p_len,
                                     rsa_q, rsa_q_len,
+                                    rsa_u, rsa_u_len,
+                                    rsa_dp, rsa_dp_len,
+                                    rsa_dq, rsa_dq_len,
                                     &template, &template_len);
+      xfree(rsa_u);
+      xfree(rsa_dp);
+      xfree(rsa_dq);
+
       if (err)
         goto leave;
 
@@ -2722,8 +2920,8 @@ do_writekey (app_t app, ctrl_t ctrl,
       /* Build the private key template as described in section 4.3.3.6 of
          the OpenPGP card specs version 1.1:
          0xC0   <length> public exponent
-         0xC1   <length> prime p 
-         0xC2   <length> prime q 
+         0xC1   <length> prime p
+         0xC2   <length> prime q
       */
       assert (rsa_e_len <= 4);
       template_len = (1 + 1 + 4
@@ -2743,21 +2941,21 @@ do_writekey (app_t app, ctrl_t ctrl,
           /* Right justify E. */
           memmove (tp+4-rsa_e_len, tp, rsa_e_len);
           memset (tp, 0, 4-rsa_e_len);
-        }                 
+        }
       tp += 4;
-      
+
       *tp++ = 0xC1;
       *tp++ = rsa_p_len;
       memcpy (tp, rsa_p, rsa_p_len);
       tp += rsa_p_len;
-      
+
       *tp++ = 0xC2;
       *tp++ = rsa_q_len;
       memcpy (tp, rsa_q, rsa_q_len);
       tp += rsa_q_len;
-      
+
       assert (tp - template == template_len);
-      
+
       /* Prepare for storing the key.  */
       err = verify_chv3 (app, pincb, pincb_arg);
       if (err)
@@ -2773,7 +2971,7 @@ do_writekey (app_t app, ctrl_t ctrl,
       log_error (_("failed to store the key: %s\n"), gpg_strerror (err));
       goto leave;
     }
+
   err = store_fpr (app, keyno, created_at,
                   rsa_n, rsa_n_len, rsa_e, rsa_e_len,
                   fprbuf, app->card_version);
@@ -2788,7 +2986,7 @@ do_writekey (app_t app, ctrl_t ctrl,
 
 
 /* Handle the GENKEY command. */
-static gpg_error_t 
+static gpg_error_t
 do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
            time_t createtime,
            gpg_error_t (*pincb)(void*, const char *, char **),
@@ -2806,7 +3004,7 @@ do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
   time_t start_at;
   int exmode;
   int le_value;
-  unsigned int keybits; 
+  unsigned int keybits;
 
   if (keyno < 1 || keyno > 3)
     return gpg_error (GPG_ERR_INV_ID);
@@ -2830,7 +3028,7 @@ do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
   /* Because we send the key parameter back via status lines we need
      to put a limit on the max. allowed keysize.  2048 bit will
      already lead to a 527 byte long status line and thus a 4096 bit
-     key would exceed the Assuan line length limit.  */ 
+     key would exceed the Assuan line length limit.  */
   keybits = app->app_local->keyattr[keyno].n_bits;
   if (keybits > 4096)
     return gpg_error (GPG_ERR_TOO_LARGE);
@@ -2848,7 +3046,7 @@ do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
       le_value = app->app_local->extcap.max_rsp_data;
       /* No need to check le_value because it comes from a 16 bit
          value and thus can't create an overflow on a 32 bit
-         system.  */ 
+         system.  */
     }
   else
     {
@@ -2858,10 +3056,10 @@ do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
 
   log_info (_("please wait while key is being generated ...\n"));
   start_at = time (NULL);
-  rc = iso7816_generate_keypair 
+  rc = iso7816_generate_keypair
 /* # warning key generation temporary replaced by reading an existing key. */
 /*   rc = iso7816_read_public_key */
-    (app->slot, exmode, 
+    (app->slot, exmode,
      (const unsigned char*)(keyno == 0? "\xB6" :
                             keyno == 1? "\xB8" : "\xA4"), 2,
      le_value,
@@ -2882,7 +3080,7 @@ do_genkey (app_t app, ctrl_t ctrl,  const char *keynostr, unsigned int flags,
       log_error (_("response does not contain the public key data\n"));
       goto leave;
     }
+
   m = find_tlv (keydata, keydatalen, 0x0081, &mlen);
   if (!m)
     {
@@ -2959,7 +3157,7 @@ compare_fingerprint (app_t app, int keyno, unsigned char *sha1fpr)
   unsigned char *buffer;
   size_t buflen, n;
   int rc, i;
-  
+
   assert (keyno >= 1 && keyno <= 3);
 
   rc = get_cached_data (app, 0x006E, &buffer, &buflen, 0, 0);
@@ -3023,12 +3221,12 @@ check_against_given_fingerprint (app_t app, const char *fpr, int keyno)
    Note that this function may return the error code
    GPG_ERR_WRONG_CARD to indicate that the card currently present does
    not match the one required for the requested action (e.g. the
-   serial number does not match). 
-   
+   serial number does not match).
+
    As a special feature a KEYIDSTR of "OPENPGP.3" redirects the
    operation to the auth command.
 */
-static gpg_error_t 
+static gpg_error_t
 do_sign (app_t app, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
@@ -3080,7 +3278,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
     {                                                         \
       indata = (const char*)indata + sizeof b ## _prefix;     \
       indatalen -= sizeof b ## _prefix;                       \
-    }                                                         
+    }
 
   if (indatalen == 20)
     ;  /* Assume a plain SHA-1 or RMD160 digest has been given.  */
@@ -3090,7 +3288,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   else X(SHA256, sha256, 32, app->app_local->extcap.is_v2)
   else X(SHA384, sha384, 48, app->app_local->extcap.is_v2)
   else X(SHA512, sha512, 64, app->app_local->extcap.is_v2)
-  else if ((indatalen == 28 || indatalen == 32 
+  else if ((indatalen == 28 || indatalen == 32
             || indatalen == 48 || indatalen ==64)
            && app->app_local->extcap.is_v2)
     ;  /* Assume a plain SHA-3 digest has been given.  */
@@ -3119,7 +3317,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
       else if (!*s)
        ; /* no fingerprint given: we allow this for now. */
       else if (*s == '/')
-       fpr = s + 1; 
+       fpr = s + 1;
       else
        return gpg_error (GPG_ERR_INV_ID);
 
@@ -3150,7 +3348,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
       assert (datalen <= sizeof data);                        \
       memcpy (data, b ## _prefix, sizeof b ## _prefix);       \
       memcpy (data + sizeof b ## _prefix, indata, indatalen); \
-    }                                                         
+    }
 
   X(SHA1,   sha1,   1)
   else X(RMD160, rmd160, 1)
@@ -3158,7 +3356,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   else X(SHA256, sha256, app->app_local->extcap.is_v2)
   else X(SHA384, sha384, app->app_local->extcap.is_v2)
   else X(SHA512, sha512, app->app_local->extcap.is_v2)
-  else 
+  else
     return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
 #undef X
 
@@ -3175,7 +3373,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   log_info (_("signatures created so far: %lu\n"), sigcount);
 
   /* Check CHV if needed.  */
-  if (!app->did_chv1 || app->force_chv1 ) 
+  if (!app->did_chv1 || app->force_chv1 )
     {
       char *pinvalue;
 
@@ -3189,7 +3387,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
          sync, thus we verify CHV2 here using the given PIN.  Cards
          with version2 to not have the need for a separate CHV2 and
          internally use just one.  Obviously we can't do that if the
-         keypad has been used. */
+         pinpad has been used. */
       if (!app->did_chv2 && pinvalue && !app->app_local->extcap.is_v2)
         {
           rc = iso7816_verify (app->slot, 0x82, pinvalue, strlen (pinvalue));
@@ -3216,7 +3414,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   else
     {
       exmode = 0;
-      le_value = 0; 
+      le_value = 0;
     }
   rc = iso7816_compute_ds (app->slot, exmode, data, datalen, le_value,
                            outdata, outdatalen);
@@ -3233,7 +3431,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
    GPG_ERR_WRONG_CARD to indicate that the card currently present does
    not match the one required for the requested action (e.g. the
    serial number does not match). */
-static gpg_error_t 
+static gpg_error_t
 do_auth (app_t app, const char *keyidstr,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
@@ -3265,13 +3463,13 @@ do_auth (app_t app, const char *keyidstr,
       else if (!*s)
         ; /* no fingerprint given: we allow this for now. */
       else if (*s == '/')
-        fpr = s + 1; 
+        fpr = s + 1;
       else
         return gpg_error (GPG_ERR_INV_ID);
 
       for (s=keyidstr, n=0; n < 16; s += 2, n++)
         tmp_sn[n] = xtoi_2 (s);
-      
+
       if (app->serialnolen != 16)
         return gpg_error (GPG_ERR_INV_CARD);
       if (memcmp (app->serialno, tmp_sn, 16))
@@ -3301,7 +3499,7 @@ do_auth (app_t app, const char *keyidstr,
       else
         {
           exmode = 0;
-          le_value = 0; 
+          le_value = 0;
         }
       rc = iso7816_internal_authenticate (app->slot, exmode,
                                           indata, indatalen, le_value,
@@ -3311,7 +3509,7 @@ do_auth (app_t app, const char *keyidstr,
 }
 
 
-static gpg_error_t 
+static gpg_error_t
 do_decipher (app_t app, const char *keyidstr,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
@@ -3342,13 +3540,13 @@ do_decipher (app_t app, const char *keyidstr,
       else if (!*s)
        ; /* no fingerprint given: we allow this for now. */
       else if (*s == '/')
-       fpr = s + 1; 
+       fpr = s + 1;
       else
        return gpg_error (GPG_ERR_INV_ID);
-      
+
       for (s=keyidstr, n=0; n < 16; s += 2, n++)
        tmp_sn[n] = xtoi_2 (s);
-      
+
       if (app->serialnolen != 16)
        return gpg_error (GPG_ERR_INV_CARD);
       if (memcmp (app->serialno, tmp_sn, 16))
@@ -3401,7 +3599,7 @@ do_decipher (app_t app, const char *keyidstr,
           fixbuf = xtrymalloc (fixuplen + indatalen);
           if (!fixbuf)
             return gpg_error_from_syserror ();
-          
+
           memset (fixbuf, 0, fixuplen);
           memcpy (fixbuf+fixuplen, indata, indatalen);
           indata = fixbuf;
@@ -3420,12 +3618,18 @@ do_decipher (app_t app, const char *keyidstr,
           le_value = 0;
         }
       else
-        exmode = le_value = 0;    
+        exmode = le_value = 0;
 
-      rc = iso7816_decipher (app->slot, exmode, 
+      rc = iso7816_decipher (app->slot, exmode,
                              indata, indatalen, le_value, padind,
                              outdata, outdatalen);
       xfree (fixbuf);
+
+      if (gpg_err_code (rc) == GPG_ERR_CARD /* actual SW is 0x640a */
+          && app->app_local->manufacturer == 5
+          && app->card_version == 0x0200)
+        log_info ("NOTE: Cards with manufacturer id 5 and s/n <= 346 (0x15a)"
+                  " do not work with encryption keys > 2048 bits\n");
     }
 
   return rc;
@@ -3442,12 +3646,12 @@ do_decipher (app_t app, const char *keyidstr,
    There is a special mode if the keyidstr is "<serialno>[CHV3]" with
    the "[CHV3]" being a literal string:  The Admin Pin is checked if
    and only if the retry counter is still at 3. */
-static gpg_error_t 
+static gpg_error_t
 do_check_pin (app_t app, const char *keyidstr,
               gpg_error_t (*pincb)(void*, const char *, char **),
               void *pincb_arg)
 {
-  unsigned char tmp_sn[20]; 
+  unsigned char tmp_sn[20];
   const char *s;
   int n;
   int admin_pin = 0;
@@ -3458,7 +3662,7 @@ do_check_pin (app_t app, const char *keyidstr,
   /* Check whether an OpenPGP card of any version has been requested. */
   if (strlen (keyidstr) < 32 || strncmp (keyidstr, "D27600012401", 12))
     return gpg_error (GPG_ERR_INV_ID);
-  
+
   for (s=keyidstr, n=0; hexdigitp (s); s++, n++)
     ;
   if (n != 32)
@@ -3491,7 +3695,7 @@ do_check_pin (app_t app, const char *keyidstr,
       unsigned char *value;
       size_t valuelen;
       int count;
-      
+
       relptr = get_one_do (app, 0x00C4, &value, &valuelen, NULL);
       if (!relptr || valuelen < 7)
         {
@@ -3552,7 +3756,7 @@ show_caps (struct app_local_s *s)
 /* Parse the historical bytes in BUFFER of BUFLEN and store them in
    APPLOC.  */
 static void
-parse_historical (struct app_local_s *apploc, 
+parse_historical (struct app_local_s *apploc,
                   const unsigned char * buffer, size_t buflen)
 {
   /* Example buffer: 00 31 C5 73 C0 01 80 00 90 00  */
@@ -3564,9 +3768,9 @@ parse_historical (struct app_local_s *apploc,
   if (*buffer)
     {
       log_error ("warning: bad category indicator in historical bytes\n");
-      return; 
+      return;
     }
-  
+
   /* Skip category indicator.  */
   buffer++;
   buflen--;
@@ -3601,9 +3805,9 @@ parse_historical (struct app_local_s *apploc,
 
 /* Parse and optionally show the algorithm attributes for KEYNO.
    KEYNO must be in the range 0..2.  */
-static void 
+static void
 parse_algorithm_attribute (app_t app, int keyno)
-{ 
+{
   unsigned char *buffer;
   size_t buflen;
   void *relptr;
@@ -3612,7 +3816,7 @@ parse_algorithm_attribute (app_t app, int keyno)
   assert (keyno >=0 && keyno <= 2);
 
   app->app_local->keyattr[keyno].n_bits = 0;
-      
+
   relptr = get_one_do (app, 0xC1+keyno, &buffer, &buflen, NULL);
   if (!relptr)
     {
@@ -3639,7 +3843,7 @@ parse_algorithm_attribute (app_t app, int keyno)
         app->app_local->keyattr[keyno].format = (buffer[5] == 0? RSA_STD   :
                                                  buffer[5] == 1? RSA_STD_N :
                                                  buffer[5] == 2? RSA_CRT   :
-                                                 buffer[5] == 3? RSA_CRT_N : 
+                                                 buffer[5] == 3? RSA_CRT_N :
                                                  RSA_UNKNOWN_FMT);
 
       if (opt.verbose)
@@ -3669,7 +3873,7 @@ app_select_openpgp (app_t app)
   unsigned char *buffer;
   size_t buflen;
   void *relptr;
-  
+
   /* Note that the card can't cope with P2=0xCO, thus we need to pass a
      special flag value. */
   rc = iso7816_select_application (slot, aid, sizeof aid, 0x0001);
@@ -3713,6 +3917,8 @@ app_select_openpgp (app_t app)
           goto leave;
         }
 
+      app->app_local->manufacturer = manufacturer;
+
       if (app->card_version >= 0x0200)
         app->app_local->extcap.is_v2 = 1;
 
@@ -3762,7 +3968,7 @@ app_select_openpgp (app_t app)
         {
           /* Available with v2 cards.  */
           app->app_local->extcap.sm_aes128     = (buffer[1] == 1);
-          app->app_local->extcap.max_get_challenge 
+          app->app_local->extcap.max_get_challenge
                                                = (buffer[2] << 8 | buffer[3]);
           app->app_local->extcap.max_certlen_3 = (buffer[4] << 8 | buffer[5]);
           app->app_local->extcap.max_cmd_data  = (buffer[6] << 8 | buffer[7]);
@@ -3783,7 +3989,7 @@ app_select_openpgp (app_t app)
       parse_algorithm_attribute (app, 0);
       parse_algorithm_attribute (app, 1);
       parse_algorithm_attribute (app, 2);
-      
+
       if (opt.verbose > 1)
         dump_all_do (slot);
 
index a23c4a5..742f937 100644 (file)
--- a/scd/app.c
+++ b/scd/app.c
@@ -26,8 +26,8 @@
 
 #include "scdaemon.h"
 #include "app-common.h"
-#include "apdu.h"
 #include "iso7816.h"
+#include "apdu.h"
 #include "tlv.h"
 
 /* This table is used to keep track of locks on a per reader base.
@@ -69,7 +69,7 @@ print_progress_line (void *opaque, const char *what, int pc, int cur, int tot)
    never shares a reader (while performing one command).  Returns 0 on
    success; only then the unlock_reader function must be called after
    returning from the handler. */
-static gpg_error_t 
+static gpg_error_t
 lock_reader (int slot, ctrl_t ctrl)
 {
   gpg_error_t err;
@@ -89,7 +89,7 @@ lock_reader (int slot, ctrl_t ctrl)
       lock_table[slot].app = NULL;
       lock_table[slot].last_app = NULL;
     }
-  
+
   if (!pth_mutex_acquire (&lock_table[slot].lock, 0, NULL))
     {
       err = gpg_error_from_syserror ();
@@ -188,7 +188,7 @@ application_notify_card_reset (int slot)
     return;
 
   /* FIXME: We are ignoring any error value here.  */
-  lock_reader (slot, NULL); 
+  lock_reader (slot, NULL);
 
   /* Mark application as non-reusable.  */
   if (lock_table[slot].app)
@@ -204,10 +204,10 @@ application_notify_card_reset (int slot)
       lock_table[slot].last_app = NULL;
       deallocate_app (app);
     }
-  unlock_reader (slot); 
+  unlock_reader (slot);
 }
 
+
 /* This function is used by the serialno command to check for an
    application conflict which may appear if the serialno command is
    used to request a specific application and the connection has
@@ -241,11 +241,14 @@ select_application (ctrl_t ctrl, int slot, const char *name, app_t *r_app)
   app_t app = NULL;
   unsigned char *result = NULL;
   size_t resultlen;
+  int want_undefined;
 
   (void)ctrl;
 
   *r_app = NULL;
 
+  want_undefined = (name && !strcmp (name, "undefined"));
+
   err = lock_reader (slot, ctrl);
   if (err)
     return err;
@@ -287,7 +290,7 @@ select_application (ctrl_t ctrl, int slot, const char *name, app_t *r_app)
           lock_table[slot].app = app;
           lock_table[slot].last_app = NULL;
         }
-      else 
+      else
         {
           /* No, this saved application can't be used - deallocate it. */
           lock_table[slot].last_app = NULL;
@@ -309,7 +312,7 @@ select_application (ctrl_t ctrl, int slot, const char *name, app_t *r_app)
       unlock_reader (slot);
       return 0; /* Okay: We share that one. */
     }
-  
+
   /* Need to allocate a new one.  */
   app = xtrycalloc (1, sizeof *app);
   if (!app)
@@ -325,54 +328,66 @@ select_application (ctrl_t ctrl, int slot, const char *name, app_t *r_app)
   /* Fixme: We should now first check whether a card is at all
      present. */
 
-  /* Try to read the GDO file first to get a default serial number. */
-  err = iso7816_select_file (slot, 0x3F00, 1, NULL, NULL);
-  if (!err)
-    err = iso7816_select_file (slot, 0x2F02, 0, NULL, NULL);
-  if (!err)
-     err = iso7816_read_binary (slot, 0, 0, &result, &resultlen);
-  if (!err)
+  /* Try to read the GDO file first to get a default serial number.
+     We skip this if the undefined application has been requested. */
+  if (!want_undefined)
     {
-      size_t n;
-      const unsigned char *p;
-
-      p = find_tlv_unchecked (result, resultlen, 0x5A, &n);
-      if (p)
-        resultlen -= (p-result);
-      if (p && n > resultlen && n == 0x0d && resultlen+1 == n)
+      err = iso7816_select_file (slot, 0x3F00, 1, NULL, NULL);
+      if (!err)
+        err = iso7816_select_file (slot, 0x2F02, 0, NULL, NULL);
+      if (!err)
+        err = iso7816_read_binary (slot, 0, 0, &result, &resultlen);
+      if (!err)
         {
-          /* The object it does not fit into the buffer.  This is an
-             invalid encoding (or the buffer is too short.  However, I
-             have some test cards with such an invalid encoding and
-             therefore I use this ugly workaround to return something
-             I can further experiment with. */
-          log_info ("enabling BMI testcard workaround\n");
-          n--;
+          size_t n;
+          const unsigned char *p;
+
+          p = find_tlv_unchecked (result, resultlen, 0x5A, &n);
+          if (p)
+            resultlen -= (p-result);
+          if (p && n > resultlen && n == 0x0d && resultlen+1 == n)
+            {
+              /* The object it does not fit into the buffer.  This is an
+                 invalid encoding (or the buffer is too short.  However, I
+                 have some test cards with such an invalid encoding and
+                 therefore I use this ugly workaround to return something
+                 I can further experiment with. */
+              log_info ("enabling BMI testcard workaround\n");
+              n--;
+            }
+
+          if (p && n <= resultlen)
+            {
+              /* The GDO file is pretty short, thus we simply reuse it for
+                 storing the serial number. */
+              memmove (result, p, n);
+              app->serialno = result;
+              app->serialnolen = n;
+              err = app_munge_serialno (app);
+              if (err)
+                goto leave;
+            }
+          else
+            xfree (result);
+          result = NULL;
         }
-
-      if (p && n <= resultlen)
-        {
-          /* The GDO file is pretty short, thus we simply reuse it for
-             storing the serial number. */
-          memmove (result, p, n);
-          app->serialno = result;
-          app->serialnolen = n;
-          err = app_munge_serialno (app);
-          if (err)
-            goto leave;
-        }
-      else
-        xfree (result);
-      result = NULL;
     }
 
   /* For certain error codes, there is no need to try more.  */
   if (gpg_err_code (err) == GPG_ERR_CARD_NOT_PRESENT
       || gpg_err_code (err) == GPG_ERR_ENODEV)
     goto leave;
-  
+
   /* Figure out the application to use.  */
-  err = gpg_error (GPG_ERR_NOT_FOUND);
+  if (want_undefined)
+    {
+      /* We switch to the "undefined" application only if explicitly
+         requested.  */
+      app->apptype = "UNDEFINED";
+      err = 0;
+    }
+  else
+    err = gpg_error (GPG_ERR_NOT_FOUND);
 
   if (err && is_app_allowed ("openpgp")
           && (!name || !strcmp (name, "openpgp")))
@@ -381,11 +396,11 @@ select_application (ctrl_t ctrl, int slot, const char *name, app_t *r_app)
     err = app_select_nks (app);
   if (err && is_app_allowed ("p15") && (!name || !strcmp (name, "p15")))
     err = app_select_p15 (app);
-  if (err && is_app_allowed ("dinsig") && (!name || !strcmp (name, "dinsig")))
-    err = app_select_dinsig (app);
   if (err && is_app_allowed ("geldkarte")
       && (!name || !strcmp (name, "geldkarte")))
     err = app_select_geldkarte (app);
+  if (err && is_app_allowed ("dinsig") && (!name || !strcmp (name, "dinsig")))
+    err = app_select_dinsig (app);
   if (err && name)
     err = gpg_error (GPG_ERR_NOT_SUPPORTED);
 
@@ -419,17 +434,19 @@ get_supported_applications (void)
     "openpgp",
     "nks",
     "p15",
-    "dinsig",
     "geldkarte",
+    "dinsig",
+    /* Note: "undefined" is not listed here because it needs special
+       treatment by the client.  */
     NULL
   };
   int idx;
   size_t nbytes;
   char *buffer, *p;
-  
+
   for (nbytes=1, idx=0; list[idx]; idx++)
     nbytes += strlen (list[idx]) + 1 + 1;
-  
+
   buffer = xtrymalloc (nbytes);
   if (!buffer)
     return NULL;
@@ -506,22 +523,22 @@ release_application (app_t app)
 
 /* The serial number may need some cosmetics.  Do it here.  This
    function shall only be called once after a new serial number has
-   been put into APP->serialno. 
+   been put into APP->serialno.
 
    Prefixes we use:
-   
+
      FF 00 00 = For serial numbers starting with an FF
      FF 01 00 = Some german p15 cards return an empty serial number so the
                 serial number from the EF(TokenInfo) is used instead.
      FF 7F 00 = No serialno.
-     
+
      All other serial number not starting with FF are used as they are.
 */
 gpg_error_t
 app_munge_serialno (app_t app)
 {
   if (app->serialnolen && app->serialno[0] == 0xff)
-    { 
+    {
       /* The serial number starts with our special prefix.  This
          requires that we put our default prefix "FF0000" in front. */
       unsigned char *p = xtrymalloc (app->serialnolen + 3);
@@ -534,7 +551,7 @@ app_munge_serialno (app_t app)
       app->serialno = p;
     }
   else if (!app->serialnolen)
-    { 
+    {
       unsigned char *p = xtrymalloc (3);
       if (!p)
         return gpg_error_from_syserror ();
@@ -554,7 +571,7 @@ app_munge_serialno (app_t app)
    no update time is available the returned value is 0.  Caller must
    free SERIAL unless the function returns an error.  If STAMP is not
    of interest, NULL may be passed. */
-gpg_error_t 
+gpg_error_t
 app_get_serial_and_stamp (app_t app, char **serial, time_t *stamp)
 {
   char *buf;
@@ -637,7 +654,7 @@ app_readcert (app_t app, const char *certid,
    code returned.
 
    This function might not be supported by all applications.  */
-gpg_error_t 
+gpg_error_t
 app_readkey (app_t app, const char *keyid, unsigned char **pk, size_t *pklen)
 {
   gpg_error_t err;
@@ -663,7 +680,7 @@ app_readkey (app_t app, const char *keyid, unsigned char **pk, size_t *pklen)
 
 
 /* Perform a GETATTR operation.  */
-gpg_error_t 
+gpg_error_t
 app_getattr (app_t app, ctrl_t ctrl, const char *name)
 {
   gpg_error_t err;
@@ -684,7 +701,7 @@ app_getattr (app_t app, ctrl_t ctrl, const char *name)
       char *serial;
       time_t stamp;
       int rc;
-      
+
       rc = app_get_serial_and_stamp (app, &serial, &stamp);
       if (rc)
         return rc;
@@ -704,7 +721,7 @@ app_getattr (app_t app, ctrl_t ctrl, const char *name)
 }
 
 /* Perform a SETATTR operation.  */
-gpg_error_t 
+gpg_error_t
 app_setattr (app_t app, const char *name,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
@@ -729,7 +746,7 @@ app_setattr (app_t app, const char *name,
 /* Create the signature and return the allocated result in OUTDATA.
    If a PIN is required the PINCB will be used to ask for the PIN; it
    should return the PIN in an allocated buffer and put it into PIN.  */
-gpg_error_t 
+gpg_error_t
 app_sign (app_t app, const char *keyidstr, int hashalgo,
           gpg_error_t (*pincb)(void*, const char *, char **),
           void *pincb_arg,
@@ -761,7 +778,7 @@ app_sign (app_t app, const char *keyidstr, int hashalgo,
    return the allocated result in OUTDATA.  If a PIN is required the
    PINCB will be used to ask for the PIN; it should return the PIN in
    an allocated buffer and put it into PIN.  */
-gpg_error_t 
+gpg_error_t
 app_auth (app_t app, const char *keyidstr,
           gpg_error_t (*pincb)(void*, const char *, char **),
           void *pincb_arg,
@@ -793,7 +810,7 @@ app_auth (app_t app, const char *keyidstr,
 /* Decrypt the data in INDATA and return the allocated result in OUTDATA.
    If a PIN is required the PINCB will be used to ask for the PIN; it
    should return the PIN in an allocated buffer and put it into PIN.  */
-gpg_error_t 
+gpg_error_t
 app_decipher (app_t app, const char *keyidstr,
               gpg_error_t (*pincb)(void*, const char *, char **),
               void *pincb_arg,
@@ -879,7 +896,7 @@ app_writekey (app_t app, ctrl_t ctrl,
 
 
 /* Perform a SETATTR operation.  */
-gpg_error_t 
+gpg_error_t
 app_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
             time_t createtime,
             gpg_error_t (*pincb)(void*, const char *, char **),
@@ -896,7 +913,7 @@ app_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
   err = lock_reader (app->slot, ctrl);
   if (err)
     return err;
-  err = app->fnc.genkey (app, ctrl, keynostr, flags, 
+  err = app->fnc.genkey (app, ctrl, keynostr, flags,
                          createtime, pincb, pincb_arg);
   unlock_reader (app->slot);
   if (opt.verbose)
@@ -928,7 +945,7 @@ app_get_challenge (app_t app, size_t nbytes, unsigned char *buffer)
 
 
 /* Perform a CHANGE REFERENCE DATA or RESET RETRY COUNTER operation.  */
-gpg_error_t 
+gpg_error_t
 app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr, int reset_mode,
                 gpg_error_t (*pincb)(void*, const char *, char **),
                 void *pincb_arg)
@@ -956,7 +973,7 @@ app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr, int reset_mode,
 /* Perform a VERIFY operation without doing anything lese.  This may
    be used to initialze a the PIN cache for long lasting other
    operations.  Its use is highly application dependent. */
-gpg_error_t 
+gpg_error_t
 app_check_pin (app_t app, const char *keyidstr,
                gpg_error_t (*pincb)(void*, const char *, char **),
                void *pincb_arg)
index 8c362d7..6e0bc55 100644 (file)
@@ -1,6 +1,6 @@
 /* ccid-driver.c - USB ChipCardInterfaceDevices driver
  * Copyright (C) 2003, 2004, 2005, 2006, 2007
- *               2008, 2009  Free Software Foundation, Inc.
+ *               2008, 2009, 2013  Free Software Foundation, Inc.
  * Written by Werner Koch.
  *
  * This file is part of GnuPG.
@@ -57,7 +57,7 @@
 
 
 /* CCID (ChipCardInterfaceDevices) is a specification for accessing
-   smartcard via a reader connected to the USB.  
+   smartcard via a reader connected to the USB.
 
    This is a limited driver allowing to use some CCID drivers directly
    without any other specila drivers. This is a fallback driver to be
@@ -91,6 +91,8 @@
 
 #include <usb.h>
 
+#include "scdaemon.h"
+#include "iso7816.h"
 #include "ccid-driver.h"
 
 #define DRVNAME "ccid-driver: "
@@ -209,9 +211,26 @@ enum {
   VENDOR_SCM    = 0x04e6,
   VENDOR_OMNIKEY= 0x076b,
   VENDOR_GEMPC  = 0x08e6,
-  VENDOR_KAAN   = 0x0d46
+  VENDOR_VEGA   = 0x0982,
+  VENDOR_REINER = 0x0c4b,
+  VENDOR_KAAN   = 0x0d46,
+  VENDOR_VASCO  = 0x1a44,
+  VENDOR_FSIJ   = 0x234b,
 };
 
+/* Some product ids.  */
+#define SCM_SCR331      0xe001
+#define SCM_SCR331DI    0x5111
+#define SCM_SCR335      0x5115
+#define SCM_SCR3320     0x5117
+#define SCM_SPR532      0xe003
+#define CHERRY_ST2000   0x003e
+#define VASCO_920       0x0920
+#define GEMPC_PINPAD    0x3478
+#define GEMPC_CT30      0x3437
+#define VEGA_ALPHA      0x0008
+#define CYBERJACK_GO    0x0504
+
 /* A list and a table with special transport descriptions. */
 enum {
   TRANSPORT_USB    = 0, /* Standard USB transport. */
@@ -219,20 +238,20 @@ enum {
 };
 
 static struct
-{ 
+{
   char *name;  /* Device name. */
   int  type;
 
 } transports[] = {
-  { "/dev/cmx0", TRANSPORT_CM4040 },  
-  { "/dev/cmx1", TRANSPORT_CM4040 },  
+  { "/dev/cmx0", TRANSPORT_CM4040 },
+  { "/dev/cmx1", TRANSPORT_CM4040 },
   { NULL },
 };
 
 
 /* Store information on the driver's state.  A pointer to such a
    structure is used as handle for most functions. */
-struct ccid_driver_s 
+struct ccid_driver_s
 {
   usb_dev_handle *idev;
   char *rid;
@@ -255,6 +274,9 @@ struct ccid_driver_s
   unsigned char apdu_level:2;     /* Reader supports short APDU level
                                      exchange.  With a value of 2 short
                                      and extended level is supported.*/
+  unsigned int auto_voltage:1;
+  unsigned int auto_param:1;
+  unsigned int auto_pps:1;
   unsigned int auto_ifsd:1;
   unsigned int powered_off:1;
   unsigned int has_pinpad:2;
@@ -270,7 +292,7 @@ struct ccid_driver_s
 
 
 static int initialized_usb; /* Tracks whether USB has been initialized. */
-static int debug_level;     /* Flag to control the debug output. 
+static int debug_level;     /* Flag to control the debug output.
                                0 = No debugging
                                1 = USB I/O info
                                2 = Level 1 + T=1 protocol tracing
@@ -286,22 +308,25 @@ static int bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
                     size_t *nread, int expected_type, int seqno, int timeout,
                     int no_debug);
 static int abort_cmd (ccid_driver_t handle, int seqno);
+static int send_escape_cmd (ccid_driver_t handle, const unsigned char *data,
+                            size_t datalen, unsigned char *result,
+                            size_t resultmax, size_t *resultlen);
 
 /* Convert a little endian stored 4 byte value into an unsigned
    integer. */
-static unsigned int 
+static unsigned int
 convert_le_u32 (const unsigned char *buf)
 {
-  return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24); 
+  return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
 }
 
 
 /* Convert a little endian stored 2 byte value into an unsigned
    integer. */
-static unsigned int 
+static unsigned int
 convert_le_u16 (const unsigned char *buf)
 {
-  return buf[0] | (buf[1] << 8); 
+  return buf[0] | (buf[1] << 8);
 }
 
 static void
@@ -322,7 +347,7 @@ my_sleep (int seconds)
      may give up its timeslot.  */
   if (!seconds)
     {
-# ifdef HAVE_W32_SYSTEM    
+# ifdef HAVE_W32_SYSTEM
       Sleep (0);
 # else
       sleep (0);
@@ -330,7 +355,7 @@ my_sleep (int seconds)
     }
   pth_sleep (seconds);
 #else
-# ifdef HAVE_W32_SYSTEM    
+# ifdef HAVE_W32_SYSTEM
   Sleep (seconds*1000);
 # else
   sleep (seconds);
@@ -371,7 +396,7 @@ print_command_failed (const unsigned char *msg)
   switch (ec)
     {
     case 0x00: t = "Command not supported"; break;
-    
+
     case 0xE0: t = "Slot busy"; break;
     case 0xEF: t = "PIN cancelled"; break;
     case 0xF0: t = "PIN timeout"; break;
@@ -422,7 +447,7 @@ print_pr_data (const unsigned char *data, size_t datalen, size_t off)
     DEBUGOUT_LF ();
 }
 
+
 static void
 print_p2r_header (const char *name, const unsigned char *msg, size_t msglen)
 {
@@ -646,7 +671,7 @@ print_r2p_slotstatus (const unsigned char *msg, size_t msglen)
               msg[9] == 3? " (stopped)":"");
   print_pr_data (msg, msglen, 10);
 }
-  
+
 
 static void
 print_r2p_parameters (const unsigned char *msg, size_t msglen)
@@ -749,7 +774,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
 {
   unsigned int i;
   unsigned int us;
-  int have_t1 = 0, have_tpdu=0, have_auto_conf = 0;
+  int have_t1 = 0, have_tpdu=0;
 
 
   handle->nonnull_nad = 0;
@@ -758,6 +783,9 @@ parse_ccid_descriptor (ccid_driver_t handle,
   handle->ifsd = 0;
   handle->has_pinpad = 0;
   handle->apdu_level = 0;
+  handle->auto_voltage = 0;
+  handle->auto_param = 0;
+  handle->auto_pps = 0;
   DEBUGOUT_3 ("idVendor: %04X  idProduct: %04X  bcdDevice: %04X\n",
               handle->id_vendor, handle->id_product, handle->bcd_device);
   if (buflen < 54 || buf[0] < 54)
@@ -770,7 +798,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
   DEBUGOUT_1 ("  bLength             %5u\n", buf[0]);
   DEBUGOUT_1 ("  bDescriptorType     %5u\n", buf[1]);
   DEBUGOUT_2 ("  bcdCCID             %2x.%02x", buf[3], buf[2]);
-    if (buf[3] != 1 || buf[2] != 0) 
+    if (buf[3] != 1 || buf[2] != 0)
       DEBUGOUT_CONT("  (Warning: Only accurate for version 1.0)");
   DEBUGOUT_LF ();
 
@@ -802,7 +830,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
   us = convert_le_u32(buf+23);
   DEBUGOUT_1 ("  dwMaxDataRate     %7u bps\n", us);
   DEBUGOUT_1 ("  bNumDataRatesSupp.  %5u\n", buf[27]);
-        
+
   us = convert_le_u32(buf+28);
   DEBUGOUT_1 ("  dwMaxIFSD           %5u\n", us);
   handle->max_ifsd = us;
@@ -833,22 +861,31 @@ parse_ccid_descriptor (ccid_driver_t handle,
   DEBUGOUT_1 ("  dwFeatures       %08X\n", us);
   if ((us & 0x0002))
     {
-      DEBUGOUT ("    Auto configuration based on ATR\n");
-      have_auto_conf = 1;
+      DEBUGOUT ("    Auto configuration based on ATR (assumes auto voltage)\n");
+      handle->auto_voltage = 1;
     }
   if ((us & 0x0004))
     DEBUGOUT ("    Auto activation on insert\n");
   if ((us & 0x0008))
-    DEBUGOUT ("    Auto voltage selection\n");
+    {
+      DEBUGOUT ("    Auto voltage selection\n");
+      handle->auto_voltage = 1;
+    }
   if ((us & 0x0010))
     DEBUGOUT ("    Auto clock change\n");
   if ((us & 0x0020))
     DEBUGOUT ("    Auto baud rate change\n");
   if ((us & 0x0040))
-    DEBUGOUT ("    Auto parameter negotiation made by CCID\n");
+    {
+      DEBUGOUT ("    Auto parameter negotiation made by CCID\n");
+      handle->auto_param = 1;
+    }
   else if ((us & 0x0080))
-    DEBUGOUT ("    Auto PPS made by CCID\n");
-  else if ((us & (0x0040 | 0x0080)))
+    {
+      DEBUGOUT ("    Auto PPS made by CCID\n");
+      handle->auto_pps = 1;
+    }
+  if ((us & (0x0040 | 0x0080)) == (0x0040 | 0x0080))
     DEBUGOUT ("    WARNING: conflicting negotiation features\n");
 
   if ((us & 0x0100))
@@ -868,7 +905,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
     {
       DEBUGOUT ("    TPDU level exchange\n");
       have_tpdu = 1;
-    } 
+    }
   else if ((us & 0x00020000))
     {
       DEBUGOUT ("    Short APDU level exchange\n");
@@ -902,7 +939,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
     DEBUGOUT_CONT ("none\n");
   else
     DEBUGOUT_CONT_2 ("%u cols %u lines\n", buf[50], buf[51]);
-        
+
   DEBUGOUT_1 ("  bPINSupport         %5u ", buf[52]);
   if ((buf[52] & 1))
     {
@@ -915,7 +952,7 @@ parse_ccid_descriptor (ccid_driver_t handle,
       handle->has_pinpad |= 2;
     }
   DEBUGOUT_LF ();
-        
+
   DEBUGOUT_1 ("  bMaxCCIDBusySlots   %5u\n", buf[53]);
 
   if (buf[0] > 54) {
@@ -925,11 +962,10 @@ parse_ccid_descriptor (ccid_driver_t handle,
     DEBUGOUT_LF ();
   }
 
-  if (!have_t1 || !(have_tpdu  || handle->apdu_level) || !have_auto_conf)
+  if (!have_t1 || !(have_tpdu  || handle->apdu_level))
     {
       DEBUGOUT ("this drivers requires that the reader supports T=1, "
-                "TPDU or APDU level exchange and auto configuration - "
-                "this is not available\n");
+                "TPDU or APDU level exchange - this is not available\n");
       return -1;
     }
 
@@ -940,29 +976,34 @@ parse_ccid_descriptor (ccid_driver_t handle,
      lower than that:
         64 - 10 CCID header -  4 T1frame - 2 reserved = 48
      Product Ids:
-        0xe001 - SCR 331 
-        0x5111 - SCR 331-DI 
-        0x5115 - SCR 335 
-        0xe003 - SPR 532 
-     The     
+        0xe001 - SCR 331
+        0x5111 - SCR 331-DI
+        0x5115 - SCR 335
+        0xe003 - SPR 532
+     The
          0x5117 - SCR 3320 USB ID-000 reader
      seems to be very slow but enabling this workaround boosts the
-     performance to a a more or less acceptable level (tested by David). 
-         
+     performance to a a more or less acceptable level (tested by David).
+
   */
   if (handle->id_vendor == VENDOR_SCM
-      && handle->max_ifsd > 48      
-      && (  (handle->id_product == 0xe001 && handle->bcd_device < 0x0516)
-          ||(handle->id_product == 0x5111 && handle->bcd_device < 0x0620)
-          ||(handle->id_product == 0x5115 && handle->bcd_device < 0x0514)
-          ||(handle->id_product == 0xe003 && handle->bcd_device < 0x0504)
-          ||(handle->id_product == 0x5117 && handle->bcd_device < 0x0522)
+      && handle->max_ifsd > 48
+      && (  (handle->id_product == SCM_SCR331   && handle->bcd_device < 0x0516)
+          ||(handle->id_product == SCM_SCR331DI && handle->bcd_device < 0x0620)
+          ||(handle->id_product == SCM_SCR335   && handle->bcd_device < 0x0514)
+          ||(handle->id_product == SCM_SPR532   && handle->bcd_device < 0x0504)
+          ||(handle->id_product == SCM_SCR3320  && handle->bcd_device < 0x0522)
           ))
     {
       DEBUGOUT ("enabling workaround for buggy SCM readers\n");
       handle->max_ifsd = 48;
     }
 
+  if (handle->id_vendor == VENDOR_GEMPC && handle->id_product == GEMPC_CT30)
+    {
+      DEBUGOUT ("enabling product quirk: disable non-null NAD\n");
+      handle->nonnull_nad = 0;
+    }
 
   return 0;
 }
@@ -990,7 +1031,7 @@ get_escaped_usb_string (usb_dev_handle *idev, int idx,
      If we do don't find it we try to use English.  Note that this is
      all in a 2 bute Unicode encoding using little endian. */
   rc = usb_control_msg (idev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR,
-                        (USB_DT_STRING << 8), 0, 
+                        (USB_DT_STRING << 8), 0,
                         (char*)buf, sizeof buf, 1000 /* ms timeout */);
   if (rc < 4)
     langid = 0x0409; /* English.  */
@@ -1012,7 +1053,7 @@ get_escaped_usb_string (usb_dev_handle *idev, int idx,
         n++; /* High byte set. */
       else if (*s <= 0x20 || *s >= 0x7f || *s == '%' || *s == ':')
         n += 3 ;
-      else 
+      else
         n++;
     }
 
@@ -1031,7 +1072,7 @@ get_escaped_usb_string (usb_dev_handle *idev, int idx,
           sprintf (result+n, "%%%02X", *s);
           n += 3;
         }
-      else 
+      else
         result[n++] = *s;
     }
   strcpy (result+n, suffix);
@@ -1113,7 +1154,7 @@ scan_or_find_usb_device (int scan_mode,
   int ifc_no;
   int set_no;
   struct usb_config_descriptor *config;
-  struct usb_interface *interface;          
+  struct usb_interface *interface;
   struct usb_interface_descriptor *ifcdesc;
   char *rid;
   usb_dev_handle *idev;
@@ -1131,21 +1172,25 @@ scan_or_find_usb_device (int scan_mode,
           interface = config->interface + ifc_no;
           if (!interface)
             continue;
-                  
+
           for (set_no=0; set_no < interface->num_altsetting; set_no++)
             {
               ifcdesc = (interface->altsetting + set_no);
               /* The second condition is for older SCM SPR 532 who did
-                 not know about the assigned CCID class.  Instead of
-                 trying to interpret the strings we simply check the
-                 product ID. */
+                 not know about the assigned CCID class.  The third
+                 condition does the same for a Cherry SmartTerminal
+                 ST-2000.  Instead of trying to interpret the strings
+                 we simply check the product ID. */
               if (ifcdesc && ifcdesc->extra
                   && ((ifcdesc->bInterfaceClass == 11
                        && ifcdesc->bInterfaceSubClass == 0
                        && ifcdesc->bInterfaceProtocol == 0)
                       || (ifcdesc->bInterfaceClass == 255
                           && dev->descriptor.idVendor == VENDOR_SCM
-                          && dev->descriptor.idProduct == 0xe003)))
+                          && dev->descriptor.idProduct == SCM_SPR532)
+                      || (ifcdesc->bInterfaceClass == 255
+                          && dev->descriptor.idVendor == VENDOR_CHERRY
+                          && dev->descriptor.idProduct == CHERRY_ST2000)))
                 {
                   idev = usb_open (dev);
                   if (!idev)
@@ -1154,7 +1199,7 @@ scan_or_find_usb_device (int scan_mode,
                                   strerror (errno));
                       continue; /* with next setting. */
                     }
-                  
+
                   rid = make_reader_id (idev,
                                         dev->descriptor.idVendor,
                                         dev->descriptor.idProduct,
@@ -1164,7 +1209,7 @@ scan_or_find_usb_device (int scan_mode,
                       if (scan_mode)
                         {
                           char *p;
-                          
+
                           /* We are collecting infos about all
                              available CCID readers.  Store them and
                              continue. */
@@ -1186,7 +1231,7 @@ scan_or_find_usb_device (int scan_mode,
                             }
                           else /* Out of memory. */
                             free (rid);
-                          
+
                           rid = NULL;
                           ++*count;
                         }
@@ -1230,7 +1275,7 @@ scan_or_find_usb_device (int scan_mode,
                             }
                           else
                             free (rid);
-                          
+
                           *r_idev = idev;
                           return 1; /* Found requested device. */
                         }
@@ -1244,7 +1289,7 @@ scan_or_find_usb_device (int scan_mode,
                         }
                       free (rid);
                     }
-                  
+
                   usb_close (idev);
                   idev = NULL;
                   return 0;
@@ -1257,7 +1302,7 @@ scan_or_find_usb_device (int scan_mode,
 }
 
 /* Combination function to either scan all CCID devices or to find and
-   open one specific device. 
+   open one specific device.
 
    The function returns 0 if a reader has been found or when a scan
    returned without error.
@@ -1316,7 +1361,7 @@ scan_or_find_devices (int readerno, const char *readerid,
   if (r_rid)
     *r_rid = NULL;
   if (r_dev)
-    *r_dev = NULL; 
+    *r_dev = NULL;
   if (ifcdesc_extra)
     *ifcdesc_extra = NULL;
   if (ifcdesc_extra_len)
@@ -1329,7 +1374,7 @@ scan_or_find_devices (int readerno, const char *readerid,
     *r_fd = -1;
 
   /* See whether we want scan or find mode. */
-  if (scan_mode) 
+  if (scan_mode)
     {
       assert (r_rid);
     }
@@ -1343,7 +1388,7 @@ scan_or_find_devices (int readerno, const char *readerid,
   busses = usb_busses;
 #endif
 
-  for (bus = busses; bus; bus = bus->next) 
+  for (bus = busses; bus; bus = bus->next)
     {
       for (dev = bus->devices; dev; dev = dev->next)
         {
@@ -1365,7 +1410,7 @@ scan_or_find_devices (int readerno, const char *readerid,
                   return -1; /* error */
                 }
               *r_idev = idev;
-              return 0; 
+              return 0;
             }
         }
     }
@@ -1492,9 +1537,36 @@ ccid_get_reader_list (void)
 }
 
 
-/* Open the reader with the internal number READERNO and return a 
+/* Vendor specific custom initialization.  */
+static int
+ccid_vendor_specific_init (ccid_driver_t handle)
+{
+  if (handle->id_vendor == VENDOR_VEGA && handle->id_product == VEGA_ALPHA)
+    {
+      int r;
+      /*
+       * Vega alpha has a feature to show retry counter on the pinpad
+       * display.  But it assumes that the card returns the value of
+       * retry counter by VERIFY with empty data (return code of
+       * 63Cx).  Unfortunately, existing OpenPGP cards don't support
+       * VERIFY command with empty data.  This vendor specific command
+       * sequence is to disable the feature.
+       */
+      const unsigned char cmd[] = { '\xb5', '\x01', '\x00', '\x03', '\x00' };
+
+      r = send_escape_cmd (handle, cmd, sizeof (cmd), NULL, 0, NULL);
+      if (r != 0 && r != CCID_DRIVER_ERR_CARD_INACTIVE
+          && r != CCID_DRIVER_ERR_NO_CARD)
+        return r;
+    }
+
+  return 0;
+}
+
+
+/* Open the reader with the internal number READERNO and return a
    pointer to be used as handle in HANDLE.  Returns 0 on success. */
-int 
+int
 ccid_open_reader (ccid_driver_t *handle, const char *readerid)
 {
   int rc = 0;
@@ -1590,7 +1662,7 @@ ccid_open_reader (ccid_driver_t *handle, const char *readerid)
           rc = CCID_DRIVER_ERR_NO_READER;
           goto leave;
         }
-      
+
       rc = usb_claim_interface (idev, ifc_no);
       if (rc)
         {
@@ -1600,6 +1672,8 @@ ccid_open_reader (ccid_driver_t *handle, const char *readerid)
         }
     }
 
+  rc = ccid_vendor_specific_init (*handle);
+
  leave:
   free (ifcdesc_extra);
   if (rc)
@@ -1624,7 +1698,7 @@ do_close_reader (ccid_driver_t handle)
   unsigned char msg[100];
   size_t msglen;
   unsigned char seqno;
-  
+
   if (!handle->powered_off)
     {
       msg[0] = PC_to_RDR_IccPowerOff;
@@ -1635,7 +1709,7 @@ do_close_reader (ccid_driver_t handle)
       msg[9] = 0; /* RFU */
       set_msg_len (msg, 0);
       msglen = 10;
-      
+
       rc = bulk_out (handle, msg, msglen, 0);
       if (!rc)
         bulk_in (handle, msg, sizeof msg, &msglen, RDR_to_PC_SlotStatus,
@@ -1659,12 +1733,12 @@ do_close_reader (ccid_driver_t handle)
 /* Reset a reader on HANDLE.  This is useful in case a reader has been
    plugged of and inserted at a different port.  By resetting the
    handle, the same reader will be get used.  Note, that on error the
-   handle won't get released. 
+   handle won't get released.
 
    This does not return an ATR, so ccid_get_atr should be called right
    after this one.
 */
-int 
+int
 ccid_shutdown_reader (ccid_driver_t handle)
 {
   int rc = 0;
@@ -1702,7 +1776,7 @@ ccid_shutdown_reader (ccid_driver_t handle)
           rc = CCID_DRIVER_ERR_NO_READER;
           goto leave;
         }
-      
+
       rc = usb_claim_interface (idev, ifc_no);
       if (rc)
         {
@@ -1729,8 +1803,8 @@ ccid_shutdown_reader (ccid_driver_t handle)
 }
 
 
-int 
-ccid_set_progress_cb (ccid_driver_t handle, 
+int
+ccid_set_progress_cb (ccid_driver_t handle,
                       void (*cb)(void *, const char *, int, int, int),
                       void *cb_arg)
 {
@@ -1744,7 +1818,7 @@ ccid_set_progress_cb (ccid_driver_t handle,
 
 
 /* Close the reader HANDLE. */
-int 
+int
 ccid_close_reader (ccid_driver_t handle)
 {
   if (!handle || (!handle->idev && handle->dev_fd == -1))
@@ -1772,7 +1846,7 @@ writen (int fd, const void *buf, size_t nbytes)
 {
   size_t nleft = nbytes;
   int nwritten;
-  
+
   while (nleft > 0)
     {
       nwritten = write (fd, buf, nleft);
@@ -1786,7 +1860,7 @@ writen (int fd, const void *buf, size_t nbytes)
       nleft -= nwritten;
       buf = (const char*)buf + nwritten;
     }
-    
+
   return 0;
 }
 
@@ -1855,10 +1929,10 @@ bulk_out (ccid_driver_t handle, unsigned char *msg, size_t msglen,
           break;
         }
     }
-  
+
   if (handle->idev)
     {
-      rc = usb_bulk_write (handle->idev, 
+      rc = usb_bulk_write (handle->idev,
                            handle->ep_bulk_out,
                            (char*)msg, msglen,
                            5000 /* ms timeout */);
@@ -1895,7 +1969,7 @@ bulk_out (ccid_driver_t handle, unsigned char *msg, size_t msglen,
         return 0;
       DEBUGOUT_2 ("writen to %d failed: %s\n",
                   handle->dev_fd, strerror (errno));
-      
+
     }
   return CCID_DRIVER_ERR_CARD_IO_ERROR;
 }
@@ -1923,7 +1997,7 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
  retry:
   if (handle->idev)
     {
-      rc = usb_bulk_read (handle->idev, 
+      rc = usb_bulk_read (handle->idev,
                           handle->ep_bulk_in,
                           (char*)buffer, length,
                           timeout);
@@ -1965,12 +2039,12 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
       abort_cmd (handle, seqno);
       return CCID_DRIVER_ERR_INV_VALUE;
     }
-  if (buffer[5] != 0)    
+  if (buffer[5] != 0)
     {
       DEBUGOUT_1 ("unexpected bulk-in slot (%d)\n", buffer[5]);
       return CCID_DRIVER_ERR_INV_VALUE;
     }
-  if (buffer[6] != seqno)    
+  if (buffer[6] != seqno)
     {
       DEBUGOUT_2 ("bulk-in seqno does not match (%d/%d)\n",
                   seqno, buffer[6]);
@@ -1983,7 +2057,7 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
      for the Cherry keyboard which sends a time extension request for
      each key hit.  */
   if ( !(buffer[7] & 0x03) && (buffer[7] & 0xC0) == 0x80)
-    { 
+    {
       /* Card present and active, time extension requested. */
       DEBUGOUT_2 ("time extension requested (%02X,%02X)\n",
                   buffer[7], buffer[8]);
@@ -2053,13 +2127,13 @@ abort_cmd (ccid_driver_t handle, int seqno)
       /* I don't know how to send an abort to non-USB devices.  */
       rc = CCID_DRIVER_ERR_NOT_SUPPORTED;
     }
-  
+
   seqno &= 0xff;
   DEBUGOUT_1 ("sending abort sequence for seqno %d\n", seqno);
   /* Send the abort command to the control pipe.  Note that we don't
      need to keep track of sent abort commands because there should
      never be another thread using the same slot concurrently.  */
-  rc = usb_control_msg (handle->idev, 
+  rc = usb_control_msg (handle->idev,
                         0x21,/* bmRequestType: host-to-device,
                                 class specific, to interface.  */
                         1,   /* ABORT */
@@ -2079,7 +2153,7 @@ abort_cmd (ccid_driver_t handle, int seqno)
   seqno--;  /* Adjust for next increment.  */
   do
     {
-      seqno++; 
+      seqno++;
       msg[0] = PC_to_RDR_Abort;
       msg[5] = 0; /* slot */
       msg[6] = seqno;
@@ -2089,24 +2163,24 @@ abort_cmd (ccid_driver_t handle, int seqno)
       msglen = 10;
       set_msg_len (msg, 0);
 
-      rc = usb_bulk_write (handle->idev, 
+      rc = usb_bulk_write (handle->idev,
                            handle->ep_bulk_out,
                            (char*)msg, msglen,
                            5000 /* ms timeout */);
       if (rc == msglen)
         rc = 0;
       else if (rc == -1)
-        DEBUGOUT_1 ("usb_bulk_write error in abort_cmd: %s\n", 
+        DEBUGOUT_1 ("usb_bulk_write error in abort_cmd: %s\n",
                     strerror (errno));
       else
         DEBUGOUT_1 ("usb_bulk_write failed in abort_cmd: %d\n", rc);
 
       if (rc)
         return rc;
-      
-      rc = usb_bulk_read (handle->idev, 
+
+      rc = usb_bulk_read (handle->idev,
                           handle->ep_bulk_in,
-                          (char*)msg, sizeof msg, 
+                          (char*)msg, sizeof msg,
                           5000 /*ms timeout*/);
       if (rc < 0)
         {
@@ -2122,7 +2196,7 @@ abort_cmd (ccid_driver_t handle, int seqno)
                       (unsigned int)msglen);
           return CCID_DRIVER_ERR_INV_VALUE;
         }
-      if (msg[5] != 0)    
+      if (msg[5] != 0)
         {
           DEBUGOUT_1 ("unexpected bulk-in slot (%d) in abort_cmd\n", msg[5]);
           return CCID_DRIVER_ERR_INV_VALUE;
@@ -2147,7 +2221,7 @@ abort_cmd (ccid_driver_t handle, int seqno)
    operation will get returned in RESULT and its length in RESULTLEN.
    If the response is larger than RESULTMAX, an error is returned and
    the required buffer length returned in RESULTLEN.  */
-static int 
+static int
 send_escape_cmd (ccid_driver_t handle,
                  const unsigned char *data, size_t datalen,
                  unsigned char *result, size_t resultmax, size_t *resultlen)
@@ -2199,7 +2273,7 @@ send_escape_cmd (ccid_driver_t handle,
       default:
         break;
       }
-  
+
   return rc;
 }
 
@@ -2225,14 +2299,14 @@ ccid_poll (ccid_driver_t handle)
 
   if (handle->idev)
     {
-      rc = usb_bulk_read (handle->idev, 
+      rc = usb_bulk_read (handle->idev,
                           handle->ep_intr,
                           (char*)msg, sizeof msg,
                           0 /* ms timeout */ );
       if (rc < 0 && errno == ETIMEDOUT)
         return 0;
     }
-  else 
+  else
     return 0;
 
   if (rc < 0)
@@ -2256,12 +2330,12 @@ ccid_poll (ccid_driver_t handle)
       for (i=1; i < msglen; i++)
         for (j=0; j < 4; j++)
           DEBUGOUT_CONT_3 (" %d:%c%c",
-                           (i-1)*4+j, 
+                           (i-1)*4+j,
                            (msg[i] & (1<<(j*2)))? 'p':'-',
                            (msg[i] & (2<<(j*2)))? '*':' ');
       DEBUGOUT_LF ();
     }
-  else if (msg[0] == RDR_to_PC_HardwareError)    
+  else if (msg[0] == RDR_to_PC_HardwareError)
     {
       DEBUGOUT ("hardware error occured\n");
     }
@@ -2276,7 +2350,7 @@ ccid_poll (ccid_driver_t handle)
 
 /* Note that this function won't return the error codes NO_CARD or
    CARD_INACTIVE */
-int 
+int
 ccid_slot_status (ccid_driver_t handle, int *statusbits)
 {
   int rc;
@@ -2324,9 +2398,154 @@ ccid_slot_status (ccid_driver_t handle, int *statusbits)
 }
 
 
+/* Parse ATR string (of ATRLEN) and update parameters at PARAM.
+   Calling this routine, it should prepare default values at PARAM
+   beforehand.  This routine assumes that card is accessed by T=1
+   protocol.  It doesn't analyze historical bytes at all.
+
+   Returns < 0 value on error:
+     -1 for parse error or integrity check error
+     -2 for card doesn't support T=1 protocol
+     -3 for parameters are nod explicitly defined by ATR
+     -4 for this driver doesn't support CRC
+
+   Returns >= 0 on success:
+      0 for card is negotiable mode
+      1 for card is specific mode (and not negotiable)
+ */
+static int
+update_param_by_atr (unsigned char *param, unsigned char *atr, size_t atrlen)
+{
+  int i = -1;
+  int t, y, chk;
+  int historical_bytes_num, negotiable = 1;
+
+#define NEXTBYTE() do { i++; if (atrlen <= i) return -1; } while (0)
+
+  NEXTBYTE ();
+
+  if (atr[i] == 0x3F)
+    param[1] |= 0x02;           /* Convention is inverse.  */
+  NEXTBYTE ();
+
+  y = (atr[i] >> 4);
+  historical_bytes_num = atr[i] & 0x0f;
+  NEXTBYTE ();
+
+  if ((y & 1))
+    {
+      param[0] = atr[i];        /* TA1 - Fi & Di */
+      NEXTBYTE ();
+    }
+
+  if ((y & 2))
+    NEXTBYTE ();                /* TB1 - ignore */
+
+  if ((y & 4))
+    {
+      param[2] = atr[i];        /* TC1 - Guard Time */
+      NEXTBYTE ();
+    }
+
+  if ((y & 8))
+    {
+      y = (atr[i] >> 4);        /* TD1 */
+      t = atr[i] & 0x0f;
+      NEXTBYTE ();
+
+      if ((y & 1))
+        {                       /* TA2 - PPS mode */
+          if ((atr[i] & 0x0f) != 1)
+            return -2;          /* Wrong card protocol (!= 1).  */
+
+          if ((atr[i] & 0x10) != 0x10)
+            return -3; /* Transmission parameters are implicitly defined. */
+
+          negotiable = 0;       /* TA2 means specific mode.  */
+          NEXTBYTE ();
+        }
+
+      if ((y & 2))
+        NEXTBYTE ();            /* TB2 - ignore */
+
+      if ((y & 4))
+        NEXTBYTE ();            /* TC2 - ignore */
+
+      if ((y & 8))
+        {
+          y = (atr[i] >> 4);    /* TD2 */
+          t = atr[i] & 0x0f;
+          NEXTBYTE ();
+        }
+      else
+        y = 0;
+
+      while (y)
+        {
+          if ((y & 1))
+            {                   /* TAx */
+              if (t == 1)
+                param[5] = atr[i]; /* IFSC */
+              else if (t == 15)
+                /* XXX: check voltage? */
+                param[4] = (atr[i] >> 6); /* ClockStop */
+
+              NEXTBYTE ();
+            }
+
+          if ((y & 2))
+            {
+              if (t == 1)
+                param[3] = atr[i]; /* TBx - BWI & CWI */
+              NEXTBYTE ();
+            }
+
+          if ((y & 4))
+            {
+              if (t == 1)
+                param[1] |= (atr[i] & 0x01); /* TCx - LRC/CRC */
+              NEXTBYTE ();
+
+              if (param[1] & 0x01)
+                return -4;      /* CRC not supported yet.  */
+            }
+
+          if ((y & 8))
+            {
+              y = (atr[i] >> 4); /* TDx */
+              t = atr[i] & 0x0f;
+              NEXTBYTE ();
+            }
+          else
+            y = 0;
+        }
+    }
+
+  i += historical_bytes_num - 1;
+  NEXTBYTE ();
+  if (atrlen != i+1)
+    return -1;
+
+#undef NEXTBYTE
+
+  chk = 0;
+  do
+    {
+      chk ^= atr[i];
+      i--;
+    }
+  while (i > 0);
+
+  if (chk != 0)
+    return -1;
+
+  return negotiable;
+}
+
+
 /* Return the ATR of the card.  This is not a cached value and thus an
    actual reset is done.  */
-int 
+int
 ccid_get_atr (ccid_driver_t handle,
               unsigned char *atr, size_t maxatrlen, size_t *atrlen)
 {
@@ -2340,6 +2559,15 @@ ccid_get_atr (ccid_driver_t handle,
   unsigned int edc;
   int tried_iso = 0;
   int got_param;
+  unsigned char param[7] = { /* For Protocol T=1 */
+    0x11, /* bmFindexDindex */
+    0x10, /* bmTCCKST1 */
+    0x00, /* bGuardTimeT1 */
+    0x4d, /* bmWaitingIntegersT1 */
+    0x00, /* bClockStop */
+    0x20, /* bIFSC */
+    0x00  /* bNadValue */
+  };
 
   /* First check whether a card is available.  */
   rc = ccid_slot_status (handle, &statusbits);
@@ -2354,7 +2582,8 @@ ccid_get_atr (ccid_driver_t handle,
   msg[0] = PC_to_RDR_IccPowerOn;
   msg[5] = 0; /* slot */
   msg[6] = seqno = handle->seqno++;
-  msg[7] = 0; /* power select (0=auto, 1=5V, 2=3V, 3=1.8V) */
+  /* power select (0=auto, 1=5V, 2=3V, 3=1.8V) */
+  msg[7] = handle->auto_voltage ? 0 : 1;
   msg[8] = 0; /* RFU */
   msg[9] = 0; /* RFU */
   set_msg_len (msg, 0);
@@ -2385,7 +2614,7 @@ ccid_get_atr (ccid_driver_t handle,
 
 
   handle->powered_off = 0;
-  
+
   if (atr)
     {
       size_t n = msglen - 10;
@@ -2396,23 +2625,73 @@ ccid_get_atr (ccid_driver_t handle,
       *atrlen = n;
     }
 
+  param[6] = handle->nonnull_nad? ((1 << 4) | 0): 0;
+  rc = update_param_by_atr (param, msg+10, msglen - 10);
+  if (rc < 0)
+    {
+      DEBUGOUT_1 ("update_param_by_atr failed: %d\n", rc);
+      return CCID_DRIVER_ERR_CARD_IO_ERROR;
+    }
+
   got_param = 0;
-  msg[0] = PC_to_RDR_GetParameters;
-  msg[5] = 0; /* slot */
-  msg[6] = seqno = handle->seqno++;
-  msg[7] = 0; /* RFU */
-  msg[8] = 0; /* RFU */
-  msg[9] = 0; /* RFU */
-  set_msg_len (msg, 0);
-  msglen = 10;
-  rc = bulk_out (handle, msg, msglen, 0);
-  if (!rc)
-    rc = bulk_in (handle, msg, sizeof msg, &msglen, RDR_to_PC_Parameters,
-                  seqno, 2000, 0);
-  if (rc)
-    DEBUGOUT ("GetParameters failed\n");
-  else if (msglen == 17 && msg[9] == 1)
-    got_param = 1;
+
+  if (handle->auto_param)
+    {
+      msg[0] = PC_to_RDR_GetParameters;
+      msg[5] = 0; /* slot */
+      msg[6] = seqno = handle->seqno++;
+      msg[7] = 0; /* RFU */
+      msg[8] = 0; /* RFU */
+      msg[9] = 0; /* RFU */
+      set_msg_len (msg, 0);
+      msglen = 10;
+      rc = bulk_out (handle, msg, msglen, 0);
+      if (!rc)
+        rc = bulk_in (handle, msg, sizeof msg, &msglen, RDR_to_PC_Parameters,
+                      seqno, 2000, 0);
+      if (rc)
+        DEBUGOUT ("GetParameters failed\n");
+      else if (msglen == 17 && msg[9] == 1)
+        got_param = 1;
+    }
+  else if (handle->auto_pps)
+    ;
+  else if (rc == 1)             /* It's negotiable, send PPS.  */
+    {
+      msg[0] = PC_to_RDR_XfrBlock;
+      msg[5] = 0; /* slot */
+      msg[6] = seqno = handle->seqno++;
+      msg[7] = 0;
+      msg[8] = 0;
+      msg[9] = 0;
+      msg[10] = 0xff;           /* PPSS */
+      msg[11] = 0x11;           /* PPS0: PPS1, Protocol T=1 */
+      msg[12] = param[0];       /* PPS1: Fi / Di */
+      msg[13] = 0xff ^ 0x11 ^ param[0]; /* PCK */
+      set_msg_len (msg, 4);
+      msglen = 10 + 4;
+
+      rc = bulk_out (handle, msg, msglen, 0);
+      if (rc)
+        return rc;
+
+      rc = bulk_in (handle, msg, sizeof msg, &msglen, RDR_to_PC_DataBlock,
+                    seqno, 5000, 0);
+      if (rc)
+        return rc;
+
+      if (msglen != 10 + 4)
+        {
+          DEBUGOUT_1 ("Setting PPS failed: %d\n", (int)msglen);
+          return CCID_DRIVER_ERR_CARD_IO_ERROR;
+        }
+
+      if (msg[10] != 0xff || msg[11] != 0x11 || msg[12] != param[0])
+        {
+          DEBUGOUT_1 ("Setting PPS failed: 0x%02x\n", param[0]);
+          return CCID_DRIVER_ERR_CARD_IO_ERROR;
+        }
+    }
 
   /* Setup parameters to select T=1. */
   msg[0] = PC_to_RDR_SetParameters;
@@ -2423,16 +2702,7 @@ ccid_get_atr (ccid_driver_t handle,
   msg[9] = 0; /* RFU */
 
   if (!got_param)
-    {
-      /* FIXME: Get those values from the ATR. */
-      msg[10]= 0x01; /* Fi/Di */
-      msg[11]= 0x10; /* LRC, direct convention. */
-      msg[12]= 0;    /* Extra guardtime. */
-      msg[13]= 0x41; /* BWI/CWI */
-      msg[14]= 0;    /* No clock stoppping. */
-      msg[15]= 254;  /* IFSC */
-      msg[16]= 0;    /* Does not support non default NAD values. */
-    }
+    memcpy (&msg[10], param, 7);
   set_msg_len (msg, 7);
   msglen = 10 + 7;
 
@@ -2449,6 +2719,12 @@ ccid_get_atr (ccid_driver_t handle,
   else
     handle->ifsc = 128; /* Something went wrong, assume 128 bytes.  */
 
+  if (handle->nonnull_nad && msglen > 16 && msg[16] == 0)
+    {
+      DEBUGOUT ("Use Null-NAD, clearing handle->nonnull_nad.\n");
+      handle->nonnull_nad = 0;
+    }
+
   handle->t1_ns = 0;
   handle->t1_nr = 0;
 
@@ -2460,7 +2736,7 @@ ccid_get_atr (ccid_driver_t handle,
       tpdu[0] = handle->nonnull_nad? ((1 << 4) | 0): 0;
       tpdu[1] = (0xc0 | 0 | 1); /* S-block request: change IFSD */
       tpdu[2] = 1;
-      tpdu[3] = handle->max_ifsd? handle->max_ifsd : 32; 
+      tpdu[3] = handle->max_ifsd? handle->max_ifsd : 32;
       tpdulen = 4;
       edc = compute_edc (tpdu, tpdulen, use_crc);
       if (use_crc)
@@ -2470,7 +2746,7 @@ ccid_get_atr (ccid_driver_t handle,
       msg[0] = PC_to_RDR_XfrBlock;
       msg[5] = 0; /* slot */
       msg[6] = seqno = handle->seqno++;
-      msg[7] = 0; 
+      msg[7] = 0;
       msg[8] = 0; /* RFU */
       msg[9] = 0; /* RFU */
       set_msg_len (msg, tpdulen);
@@ -2493,12 +2769,12 @@ ccid_get_atr (ccid_driver_t handle,
                     RDR_to_PC_DataBlock, seqno, 5000, 0);
       if (rc)
         return rc;
-      
+
       tpdu = msg + 10;
       tpdulen = msglen - 10;
-      
-      if (tpdulen < 4) 
-        return CCID_DRIVER_ERR_ABORTED; 
+
+      if (tpdulen < 4)
+        return CCID_DRIVER_ERR_ABORTED;
 
       if (debug_level > 1)
         DEBUGOUT_4 ("T=1: got %c-block seq=%d err=%d%s\n",
@@ -2523,7 +2799,7 @@ ccid_get_atr (ccid_driver_t handle,
 
 \f
 
-static unsigned int 
+static unsigned int
 compute_edc (const unsigned char *data, size_t datalen, int use_crc)
 {
   if (use_crc)
@@ -2533,7 +2809,7 @@ compute_edc (const unsigned char *data, size_t datalen, int use_crc)
   else
     {
       unsigned char crc = 0;
-      
+
       for (; datalen; datalen--)
         crc ^= *data++;
       return crc;
@@ -2575,10 +2851,10 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
 
   /* The maximum length for a short APDU T=1 block is 261.  For an
      extended APDU T=1 block the maximum length 65544; however
-     extended APDU exchange level is not yet supported.  */
-  if (apdulen > 261)
+     extended APDU exchange level is not fully supported yet.  */
+  if (apdulen > sizeof (send_buffer) - 10)
     return CCID_DRIVER_ERR_INV_VALUE; /* Invalid length. */
-  
+
   msg[0] = PC_to_RDR_XfrBlock;
   msg[5] = 0; /* slot */
   msg[6] = seqno = handle->seqno++;
@@ -2598,10 +2874,53 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
                 RDR_to_PC_DataBlock, seqno, 5000, 0);
   if (rc)
     return rc;
-      
-  apdu = msg + 10;
-  apdulen = msglen - 10;
-      
+
+  if (msg[9] == 1)
+    {
+      size_t total_msglen = msglen;
+
+      while (1)
+        {
+          unsigned char status;
+
+          msg = recv_buffer + total_msglen;
+
+          msg[0] = PC_to_RDR_XfrBlock;
+          msg[5] = 0; /* slot */
+          msg[6] = seqno = handle->seqno++;
+          msg[7] = bwi; /* bBWI */
+          msg[8] = 0x10;                /* Request next data block */
+          msg[9] = 0;
+          set_msg_len (msg, 0);
+          msglen = 10;
+
+          rc = bulk_out (handle, msg, msglen, 0);
+          if (rc)
+            return rc;
+
+          rc = bulk_in (handle, msg, sizeof recv_buffer - total_msglen, &msglen,
+                        RDR_to_PC_DataBlock, seqno, 5000, 0);
+          if (rc)
+            return rc;
+          status = msg[9];
+          memmove (msg, msg+10, msglen - 10);
+          total_msglen += msglen - 10;
+          if (total_msglen >= sizeof recv_buffer)
+            return CCID_DRIVER_ERR_OUT_OF_CORE;
+
+          if (status == 0x02)
+            break;
+        }
+
+      apdu = recv_buffer + 10;
+      apdulen = total_msglen - 10;
+    }
+  else
+    {
+      apdu = msg + 10;
+      apdulen = msglen - 10;
+    }
+
   if (resp)
     {
       if (apdulen > maxresplen)
@@ -2611,11 +2930,11 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
                       (unsigned int)apdulen, (unsigned int)maxresplen);
           return CCID_DRIVER_ERR_INV_VALUE;
         }
-      
-      memcpy (resp, apdu, apdulen); 
+
+      memcpy (resp, apdu, apdulen);
       *nresp = apdulen;
     }
-          
+
   return 0;
 }
 
@@ -2626,15 +2945,15 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
 
   Block Structure:
            Prologue Field:
-   1 byte     Node Address (NAD) 
+   1 byte     Node Address (NAD)
    1 byte     Protocol Control Byte (PCB)
-   1 byte     Length (LEN) 
+   1 byte     Length (LEN)
            Information Field:
    0-254 byte APDU or Control Information (INF)
            Epilogue Field:
    1 byte     Error Detection Code (EDC)
 
-  NAD:  
+  NAD:
    bit 7     unused
    bit 4..6  Destination Node Address (DAD)
    bit 3     unused
@@ -2649,7 +2968,7 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
    Information Block (I-Block):
       bit 7    0
       bit 6    Sequence number (yep, that is modulo 2)
-      bit 5    Chaining flag 
+      bit 5    Chaining flag
       bit 4..0 reserved
    Received-Ready Block (R-Block):
       bit 7    1
@@ -2752,7 +3071,7 @@ ccid_transceive (ccid_driver_t handle,
           if (apdulen > handle->ifsc )
             {
               apdulen = handle->ifsc;
-              apdu_buf += handle->ifsc;  
+              apdu_buf += handle->ifsc;
               apdu_buflen -= handle->ifsc;
               tpdu[1] |= (1 << 5); /* Set more bit. */
             }
@@ -2799,14 +3118,14 @@ ccid_transceive (ccid_driver_t handle,
                      : !!(msg[pcboff] & 0x40)),
                     (!(msg[pcboff] & 0x80) && (msg[pcboff] & 0x20)?
                      " [more]":""));
-      
+
       rc = bulk_out (handle, msg, msglen, 0);
       if (rc)
         return rc;
 
       msg = recv_buffer;
       rc = bulk_in (handle, msg, sizeof recv_buffer, &msglen,
-                    via_escape? RDR_to_PC_Escape : RDR_to_PC_DataBlock, 
+                    via_escape? RDR_to_PC_Escape : RDR_to_PC_DataBlock,
                     seqno, 5000, 0);
       if (rc)
         return rc;
@@ -2814,11 +3133,11 @@ ccid_transceive (ccid_driver_t handle,
       tpdu = msg + hdrlen;
       tpdulen = msglen - hdrlen;
       resyncing = 0;
-            
-      if (tpdulen < 4) 
+
+      if (tpdulen < 4)
         {
           usb_clear_halt (handle->idev, handle->ep_bulk_in);
-          return CCID_DRIVER_ERR_ABORTED; 
+          return CCID_DRIVER_ERR_ABORTED;
         }
 
       if (debug_level > 1)
@@ -2870,16 +3189,16 @@ ccid_transceive (ccid_driver_t handle,
                               (unsigned int)n, (unsigned int)maxresplen);
                   return CCID_DRIVER_ERR_INV_VALUE;
                 }
-              
-              memcpy (resp, p, n); 
+
+              memcpy (resp, p, n);
               resp += n;
               *nresp += n;
               maxresplen -= n;
             }
-          
+
           if (!(tpdu[1] & 0x20))
             return 0; /* No chaining requested - ready. */
-          
+
           msg = send_buffer;
           tpdu = msg + hdrlen;
           tpdu[0] = nad_byte;
@@ -2893,8 +3212,8 @@ ccid_transceive (ccid_driver_t handle,
         }
       else if ((tpdu[1] & 0xc0) == 0x80)
         { /* This is a R-block. */
-          if ( (tpdu[1] & 0x0f)) 
-            { 
+          if ( (tpdu[1] & 0x0f))
+            {
               retries++;
               if (via_escape && retries == 1 && (msg[pcboff] & 0x0f))
                 {
@@ -2944,7 +3263,7 @@ ccid_transceive (ccid_driver_t handle,
               return CCID_DRIVER_ERR_CARD_IO_ERROR;
             }
         }
-      else 
+      else
         { /* This is a S-block. */
           retries = 0;
           DEBUGOUT_2 ("T=1: S-block %s received cmd=%d\n",
@@ -3008,22 +3327,21 @@ ccid_transceive (ccid_driver_t handle,
 /* Send the CCID Secure command to the reader.  APDU_BUF should
    contain the APDU template.  PIN_MODE defines how the pin gets
    formatted:
-   
+
      1 := The PIN is ASCII encoded and of variable length.  The
           length of the PIN entered will be put into Lc by the reader.
           The APDU should me made up of 4 bytes without Lc.
 
    PINLEN_MIN and PINLEN_MAX define the limits for the pin length. 0
-   may be used t enable reasonable defaults.  PIN_PADLEN should be 0.
-   
+   may be used t enable reasonable defaults.
+
    When called with RESP and NRESP set to NULL, the function will
    merely check whether the reader supports the secure command for the
    given APDU and PIN_MODE. */
 int
 ccid_transceive_secure (ccid_driver_t handle,
                         const unsigned char *apdu_buf, size_t apdu_buflen,
-                        int pin_mode, int pinlen_min, int pinlen_max,
-                        int pin_padlen, 
+                        pininfo_t *pininfo,
                         unsigned char *resp, size_t maxresplen, size_t *nresp)
 {
   int rc;
@@ -3034,6 +3352,7 @@ ccid_transceive_secure (ccid_driver_t handle,
   size_t dummy_nresp;
   int testmode;
   int cherry_mode = 0;
+  int enable_varlen = 0;
 
   testmode = !resp && !nresp;
 
@@ -3044,25 +3363,19 @@ ccid_transceive_secure (ccid_driver_t handle,
   if (apdu_buflen >= 4 && apdu_buf[1] == 0x20 && (handle->has_pinpad & 1))
     ;
   else if (apdu_buflen >= 4 && apdu_buf[1] == 0x24 && (handle->has_pinpad & 2))
-    return CCID_DRIVER_ERR_NOT_SUPPORTED; /* Not yet by our code. */
+    ;
   else
-    return CCID_DRIVER_ERR_NO_KEYPAD;
-    
-  if (pin_mode != 1)
-    return CCID_DRIVER_ERR_NOT_SUPPORTED;
+    return CCID_DRIVER_ERR_NO_PINPAD;
 
-  if (pin_padlen != 0)
-    return CCID_DRIVER_ERR_NOT_SUPPORTED;
-
-  if (!pinlen_min)
-    pinlen_min = 1;
-  if (!pinlen_max)
-    pinlen_max = 25;
+  if (!pininfo->minlen)
+    pininfo->minlen = 1;
+  if (!pininfo->maxlen)
+    pininfo->maxlen = 15;
 
   /* Note that the 25 is the maximum value the SPR532 allows.  */
-  if (pinlen_min < 1 || pinlen_min > 25
-      || pinlen_max < 1 || pinlen_max > 25 
-      || pinlen_min > pinlen_max)
+  if (pininfo->minlen < 1 || pininfo->minlen > 25
+      || pininfo->maxlen < 1 || pininfo->maxlen > 25
+      || pininfo->minlen > pininfo->maxlen)
     return CCID_DRIVER_ERR_INV_VALUE;
 
   /* We have only tested a few readers so better don't risk anything
@@ -3071,8 +3384,17 @@ ccid_transceive_secure (ccid_driver_t handle,
     {
     case VENDOR_SCM:  /* Tested with SPR 532. */
     case VENDOR_KAAN: /* Tested with KAAN Advanced (1.02). */
+    case VENDOR_FSIJ: /* Tested with Gnuk (0.21). */
+      pininfo->maxlen = 25;
+      enable_varlen = 1;
+      break;
+    case VENDOR_REINER: /* Tested with cyberJack go */
+    case VENDOR_VASCO: /* Tested with DIGIPASS 920 */
+      enable_varlen = 1;
       break;
     case VENDOR_CHERRY:
+      pininfo->maxlen = 25;
+      enable_varlen = 1;
       /* The CHERRY XX44 keyboard echos an asterisk for each entered
          character on the keyboard channel.  We use a special variant
          of PC_to_RDR_Secure which directs these characters to the
@@ -3080,15 +3402,32 @@ ccid_transceive_secure (ccid_driver_t handle,
          Lc byte to the APDU.  It seems that it will be replaced with
          the actual length instead of being appended before the APDU
          is send to the card. */
-      cherry_mode = 1;
+      if (handle->id_product != CHERRY_ST2000)
+        cherry_mode = 1;
       break;
     default:
+      if ((handle->id_vendor == VENDOR_GEMPC &&
+           handle->id_product == GEMPC_PINPAD)
+          || (handle->id_vendor == VENDOR_VEGA &&
+              handle->id_product == VEGA_ALPHA))
+        {
+          enable_varlen = 0;
+          pininfo->minlen = 4;
+          pininfo->maxlen = 8;
+          break;
+        }
      return CCID_DRIVER_ERR_NOT_SUPPORTED;
     }
 
+  if (enable_varlen)
+    pininfo->fixedlen = 0;
+
   if (testmode)
     return 0; /* Success */
-    
+
+  if (pininfo->fixedlen < 0 || pininfo->fixedlen >= 16)
+    return CCID_DRIVER_ERR_NOT_SUPPORTED;
+
   msg = send_buffer;
   if (handle->id_vendor == VENDOR_SCM)
     {
@@ -3105,7 +3444,8 @@ ccid_transceive_secure (ccid_driver_t handle,
   msg[7] = 0; /* bBWI */
   msg[8] = 0; /* RFU */
   msg[9] = 0; /* RFU */
-  msg[10] = 0; /* Perform PIN verification. */
+  msg[10] = apdu_buf[1] == 0x20 ? 0 : 1;
+               /* Perform PIN verification or PIN modification. */
   msg[11] = 0; /* Timeout in seconds. */
   msg[12] = 0x82; /* bmFormatString: Byte, pos=0, left, ASCII. */
   if (handle->id_vendor == VENDOR_SCM)
@@ -3117,50 +3457,94 @@ ccid_transceive_secure (ccid_driver_t handle,
     }
   else
     {
-      msg[13] = 0x00; /* bmPINBlockString:
-                         0 bits of pin length to insert. 
-                         0 bytes of PIN block size.  */
+      msg[13] = pininfo->fixedlen; /* bmPINBlockString:
+                                      0 bits of pin length to insert.
+                                      PIN block size by fixedlen.  */
       msg[14] = 0x00; /* bmPINLengthFormat:
                          Units are bytes, position is 0. */
     }
 
+  msglen = 15;
+  if (apdu_buf[1] == 0x24)
+    {
+      msg[msglen++] = 0;    /* bInsertionOffsetOld */
+      msg[msglen++] = pininfo->fixedlen;    /* bInsertionOffsetNew */
+    }
+
   /* The following is a little endian word. */
-  msg[15] = pinlen_max;   /* wPINMaxExtraDigit-Maximum.  */
-  msg[16] = pinlen_min;   /* wPINMaxExtraDigit-Minimum.  */
-
-  msg[17] = 0x02; /* bEntryValidationCondition:
-                     Validation key pressed */
-  if (pinlen_min && pinlen_max && pinlen_min == pinlen_max)
-    msg[17] |= 0x01; /* Max size reached.  */
-  msg[18] = 0xff; /* bNumberMessage: Default. */
-  msg[19] = 0x04; /* wLangId-High. */
-  msg[20] = 0x09; /* wLangId-Low:  English FIXME: use the first entry. */
-  msg[21] = 0;    /* bMsgIndex. */
+  msg[msglen++] = pininfo->maxlen;   /* wPINMaxExtraDigit-Maximum.  */
+  msg[msglen++] = pininfo->minlen;   /* wPINMaxExtraDigit-Minimum.  */
+
+  if (apdu_buf[1] == 0x24)
+    msg[msglen++] = apdu_buf[2] == 0 ? 0x03 : 0x01;
+              /* bConfirmPIN
+               *    0x00: new PIN once
+               *    0x01: new PIN twice (confirmation)
+               *    0x02: old PIN and new PIN once
+               *    0x03: old PIN and new PIN twice (confirmation)
+               */
+
+  msg[msglen] = 0x02; /* bEntryValidationCondition:
+                         Validation key pressed */
+  if (pininfo->minlen && pininfo->maxlen && pininfo->minlen == pininfo->maxlen)
+    msg[msglen] |= 0x01; /* Max size reached.  */
+  msglen++;
+
+  if (apdu_buf[1] == 0x20)
+    msg[msglen++] = 0x01; /* bNumberMessage. */
+  else
+    msg[msglen++] = 0x03; /* bNumberMessage. */
+
+  msg[msglen++] = 0x09; /* wLangId-Low:  English FIXME: use the first entry. */
+  msg[msglen++] = 0x04; /* wLangId-High. */
+
+  if (apdu_buf[1] == 0x20)
+    msg[msglen++] = 0;    /* bMsgIndex. */
+  else
+    {
+      msg[msglen++] = 0;    /* bMsgIndex1. */
+      msg[msglen++] = 1;    /* bMsgIndex2. */
+      msg[msglen++] = 2;    /* bMsgIndex3. */
+    }
+
+  /* Calculate Lc.  */
+  n = pininfo->fixedlen;
+  if (apdu_buf[1] == 0x24)
+    n += pininfo->fixedlen;
+
   /* bTeoProlog follows: */
-  msg[22] = handle->nonnull_nad? ((1 << 4) | 0): 0;
-  msg[23] = ((handle->t1_ns & 1) << 6); /* I-block */
-  msg[24] = 0; /* The apdulen will be filled in by the reader.  */
+  msg[msglen++] = handle->nonnull_nad? ((1 << 4) | 0): 0;
+  msg[msglen++] = ((handle->t1_ns & 1) << 6); /* I-block */
+  if (n)
+    msg[msglen++] = n + 5; /* apdulen should be filled for fixed length.  */
+  else
+    msg[msglen++] = 0; /* The apdulen will be filled in by the reader.  */
   /* APDU follows:  */
-  msg[25] = apdu_buf[0]; /* CLA */
-  msg[26] = apdu_buf[1]; /* INS */
-  msg[27] = apdu_buf[2]; /* P1 */
-  msg[28] = apdu_buf[3]; /* P2 */
-  msglen = 29;
+  msg[msglen++] = apdu_buf[0]; /* CLA */
+  msg[msglen++] = apdu_buf[1]; /* INS */
+  msg[msglen++] = apdu_buf[2]; /* P1 */
+  msg[msglen++] = apdu_buf[3]; /* P2 */
   if (cherry_mode)
     msg[msglen++] = 0;
+  else if (pininfo->fixedlen != 0)
+    {
+      msg[msglen++] = n;
+      memset (&msg[msglen], 0xff, n);
+      msglen += n;
+    }
   /* An EDC is not required. */
   set_msg_len (msg, msglen - 10);
 
   rc = bulk_out (handle, msg, msglen, 0);
   if (rc)
     return rc;
-  
+
   msg = recv_buffer;
   rc = bulk_in (handle, msg, sizeof recv_buffer, &msglen,
                 RDR_to_PC_DataBlock, seqno, 30000, 0);
   if (rc)
     return rc;
-  
+
   tpdu = msg + 10;
   tpdulen = msglen - 10;
 
@@ -3175,17 +3559,17 @@ ccid_transceive_secure (ccid_driver_t handle,
                           (unsigned int)tpdulen, (unsigned int)maxresplen);
               return CCID_DRIVER_ERR_INV_VALUE;
             }
-          
-          memcpy (resp, tpdu, tpdulen); 
+
+          memcpy (resp, tpdu, tpdulen);
           *nresp = tpdulen;
         }
       return 0;
     }
-  
-  if (tpdulen < 4) 
+
+  if (tpdulen < 4)
     {
       usb_clear_halt (handle->idev, handle->ep_bulk_in);
-      return CCID_DRIVER_ERR_ABORTED; 
+      return CCID_DRIVER_ERR_ABORTED;
     }
   if (debug_level > 1)
     DEBUGOUT_4 ("T=1: got %c-block seq=%d err=%d%s\n",
@@ -3220,22 +3604,22 @@ ccid_transceive_secure (ccid_driver_t handle,
                           (unsigned int)n, (unsigned int)maxresplen);
               return CCID_DRIVER_ERR_INV_VALUE;
             }
-              
-          memcpy (resp, p, n); 
+
+          memcpy (resp, p, n);
           resp += n;
           *nresp += n;
           maxresplen -= n;
         }
-          
+
       if (!(tpdu[1] & 0x20))
         return 0; /* No chaining requested - ready. */
-      
+
       DEBUGOUT ("chaining requested but not supported for Secure operation\n");
       return CCID_DRIVER_ERR_CARD_IO_ERROR;
     }
   else if ((tpdu[1] & 0xc0) == 0x80)
     { /* This is a R-block. */
-      if ( (tpdu[1] & 0x0f)) 
+      if ( (tpdu[1] & 0x0f))
         { /* Error: repeat last block */
           DEBUGOUT ("No retries supported for Secure operation\n");
           return CCID_DRIVER_ERR_CARD_IO_ERROR;
@@ -3251,13 +3635,13 @@ ccid_transceive_secure (ccid_driver_t handle,
           return CCID_DRIVER_ERR_CARD_IO_ERROR;
         }
     }
-  else 
+  else
     { /* This is a S-block. */
       DEBUGOUT_2 ("T=1: S-block %s received cmd=%d for Secure operation\n",
                   (tpdu[1] & 0x20)? "response": "request",
                   (tpdu[1] & 0x1f));
       return CCID_DRIVER_ERR_CARD_IO_ERROR;
-    } 
+    }
 
   return 0;
 }
@@ -3413,7 +3797,7 @@ main (int argc, char **argv)
                           result, sizeof result, &resultlen);
     print_result (rc, result, resultlen);
   }
-  
+
 
   if (!no_poll)
     ccid_poll (ccid);
@@ -3434,7 +3818,7 @@ main (int argc, char **argv)
     {
       static unsigned char apdu[] = { 0, 0x20, 0, 0x81 };
 
-      
+
       if (ccid_transceive_secure (ccid,
                                   apdu, sizeof apdu,
                                   1, 0, 0, 0,
@@ -3443,7 +3827,7 @@ main (int argc, char **argv)
       else
         {
           fputs ("verifying CHV1 using the PINPad ....\n", stderr);
-          
+
           rc = ccid_transceive_secure (ccid,
                                        apdu, sizeof apdu,
                                        1, 0, 0, 0,
@@ -3452,7 +3836,7 @@ main (int argc, char **argv)
           did_verify = 1;
         }
     }
-  
+
   if (verify_123456 && !did_verify)
     {
       fputs ("verifying that CHV1 is 123456....\n", stderr);
index 6bb1913..2af1a18 100644 (file)
@@ -72,7 +72,7 @@
 #define CCID_DRIVER_ERR_GENERAL_ERROR  0x1000b
 #define CCID_DRIVER_ERR_NO_READER      0x1000c
 #define CCID_DRIVER_ERR_ABORTED        0x1000d
-#define CCID_DRIVER_ERR_NO_KEYPAD      0x1000e
+#define CCID_DRIVER_ERR_NO_PINPAD      0x1000e
 
 struct ccid_driver_s;
 typedef struct ccid_driver_s *ccid_driver_t;
@@ -93,8 +93,7 @@ int ccid_transceive (ccid_driver_t handle,
                      unsigned char *resp, size_t maxresplen, size_t *nresp);
 int ccid_transceive_secure (ccid_driver_t handle,
                      const unsigned char *apdu, size_t apdulen,
-                     int pin_mode, 
-                     int pinlen_min, int pinlen_max, int pin_padlen, 
+                    pininfo_t *pininfo,
                      unsigned char *resp, size_t maxresplen, size_t *nresp);
 int ccid_transceive_escape (ccid_driver_t handle,
                             const unsigned char *data, size_t datalen,
index 52b22c6..fc1f5a2 100644 (file)
@@ -34,6 +34,7 @@
 #include <assuan.h>
 #include <ksba.h>
 #include "app-common.h"
+#include "iso7816.h"
 #include "apdu.h" /* Required for apdu_*_reader (). */
 #include "exechelp.h"
 #ifdef HAVE_LIBUSB
@@ -46,6 +47,9 @@
 /* Maximum allowed size of key data as used in inquiries. */
 #define MAXLEN_KEYDATA 4096
 
+/* Maximum allowed total data size for SETDATA.  */
+#define MAXLEN_SETDATA 4096
+
 /* Maximum allowed size of certificate data as used in inquiries. */
 #define MAXLEN_CERTDATA 16384
 
@@ -60,6 +64,7 @@
           int _r = (r);                                     \
           if (gpg_err_code (_r) == GPG_ERR_CARD_NOT_PRESENT \
               || gpg_err_code (_r) == GPG_ERR_CARD_REMOVED  \
+              || gpg_err_code (_r) == GPG_ERR_CARD_RESET    \
               || gpg_err_code (_r) == GPG_ERR_ENODEV )      \
             update_card_removed ((c)->reader_slot, 1);      \
        } while (0)
       && (c)->reader_slot == locked_session->ctrl_backlink->reader_slot)
 
 
-/* Flag indicating that the reader has been disabled.  */
-static int reader_disabled;
-
-
 /* This structure is used to keep track of open readers (slots). */
-struct slot_status_s 
+struct slot_status_s
 {
   int valid;  /* True if the other objects are valid. */
   int slot;   /* Slot number of the reader or -1 if not open. */
@@ -92,11 +93,11 @@ struct slot_status_s
 
 /* Data used to associate an Assuan context with local server data.
    This object describes the local properties of one session.  */
-struct server_local_s 
+struct server_local_s
 {
   /* We keep a list of all active sessions with the anchor at
      SESSION_LIST (see below).  This field is used for linking. */
-  struct server_local_s *next_session; 
+  struct server_local_s *next_session;
 
   /* This object is usually assigned to a CTRL object (which is
      globally visible).  While enumerating all sessions we sometimes
@@ -112,10 +113,10 @@ struct server_local_s
 #else
   int event_signal;             /* Or 0 if not used. */
 #endif
-  
+
   /* True if the card has been removed and a reset is required to
      continue operation. */
-  int card_removed;        
+  int card_removed;
 
   /* Flag indicating that the application context needs to be released
      at the next opportunity.  */
@@ -126,7 +127,7 @@ struct server_local_s
 
   /* If set to true we will be terminate ourself at the end of the
      this session.  */
-  int stopme;  
+  int stopme;
 
 };
 
@@ -180,6 +181,9 @@ update_card_removed (int slot, int value)
 {
   struct server_local_s *sl;
 
+  if (slot == -1)
+    return;
+
   for (sl=session_list; sl; sl = sl->next_session)
     if (sl->ctrl_backlink
         && sl->ctrl_backlink->reader_slot == slot)
@@ -256,7 +260,7 @@ hex_to_buffer (const char *string, size_t *r_length)
     return NULL;
   for (s=string, n=0; *s; s++)
     {
-      if (spacep (s) || *s == ':') 
+      if (spacep (s) || *s == ':')
         continue;
       if (hexdigitp (s) && hexdigitp (s+1))
         {
@@ -293,7 +297,7 @@ do_reset (ctrl_t ctrl, int send_reset)
       if (send_reset)
         {
           struct server_local_s *sl;
-          
+
           for (sl=session_list; sl; sl = sl->next_session)
             if (sl->ctrl_backlink
                 && sl->ctrl_backlink->reader_slot == slot)
@@ -307,11 +311,19 @@ do_reset (ctrl_t ctrl, int send_reset)
      tell the application layer about it.  */
   if (slot != -1 && send_reset && !IS_LOCKED (ctrl) )
     {
-      if (apdu_reset (slot)) 
-        {
-          slot_table[slot].valid = 0;
-        }
       application_notify_card_reset (slot);
+      switch (apdu_reset (slot))
+       {
+       case 0:
+         break;
+       case SW_HOST_NO_CARD:
+       case SW_HOST_CARD_INACTIVE:
+         break;
+       default:
+         apdu_close_reader (slot);
+         slot_table[slot].slot = -1;
+         break;
+       }
     }
 
   /* If we hold a lock, unlock now. */
@@ -345,7 +357,7 @@ do_reset (ctrl_t ctrl, int send_reset)
 static gpg_error_t
 reset_notify (assuan_context_t ctx, char *line)
 {
-  ctrl_t ctrl = assuan_get_pointer (ctx); 
+  ctrl_t ctrl = assuan_get_pointer (ctx);
 
   (void) line;
 
@@ -399,39 +411,29 @@ get_reader_slot (void)
   /* Try to open the reader. */
   if (ss->slot == -1)
     {
-      int no_service_flag;
-      ss->slot = apdu_open_reader (opt.reader_port, &no_service_flag);
+      ss->slot = apdu_open_reader (opt.reader_port);
 
       /* If we still don't have a slot, we have no readers.
         Invalidate for now until a reader is attached. */
       if(ss->slot == -1)
        {
          ss->valid = 0;
+         return -1;
        }
-
-      if (no_service_flag)
-        {
-          log_info ("no card services - disabling scdaemon\n");
-          reader_disabled = 1;
-        }
     }
 
   /* Return the slot_table index.  */
   return 0;
 }
 
-/* If the card has not yet been opened, do it.  Note that this
-   function returns an Assuan error, so don't map the error a second
-   time.  */
+
+/* If the card has not yet been opened, do it.  */
 static gpg_error_t
 open_card (ctrl_t ctrl, const char *apptype)
 {
   gpg_error_t err;
   int slot;
 
-  if (reader_disabled)
-    return gpg_error (GPG_ERR_NOT_OPERATIONAL);
-
   /* If we ever got a card not present error code, return that.  Only
      the SERIALNO command and a reset are able to clear from that
      state. */
@@ -464,7 +466,7 @@ open_card (ctrl_t ctrl, const char *apptype)
     slot = get_reader_slot ();
   ctrl->reader_slot = slot;
   if (slot == -1)
-    err = gpg_error (reader_disabled? GPG_ERR_NOT_OPERATIONAL: GPG_ERR_CARD);
+    err = gpg_error (GPG_ERR_CARD);
   else
     {
       /* Fixme: We should move the apdu_connect call to
@@ -477,6 +479,8 @@ open_card (ctrl_t ctrl, const char *apptype)
         {
           if (sw == SW_HOST_NO_CARD)
             err = gpg_error (GPG_ERR_CARD_NOT_PRESENT);
+          else if (sw == SW_HOST_CARD_INACTIVE)
+            err = gpg_error (GPG_ERR_CARD_RESET);
           else
             err = gpg_error (GPG_ERR_CARD);
        }
@@ -489,7 +493,7 @@ open_card (ctrl_t ctrl, const char *apptype)
 }
 
 
-static const char hlp_serialno[] = 
+static const char hlp_serialno[] =
   "SERIALNO [<apptype>]\n"
   "\n"
   "Return the serial number of the card using a status reponse.  This\n"
@@ -516,9 +520,11 @@ cmd_serialno (assuan_context_t ctx, char *line)
   char *serial_and_stamp;
   char *serial;
   time_t stamp;
+  int retries = 0;
 
   /* Clear the remove flag so that the open_card is able to reread it.  */
-  if (!reader_disabled && ctrl->server_local->card_removed)
+ retry:
+  if (ctrl->server_local->card_removed)
     {
       if ( IS_LOCKED (ctrl) )
         return gpg_error (GPG_ERR_LOCKED);
@@ -526,7 +532,12 @@ cmd_serialno (assuan_context_t ctx, char *line)
     }
 
   if ((rc = open_card (ctrl, *line? line:NULL)))
-    return rc;
+    {
+      /* In case of an inactive card, retry once.  */
+      if (gpg_err_code (rc) == GPG_ERR_CARD_RESET && retries++ < 1)
+        goto retry;
+      return rc;
+    }
 
   rc = app_get_serial_and_stamp (ctrl->app_ctx, &serial, &stamp);
   if (rc)
@@ -544,7 +555,7 @@ cmd_serialno (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_learn[] = 
+static const char hlp_learn[] =
   "LEARN [--force] [--keypairinfo]\n"
   "\n"
   "Learn all useful information of the currently inserted card.  When\n"
@@ -632,7 +643,7 @@ cmd_learn (assuan_context_t ctx, char *line)
       char *serial_and_stamp;
       char *serial;
       time_t stamp;
-      
+
       rc = app_get_serial_and_stamp (ctrl->app_ctx, &serial, &stamp);
       if (rc)
         return rc;
@@ -643,11 +654,11 @@ cmd_learn (assuan_context_t ctx, char *line)
         return out_of_core ();
       rc = 0;
       assuan_write_status (ctx, "SERIALNO", serial_and_stamp);
-      
+
       if (!has_option (line, "--force"))
         {
           char *command;
-          
+
           rc = estream_asprintf (&command, "KNOWNCARDP %s", serial_and_stamp);
           if (rc < 0)
             {
@@ -655,7 +666,7 @@ cmd_learn (assuan_context_t ctx, char *line)
               return out_of_core ();
             }
           rc = 0;
-          rc = assuan_inquire (ctx, command, NULL, NULL, 0); 
+          rc = assuan_inquire (ctx, command, NULL, NULL, 0);
           xfree (command);
           if (rc)
             {
@@ -663,13 +674,13 @@ cmd_learn (assuan_context_t ctx, char *line)
                 log_error ("inquire KNOWNCARDP failed: %s\n",
                            gpg_strerror (rc));
               xfree (serial_and_stamp);
-              return rc; 
+              return rc;
             }
           /* Not canceled, so we have to proceeed.  */
         }
       xfree (serial_and_stamp);
     }
-  
+
   /* Let the application print out its collection of useful status
      information. */
   if (!rc)
@@ -715,7 +726,7 @@ cmd_readcert (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_readkey[] = 
+static const char hlp_readkey[] =
   "READKEY <keyid>\n"
   "\n"
   "Return the public key for the given cert or key ID as a standard\n"
@@ -753,7 +764,7 @@ cmd_readkey (assuan_context_t ctx, char *line)
 
   if (gpg_err_code (rc) != GPG_ERR_UNSUPPORTED_OPERATION)
     log_error ("app_readkey failed: %s\n", gpg_strerror (rc));
-  else  
+  else
     {
       rc = app_readcert (ctrl->app_ctx, line, &cert, &ncert);
       if (rc)
@@ -763,7 +774,7 @@ cmd_readkey (assuan_context_t ctx, char *line)
   line = NULL;
   if (rc)
     goto leave;
-      
+
   rc = ksba_cert_new (&kc);
   if (rc)
     {
@@ -798,18 +809,25 @@ cmd_readkey (assuan_context_t ctx, char *line)
 
 
 \f
-static const char hlp_setdata[] = 
-  "SETDATA <hexstring> \n"
+static const char hlp_setdata[] =
+  "SETDATA [--append] <hexstring>\n"
   "\n"
-  "The client should use this command to tell us the data he want to sign.";
+  "The client should use this command to tell us the data he want to sign.\n"
+  "With the option --append, the data is appended to the data set by a\n"
+  "previous SETDATA command.";
 static gpg_error_t
 cmd_setdata (assuan_context_t ctx, char *line)
 {
   ctrl_t ctrl = assuan_get_pointer (ctx);
-  int n;
+  int append;
+  int n, i, off;
   char *p;
   unsigned char *buf;
 
+  append = (ctrl->in_data.value && has_option (line, "--append"));
+
+  line = skip_options (line);
+
   if (locked_session && locked_session != ctrl->server_local)
     return gpg_error (GPG_ERR_LOCKED);
 
@@ -823,20 +841,36 @@ cmd_setdata (assuan_context_t ctx, char *line)
   if ((n&1))
     return set_error (GPG_ERR_ASS_PARAMETER, "odd number of digits");
   n /= 2;
+  if (append)
+    {
+      if (ctrl->in_data.valuelen + n > MAXLEN_SETDATA)
+        return set_error (GPG_ERR_TOO_LARGE,
+                          "limit on total size of data reached");
+      buf = xtrymalloc (ctrl->in_data.valuelen + n);
+    }
+  else
   buf = xtrymalloc (n);
   if (!buf)
     return out_of_core ();
 
+  if (append)
+    {
+      memcpy (buf, ctrl->in_data.value, ctrl->in_data.valuelen);
+      off = ctrl->in_data.valuelen;
+    }
+  else
+    off = 0;
+  for (p=line, i=0; i < n; p += 2, i++)
+    buf[off+i] = xtoi_2 (p);
+
   ctrl->in_data.value = buf;
-  ctrl->in_data.valuelen = n;
-  for (p=line, n=0; n < ctrl->in_data.valuelen; p += 2, n++)
-    buf[n] = xtoi_2 (p);
+  ctrl->in_data.valuelen = off + n;
   return 0;
 }
 
 
 
-static gpg_error_t 
+static gpg_error_t
 pin_cb (void *opaque, const char *info, char **retstr)
 {
   assuan_context_t ctx = opaque;
@@ -847,23 +881,23 @@ pin_cb (void *opaque, const char *info, char **retstr)
 
   if (!retstr)
     {
-      /* We prompt for keypad entry.  To make sure that the popup has
+      /* We prompt for pinpad entry.  To make sure that the popup has
          been show we use an inquire and not just a status message.
          We ignore any value returned.  */
       if (info)
         {
-          log_debug ("prompting for keypad entry '%s'\n", info);
-          rc = estream_asprintf (&command, "POPUPKEYPADPROMPT %s", info);
+          log_debug ("prompting for pinpad entry '%s'\n", info);
+          rc = estream_asprintf (&command, "POPUPPINPADPROMPT %s", info);
           if (rc < 0)
             return gpg_error (gpg_err_code_from_errno (errno));
-          rc = assuan_inquire (ctx, command, &value, &valuelen, MAXLEN_PIN); 
-          xfree (command);  
+          rc = assuan_inquire (ctx, command, &value, &valuelen, MAXLEN_PIN);
+          xfree (command);
         }
       else
         {
-          log_debug ("dismiss keypad entry prompt\n");
-          rc = assuan_inquire (ctx, "DISMISSKEYPADPROMPT",
-                               &value, &valuelen, MAXLEN_PIN); 
+          log_debug ("dismiss pinpad entry prompt\n");
+          rc = assuan_inquire (ctx, "DISMISSPINPADPROMPT",
+                               &value, &valuelen, MAXLEN_PIN);
         }
       if (!rc)
         xfree (value);
@@ -879,8 +913,8 @@ pin_cb (void *opaque, const char *info, char **retstr)
 
   /* Fixme: Write an inquire function which returns the result in
      secure memory and check all further handling of the PIN. */
-  rc = assuan_inquire (ctx, command, &value, &valuelen, MAXLEN_PIN); 
-  xfree (command);  
+  rc = assuan_inquire (ctx, command, &value, &valuelen, MAXLEN_PIN);
+  xfree (command);
   if (rc)
     return rc;
 
@@ -895,7 +929,7 @@ pin_cb (void *opaque, const char *info, char **retstr)
 }
 
 
-static const char hlp_pksign[] = 
+static const char hlp_pksign[] =
   "PKSIGN [--hash=[rmd160|sha{1,224,256,384,512}|md5]] <hexified_id>\n"
   "\n"
   "The --hash option is optional; the default is SHA1.";
@@ -924,7 +958,7 @@ cmd_pksign (assuan_context_t ctx, char *line)
   else if (has_option (line, "--hash=md5"))
     hash_algo = GCRY_MD_MD5;
   else if (!strstr (line, "--"))
-    hash_algo = GCRY_MD_SHA1; 
+    hash_algo = GCRY_MD_SHA1;
   else
     return set_error (GPG_ERR_ASS_PARAMETER, "invalid hash algorithm");
 
@@ -942,7 +976,7 @@ cmd_pksign (assuan_context_t ctx, char *line)
   keyidstr = xtrystrdup (line);
   if (!keyidstr)
     return out_of_core ();
-  
+
   rc = app_sign (ctrl->app_ctx,
                  keyidstr, hash_algo,
                  pin_cb, ctx,
@@ -967,7 +1001,7 @@ cmd_pksign (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_pkauth[] = 
+static const char hlp_pkauth[] =
   "PKAUTH <hexified_id>";
 static gpg_error_t
 cmd_pkauth (assuan_context_t ctx, char *line)
@@ -993,7 +1027,7 @@ cmd_pkauth (assuan_context_t ctx, char *line)
   keyidstr = xtrystrdup (line);
   if (!keyidstr)
     return out_of_core ();
-  
+
   rc = app_auth (ctrl->app_ctx,
                  keyidstr,
                  pin_cb, ctx,
@@ -1017,7 +1051,7 @@ cmd_pkauth (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_pkdecrypt[] = 
+static const char hlp_pkdecrypt[] =
   "PKDECRYPT <hexified_id>";
 static gpg_error_t
 cmd_pkdecrypt (assuan_context_t ctx, char *line)
@@ -1038,7 +1072,7 @@ cmd_pkdecrypt (assuan_context_t ctx, char *line)
   if (!keyidstr)
     return out_of_core ();
   rc = app_decipher (ctrl->app_ctx,
-                     keyidstr, 
+                     keyidstr,
                      pin_cb, ctx,
                      ctrl->in_data.value, ctrl->in_data.valuelen,
                      &outdata, &outdatalen);
@@ -1061,7 +1095,7 @@ cmd_pkdecrypt (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_getattr[] = 
+static const char hlp_getattr[] =
   "GETATTR <name>\n"
   "\n"
   "This command is used to retrieve data from a smartcard.  The\n"
@@ -1100,7 +1134,7 @@ cmd_getattr (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_setattr[] = 
+static const char hlp_setattr[] =
   "SETATTR <name> <value> \n"
   "\n"
   "This command is used to store data on a a smartcard.  The allowed\n"
@@ -1153,7 +1187,7 @@ cmd_setattr (assuan_context_t ctx, char *orig_line)
 }
 
 
-static const char hlp_writecert[] = 
+static const char hlp_writecert[] =
   "WRITECERT <hexified_certid>\n"
   "\n"
   "This command is used to store a certifciate on a smartcard.  The\n"
@@ -1205,7 +1239,7 @@ cmd_writecert (assuan_context_t ctx, char *line)
     }
 
   /* Write the certificate to the card. */
-  rc = app_writecert (ctrl->app_ctx, ctrl, certid, 
+  rc = app_writecert (ctrl->app_ctx, ctrl, certid,
                       pin_cb, ctx, certdata, certdatalen);
   xfree (certid);
   xfree (certdata);
@@ -1215,7 +1249,7 @@ cmd_writecert (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_writekey[] = 
+static const char hlp_writekey[] =
   "WRITEKEY [--force] <keyid> \n"
   "\n"
   "This command is used to store a secret key on a a smartcard.  The\n"
@@ -1282,7 +1316,7 @@ cmd_writekey (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_genkey[] = 
+static const char hlp_genkey[] =
   "GENKEY [--force] [--timestamp=<isodate>] <no>\n"
   "\n"
   "Generate a key on-card identified by NO, which is application\n"
@@ -1360,7 +1394,7 @@ cmd_genkey (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_random[] = 
+static const char hlp_random[] =
   "RANDOM <nbytes>\n"
   "\n"
   "Get NBYTES of random from the card and send them back as data.\n"
@@ -1377,7 +1411,7 @@ cmd_random (assuan_context_t ctx, char *line)
   unsigned char *buffer;
 
   if (!*line)
-    return set_error (GPG_ERR_ASS_PARAMETER, 
+    return set_error (GPG_ERR_ASS_PARAMETER,
                       "number of requested bytes missing");
   nbytes = strtoul (line, NULL, 0);
 
@@ -1443,7 +1477,7 @@ cmd_passwd (assuan_context_t ctx, char *line)
 
   if (!ctrl->app_ctx)
     return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
-  
+
   chvnostr = xtrystrdup (chvnostr);
   if (!chvnostr)
     return out_of_core ();
@@ -1457,7 +1491,7 @@ cmd_passwd (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_checkpin[] = 
+static const char hlp_checkpin[] =
   "CHECKPIN <idstr>\n"
   "\n"
   "Perform a VERIFY operation without doing anything else.  This may\n"
@@ -1511,7 +1545,7 @@ cmd_checkpin (assuan_context_t ctx, char *line)
   idstr = xtrystrdup (line);
   if (!idstr)
     return out_of_core ();
-  
+
   rc = app_check_pin (ctrl->app_ctx, idstr, pin_cb, ctx);
   xfree (idstr);
   if (rc)
@@ -1522,7 +1556,7 @@ cmd_checkpin (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_lock[] = 
+static const char hlp_lock[] =
   "LOCK [--wait]\n"
   "\n"
   "Grant exclusive card access to this session.  Note that there is\n"
@@ -1559,14 +1593,14 @@ cmd_lock (assuan_context_t ctx, char *line)
       goto retry;
     }
 #endif /*USE_GNU_PTH*/
-  
+
   if (rc)
     log_error ("cmd_lock failed: %s\n", gpg_strerror (rc));
   return rc;
 }
 
 
-static const char hlp_unlock[] = 
+static const char hlp_unlock[] =
   "UNLOCK\n"
   "\n"
   "Release exclusive card access.";
@@ -1594,7 +1628,7 @@ cmd_unlock (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_getinfo[] = 
+static const char hlp_getinfo[] =
   "GETINFO <what>\n"
   "\n"
   "Multi purpose command to return certain information.  \n"
@@ -1656,16 +1690,13 @@ cmd_getinfo (assuan_context_t ctx, char *line)
       if (!ctrl->server_local->card_removed && slot != -1)
        {
          struct slot_status_s *ss;
-         
+
          if (!(slot >= 0 && slot < DIM(slot_table)))
            BUG ();
 
          ss = &slot_table[slot];
 
-         if (!ss->valid)
-           BUG ();
-
-         if (ss->any && (ss->status & 1))
+         if (ss->valid && ss->any && (ss->status & 1))
            flag = 'u';
        }
       rc = assuan_send_data (ctx, &flag, 1);
@@ -1677,7 +1708,7 @@ cmd_getinfo (assuan_context_t ctx, char *line)
 #else
       char *s = NULL;
 #endif
-      
+
       if (s)
         rc = assuan_send_data (ctx, s, strlen (s));
       else
@@ -1701,7 +1732,7 @@ cmd_getinfo (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_restart[] = 
+static const char hlp_restart[] =
   "RESTART\n"
   "\n"
   "Restart the current connection; this is a kind of warm reset.  It\n"
@@ -1732,7 +1763,7 @@ cmd_restart (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_disconnect[] = 
+static const char hlp_disconnect[] =
   "DISCONNECT\n"
   "\n"
   "Disconnect the card if it is not any longer used by other\n"
@@ -1743,14 +1774,14 @@ cmd_disconnect (assuan_context_t ctx, char *line)
   ctrl_t ctrl = assuan_get_pointer (ctx);
 
   (void)line;
-  
+
   ctrl->server_local->disconnect_allowed = 1;
   return 0;
 }
 
 
 
-static const char hlp_apdu[] = 
+static const char hlp_apdu[] =
   "APDU [--atr] [--more] [--exlen[=N]] [hexstring]\n"
   "\n"
   "Send an APDU to the current reader.  This command bypasses the high\n"
@@ -1807,7 +1838,7 @@ cmd_apdu (assuan_context_t ctx, char *line)
       unsigned char *atr;
       size_t atrlen;
       char hexbuf[400];
-      
+
       atr = apdu_get_atr (ctrl->reader_slot, &atrlen);
       if (!atr || atrlen > sizeof hexbuf - 2 )
         {
@@ -1849,7 +1880,7 @@ cmd_apdu (assuan_context_t ctx, char *line)
 }
 
 
-static const char hlp_killscd[] = 
+static const char hlp_killscd[] =
   "KILLSCD\n"
   "\n"
   "Commit suicide.";
@@ -1883,8 +1914,8 @@ register_commands (assuan_context_t ctx)
     { "PKSIGN",       cmd_pksign,   hlp_pksign },
     { "PKAUTH",       cmd_pkauth,   hlp_pkauth },
     { "PKDECRYPT",    cmd_pkdecrypt,hlp_pkdecrypt },
-    { "INPUT",        NULL }, 
-    { "OUTPUT",       NULL }, 
+    { "INPUT",        NULL },
+    { "OUTPUT",       NULL },
     { "GETATTR",      cmd_getattr,  hlp_getattr },
     { "SETATTR",      cmd_setattr,  hlp_setattr },
     { "WRITECERT",    cmd_writecert,hlp_writecert },
@@ -1910,7 +1941,7 @@ register_commands (assuan_context_t ctx)
                                     table[i].help);
       if (rc)
         return rc;
-    } 
+    }
   assuan_set_hello_line (ctx, "GNU Privacy Guard's Smartcard server ready");
 
   assuan_register_reset_notify (ctx, reset_notify);
@@ -1928,7 +1959,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
   int rc;
   assuan_context_t ctx = NULL;
   int stopme;
-  
+
   rc = assuan_new (&ctx);
   if (rc)
     {
@@ -1996,7 +2027,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
           log_info ("Assuan accept problem: %s\n", gpg_strerror (rc));
           break;
         }
-      
+
       rc = assuan_process (ctx);
       if (rc)
         {
@@ -2006,7 +2037,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
     }
 
   /* Cleanup.  We don't send an explicit reset to the card.  */
-  do_reset (ctrl, 0); 
+  do_reset (ctrl, 0);
 
   /* Release the server object.  */
   if (session_list == ctrl->server_local)
@@ -2014,7 +2045,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
   else
     {
       struct server_local_s *sl;
-      
+
       for (sl=session_list; sl->next_session; sl = sl->next_session)
         if (sl->next_session == ctrl->server_local)
           break;
@@ -2022,7 +2053,7 @@ scd_command_handler (ctrl_t ctrl, int fd)
           BUG ();
       sl->next_session = ctrl->server_local->next_session;
     }
-  stopme = ctrl->server_local->stopme || reader_disabled;
+  stopme = ctrl->server_local->stopme;
   xfree (ctrl->server_local);
   ctrl->server_local = NULL;
 
@@ -2049,10 +2080,10 @@ send_status_info (ctrl_t ctrl, const char *keyword, ...)
   char buf[950], *p;
   size_t n;
   assuan_context_t ctx = ctrl->server_local->assuan_ctx;
-  
+
   va_start (arg_ptr, keyword);
 
-  p = buf; 
+  p = buf;
   n = 0;
   while ( (value = va_arg (arg_ptr, const unsigned char *)) )
     {
@@ -2102,17 +2133,17 @@ static void
 send_client_notifications (void)
 {
   struct {
-    pid_t pid; 
+    pid_t pid;
 #ifdef HAVE_W32_SYSTEM
     HANDLE handle;
 #else
-    int signo; 
+    int signo;
 #endif
   } killed[50];
   int killidx = 0;
   int kidx;
   struct server_local_s *sl;
-  
+
   for (sl=session_list; sl; sl = sl->next_session)
     {
       if (sl->event_signal && sl->assuan_ctx)
@@ -2120,9 +2151,9 @@ send_client_notifications (void)
           pid_t pid = assuan_get_pid (sl->assuan_ctx);
 #ifdef HAVE_W32_SYSTEM
           HANDLE handle = (void *)sl->event_signal;
-          
+
           for (kidx=0; kidx < killidx; kidx++)
-            if (killed[kidx].pid == pid 
+            if (killed[kidx].pid == pid
                 && killed[kidx].handle == handle)
               break;
           if (kidx < killidx)
@@ -2144,11 +2175,11 @@ send_client_notifications (void)
             }
 #else /*!HAVE_W32_SYSTEM*/
           int signo = sl->event_signal;
-          
+
           if (pid != (pid_t)(-1) && pid && signo > 0)
             {
               for (kidx=0; kidx < killidx; kidx++)
-                if (killed[kidx].pid == pid 
+                if (killed[kidx].pid == pid
                     && killed[kidx].signo == signo)
                   break;
               if (kidx < killidx)
@@ -2182,11 +2213,6 @@ update_reader_status_file (int set_card_removed_flag)
   int idx;
   unsigned int status, changed;
 
-  /* Make sure that the reader has been opened.  Like get_reader_slot,
-     this part of the code assumes that there is only one reader.  */
-  if (!slot_table[0].valid)
-    (void)get_reader_slot ();
-
   /* Note, that we only try to get the status, because it does not
      make sense to wait here for a operation to complete.  If we are
      busy working with a card, delays in the status file update should
@@ -2199,11 +2225,12 @@ update_reader_status_file (int set_card_removed_flag)
 
       if (!ss->valid || ss->slot == -1)
         continue; /* Not valid or reader not yet open. */
-      
+
       sw_apdu = apdu_get_status (ss->slot, 0, &status, &changed);
       if (sw_apdu == SW_HOST_NO_READER)
         {
           /* Most likely the _reader_ has been unplugged.  */
+         application_notify_card_reset (ss->slot);
          apdu_close_reader (ss->slot);
          ss->valid = 0;
           status = 0;
@@ -2212,7 +2239,7 @@ update_reader_status_file (int set_card_removed_flag)
       else if (sw_apdu)
         {
           /* Get status failed.  Ignore that.  */
-          continue; 
+          continue;
         }
 
       if (!ss->any || ss->status != status || ss->changed != changed )
@@ -2241,14 +2268,14 @@ update_reader_status_file (int set_card_removed_flag)
               fclose (fp);
             }
           xfree (fname);
-            
+
           /* If a status script is executable, run it. */
           {
             const char *args[9], *envs[2];
             char numbuf1[30], numbuf2[30], numbuf3[30];
             char *homestr, *envstr;
             gpg_error_t err;
-            
+
             homestr = make_filename (opt.homedir, NULL);
             if (estream_asprintf (&envstr, "GNUPGHOME=%s", homestr) < 0)
               log_error ("out of core while building environment\n");
@@ -2261,16 +2288,16 @@ update_reader_status_file (int set_card_removed_flag)
                 sprintf (numbuf2, "0x%04X", ss->status);
                 sprintf (numbuf3, "0x%04X", status);
                 args[0] = "--reader-port";
-                args[1] = numbuf1; 
+                args[1] = numbuf1;
                 args[2] = "--old-code";
-                args[3] = numbuf2;  
+                args[3] = numbuf2;
                 args[4] = "--new-code";
-                args[5] = numbuf3; 
+                args[5] = numbuf3;
                 args[6] = "--status";
                 args[7] = ((status & 1)? "USABLE":
                            (status & 4)? "ACTIVE":
                            (status & 2)? "PRESENT": "NOCARD");
-                args[8] = NULL;  
+                args[8] = NULL;
 
                 fname = make_filename (opt.homedir, "scd-event", NULL);
                 err = gnupg_spawn_process_detached (fname, args, envs);
@@ -2283,24 +2310,22 @@ update_reader_status_file (int set_card_removed_flag)
             xfree (homestr);
           }
 
-          /* Set the card removed flag for all current sessions.  We
-             will set this on any card change because a reset or
-             SERIALNO request must be done in any case.  */
-          if (ss->any && set_card_removed_flag)
+          /* Set the card removed flag for all current sessions.  */
+          if (ss->any && ss->status == 0 && set_card_removed_flag)
             update_card_removed (idx, 1);
-          
+
           ss->any = 1;
 
           /* Send a signal to all clients who applied for it.  */
           send_client_notifications ();
         }
-      
+
       /* Check whether a disconnect is pending.  */
       if (opt.card_timeout)
         {
           for (sl=session_list; sl; sl = sl->next_session)
             if (!sl->disconnect_allowed)
-              break; 
+              break;
           if (session_list && !sl)
             {
               /* FIXME: Use a real timeout.  */
@@ -2309,7 +2334,7 @@ update_reader_status_file (int set_card_removed_flag)
               apdu_disconnect (ss->slot);
             }
         }
-      
+
     }
 }
 
index e3f2c1b..2a9aa53 100644 (file)
@@ -94,7 +94,7 @@ map_sw (int sw)
     case SW_HOST_GENERAL_ERROR:  ec = GPG_ERR_GENERAL; break;
     case SW_HOST_NO_READER:      ec = GPG_ERR_ENODEV; break;
     case SW_HOST_ABORTED:        ec = GPG_ERR_CANCELED; break;
-    case SW_HOST_NO_KEYPAD:      ec = GPG_ERR_NOT_SUPPORTED; break;
+    case SW_HOST_NO_PINPAD:      ec = GPG_ERR_NOT_SUPPORTED; break;
 
     default:
       if ((sw & 0x010000))
@@ -267,36 +267,26 @@ iso7816_apdu_direct (int slot, const void *apdudata, size_t apdudatalen,
 
 
 /* Check whether the reader supports the ISO command code COMMAND on
-   the keypad.  Returns 0 on success.  */
+   the pinpad.  Returns 0 on success.  */
 gpg_error_t
-iso7816_check_keypad (int slot, int command, iso7816_pininfo_t *pininfo)
+iso7816_check_pinpad (int slot, int command, pininfo_t *pininfo)
 {
   int sw;
 
-  sw = apdu_check_keypad (slot, command, 
-                          pininfo->mode, pininfo->minlen, pininfo->maxlen,
-                          pininfo->padlen);
+  sw = apdu_check_pinpad (slot, command, pininfo);
   return iso7816_map_sw (sw);
 }
 
 
 /* Perform a VERIFY command on SLOT using the card holder verification
-   vector CHVNO with a CHV of lenght CHVLEN.  With PININFO non-NULL
-   the keypad of the reader will be used.  Returns 0 on success. */
+   vector CHVNO.  With PININFO non-NULL the pinpad of the reader will
+   be used.  Returns 0 on success. */
 gpg_error_t
-iso7816_verify_kp (int slot, int chvno, const char *chv, size_t chvlen,
-                   iso7816_pininfo_t *pininfo)
+iso7816_verify_kp (int slot, int chvno, pininfo_t *pininfo)
 {
   int sw;
 
-  if (pininfo && pininfo->mode)
-    sw = apdu_send_simple_kp (slot, 0x00, CMD_VERIFY, 0, chvno, chvlen, chv,
-                              pininfo->mode,
-                              pininfo->minlen,
-                              pininfo->maxlen,
-                              pininfo->padlen);
-  else
-    sw = apdu_send_simple (slot, 0, 0x00, CMD_VERIFY, 0, chvno, chvlen, chv);
+  sw = apdu_pinpad_verify (slot, 0x00, CMD_VERIFY, 0, chvno, pininfo);
   return map_sw (sw);
 }
 
@@ -305,20 +295,36 @@ iso7816_verify_kp (int slot, int chvno, const char *chv, size_t chvlen,
 gpg_error_t
 iso7816_verify (int slot, int chvno, const char *chv, size_t chvlen)
 {
-  return iso7816_verify_kp (slot, chvno, chv, chvlen, NULL);
+  int sw;
+
+  sw = apdu_send_simple (slot, 0, 0x00, CMD_VERIFY, 0, chvno, chvlen, chv);
+  return map_sw (sw);
+}
+
+/* Perform a CHANGE_REFERENCE_DATA command on SLOT for the card holder
+   verification vector CHVNO.  With PININFO non-NULL the pinpad of the
+   reader will be used.  If IS_EXCHANGE is 0, a "change reference
+   data" is done, otherwise an "exchange reference data".  */
+gpg_error_t
+iso7816_change_reference_data_kp (int slot, int chvno, int is_exchange,
+                                  pininfo_t *pininfo)
+{
+  int sw;
+
+  sw = apdu_pinpad_modify (slot, 0x00, CMD_CHANGE_REFERENCE_DATA,
+                          is_exchange ? 1 : 0, chvno, pininfo);
+  return map_sw (sw);
 }
 
 /* Perform a CHANGE_REFERENCE_DATA command on SLOT for the card holder
    verification vector CHVNO.  If the OLDCHV is NULL (and OLDCHVLEN
    0), a "change reference data" is done, otherwise an "exchange
    reference data".  The new reference data is expected in NEWCHV of
-   length NEWCHVLEN.  With PININFO non-NULL the keypad of the reader
-   will be used.  */
+   length NEWCHVLEN.  */
 gpg_error_t
-iso7816_change_reference_data_kp (int slot, int chvno,
-                                  const char *oldchv, size_t oldchvlen,
-                                  const char *newchv, size_t newchvlen,
-                                  iso7816_pininfo_t *pininfo)
+iso7816_change_reference_data (int slot, int chvno,
+                               const char *oldchv, size_t oldchvlen,
+                               const char *newchv, size_t newchvlen)
 {
   int sw;
   char *buf;
@@ -335,60 +341,13 @@ iso7816_change_reference_data_kp (int slot, int chvno,
     memcpy (buf, oldchv, oldchvlen);
   memcpy (buf+oldchvlen, newchv, newchvlen);
 
-  if (pininfo && pininfo->mode)
-    sw = apdu_send_simple_kp (slot, 0x00, CMD_CHANGE_REFERENCE_DATA,
-                           oldchvlen? 0 : 1, chvno, oldchvlen+newchvlen, buf,
-                           pininfo->mode,
-                           pininfo->minlen,
-                           pininfo->maxlen,
-                           pininfo->padlen);
-  else
-    sw = apdu_send_simple (slot, 0, 0x00, CMD_CHANGE_REFERENCE_DATA,
-                           oldchvlen? 0 : 1, chvno, oldchvlen+newchvlen, buf);
+  sw = apdu_send_simple (slot, 0, 0x00, CMD_CHANGE_REFERENCE_DATA,
+                         oldchvlen? 0 : 1, chvno, oldchvlen+newchvlen, buf);
   xfree (buf);
   return map_sw (sw);
 
 }
 
-/* Perform a CHANGE_REFERENCE_DATA command on SLOT for the card holder
-   verification vector CHVNO.  If the OLDCHV is NULL (and OLDCHVLEN
-   0), a "change reference data" is done, otherwise an "exchange
-   reference data".  The new reference data is expected in NEWCHV of
-   length NEWCHVLEN.  */
-gpg_error_t
-iso7816_change_reference_data (int slot, int chvno,
-                               const char *oldchv, size_t oldchvlen,
-                               const char *newchv, size_t newchvlen)
-{
-  return iso7816_change_reference_data_kp (slot, chvno, oldchv, oldchvlen,
-                                           newchv, newchvlen, NULL);
-}
-
-
-gpg_error_t
-iso7816_reset_retry_counter_kp (int slot, int chvno,
-                                const char *newchv, size_t newchvlen,
-                                iso7816_pininfo_t *pininfo)
-{
-  int sw;
-
-  if (!newchv || !newchvlen )
-    return gpg_error (GPG_ERR_INV_VALUE);
-
-  /* FIXME:  The keypad mode has not yet been tested.  */
-  if (pininfo && pininfo->mode)
-    sw = apdu_send_simple_kp (slot, 0x00, CMD_RESET_RETRY_COUNTER,
-                           2, chvno, newchvlen, newchv,
-                           pininfo->mode,
-                           pininfo->minlen,
-                           pininfo->maxlen,
-                           pininfo->padlen);
-  else
-    sw = apdu_send_simple (slot, 0, 0x00, CMD_RESET_RETRY_COUNTER,
-                           2, chvno, newchvlen, newchv);
-  return map_sw (sw);
-}
-
 
 gpg_error_t
 iso7816_reset_retry_counter_with_rc (int slot, int chvno,
@@ -409,7 +368,11 @@ gpg_error_t
 iso7816_reset_retry_counter (int slot, int chvno,
                              const char *newchv, size_t newchvlen)
 {
-  return iso7816_reset_retry_counter_kp (slot, chvno, newchv, newchvlen, NULL);
+  int sw;
+
+  sw = apdu_send_simple (slot, 0, 0x00, CMD_RESET_RETRY_COUNTER,
+                         2, chvno, newchvlen, newchv);
+  return map_sw (sw);
 }
 
 
index 8519712..4354c72 100644 (file)
 #include "cardglue.h"
 #endif
 
-/* Command codes used by iso7816_check_keypad. */
+/* Command codes used by iso7816_check_pinpad. */
 #define ISO7816_VERIFY                0x20
 #define ISO7816_CHANGE_REFERENCE_DATA 0x24
 #define ISO7816_RESET_RETRY_COUNTER   0x2C
 
 
-/* Information to be passed to keypad equipped readers.  See
+/* Information to be passed to pinpad equipped readers.  See
    ccid-driver.c for details. */
-struct iso7816_pininfo_s
+struct pininfo_s
 {
-  int mode;    /* A mode of 0 means: Do not use the keypad. */
+  int fixedlen;  /*
+                 * -1: Variable length input is not supported,
+                 *     no information of fixed length yet.
+                 *  0: Use variable length input.
+                 * >0: Fixed length of PIN.
+                 */
   int minlen;
   int maxlen;
-  int padlen;
-  int padchar;
 };
-typedef struct iso7816_pininfo_s iso7816_pininfo_t;
+typedef struct pininfo_s pininfo_t;
 
 
 gpg_error_t iso7816_map_sw (int sw);
@@ -59,26 +62,19 @@ gpg_error_t iso7816_apdu_direct (int slot,
                                  const void *apdudata, size_t apdudatalen, 
                                  int handle_more,
                                  unsigned char **result, size_t *resultlen);
-gpg_error_t iso7816_check_keypad (int slot, int command,
-                                  iso7816_pininfo_t *pininfo);
+gpg_error_t iso7816_check_pinpad (int slot, int command,
+                                  pininfo_t *pininfo);
 gpg_error_t iso7816_verify (int slot,
                             int chvno, const char *chv, size_t chvlen);
-gpg_error_t iso7816_verify_kp (int slot,
-                               int chvno, const char *chv, size_t chvlen,
-                               iso7816_pininfo_t *pininfo);
+gpg_error_t iso7816_verify_kp (int slot, int chvno, pininfo_t *pininfo);
 gpg_error_t iso7816_change_reference_data (int slot, int chvno,
                                const char *oldchv, size_t oldchvlen,
                                const char *newchv, size_t newchvlen);
 gpg_error_t iso7816_change_reference_data_kp (int slot, int chvno,
-                               const char *oldchv, size_t oldchvlen,
-                               const char *newchv, size_t newchvlen,
-                               iso7816_pininfo_t *pininfo);
+                                             int is_exchange,
+                                              pininfo_t *pininfo);
 gpg_error_t iso7816_reset_retry_counter (int slot, int chvno,
                                          const char *newchv, size_t newchvlen);
-gpg_error_t iso7816_reset_retry_counter_kp (int slot, int chvno,
-                                            const char *newchv,
-                                            size_t newchvlen,
-                                            iso7816_pininfo_t *pininfo);
 gpg_error_t iso7816_reset_retry_counter_with_rc (int slot, int chvno,
                                                  const char *data,
                                                  size_t datalen);
index ee974ac..0d572d2 100644 (file)
 
 static int verbose;
 
+#if defined(__APPLE__) || defined(_WIN32) || defined(__CYGWIN__)
+typedef unsigned int pcsc_dword_t;
+#else
+typedef unsigned long pcsc_dword_t;
+#endif
+
 
 /* PC/SC constants and function pointer. */
 #define PCSC_SCOPE_USER      0
@@ -112,16 +118,24 @@ struct pcsc_io_request_s {
 
 typedef struct pcsc_io_request_s *pcsc_io_request_t;
 
+#ifdef __APPLE__
+#pragma pack(1)
+#endif
+
 struct pcsc_readerstate_s
 {
   const char *reader;
   void *user_data;
-  unsigned long current_state;
-  unsigned long event_state;
-  unsigned long atrlen;
+  pcsc_dword_t current_state;
+  pcsc_dword_t event_state;
+  pcsc_dword_t atrlen;
   unsigned char atr[33];
 };
 
+#ifdef __APPLE__
+#pragma pack()
+#endif
+
 typedef struct pcsc_readerstate_s *pcsc_readerstate_t;
 
 
@@ -129,55 +143,62 @@ static int driver_is_open;     /* True if the PC/SC driver has been
                                   initialzied and is ready for
                                   operations.  The following variables
                                   are then valid. */
-static unsigned long pcsc_context;  /* The current PC/CS context. */
+static long pcsc_context;  /* The current PC/CS context. */
 static char *current_rdrname;
-static unsigned long pcsc_card;
-static unsigned long pcsc_protocol;
+static long pcsc_card;
+static pcsc_dword_t pcsc_protocol;
 static unsigned char current_atr[33];
 static size_t current_atrlen;
 
-long (* pcsc_establish_context) (unsigned long scope,
+long (* pcsc_establish_context) (pcsc_dword_t scope,
                                  const void *reserved1,
                                  const void *reserved2,
-                                 unsigned long *r_context);
-long (* pcsc_release_context) (unsigned long context);
-long (* pcsc_list_readers) (unsigned long context,
+                                 long *r_context);
+long (* pcsc_release_context) (long context);
+long (* pcsc_list_readers) (long context,
                             const char *groups,
-                            char *readers, unsigned long*readerslen);
-long (* pcsc_get_status_change) (unsigned long context,
-                                 unsigned long timeout,
+                            char *readers, pcsc_dword_t *readerslen);
+long (* pcsc_get_status_change) (long context,
+                                 pcsc_dword_t timeout,
                                  pcsc_readerstate_t readerstates,
-                                 unsigned long nreaderstates);
-long (* pcsc_connect) (unsigned long context,
+                                 pcsc_dword_t nreaderstates);
+long (* pcsc_connect) (long context,
                        const char *reader,
-                       unsigned long share_mode,
-                       unsigned long preferred_protocols,
-                       unsigned long *r_card,
-                       unsigned long *r_active_protocol);
-long (* pcsc_reconnect) (unsigned long card,
-                         unsigned long share_mode,
-                         unsigned long preferred_protocols,
-                         unsigned long initialization,
-                         unsigned long *r_active_protocol);
-long (* pcsc_disconnect) (unsigned long card,
-                          unsigned long disposition);
-long (* pcsc_status) (unsigned long card,
-                      char *reader, unsigned long *readerlen,
-                      unsigned long *r_state,
-                      unsigned long *r_protocol,
-                      unsigned char *atr, unsigned long *atrlen);
-long (* pcsc_begin_transaction) (unsigned long card);
-long (* pcsc_end_transaction) (unsigned long card,
-                               unsigned long disposition);
-long (* pcsc_transmit) (unsigned long card,
+                       pcsc_dword_t share_mode,
+                       pcsc_dword_t preferred_protocols,
+                       long *r_card,
+                       pcsc_dword_t *r_active_protocol);
+long (* pcsc_reconnect) (long card,
+                         pcsc_dword_t share_mode,
+                         pcsc_dword_t preferred_protocols,
+                         pcsc_dword_t initialization,
+                         pcsc_dword_t *r_active_protocol);
+long (* pcsc_disconnect) (long card,
+                          pcsc_dword_t disposition);
+long (* pcsc_status) (long card,
+                      char *reader, pcsc_dword_t *readerlen,
+                      pcsc_dword_t *r_state,
+                      pcsc_dword_t *r_protocol,
+                      unsigned char *atr, pcsc_dword_t *atrlen);
+long (* pcsc_begin_transaction) (long card);
+long (* pcsc_end_transaction) (long card,
+                               pcsc_dword_t disposition);
+long (* pcsc_transmit) (long card,
                         const pcsc_io_request_t send_pci,
                         const unsigned char *send_buffer,
-                        unsigned long send_len,
+                        pcsc_dword_t send_len,
                         pcsc_io_request_t recv_pci,
                         unsigned char *recv_buffer,
-                        unsigned long *recv_len);
-long (* pcsc_set_timeout) (unsigned long context,
-                           unsigned long timeout);
+                        pcsc_dword_t *recv_len);
+long (* pcsc_set_timeout) (long context,
+                           pcsc_dword_t timeout);
+long (* pcsc_control) (long card,
+                       pcsc_dword_t control_code,
+                       const void *send_buffer,
+                       pcsc_dword_t send_len,
+                       void *recv_buffer,
+                       pcsc_dword_t recv_len,
+                       pcsc_dword_t *bytes_returned);
 
 
 
@@ -335,6 +356,7 @@ load_pcsc_driver (const char *libname)
   pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
   pcsc_transmit          = dlsym (handle, "SCardTransmit");
   pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
+  pcsc_control           = dlsym (handle, "SCardControl");
 
   if (!pcsc_establish_context
       || !pcsc_release_context
@@ -347,13 +369,14 @@ load_pcsc_driver (const char *libname)
       || !pcsc_begin_transaction
       || !pcsc_end_transaction
       || !pcsc_transmit
+      || !pcsc_control
       /* || !pcsc_set_timeout */)
     {
       /* Note that set_timeout is currently not used and also not
          available under Windows. */
       fprintf (stderr,
                "apdu_open_reader: invalid PC/SC driver "
-               "(%d%d%d%d%d%d%d%d%d%d%d%d)\n",
+               "(%d%d%d%d%d%d%d%d%d%d%d%d%d)\n",
                !!pcsc_establish_context,
                !!pcsc_release_context,
                !!pcsc_list_readers,
@@ -365,7 +388,8 @@ load_pcsc_driver (const char *libname)
                !!pcsc_begin_transaction,
                !!pcsc_end_transaction,
                !!pcsc_transmit,
-               !!pcsc_set_timeout );
+               !!pcsc_set_timeout,
+               !!pcsc_control );
       dlclose (handle);
       exit (1);
     }
@@ -384,9 +408,9 @@ handle_open (unsigned char *argbuf, size_t arglen)
   long err;
   const char * portstr;
   char *list = NULL;
-  unsigned long nreader, atrlen;
+  pcsc_dword_t nreader, atrlen;
   char *p;
-  unsigned long card_state, card_protocol;
+  pcsc_dword_t card_state, card_protocol;
   unsigned char atr[33];
 
   /* Make sure there is only the port string */
@@ -482,7 +506,7 @@ handle_open (unsigned char *argbuf, size_t arglen)
   if (!err)
     {
       char reader[250];
-      unsigned long readerlen;
+      pcsc_dword_t readerlen;
 
       atrlen = 33;
       readerlen = sizeof reader -1;
@@ -578,9 +602,11 @@ handle_status (unsigned char *argbuf, size_t arglen)
   if ( !(rdrstates[0].event_state & PCSC_STATE_UNKNOWN) )
     {
       if ( (rdrstates[0].event_state & PCSC_STATE_PRESENT) )
-        status |= 2;
-      if ( !(rdrstates[0].event_state & PCSC_STATE_MUTE) )
-        status |= 4;
+       {
+         status |= 2;
+         if ( !(rdrstates[0].event_state & PCSC_STATE_MUTE) )
+           status |= 4;
+       }
       /* We indicate a useful card if it is not in use by another
          application.  This is because we only use exclusive access
          mode.  */
@@ -616,8 +642,8 @@ handle_reset (unsigned char *argbuf, size_t arglen)
 {
   long err;
   char reader[250];
-  unsigned long nreader, atrlen;
-  unsigned long card_state, card_protocol;
+  pcsc_dword_t nreader, atrlen;
+  pcsc_dword_t card_state, card_protocol;
 
   (void)argbuf;
   (void)arglen;
@@ -687,8 +713,8 @@ handle_transmit (unsigned char *argbuf, size_t arglen)
 {
   long err;
   struct pcsc_io_request_s send_pci;
-  unsigned long recv_len;
-  unsigned char buffer[1024];
+  pcsc_dword_t recv_len;
+  unsigned char buffer[4096];
 
   /* The apdu should at least be one byte. */
   if (!arglen)
@@ -720,6 +746,38 @@ handle_transmit (unsigned char *argbuf, size_t arglen)
 }
 
 
+/* Handle a control request.  The argument is expected to be a buffer
+   which contains CONTROL_CODE (4-byte) and INPUT_BYTES.
+ */
+static void
+handle_control (unsigned char *argbuf, size_t arglen)
+{
+  long err;
+  pcsc_dword_t ioctl_code;
+  pcsc_dword_t recv_len = 1024;
+  unsigned char buffer[1024];
+
+  if (arglen < 4)
+    bad_request ("CONTROL");
+
+  ioctl_code = (argbuf[0] << 24) | (argbuf[1] << 16) | (argbuf[2] << 8) | argbuf[3];
+  argbuf += 4;
+  arglen -= 4;
+
+  recv_len = sizeof (buffer);
+  err = pcsc_control (pcsc_card, ioctl_code, argbuf, arglen,
+                      buffer, recv_len, &recv_len);
+  if (err)
+    {
+      if (verbose)
+        fprintf (stderr, PGM": pcsc_control failed: %s (0x%lx)\n",
+                 pcsc_error_string (err), err);
+      request_failed (err);
+      return;
+    }
+  request_succeeded (buffer, recv_len);
+}
+
 
 static void
 print_version (int with_help)
@@ -831,6 +889,10 @@ main (int argc, char **argv)
           handle_reset (argbuffer, arglen);
           break;
 
+        case 6:
+          handle_control (argbuffer, arglen);
+          break;
+
         default:
           fprintf (stderr, PGM ": invalid request 0x%02X\n", c);
           exit (1);
diff --git a/scd/scdaemon-w32info.rc b/scd/scdaemon-w32info.rc
new file mode 100644 (file)
index 0000000..aa0eba4
--- /dev/null
@@ -0,0 +1,50 @@
+/* scdaemon-w32info.rc                                        -*- c -*-
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "afxres.h"
+#include "../common/w32info-rc.h"
+
+1 ICON "../common/gnupg.ico"
+
+1 VERSIONINFO
+  FILEVERSION    W32INFO_VI_FILEVERSION
+  PRODUCTVERSION W32INFO_VI_PRODUCTVERSION
+  FILEFLAGSMASK  0x3fL
+#ifdef _DEBUG
+  FILEFLAGS      0x01L    /* VS_FF_DEBUG (0x1)*/
+#else
+  FILEFLAGS      0x00L
+#endif
+  FILEOS         0x40004L /* VOS_NT (0x40000) | VOS__WINDOWS32 (0x4)  */
+  FILETYPE       0x1L     /* VFT_APP (0x1)  */
+  FILESUBTYPE    0x0L     /* VFT2_UNKNOWN   */
+  BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"  /* US English (0409), Unicode (04b0) */
+        BEGIN
+            VALUE "FileDescription", L"GnuPG\x2019s smartcard daemon\0"
+            VALUE "InternalName", "scdaemon\0"
+            VALUE "OriginalFilename", "scdaemon.exe\0"
+            VALUE "ProductName",    W32INFO_PRODUCTNAME
+            VALUE "ProductVersion", W32INFO_PRODUCTVERSION
+            VALUE "CompanyName", W32INFO_COMPANYNAME
+            VALUE "FileVersion", W32INFO_FILEVERSION
+            VALUE "LegalCopyright", W32INFO_LEGALCOPYRIGHT
+            VALUE "Comments",    W32INFO_COMMENTS
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+      VALUE "Translation", 0x409, 0x4b0
+    END
+  END
index 064d342..e133ddc 100644 (file)
@@ -48,6 +48,7 @@
 #include "i18n.h"
 #include "sysutils.h"
 #include "app-common.h"
+#include "iso7816.h"
 #include "apdu.h"
 #include "ccid-driver.h"
 #include "mkdtemp.h"
@@ -87,10 +88,11 @@ enum cmd_and_opt_values
   opcscDriver,
   oDisableCCID,
   oDisableOpenSC,
-  oDisableKeypad,
+  oDisablePinpad,
   oAllowAdmin,
   oDenyAdmin,
   oDisableApplication,
+  oEnablePinpadVarlen,
   oDebugDisableTicker
 };
 
@@ -137,12 +139,17 @@ static ARGPARSE_OPTS opts[] = {
                 /* end --disable-ccid */),
   ARGPARSE_s_u (oCardTimeout, "card-timeout",
                 N_("|N|disconnect the card after N seconds of inactivity")),
-  ARGPARSE_s_n (oDisableKeypad, "disable-keypad",
-                N_("do not use a reader's keypad")),
+
+  ARGPARSE_s_n (oDisablePinpad, "disable-pinpad",
+                N_("do not use a reader's pinpad")),
+  ARGPARSE_ignore (300, "disable-keypad"),
+
   ARGPARSE_s_n (oAllowAdmin, "allow-admin", "@"),
   ARGPARSE_s_n (oDenyAdmin, "deny-admin",
                 N_("deny the use of admin card commands")),
   ARGPARSE_s_s (oDisableApplication, "disable-application", "@"),
+  ARGPARSE_s_n (oEnablePinpadVarlen, "enable-pinpad-varlen",
+                N_("use variable length input for pinpad")),
 
   ARGPARSE_end ()
 };
@@ -205,12 +212,15 @@ static void handle_connections (int listen_fd);
 /* Pth wrapper function definitions. */
 ASSUAN_SYSTEM_PTH_IMPL;
 
+#if GCRYPT_VERSION_NUMBER < 0x010600
 GCRY_THREAD_OPTION_PTH_IMPL;
+#if GCRY_THREAD_OPTION_VERSION < 1
 static int fixed_gcry_pth_init (void)
 {
   return pth_self ()? 0 : (pth_init () == FALSE) ? errno : 0;
 }
-
+#endif
+#endif /*GCRYPT_VERSION_NUMBER < 0x010600*/
 
 \f
 static char *
@@ -372,7 +382,6 @@ main (int argc, char **argv )
 {
   ARGPARSE_ARGS pargs;
   int orig_argc;
-  gpg_error_t err;
   char **orig_argv;
   FILE *configfp = NULL;
   char *configname = NULL;
@@ -407,15 +416,23 @@ main (int argc, char **argv )
   init_common_subsystems ();
 
 
-  /* Libgcrypt requires us to register the threading model first.
+#if GCRYPT_VERSION_NUMBER < 0x010600
+  /* Libgcrypt < 1.6 requires us to register the threading model first.
      Note that this will also do the pth_init. */
+  {
+    gpg_error_t err;
+#if GCRY_THREAD_OPTION_VERSION < 1
   gcry_threads_pth.init = fixed_gcry_pth_init;
+#endif
+
   err = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
   if (err)
     {
       log_fatal ("can't register GNU Pth with Libgcrypt: %s\n",
                  gpg_strerror (err));
     }
+  }
+#endif /*GCRYPT_VERSION_NUMBER < 0x010600*/
 
   /* Check that the libraries are suitable.  Do it here because
      the option parsing may need services of the library */
@@ -579,7 +596,7 @@ main (int argc, char **argv )
         case oDisableCCID: opt.disable_ccid = 1; break;
         case oDisableOpenSC: break;
 
-        case oDisableKeypad: opt.disable_keypad = 1; break;
+        case oDisablePinpad: opt.disable_pinpad = 1; break;
 
         case oAllowAdmin: /* Dummy because allow is now the default.  */
           break;
@@ -591,6 +608,8 @@ main (int argc, char **argv )
           add_to_strlist (&opt.disabled_applications, pargs.r.ret_str);
           break;
 
+       case oEnablePinpadVarlen: opt.enable_pinpad_varlen = 1; break;
+
         default:
           pargs.err = configfp? ARGPARSE_PRINT_WARNING:ARGPARSE_PRINT_ERROR;
           break;
@@ -670,8 +689,9 @@ main (int argc, char **argv )
       printf ("disable-ccid:%lu:\n", GC_OPT_FLAG_NONE );
 #endif
       printf ("deny-admin:%lu:\n", GC_OPT_FLAG_NONE );
-      printf ("disable-keypad:%lu:\n", GC_OPT_FLAG_NONE );
+      printf ("disable-pinpad:%lu:\n", GC_OPT_FLAG_NONE );
       printf ("card-timeout:%lu:%d:\n", GC_OPT_FLAG_DEFAULT, 0);
+      printf ("enable-pinpad-varlen:%lu:\n", GC_OPT_FLAG_NONE );
 
       scd_exit (0);
     }
index c429396..5ead4aa 100644 (file)
@@ -56,7 +56,8 @@ struct
   const char *pcsc_driver;  /* Library to access the PC/SC system. */
   const char *reader_port;  /* NULL or reder port to use. */
   int disable_ccid;    /* Disable the use of the internal CCID driver. */
-  int disable_keypad;  /* Do not use a keypad. */
+  int disable_pinpad;  /* Do not use a pinpad. */
+  int enable_pinpad_varlen;  /* Use variable length input for pinpad. */
   int allow_admin;     /* Allow the use of admin commands for certain
                           cards. */
   strlist_t disabled_applications;  /* Card applications we do not
index c985324..531136b 100755 (executable)
@@ -1,14 +1,14 @@
 #! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2005-05-14.22
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # 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 3, or (at your option)
+# the Free Software Foundation; either version 2, or (at your option)
 # any later version.
 #
 # This program is distributed in the hope that it will be useful,
@@ -17,8 +17,8 @@ scriptversion=2005-05-14.22
 # 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 <http://www.gnu.org/licenses/>.
-#
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
@@ -28,21 +28,224 @@ scriptversion=2005-05-14.22
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""       $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+           file_conv=mingw
+           ;;
+         CYGWIN*)
+           file_conv=cygwin
+           ;;
+         *)
+           file_conv=wine
+           ;;
+       esac
+      fi
+      case $file_conv/,$2, in
+       *,$file_conv,*)
+         ;;
+       mingw/*)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+       cygwin/*)
+         file=`cygpath -m "$file" || echo "$file"`
+         ;;
+       wine/*)
+         file=`winepath -w "$file" || echo "$file"`
+         ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+       -o)
+         # configure might choose to run compile as 'compile cc -o foo foo.c'.
+         eat=1
+         case $2 in
+           *.o | *.[oO][bB][jJ])
+             func_file_conv "$2"
+             set x "$@" -Fo"$file"
+             shift
+             ;;
+           *)
+             func_file_conv "$2"
+             set x "$@" -Fe"$file"
+             shift
+             ;;
+         esac
+         ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -I*)
+         func_file_conv "${1#-I}" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -l*)
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
+       -L*)
+         func_cl_dashL "${1#-L}"
+         ;;
+       -static)
+         shared=false
+         ;;
+       -Wl,*)
+         arg=${1#-Wl,}
+         save_ifs="$IFS"; IFS=','
+         for flag in $arg; do
+           IFS="$save_ifs"
+           linker_opts="$linker_opts $flag"
+         done
+         IFS="$save_ifs"
+         ;;
+       -Xlinker)
+         eat=1
+         linker_opts="$linker_opts $2"
+         ;;
+       -*)
+         set x "$@" "$1"
+         shift
+         ;;
+       *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+         func_file_conv "$1"
+         set x "$@" -Tp"$file"
+         shift
+         ;;
+       *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+         func_file_conv "$1" mingw
+         set x "$@" "$file"
+         shift
+         ;;
+       *)
+         set x "$@" "$1"
+         shift
+         ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: compile [--help] [--version] PROGRAM [ARGS]
 
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 arguments, and rename the output as expected.
 
 If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
@@ -52,11 +255,13 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
 esac
 
 ofile=
 cfile=
-eat=
 
 for arg
 do
@@ -65,8 +270,8 @@ do
   else
     case $1 in
       -o)
-       # configure might choose to run compile as `compile cc -o foo foo.c'.
-       # So we strip `-o arg' only if arg is an object.
+       # configure might choose to run compile as 'compile cc -o foo foo.c'.
+       # So we strip '-o arg' only if arg is an object.
        eat=1
        case $2 in
          *.o | *.obj)
@@ -93,22 +298,22 @@ do
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
+  # If no '-o' option was seen then we might have been invoked from a
   # pattern rule where we don't need one.  That is ok -- this is a
   # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
+  # '.c' file was seen then we are probably linking.  That is also
   # ok.
   exec "$@"
 fi
 
 # Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 while true; do
   if mkdir "$lockdir" >/dev/null 2>&1; then
     break
@@ -123,9 +328,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
 ret=$?
 
 if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 fi
 
 rmdir "$lockdir"
@@ -137,5 +342,6 @@ exit $ret
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
index d622a44..f475ceb 100755 (executable)
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2013-02-12'
 
 # This file 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
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -54,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -200,6 +194,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +300,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -801,6 +799,9 @@ EOF
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
@@ -952,6 +953,9 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
        ;;
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     or32:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
@@ -1201,6 +1205,9 @@ EOF
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
        echo i586-pc-haiku
        exit ;;
+    x86_64:Haiku:*:*)
+       echo x86_64-unknown-haiku
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1256,7 +1263,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1330,9 +1337,6 @@ EOF
        exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
index c547c68..c38b914 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2007 Free Software Foundation, Inc.
+#   Copyright 1996-2013 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -25,7 +25,7 @@
 #   known workaround is to choose shorter directory names for the build
 #   directory and/or the installation directory.
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 shrext=.so
@@ -47,7 +47,7 @@ for cc_temp in $CC""; do
 done
 cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
 
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
 
 wl=
 if test "$GCC" = yes; then
@@ -57,14 +57,7 @@ else
     aix*)
       wl='-Wl,'
       ;;
-    darwin*)
-      case $cc_basename in
-        xlc*)
-          wl='-Wl,'
-          ;;
-      esac
-      ;;
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
       ;;
     hpux9* | hpux10* | hpux11*)
       wl='-Wl,'
@@ -72,24 +65,37 @@ else
     irix5* | irix6* | nonstopux*)
       wl='-Wl,'
       ;;
-    newsos6)
-      ;;
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
-        icc* | ecc*)
+        ecc*)
           wl='-Wl,'
           ;;
-        pgcc | pgf77 | pgf90)
+        icc* | ifort*)
+          wl='-Wl,'
+          ;;
+        lf95*)
+          wl='-Wl,'
+          ;;
+        nagfor*)
+          wl='-Wl,-Wl,,'
+          ;;
+        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
           wl='-Wl,'
           ;;
         ccc*)
           wl='-Wl,'
           ;;
+        xl* | bgxl* | bgf* | mpixl*)
+          wl='-Wl,'
+          ;;
         como)
           wl='-lopt='
           ;;
         *)
           case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ F* | *Sun*Fortran*)
+              wl=
+              ;;
             *Sun\ C*)
               wl='-Wl,'
               ;;
@@ -97,13 +103,24 @@ else
           ;;
       esac
       ;;
+    newsos6)
+      ;;
+    *nto* | *qnx*)
+      ;;
     osf3* | osf4* | osf5*)
       wl='-Wl,'
       ;;
     rdos*)
       ;;
     solaris*)
-      wl='-Wl,'
+      case $cc_basename in
+        f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+          wl='-Qoption ld '
+          ;;
+        *)
+          wl='-Wl,'
+          ;;
+      esac
       ;;
     sunos4*)
       wl='-Qoption ld '
@@ -124,7 +141,7 @@ else
   esac
 fi
 
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
 
 hardcode_libdir_flag_spec=
 hardcode_libdir_separator=
@@ -132,7 +149,7 @@ hardcode_direct=no
 hardcode_minus_L=no
 
 case "$host_os" in
-  cygwin* | mingw* | pw32*)
+  cygwin* | mingw* | pw32* | cegcc*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
@@ -158,22 +175,21 @@ if test "$with_gnu_ld" = yes; then
   # option of GNU ld is called -rpath, not --rpath.
   hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
   case "$host_os" in
-    aix3* | aix4* | aix5*)
+    aix[3-9]*)
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
         ld_shlibs=no
       fi
       ;;
     amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we cannot use
-      # them.
-      ld_shlibs=no
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
       ;;
     beos*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -182,7 +198,7 @@ if test "$with_gnu_ld" = yes; then
         ld_shlibs=no
       fi
       ;;
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
@@ -192,11 +208,13 @@ if test "$with_gnu_ld" = yes; then
         ld_shlibs=no
       fi
       ;;
+    haiku*)
+      ;;
     interix[3-9]*)
       hardcode_direct=no
       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
       ;;
-    gnu* | linux* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
@@ -254,7 +272,7 @@ else
         hardcode_direct=unsupported
       fi
       ;;
-    aix4* | aix5*)
+    aix[4-9]*)
       if test "$host_cpu" = ia64; then
         # On IA64, the linker does run time linking by default, so we don't
         # have to do anything special.
@@ -264,7 +282,7 @@ else
         # Test if we are trying to use run time linking or normal
         # AIX style linking. If -brtl is somewhere in LDFLAGS, we
         # need to do runtime linking.
-        case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
           for ld_flag in $LDFLAGS; do
             if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
               aix_use_runtimelinking=yes
@@ -319,14 +337,18 @@ else
       fi
       ;;
     amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
       ;;
     bsdi[45]*)
       ;;
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # When not using gcc, we currently assume that we are using
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -336,24 +358,15 @@ else
       ;;
     darwin* | rhapsody*)
       hardcode_direct=no
-      if test "$GCC" = yes ; then
+      if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
         :
       else
-        case $cc_basename in
-          xlc*)
-            ;;
-          *)
-            ld_shlibs=no
-            ;;
-        esac
+        ld_shlibs=no
       fi
       ;;
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd1*)
-      ld_shlibs=no
-      ;;
     freebsd2.2*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
@@ -414,6 +427,8 @@ else
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       hardcode_libdir_separator=:
       ;;
+    *nto* | *qnx*)
+      ;;
     openbsd*)
       if test -f /usr/libexec/ld.so; then
         hardcode_direct=yes
@@ -494,7 +509,7 @@ else
 fi
 
 # Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
 # Unlike libtool.m4, here we don't care about _all_ names of the library, but
 # only about the one the linker finds when passed -lNAME. This is the last
 # element of library_names_spec in libtool.m4, or possibly two of them if the
@@ -505,11 +520,16 @@ case "$host_os" in
   aix3*)
     library_names_spec='$libname.a'
     ;;
-  aix4* | aix5*)
+  aix[4-9]*)
     library_names_spec='$libname$shrext'
     ;;
   amigaos*)
-    library_names_spec='$libname.a'
+    case "$host_cpu" in
+      powerpc*)
+        library_names_spec='$libname$shrext' ;;
+      m68k)
+        library_names_spec='$libname.a' ;;
+    esac
     ;;
   beos*)
     library_names_spec='$libname$shrext'
@@ -517,7 +537,7 @@ case "$host_os" in
   bsdi[45]*)
     library_names_spec='$libname$shrext'
     ;;
-  cygwin* | mingw* | pw32*)
+  cygwin* | mingw* | pw32* | cegcc*)
     shrext=.dll
     library_names_spec='$libname.dll.a $libname.lib'
     ;;
@@ -528,8 +548,6 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
-  freebsd1*)
-    ;;
   freebsd* | dragonfly*)
     case "$host_os" in
       freebsd[123]*)
@@ -541,6 +559,9 @@ case "$host_os" in
   gnu*)
     library_names_spec='$libname$shrext'
     ;;
+  haiku*)
+    library_names_spec='$libname$shrext'
+    ;;
   hpux9* | hpux10* | hpux11*)
     case $host_cpu in
       ia64*)
@@ -576,7 +597,7 @@ case "$host_os" in
     ;;
   linux*oldld* | linux*aout* | linux*coff*)
     ;;
-  linux* | k*bsd*-gnu)
+  linux* | k*bsd*-gnu | kopensolaris*-gnu)
     library_names_spec='$libname$shrext'
     ;;
   knetbsd*-gnu)
@@ -588,7 +609,7 @@ case "$host_os" in
   newsos6)
     library_names_spec='$libname$shrext'
     ;;
-  nto-qnx*)
+  *nto* | *qnx*)
     library_names_spec='$libname$shrext'
     ;;
   openbsd*)
@@ -619,6 +640,9 @@ case "$host_os" in
   sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     library_names_spec='$libname$shrext'
     ;;
+  tpf*)
+    library_names_spec='$libname$shrext'
+    ;;
   uts4*)
     library_names_spec='$libname$shrext'
     ;;
index c894da4..872199a 100755 (executable)
@@ -1,24 +1,18 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2013-02-12'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file 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
+# This file 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 3 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.
+# 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 <http://www.gnu.org/licenses/>.
@@ -26,11 +20,12 @@ timestamp='2012-02-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +116,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +149,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
@@ -225,6 +218,12 @@ case $os in
        -isc*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
+       -lynx*178)
+               os=-lynxos178
+               ;;
+       -lynx*5)
+               os=-lynxos5
+               ;;
        -lynx*)
                os=-lynxos
                ;;
@@ -253,8 +252,10 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+       | arc \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
@@ -267,7 +268,7 @@ case $basic_machine in
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -285,16 +286,17 @@ case $basic_machine in
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | open8 \
-       | or32 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -383,7 +385,8 @@ case $basic_machine in
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -401,12 +404,13 @@ case $basic_machine in
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
        | orion-* \
@@ -782,9 +786,13 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-       microblaze)
+       microblaze*)
                basic_machine=microblaze-xilinx
                ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
                basic_machine=i386-pc
                os=-mingw32
@@ -1013,7 +1021,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -1340,21 +1352,21 @@ case $os in
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1486,9 +1498,6 @@ case $os in
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1537,6 +1546,9 @@ case $basic_machine in
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       hexagon-*)
+               os=-elf
+               ;;
        tic54x-*)
                os=-coff
                ;;
@@ -1577,6 +1589,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
index e1c6e34..91d4bf8 100755 (executable)
@@ -1,14 +1,13 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2006-10-15.18
+scriptversion=2012-10-18.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
 # 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 3, or (at your option)
+# the Free Software Foundation; either version 2, or (at your option)
 # any later version.
 
 # This program is distributed in the hope that it will be useful,
@@ -17,7 +16,7 @@ scriptversion=2006-10-15.18
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -28,9 +27,9 @@ scriptversion=2006-10-15.18
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -40,11 +39,11 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
@@ -57,6 +56,66 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -80,9 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -105,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -114,13 +198,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -128,31 +216,31 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -163,115 +251,136 @@ hp)
   exit 1
   ;;
 
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> $depfile
-    echo >> $depfile
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
   ;;
 
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
-  tmpdepfile="$stripped.u"
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
     "$@" -Wc,-M
   else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
     "$@" -M
   fi
   stat=$?
-
-  if test -f "$tmpdepfile"; then :
-  else
-    stripped=`echo "$stripped" | sed 's,^.*/,,'`
-    tmpdepfile="$stripped.u"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
   fi
 
-  if test $stat -eq 0; then :
-  else
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
-
-  if test -f "$tmpdepfile"; then
-    outname="$stripped.o"
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
-    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
 
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -283,8 +392,8 @@ icc)
   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   # Some versions of the HPUX 10.20 sed can't process this invocation
   # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -295,9 +404,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -308,8 +416,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -319,72 +426,106 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
+    sed -ne '2,${
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
+
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
 
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
@@ -397,13 +538,13 @@ dashmstdout)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -423,18 +564,18 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -448,41 +589,51 @@ makedepend)
   "$@" || exit $?
   # Remove any Libtool call
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
   fi
   # X makedepend
   shift
-  cleared=no
-  for arg in "$@"; do
+  cleared=no eat=no
+  for arg
+  do
     case $cleared in
     no)
       set ""; shift
       cleared=yes ;;
     esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
     case "$arg" in
     -D*|-I*)
       set fnord "$@" "$arg"; shift ;;
     # Strip any option that makedepend may not understand.  Remove
     # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
     -*|$object)
       ;;
     *)
       set fnord "$@" "$arg"; shift ;;
     esac
   done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -493,13 +644,13 @@ cpp)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -518,10 +669,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -531,35 +682,56 @@ cpp)
 
 msvisualcpp)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
+  # always write the preprocessed file to stdout.
   "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
   IFS=" "
   for arg
   do
     case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::   \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 none)
   exec "$@"
   ;;
@@ -578,5 +750,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
index 4fbbae7..377bb86 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-10-14.15
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2006-10-14.15
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -48,7 +48,7 @@ IFS=" ""      $nl"
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
 if test -z "$doit"; then
   doit_exec=exec
 else
@@ -58,34 +58,49 @@ fi
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
 
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
 
-posix_glob=
 posix_mkdir=
 
 # Desired mode of installed file.
 mode=0755
 
+chgrpcmd=
 chmodcmd=$chmodprog
 chowncmd=
-chgrpcmd=
-stripcmd=
+mvcmd=$mvprog
 rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
 src=
 dst=
 dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
 no_target_directory=
 
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
    or: $0 [OPTION]... SRCFILES... DIRECTORY
    or: $0 [OPTION]... -t DIRECTORY SRCFILES...
    or: $0 [OPTION]... -d DIRECTORIES...
@@ -95,65 +110,59 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
 In the 4th, create DIRECTORIES.
 
 Options:
--c         (ignored)
--d         create directories instead of installing files.
--g GROUP   $chgrpprog installed files to GROUP.
--m MODE    $chmodprog installed files to MODE.
--o USER    $chownprog installed files to USER.
--s         $stripprog installed files.
--t DIRECTORY  install into DIRECTORY.
--T         report an error if DSTFILE is a directory.
---help     display this help and exit.
---version  display version info and exit.
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
 
 Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
 "
 
 while test $# -ne 0; do
   case $1 in
-    -c) shift
-        continue;;
+    -c) ;;
 
-    -d) dir_arg=true
-        shift
-        continue;;
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-        shift
-        shift
-        continue;;
+       shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-        shift
-        shift
        case $mode in
          *' '* | *'    '* | *'
 '*       | *'*'* | *'?'* | *'['*)
            echo "$0: invalid mode: $mode" >&2
            exit 1;;
        esac
-        continue;;
+       shift;;
 
     -o) chowncmd="$chownprog $2"
-        shift
-        shift
-        continue;;
+       shift;;
 
-    -s) stripcmd=$stripprog
-        shift
-        continue;;
+    -s) stripcmd=$stripprog;;
 
-    -t) dstarg=$2
-       shift
-       shift
-       continue;;
+    -t) dst_arg=$2
+       # Protect names problematic for 'test' and other utilities.
+       case $dst_arg in
+         -* | [=\(\)!]) dst_arg=./$dst_arg;;
+       esac
+       shift;;
 
-    -T) no_target_directory=true
-       shift
-       continue;;
+    -T) no_target_directory=true;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
@@ -165,21 +174,26 @@ while test $# -ne 0; do
 
     *)  break;;
   esac
+  shift
 done
 
-if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
   # Otherwise, the last argument is the destination.  Remove it from $@.
   for arg
   do
-    if test -n "$dstarg"; then
+    if test -n "$dst_arg"; then
       # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dstarg"
+      set fnord "$@" "$dst_arg"
       shift # fnord
     fi
     shift # arg
-    dstarg=$arg
+    dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -188,13 +202,17 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -222,9 +240,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
-    -*) src=./$src ;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -242,22 +260,17 @@ do
       exit 1
     fi
 
-    if test -z "$dstarg"; then
+    if test -z "$dst_arg"; then
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
-    dst=$dstarg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst ;;
-    esac
+    dst=$dst_arg
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
       if test -n "$no_target_directory"; then
-       echo "$0: $dstarg: Is a directory" >&2
+       echo "$0: $dst_arg: Is a directory" >&2
        exit 1
       fi
       dstdir=$dst
@@ -341,7 +354,7 @@ do
              if test -z "$dir_arg" || {
                   # Check for POSIX incompatibilities with -m.
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
+                  # other-writable bit of parent directory when it shouldn't.
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                   case $ls_ld_tmpdir in
@@ -378,33 +391,26 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-       /*) prefix=;;
-       -*) prefix=./ ;;
-       *)  prefix= ;;
+       /*) prefix='/';;
+       [-=\(\)!]*) prefix='./';;
+       *)  prefix='';;
       esac
 
-      case $posix_glob in
-        '')
-         if (set -f) 2>/dev/null; then
-           posix_glob=true
-         else
-           posix_glob=false
-         fi ;;
-      esac
+      eval "$initialize_posix_glob"
 
       oIFS=$IFS
       IFS=/
-      $posix_glob && set -f
+      $posix_glob set -f
       set fnord $dstdir
       shift
-      $posix_glob && set +f
+      $posix_glob set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-       test -z "$d" && continue
+       test X"$d" = X && continue
 
        prefix=$prefix$d
        if test -d "$prefix"; then
@@ -459,41 +465,54 @@ do
     # ignore errors from any of these, just make sure not to ignore
     # errors from the above "$doit $cpprog $src $dsttmp" command.
     #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
-      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
-      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
-      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # Now rename the file to the real destination.
-    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
-      || {
-          # The rename failed, perhaps because mv can't rename something else
-          # to itself, or perhaps because mv is so ancient that it does not
-          # support -f.
-
-          # Now remove or move aside any old file at destination location.
-          # We try this two ways since rm can't unlink itself on some
-          # systems and the destination file might be busy for other
-          # reasons.  In this case, the final cleanup might fail but the new
-          # file should still install successfully.
-          {
-            if test -f "$dst"; then
-              $doit $rmcmd -f "$dst" 2>/dev/null \
-              || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
-                    && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
-              || {
-                echo "$0: cannot unlink or rename $dst" >&2
-                (exit 1); exit 1
-              }
-            else
-              :
-            fi
-          } &&
-
-          # Now rename the file to the real destination.
-          $doit $mvcmd "$dsttmp" "$dst"
-        }
-    } || exit 1
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+       # Now remove or move aside any old file at destination location.
+       # We try this two ways since rm can't unlink itself on some
+       # systems and the destination file might be busy for other
+       # reasons.  In this case, the final cleanup might fail but the new
+       # file should still install successfully.
+       {
+         test ! -f "$dst" ||
+         $doit $rmcmd -f "$dst" 2>/dev/null ||
+         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+         } ||
+         { echo "$0: cannot unlink or rename $dst" >&2
+           (exit 1); exit 1
+         }
+       } &&
+
+       # Now rename the file to the real destination.
+       $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
 
     trap '' 0
   fi
@@ -503,5 +522,6 @@ done
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
index 9a6d216..b3719cf 100755 (executable)
@@ -1,10 +1,9 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2005-06-29.22
+scriptversion=2010-08-21.06; # UTC
 
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
-# Foundation, Inc.
+# Copyright (C) 1995-2013 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
@@ -18,7 +17,8 @@ scriptversion=2005-06-29.22
 # 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 <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
@@ -28,16 +28,26 @@ scriptversion=2005-06-29.22
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+fi
+
 case $1 in
   '')
-     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No file.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: mdate-sh [--help] [--version] FILE
 
-Pretty-print the modification time of FILE.
+Pretty-print the modification day of FILE, in the format:
+1 January 1970
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
@@ -49,6 +59,13 @@ EOF
     ;;
 esac
 
+error ()
+{
+  echo "$0: $1" >&2
+  exit 1
+}
+
+
 # Prevent date giving response in another language.
 LANG=C
 export LANG
@@ -58,7 +75,7 @@ LC_TIME=C
 export LC_TIME
 
 # GNU ls changes its time format in response to the TIME_STYLE
-# variable.  Since we cannot assume `unset' works, revert this
+# variable.  Since we cannot assume 'unset' works, revert this
 # variable to its documented default.
 if test "${TIME_STYLE+set}" = set; then
   TIME_STYLE=posix-long-iso
@@ -73,27 +90,32 @@ if ls -L /dev/null 1>/dev/null 2>&1; then
 else
   ls_command='ls -l -d'
 fi
+# Avoid user/group names that might have spaces, when possible.
+if ls -n /dev/null 1>/dev/null 2>&1; then
+  ls_command="$ls_command -n"
+fi
 
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
 #  drwxrwx---        0 Aug 11  2001 foo
 # This differs from Unix, which adds ownership information.
 #  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
 #
 # To find the date, we split the line on spaces and iterate on words
 # until we find a month.  This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc.  However, it's unlikely that '/'
 # will be owned by a user whose name is a month.  So we first look at
 # the extended ls output of the root directory to decide how many
 # words should be skipped to get the date.
 
 # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
-set x`ls -l -d /`
+set x`$ls_command /`
 
 # Find which argument is the month.
 month=
 command=
 until test $month
 do
+  test $# -gt 0 || error "failed parsing '$ls_command /' output"
   shift
   # Add another shift to the command.
   command="$command shift;"
@@ -113,8 +135,10 @@ do
   esac
 done
 
+test -n "$month" || error "failed parsing '$ls_command /' output"
+
 # Get the extended ls output of the file or directory.
-set dummy x`eval "$ls_command \"\$save_arg1\""`
+set dummy x`eval "$ls_command \"\\\$save_arg1\""`
 
 # Remove all preceding arguments
 eval $command
@@ -195,5 +219,6 @@ echo $day $month $year
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
index ef7e16f..55d537f 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
 
-scriptversion=2006-05-11.19
+scriptversion=2009-04-28.21; # UTC
 
 # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
 # Created: 1993-05-16
@@ -81,9 +81,9 @@ case $dirmode in
       echo "mkdir -p -- $*"
       exec mkdir -p -- "$@"
     else
-      # On NextStep and OpenStep, the `mkdir' command does not
+      # On NextStep and OpenStep, the 'mkdir' command does not
       # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because `.' already
+      # directories to create, and then abort because '.' already
       # exists.
       test -d ./-p && rmdir ./-p
       test -d ./--version && rmdir ./--version
@@ -157,5 +157,6 @@ exit $errstatus
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
index d945d71..8e1dc97 100644 (file)
 
 bin_PROGRAMS = gpgsm
 
-EXTRA_DIST = ChangeLog-2011
+EXTRA_DIST = ChangeLog-2011 gpgsm-w32info.rc
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) \
+            $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common -I$(top_srcdir)/intl
 include $(top_srcdir)/am/cmacros.am
 
+if HAVE_W32_SYSTEM
+resource_objs += gpgsm-w32info.o
+endif
 
 gpgsm_SOURCES = \
        gpgsm.c gpgsm.h \
@@ -59,13 +63,9 @@ common_libs = $(libcommon) ../kbx/libkeybox.a ../jnlib/libjnlib.a \
 
 gpgsm_LDADD = $(common_libs) ../common/libgpgrl.a  $(NETLIBS) \
               $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) \
-              $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) $(ZLIBS) $(LIBICONV)
+              $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) $(ZLIBS) \
+             $(LIBICONV) $(resource_objs)
 
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
 $(PROGRAMS): $(common_libs)
-
-
-
-
-
index b1cd1da..e649983 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -87,6 +104,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GNUPG_SCDAEMON_PGM_TRUE@am__append_4 = -DGNUPG_DEFAULT_SCDAEMON="\"@GNUPG_SCDAEMON_PGM@\""
 @GNUPG_DIRMNGR_PGM_TRUE@am__append_5 = -DGNUPG_DEFAULT_DIRMNGR="\"@GNUPG_DIRMNGR_PGM@\""
 @GNUPG_PROTECT_TOOL_PGM_TRUE@am__append_6 = -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
+@HAVE_W32_SYSTEM_TRUE@am__append_7 = gpgsm-w32info.o
 subdir = sm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/gl/m4/absolute-header.m4 \
@@ -134,7 +152,7 @@ gpgsm_DEPENDENCIES = $(common_libs) ../common/libgpgrl.a \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(resource_objs)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
 am__depfiles_maybe = depfiles
@@ -145,6 +163,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(gpgsm_SOURCES)
 DIST_SOURCES = $(gpgsm_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -164,7 +187,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -342,12 +369,15 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = ChangeLog-2011
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)
+EXTRA_DIST = ChangeLog-2011 gpgsm-w32info.rc
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) \
+            $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)
+
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/common \
        -I$(top_srcdir)/intl -DLOCALEDIR=\"$(localedir)\" \
        $(am__append_1) $(am__append_2) $(am__append_3) \
        $(am__append_4) $(am__append_5) $(am__append_6)
+resource_objs = $(am__append_7)
 
 # Convenience macros
 libcommon = ../common/libcommon.a
@@ -382,12 +412,13 @@ common_libs = $(libcommon) ../kbx/libkeybox.a ../jnlib/libjnlib.a \
 
 gpgsm_LDADD = $(common_libs) ../common/libgpgrl.a  $(NETLIBS) \
               $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) \
-              $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) $(ZLIBS) $(LIBICONV)
+              $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) $(ZLIBS) \
+             $(LIBICONV) $(resource_objs)
 
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -409,6 +440,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -420,8 +452,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -455,7 +490,7 @@ uninstall-binPROGRAMS:
 
 clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-gpgsm$(EXEEXT): $(gpgsm_OBJECTS) $(gpgsm_DEPENDENCIES) 
+gpgsm$(EXEEXT): $(gpgsm_OBJECTS) $(gpgsm_DEPENDENCIES) $(EXTRA_gpgsm_DEPENDENCIES) 
        @rm -f gpgsm$(EXEEXT)
        $(LINK) $(gpgsm_OBJECTS) $(gpgsm_LDADD) $(LIBS)
 
@@ -602,10 +637,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -702,6 +742,9 @@ uninstall-am: uninstall-binPROGRAMS
        uninstall-am uninstall-binPROGRAMS
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
 $(PROGRAMS): $(common_libs)
index f4ad214..1fbe9ca 100644 (file)
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <unistd.h> 
+#include <unistd.h>
 #include <time.h>
 #include <stdarg.h>
 #include <assert.h>
@@ -193,7 +193,7 @@ has_validation_model_chain (ksba_cert_t cert, int listmode, estream_t listfp)
 
   if (opt.verbose)
     do_list (0, listmode, listfp,
-             _("validation model requested by certificate: %s"), 
+             _("validation model requested by certificate: %s"),
               !strcmp (oidbuf, "1.3.6.1.4.1.8301.3.5.1")? _("chain") :
               !strcmp (oidbuf, "1.3.6.1.4.1.8301.3.5.2")? _("shell") :
               /* */                                       oidbuf);
@@ -274,9 +274,9 @@ unknown_criticals (ksba_cert_t cert, int listmode, estream_t fp)
 /* Check whether CERT is an allowed certificate.  This requires that
    CERT matches all requirements for such a CA, i.e. the
    BasicConstraints extension.  The function returns 0 on success and
-   the awlloed length of the chain at CHAINLEN. */
+   the allowed length of the chain at CHAINLEN. */
 static int
-allowed_ca (ctrl_t ctrl, 
+allowed_ca (ctrl_t ctrl,
             ksba_cert_t cert, int *chainlen, int listmode, estream_t fp)
 {
   gpg_error_t err;
@@ -327,7 +327,7 @@ check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
   any_critical = !!strstr (policies, ":C");
 
   if (!opt.policy_file)
-    { 
+    {
       xfree (policies);
       if (any_critical)
         {
@@ -358,7 +358,7 @@ check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
       return gpg_error (GPG_ERR_NO_POLICY_MATCH);
     }
 
-  for (;;) 
+  for (;;)
     {
       int c;
       char *p, line[256];
@@ -389,7 +389,7 @@ check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
               fclose (fp);
               return tmperr;
             }
-      
+
           if (!*line || line[strlen(line)-1] != '\n')
             {
               /* eat until end of line */
@@ -400,13 +400,13 @@ check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
               return gpg_error (*line? GPG_ERR_LINE_TOO_LONG
                                      : GPG_ERR_INCOMPLETE_LINE);
             }
-          
+
           /* Allow for empty lines and spaces */
           for (p=line; spacep (p); p++)
             ;
         }
       while (!*p || *p == '\n' || *p == '#');
-  
+
       /* parse line */
       for (allowed=line; spacep (allowed); allowed++)
         ;
@@ -444,6 +444,8 @@ find_up_search_by_keyid (KEYDB_HANDLE kh,
   int rc;
   ksba_cert_t cert = NULL;
   ksba_sexp_t subj = NULL;
+  int anyfound = 0;
+  ksba_isotime_t not_before, last_not_before;
 
   keydb_search_reset (kh);
   while (!(rc = keydb_search_subject (kh, issuer)))
@@ -460,10 +462,37 @@ find_up_search_by_keyid (KEYDB_HANDLE kh,
       if (!ksba_cert_get_subj_key_id (cert, NULL, &subj))
         {
           if (!cmp_simple_canon_sexp (keyid, subj))
-            break; /* Found matching cert. */
+            {
+              /* Found matching cert. */
+              rc = ksba_cert_get_validity (cert, 0, not_before);
+              if (rc)
+                {
+                  log_error ("keydb_get_validity() failed: rc=%d\n", rc);
+                  rc = -1;
+                  break;
+                }
+
+              if (!anyfound || strcmp (last_not_before, not_before) < 0)
+                {
+                  /* This certificate is the first one found or newer
+                     than the previous one.  This copes with
+                     re-issuing CA certificates while keeping the same
+                     key information.  */
+                  anyfound = 1;
+                  gnupg_copy_time (last_not_before, not_before);
+                  keydb_push_found_state (kh);
+                }
+            }
         }
     }
-  
+
+  if (anyfound)
+    {
+      /* Take the last saved one.  */
+      keydb_pop_found_state (kh);
+      rc = 0;  /* Ignore EOF or other error after the first cert.  */
+    }
+
   ksba_cert_release (cert);
   xfree (subj);
   return rc? -1:0;
@@ -493,7 +522,7 @@ find_up_external (ctrl_t ctrl, KEYDB_HANDLE kh,
   int count = 0;
   char *pattern;
   const char *s;
-      
+
   if (opt.verbose)
     log_info (_("looking up issuer at external location\n"));
   /* The Dirmngr process is confused about unknown attributes.  As a
@@ -515,7 +544,7 @@ find_up_external (ctrl_t ctrl, KEYDB_HANDLE kh,
 
   if (opt.verbose)
     log_info (_("number of issuers matching: %d\n"), count);
-  if (rc) 
+  if (rc)
     {
       log_error ("external key lookup failed: %s\n", gpg_strerror (rc));
       rc = -1;
@@ -556,7 +585,7 @@ find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
   char *pattern;
 
   (void)kh;
-      
+
   if (opt.verbose)
     log_info (_("looking up issuer from the Dirmngr cache\n"));
   if (subject_mode)
@@ -583,7 +612,7 @@ find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
 
   if (opt.verbose)
     log_info (_("number of matching certificates: %d\n"), count);
-  if (rc && !opt.quiet) 
+  if (rc && !opt.quiet)
     log_info (_("dirmngr cache-only key lookup failed: %s\n"),
               gpg_strerror (rc));
   return (!rc && count)? 0 : -1;
@@ -598,7 +627,7 @@ find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
    keydb_get_cert on the keyDb context KH will return it.  Returns 0
    on success, -1 if not found or an error code.  */
 static int
-find_up (ctrl_t ctrl, KEYDB_HANDLE kh, 
+find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
          ksba_cert_t cert, const char *issuer, int find_next)
 {
   ksba_name_t authid;
@@ -606,6 +635,8 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
   ksba_sexp_t keyid;
   int rc = -1;
 
+  if (DBG_X509)
+    log_debug ("looking for parent certificate\n");
   if (!ksba_cert_get_auth_key_id (cert, &keyid, &authid, &authidno))
     {
       const char *s = ksba_name_enum (authid, 0);
@@ -614,7 +645,10 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
           rc = keydb_search_issuer_sn (kh, s, authidno);
           if (rc)
             keydb_search_reset (kh);
-          
+
+          if (!rc && DBG_X509)
+            log_debug ("  found via authid and sn+issuer\n");
+
           /* In case of an error, try to get the certificate from the
              dirmngr.  That is done by trying to put that certifcate
              into the ephemeral DB and let the code below do the
@@ -627,17 +661,20 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
              that in find_next mode because we can't keep the search
              state then. */
           if (rc == -1 && !find_next)
-            { 
+            {
               int old = keydb_set_ephemeral (kh, 1);
               if (!old)
                 {
                   rc = keydb_search_issuer_sn (kh, s, authidno);
                   if (rc)
                     keydb_search_reset (kh);
+
+                  if (!rc && DBG_X509)
+                    log_debug ("  found via authid and sn+issuer (ephem)\n");
                 }
               keydb_set_ephemeral (kh, old);
             }
-          if (rc) 
+          if (rc)
             rc = -1; /* Need to make sure to have this error code. */
         }
 
@@ -649,14 +686,18 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
              subjectKeyIdentifier. */
           /* Fixme: Should we also search in the dirmngr?  */
           rc = find_up_search_by_keyid (kh, issuer, keyid);
+          if (!rc && DBG_X509)
+            log_debug ("  found via authid and keyid\n");
           if (rc)
             {
               int old = keydb_set_ephemeral (kh, 1);
               if (!old)
                 rc = find_up_search_by_keyid (kh, issuer, keyid);
+              if (!rc && DBG_X509)
+                log_debug ("  found via authid and keyid (ephem)\n");
               keydb_set_ephemeral (kh, old);
             }
-          if (rc) 
+          if (rc)
             rc = -1; /* Need to make sure to have this error code. */
         }
 
@@ -676,13 +717,21 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
                 }
               keydb_set_ephemeral (kh, old);
             }
-          if (rc) 
+          if (rc)
             rc = -1; /* Need to make sure to have this error code. */
+
+          if (!rc && DBG_X509)
+            log_debug ("  found via authid and issuer from dirmngr cache\n");
         }
 
       /* If we still didn't found it, try an external lookup.  */
       if (rc == -1 && opt.auto_issuer_key_retrieve && !find_next)
-        rc = find_up_external (ctrl, kh, issuer, keyid);
+        {
+          rc = find_up_external (ctrl, kh, issuer, keyid);
+          if (!rc && DBG_X509)
+            log_debug ("  found via authid and external lookup\n");
+        }
+
 
       /* Print a note so that the user does not feel too helpless when
          an issuer certificate was found and gpgsm prints BAD
@@ -714,7 +763,7 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
       ksba_name_release (authid);
       xfree (authidno);
     }
-  
+
   if (rc) /* Not found via authorithyKeyIdentifier, try regular issuer name. */
     rc = keydb_search_subject (kh, issuer);
   if (rc == -1 && !find_next)
@@ -733,11 +782,18 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
           rc = keydb_search_subject (kh, issuer);
         }
       keydb_set_ephemeral (kh, old);
+
+      if (!rc && DBG_X509)
+        log_debug ("  found via issuer\n");
     }
 
   /* Still not found.  If enabled, try an external lookup.  */
   if (rc == -1 && opt.auto_issuer_key_retrieve && !find_next)
-    rc = find_up_external (ctrl, kh, issuer, NULL);
+    {
+      rc = find_up_external (ctrl, kh, issuer, NULL);
+      if (!rc && DBG_X509)
+        log_debug ("  found via issuer and external lookup\n");
+    }
 
   return rc;
 }
@@ -748,7 +804,7 @@ find_up (ctrl_t ctrl, KEYDB_HANDLE kh,
 int
 gpgsm_walk_cert_chain (ctrl_t ctrl, ksba_cert_t start, ksba_cert_t *r_next)
 {
-  int rc = 0; 
+  int rc = 0;
   char *issuer = NULL;
   char *subject = NULL;
   KEYDB_HANDLE kh = keydb_new (0);
@@ -756,7 +812,7 @@ gpgsm_walk_cert_chain (ctrl_t ctrl, ksba_cert_t start, ksba_cert_t *r_next)
   *r_next = NULL;
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
@@ -779,7 +835,7 @@ gpgsm_walk_cert_chain (ctrl_t ctrl, ksba_cert_t start, ksba_cert_t *r_next)
   if (is_root_cert (start, issuer, subject))
     {
       rc = -1; /* we are at the root */
-      goto leave; 
+      goto leave;
     }
 
   rc = find_up (ctrl, kh, start, issuer, 0);
@@ -803,7 +859,7 @@ gpgsm_walk_cert_chain (ctrl_t ctrl, ksba_cert_t start, ksba_cert_t *r_next)
  leave:
   xfree (issuer);
   xfree (subject);
-  keydb_release (kh); 
+  keydb_release (kh);
   return rc;
 }
 
@@ -850,20 +906,20 @@ is_root_cert (ksba_cert_t cert, const char *issuerdn, const char *subjectdn)
      that is the case this is a root certificate.  */
   ak_name_str = ksba_name_enum (ak_name, 0);
   if (ak_name_str
-      && !strcmp (ak_name_str, issuerdn) 
+      && !strcmp (ak_name_str, issuerdn)
       && !cmp_simple_canon_sexp (ak_sn, serialno))
     {
       result = 1;  /* Right, CERT is self-signed.  */
       goto leave;
-    } 
-   
+    }
+
   /* Similar for the ak_keyid. */
   if (ak_keyid && !ksba_cert_get_subj_key_id (cert, NULL, &subj_keyid)
       && !cmp_simple_canon_sexp (ak_keyid, subj_keyid))
     {
       result = 1;  /* Right, CERT is self-signed.  */
       goto leave;
-    } 
+    }
 
 
  leave:
@@ -872,7 +928,7 @@ is_root_cert (ksba_cert_t cert, const char *issuerdn, const char *subjectdn)
   ksba_name_release (ak_name);
   ksba_free (ak_sn);
   ksba_free (serialno);
-  return result; 
+  return result;
 }
 
 
@@ -896,7 +952,7 @@ gpgsm_is_root_cert (ksba_cert_t cert)
 
 
 /* This is a helper for gpgsm_validate_chain. */
-static gpg_error_t 
+static gpg_error_t
 is_cert_still_valid (ctrl_t ctrl, int force_ocsp, int lm, estream_t fp,
                      ksba_cert_t subject_cert, ksba_cert_t issuer_cert,
                      int *any_revoked, int *any_no_crl, int *any_crl_too_old)
@@ -905,13 +961,13 @@ is_cert_still_valid (ctrl_t ctrl, int force_ocsp, int lm, estream_t fp,
 
   if (opt.no_crl_check && !ctrl->use_ocsp)
     {
-      audit_log_ok (ctrl->audit, AUDIT_CRL_CHECK, 
+      audit_log_ok (ctrl->audit, AUDIT_CRL_CHECK,
                     gpg_error (GPG_ERR_NOT_ENABLED));
       return 0;
     }
 
   err = gpgsm_dirmngr_isvalid (ctrl,
-                               subject_cert, issuer_cert, 
+                               subject_cert, issuer_cert,
                                force_ocsp? 2 : !!ctrl->use_ocsp);
   audit_log_ok (ctrl->audit, AUDIT_CRL_CHECK, err);
 
@@ -948,7 +1004,7 @@ is_cert_still_valid (ctrl_t ctrl, int force_ocsp, int lm, estream_t fp,
                         "\"dirmngr\" is properly installed\n"));
           *any_crl_too_old = 1;
           break;
-          
+
         default:
           do_list (1, lm, fp, _("checking the CRL failed: %s"),
                    gpg_strerror (err));
@@ -963,7 +1019,7 @@ is_cert_still_valid (ctrl_t ctrl, int force_ocsp, int lm, estream_t fp,
    SUBJECT_CERT.  The caller needs to pass EXPTIME which will be
    updated to the nearest expiration time seen.  A DEPTH of 0 indicates
    the target certifciate, -1 the final root certificate and other
-   values intermediate certificates. */ 
+   values intermediate certificates. */
 static gpg_error_t
 check_validity_period (ksba_isotime_t current_time,
                        ksba_cert_t subject_cert,
@@ -993,7 +1049,7 @@ check_validity_period (ksba_isotime_t current_time,
 
   if (*not_before && strcmp (current_time, not_before) < 0 )
     {
-      do_list (1, listmode, listfp, 
+      do_list (1, listmode, listfp,
                depth ==  0 ? _("certificate not yet valid") :
                depth == -1 ? _("root certificate not yet valid") :
                /* other */   _("intermediate certificate not yet valid"));
@@ -1004,8 +1060,8 @@ check_validity_period (ksba_isotime_t current_time,
           log_printf (")\n");
         }
       return gpg_error (GPG_ERR_CERT_TOO_YOUNG);
-    } 
-           
+    }
+
   if (*not_after && strcmp (current_time, not_after) > 0 )
     {
       do_list (opt.ignore_expiration?0:1, listmode, listfp,
@@ -1022,8 +1078,8 @@ check_validity_period (ksba_isotime_t current_time,
         log_info ("WARNING: ignoring expiration\n");
       else
         return gpg_error (GPG_ERR_CERT_EXPIRED);
-    }      
-      
+    }
+
   return 0;
 }
 
@@ -1070,7 +1126,7 @@ check_validity_period_cm (ksba_isotime_t current_time,
       log_printf (")\n");
       return gpg_error (GPG_ERR_BAD_CERT);
     }
-  
+
   if (!*exptime)
     gnupg_copy_time (exptime, not_after);
   else if (strcmp (not_after, exptime) < 0 )
@@ -1078,7 +1134,7 @@ check_validity_period_cm (ksba_isotime_t current_time,
 
   if (strcmp (current_time, not_before) < 0 )
     {
-      do_list (1, listmode, listfp, 
+      do_list (1, listmode, listfp,
                depth ==  0 ? _("certificate not yet valid") :
                depth == -1 ? _("root certificate not yet valid") :
                /* other */   _("intermediate certificate not yet valid"));
@@ -1089,16 +1145,16 @@ check_validity_period_cm (ksba_isotime_t current_time,
           log_printf (")\n");
         }
       return gpg_error (GPG_ERR_CERT_TOO_YOUNG);
-    } 
+    }
 
   if (*check_time
-      && (strcmp (check_time, not_before) < 0 
+      && (strcmp (check_time, not_before) < 0
           || strcmp (check_time, not_after) > 0))
     {
       /* Note that we don't need a case for the root certificate
          because its own consitency has already been checked.  */
       do_list(opt.ignore_expiration?0:1, listmode, listfp,
-              depth == 0 ? 
+              depth == 0 ?
               _("signature not created during lifetime of certificate") :
               depth == 1 ?
               _("certificate not created during lifetime of issuer") :
@@ -1135,7 +1191,7 @@ check_validity_period_cm (ksba_isotime_t current_time,
 static int
 ask_marktrusted (ctrl_t ctrl, ksba_cert_t cert, int listmode)
 {
-  static int no_more_questions; 
+  static int no_more_questions;
   int rc;
   char *fpr;
   int success = 0;
@@ -1143,7 +1199,7 @@ ask_marktrusted (ctrl_t ctrl, ksba_cert_t cert, int listmode)
   fpr = gpgsm_get_fingerprint_string (cert, GCRY_MD_SHA1);
   log_info (_("fingerprint=%s\n"), fpr? fpr : "?");
   xfree (fpr);
-  
+
   if (no_more_questions)
     rc = gpg_error (GPG_ERR_NOT_SUPPORTED);
   else
@@ -1225,7 +1281,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
     {
       if (!strcmp (checktime_arg, "19700101T000000"))
         {
-          do_list (1, listmode, listfp, 
+          do_list (1, listmode, listfp,
                    _("WARNING: creation time of signature not known - "
                      "assuming current time"));
           gnupg_copy_time (check_time, current_time);
@@ -1249,7 +1305,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
@@ -1314,7 +1370,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
           if (has_validation_model_chain (subject_cert, listmode, listfp))
             rootca_flags->chain_model = 1;
         }
-      
+
 
       /* Check the validity period. */
       if ( (flags & VALIDATE_FLAG_CHAIN_MODEL) )
@@ -1332,7 +1388,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
         }
       else if (rc)
         goto leave;
-        
+
 
       /* Assert that we understand all critical extensions. */
       rc = unknown_criticals (subject_cert, listmode, listfp);
@@ -1355,7 +1411,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
 
       /* If this is the root certificate we are at the end of the chain.  */
       if (is_root)
-        { 
+        {
           if (!istrusted_rc)
             ; /* No need to check the certificate for a trusted one. */
           else if (gpgsm_check_cert_sig (subject_cert, subject_cert) )
@@ -1378,8 +1434,8 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
               if (rc)
                 goto leave;
             }
-              
-          
+
+
           /* Set the flag for qualified signatures.  This flag is
              deduced from a list of root certificates allowed for
              qualified signatures. */
@@ -1388,15 +1444,15 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
               gpg_error_t err;
               size_t buflen;
               char buf[1];
-              
-              if (!ksba_cert_get_user_data (cert, "is_qualified", 
+
+              if (!ksba_cert_get_user_data (cert, "is_qualified",
                                             &buf, sizeof (buf),
                                             &buflen) && buflen)
                 {
                   /* We already checked this for this certificate,
                      thus we simply take it from the user data. */
                   is_qualified = !!*buf;
-                }    
+                }
               else
                 {
                   /* Need to consult the list of root certificates for
@@ -1419,7 +1475,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
                                                      "is_qualified", buf, 1);
                       if (err)
                         log_error ("set_user_data(is_qualified) failed: %s\n",
-                                   gpg_strerror (err)); 
+                                   gpg_strerror (err));
                     }
                 }
             }
@@ -1431,7 +1487,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
             ;
           else if (gpg_err_code (rc) == GPG_ERR_NOT_TRUSTED)
             {
-              do_list (0, listmode, listfp, 
+              do_list (0, listmode, listfp,
                        _("root certificate is not marked trusted"));
               /* If we already figured out that the certificate is
                  expired it does not make much sense to ask the user
@@ -1443,12 +1499,12 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
                    && ask_marktrusted (ctrl, subject_cert, listmode) )
                 rc = 0;
             }
-          else 
+          else
             {
               log_error (_("checking the trust list failed: %s\n"),
                          gpg_strerror (rc));
             }
-          
+
           if (rc)
             goto leave;
 
@@ -1456,9 +1512,9 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
           if ((flags & VALIDATE_FLAG_NO_DIRMNGR))
             ;
           else if (opt.no_trusted_cert_crl_check || rootca_flags->relax)
-            ; 
+            ;
           else
-            rc = is_cert_still_valid (ctrl, 
+            rc = is_cert_still_valid (ctrl,
                                       (flags & VALIDATE_FLAG_CHAIN_MODEL),
                                       listmode, listfp,
                                       subject_cert, subject_cert,
@@ -1470,7 +1526,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
           break;  /* Okay: a self-signed certicate is an end-point. */
         } /* End is_root.  */
 
-      
+
       /* Take care that the chain does not get too long. */
       if ((depth+1) > maxdepth)
         {
@@ -1552,7 +1608,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
                       do_list (0, listmode, listfp,
                                _("found another possible matching "
                                  "CA certificate - trying again"));
-                      ksba_cert_release (issuer_cert); 
+                      ksba_cert_release (issuer_cert);
                       issuer_cert = tmp_cert;
                       goto try_another_cert;
                     }
@@ -1629,9 +1685,9 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
         rc = 0;
       else if (is_root && (opt.no_trusted_cert_crl_check
                            || (!istrusted_rc && rootca_flags->relax)))
-        rc = 0; 
+        rc = 0;
       else
-        rc = is_cert_still_valid (ctrl, 
+        rc = is_cert_still_valid (ctrl,
                                   (flags & VALIDATE_FLAG_CHAIN_MODEL),
                                   listmode, listfp,
                                   subject_cert, issuer_cert,
@@ -1690,7 +1746,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
       else if (any_no_policy_match)
         rc = gpg_error (GPG_ERR_NO_POLICY_MATCH);
     }
-  
+
  leave:
   /* If we have traversed a complete chain up to the root we will
      reset the ephemeral flag for all these certificates.  This is done
@@ -1700,7 +1756,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
     {
       gpg_error_t err;
       chain_item_t ci;
-      
+
       for (ci = chain; ci; ci = ci->next)
         {
           /* Note that it is possible for the last certificate in the
@@ -1714,7 +1770,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
             ;
           else if (err)
             log_error ("clearing ephemeral flag failed: %s\n",
-                       gpg_strerror (err)); 
+                       gpg_strerror (err));
         }
     }
 
@@ -1729,14 +1785,14 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
       char buf[1];
 
       buf[0] = !!is_qualified;
-      
+
       for (ci = chain; ci; ci = ci->next)
         {
           err = ksba_cert_set_user_data (ci->cert, "is_qualified", buf, 1);
           if (err)
             {
               log_error ("set_user_data(is_qualified) failed: %s\n",
-                         gpg_strerror (err)); 
+                         gpg_strerror (err));
               if (!rc)
                 rc = err;
             }
@@ -1762,7 +1818,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
     gnupg_copy_time (r_exptime, exptime);
   xfree (issuer);
   xfree (subject);
-  keydb_release (kh); 
+  keydb_release (kh);
   while (chain)
     {
       chain_item_t ci_next = chain->next;
@@ -1807,7 +1863,7 @@ gpgsm_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime,
   *retflags = (flags & VALIDATE_FLAG_CHAIN_MODEL);
   memset (&rootca_flags, 0, sizeof rootca_flags);
 
-  rc = do_validate_chain (ctrl, cert, checktime, 
+  rc = do_validate_chain (ctrl, cert, checktime,
                           r_exptime, listmode, listfp, flags,
                           &rootca_flags);
   if (gpg_err_code (rc) == GPG_ERR_CERT_EXPIRED
@@ -1816,17 +1872,17 @@ gpgsm_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime,
     {
       do_list (0, listmode, listfp, _("switching to chain model"));
       rc = do_validate_chain (ctrl, cert, checktime,
-                              r_exptime, listmode, listfp, 
+                              r_exptime, listmode, listfp,
                               (flags |= VALIDATE_FLAG_CHAIN_MODEL),
                               &rootca_flags);
       *retflags |= VALIDATE_FLAG_CHAIN_MODEL;
     }
 
   if (opt.verbose)
-    do_list (0, listmode, listfp, _("validation model used: %s"), 
+    do_list (0, listmode, listfp, _("validation model used: %s"),
              (*retflags & VALIDATE_FLAG_CHAIN_MODEL)?
              _("chain"):_("shell"));
-  
+
   return rc;
 }
 
@@ -1843,7 +1899,7 @@ gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
   char *subject = NULL;
   KEYDB_HANDLE kh;
   ksba_cert_t issuer_cert = NULL;
-  
+
   if (opt.no_chain_validation)
     {
       log_info ("WARNING: bypassing basic certificate checks\n");
@@ -1853,7 +1909,7 @@ gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
@@ -1900,7 +1956,7 @@ gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
           rc = gpg_error (GPG_ERR_MISSING_ISSUER_CERT);
           goto leave;
         }
-      
+
       ksba_cert_release (issuer_cert); issuer_cert = NULL;
       rc = keydb_get_cert (kh, &issuer_cert);
       if (rc)
@@ -1930,7 +1986,7 @@ gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
  leave:
   xfree (issuer);
   xfree (subject);
-  keydb_release (kh); 
+  keydb_release (kh);
   ksba_cert_release (issuer_cert);
   return rc;
 }
@@ -1941,7 +1997,7 @@ gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
    authority for qualified signature.  They do not set the
    basicConstraints and thus we need this workaround.  It works by
    looking up the root certificate and checking whether that one is
-   listed as a qualified certificate for Germany. 
+   listed as a qualified certificate for Germany.
 
    We also try to cache this data but as long as don't keep a
    reference to the certificate this won't be used.
@@ -1967,7 +2023,7 @@ get_regtp_ca_info (ctrl_t ctrl, ksba_cert_t cert, int *chainlen)
     chainlen = &dummy_chainlen;
 
   *chainlen = 0;
-  err = ksba_cert_get_user_data (cert, "regtp_ca_chainlen", 
+  err = ksba_cert_get_user_data (cert, "regtp_ca_chainlen",
                                  &buf, sizeof (buf), &buflen);
   if (!err)
     {
@@ -2024,7 +2080,7 @@ get_regtp_ca_info (ctrl_t ctrl, ksba_cert_t cert, int *chainlen)
                                        "\x01\x00", 2);
       if (err)
         log_error ("ksba_set_user_data(%s) failed: %s\n",
-                   "regtp_ca_chainlen", gpg_strerror (err)); 
+                   "regtp_ca_chainlen", gpg_strerror (err));
       for (i=0; i < depth; i++)
         ksba_cert_release (array[i]);
       *chainlen = (depth>1? 0:1);
@@ -2033,11 +2089,11 @@ get_regtp_ca_info (ctrl_t ctrl, ksba_cert_t cert, int *chainlen)
 
  leave:
   /* Nothing special with this certificate. Mark the target
-     certificate anyway to avoid duplicate lookups. */ 
+     certificate anyway to avoid duplicate lookups. */
   err = ksba_cert_set_user_data (cert, "regtp_ca_chainlen", "", 1);
   if (err)
     log_error ("ksba_set_user_data(%s) failed: %s\n",
-               "regtp_ca_chainlen", gpg_strerror (err)); 
+               "regtp_ca_chainlen", gpg_strerror (err));
   for (i=0; i < depth; i++)
     ksba_cert_release (array[i]);
   return 0;
index 51a809b..e2e4a4b 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <unistd.h> 
+#include <unistd.h>
 #include <time.h>
 #include <assert.h>
 
@@ -106,7 +106,7 @@ do_encode_md (gcry_md_hd_t md, int algo, int pkalgo, unsigned int nbits,
         {
          log_error (_("a %u bit hash is not valid for a %u bit %s key\n"),
                      (unsigned int)nframe*8,
-                     gcry_pk_get_nbits (pkey), 
+                     gcry_pk_get_nbits (pkey),
                      gcry_pk_algo_name (pkalgo));
           /* FIXME: we need to check the requirements for ECDSA.  */
           if (nframe < 20 || pkalgo == GCRY_PK_DSA  )
@@ -139,16 +139,16 @@ do_encode_md (gcry_md_hd_t md, int algo, int pkalgo, unsigned int nbits,
           log_error ("no object identifier for algo %d\n", algo);
           return gpg_error (GPG_ERR_INTERNAL);
         }
-      
+
       len = gcry_md_get_algo_dlen (algo);
-      
+
       if ( len + asnlen + 4  > nframe )
         {
           log_error ("can't encode a %d bit MD into a %d bits frame\n",
                      (int)(len*8), (int)nbits);
           return gpg_error (GPG_ERR_INTERNAL);
         }
-      
+
       /* We encode the MD in this way:
        *
        *          0  A PAD(n bytes)   0  ASN(asnlen bytes)  MD(len bytes)
@@ -177,7 +177,7 @@ do_encode_md (gcry_md_hd_t md, int algo, int pkalgo, unsigned int nbits,
         log_printf (" %02X", frame[j]);
       log_printf ("\n");
     }
-      
+
   gcry_mpi_scan (r_val, GCRYMPI_FMT_USG, frame, n, &nframe);
   xfree (frame);
   return 0;
@@ -251,7 +251,7 @@ gpgsm_check_cert_sig (ksba_cert_t issuer_cert, ksba_cert_t cert)
       return rc;
     }
   if (DBG_HASHING)
-    gcry_md_start_debug (md, "hash.cert");
+    gcry_md_debug (md, "hash.cert");
 
   rc = ksba_cert_hash (cert, 1, HASH_FNC, md);
   if (rc)
@@ -324,7 +324,7 @@ gpgsm_check_cert_sig (ksba_cert_t issuer_cert, ksba_cert_t cert)
     BUG ();
   gcry_mpi_release (frame);
 
-  
+
   rc = gcry_pk_verify (s_sig, s_hash, s_pkey);
   if (DBG_X509)
       log_debug ("gcry_pk_verify: %s\n", gpg_strerror (rc));
@@ -400,7 +400,7 @@ gpgsm_check_cms_signature (ksba_cert_t cert, ksba_const_sexp_t sigval,
   if ( gcry_sexp_build (&s_hash, NULL, "%m", frame) )
     BUG ();
   gcry_mpi_release (frame);
-  
+
   rc = gcry_pk_verify (s_sig, s_hash, s_pkey);
   if (DBG_X509)
       log_debug ("gcry_pk_verify: %s\n", gpg_strerror (rc));
@@ -427,7 +427,7 @@ gpgsm_create_cms_signature (ctrl_t ctrl, ksba_cert_t cert,
 
   desc = gpgsm_format_keydesc (cert);
 
-  rc = gpgsm_agent_pksign (ctrl, grip, desc, gcry_md_read(md, mdalgo), 
+  rc = gpgsm_agent_pksign (ctrl, grip, desc, gcry_md_read(md, mdalgo),
                            gcry_md_get_algo_dlen (mdalgo), mdalgo,
                            r_sigval, &siglen);
   xfree (desc);
index 4137437..bfacaa2 100644 (file)
@@ -139,7 +139,7 @@ cert_usage_p (ksba_cert_t cert, int mode)
     {
       if ((use & (KSBA_KEYUSAGE_KEY_CERT_SIGN)))
         return 0;
-      log_info (_("certificate should have not "
+      log_info (_("certificate should not have "
                   "been used for certification\n"));
       return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
     }
@@ -151,7 +151,7 @@ cert_usage_p (ksba_cert_t cert, int mode)
               || (use & (KSBA_KEYUSAGE_KEY_CERT_SIGN
                          |KSBA_KEYUSAGE_CRL_SIGN))))
         return 0;
-      log_info (_("certificate should have not "
+      log_info (_("certificate should not have "
                   "been used for OCSP response signing\n"));
       return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
     }
@@ -162,8 +162,8 @@ cert_usage_p (ksba_cert_t cert, int mode)
       )
     return 0;
 
-  log_info (mode==3? _("certificate should have not been used for encryption\n"):
-            mode==2? _("certificate should have not been used for signing\n"):
+  log_info (mode==3? _("certificate should not have been used for encryption\n"):
+            mode==2? _("certificate should not have been used for signing\n"):
             mode==1? _("certificate is not usable for encryption\n"):
                      _("certificate is not usable for signing\n"));
   return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
index 49b2b92..c3f3165 100644 (file)
@@ -74,9 +74,9 @@ The format of the native parameter file is follows:
         This is the DN name of the subject in rfc2253 format.
      Name-Email: <string>
        The is an email address for the altSubjectName
-     Name-DNS: <string> 
+     Name-DNS: <string>
        The is an DNS name for the altSubjectName
-     Name-URI: <string> 
+     Name-URI: <string>
        The is an URI for the altSubjectName
 
 Here is an example:
@@ -98,7 +98,7 @@ EOF
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <unistd.h> 
+#include <unistd.h>
 #include <time.h>
 #include <assert.h>
 
@@ -126,7 +126,7 @@ struct para_data_s {
   int lnr;
   enum para_name key;
   union {
-    unsigned int usage; 
+    unsigned int usage;
     char value[1];
   } u;
 };
@@ -156,7 +156,7 @@ static void
 release_parameter_list (struct para_data_s *r)
 {
   struct para_data_s *r2;
-  
+
   for (; r ; r = r2)
     {
       r2 = r->next;
@@ -168,7 +168,7 @@ static struct para_data_s *
 get_parameter (struct para_data_s *para, enum para_name key, int seq)
 {
   struct para_data_s *r;
-  
+
   for (r = para; r ; r = r->next)
     if ( r->key == key && !seq--)
       return r;
@@ -190,7 +190,7 @@ get_parameter_algo (struct para_data_s *para, enum para_name key)
     return -1;
   if (digitp (r->u.value))
     return atoi( r->u.value );
-  return gcry_pk_map_name (r->u.value); 
+  return gcry_pk_map_name (r->u.value);
 }
 
 /* Parse the usage parameter.  Returns 0 on success.  Note that we
@@ -203,10 +203,10 @@ parse_parameter_usage (struct para_data_s *para, enum para_name key)
   struct para_data_s *r = get_parameter (para, key, 0);
   char *p, *pn;
   unsigned int use;
-  
+
   if (!r)
     return 0; /* none (this is an optional parameter)*/
-    
+
   use = 0;
   pn = r->u.value;
   while ( (p = strsep (&pn, " \t,")) )
@@ -474,7 +474,7 @@ proc_parameters (ctrl_t ctrl,
       log_error (_("line %d: invalid algorithm\n"), r->lnr);
       return gpg_error (GPG_ERR_INV_PARAMETER);
     }
-  
+
   /* Check the keylength. */
   if (!get_parameter (para, pKEYLENGTH, 0))
     nbits = 2048;
@@ -489,7 +489,7 @@ proc_parameters (ctrl_t ctrl,
       xfree (cardkeyid);
       return gpg_error (GPG_ERR_INV_PARAMETER);
     }
-    
+
   /* Check the usage. */
   if (parse_parameter_usage (para, pKEYUSAGE))
     {
@@ -523,7 +523,7 @@ proc_parameters (ctrl_t ctrl,
 
   /* Check that the optional email address is okay. */
   for (seq=0; (s=get_parameter_value (para, pNAMEEMAIL, seq)); seq++)
-    { 
+    {
       if (has_invalid_email_chars (s)
           || *s == '@'
           || s[strlen(s)-1] == '@'
@@ -564,7 +564,7 @@ proc_parameters (ctrl_t ctrl,
   else /* Generate new key.  */
     {
       sprintf (numbuf, "%u", nbits);
-      snprintf ((char*)keyparms, DIM (keyparms)-1, 
+      snprintf ((char*)keyparms, DIM (keyparms)-1,
                 "(6:genkey(3:rsa(5:nbits%d:%s)))",
                 (int)strlen (numbuf), numbuf);
       rc = gpgsm_agent_genkey (ctrl, keyparms, &public);
@@ -589,8 +589,8 @@ proc_parameters (ctrl_t ctrl,
 /* Parameters are checked, the key pair has been created.  Now
    generate the request and write it out */
 static int
-create_request (ctrl_t ctrl, 
-                struct para_data_s *para, 
+create_request (ctrl_t ctrl,
+                struct para_data_s *para,
                 const char *carddirect,
                 ksba_const_sexp_t public,
                 struct reqgen_ctrl_s *outctrl)
@@ -618,11 +618,11 @@ create_request (ctrl_t ctrl,
       goto leave;
     }
   if (DBG_HASHING)
-    gcry_md_start_debug (md, "cr.cri");
+    gcry_md_debug (md, "cr.cri");
 
   ksba_certreq_set_hash_function (cr, HASH_FNC, md);
   ksba_certreq_set_writer (cr, outctrl->writer);
-  
+
   err = ksba_certreq_add_subject (cr, get_parameter_value (para, pNAMEDN, 0));
   if (err)
     {
@@ -718,14 +718,14 @@ create_request (ctrl_t ctrl,
       goto leave;
     }
 
-  
+
   use = get_parameter_uint (para, pKEYUSAGE);
   if (use == GCRY_PK_USAGE_SIGN)
     {
       /* For signing only we encode the bits:
          KSBA_KEYUSAGE_DIGITAL_SIGNATURE
          KSBA_KEYUSAGE_NON_REPUDIATION */
-      err = ksba_certreq_add_extension (cr, oidstr_keyUsage, 1, 
+      err = ksba_certreq_add_extension (cr, oidstr_keyUsage, 1,
                                         "\x03\x02\x06\xC0", 4);
     }
   else if (use == GCRY_PK_USAGE_ENCR)
@@ -733,7 +733,7 @@ create_request (ctrl_t ctrl,
       /* For encrypt only we encode the bits:
          KSBA_KEYUSAGE_KEY_ENCIPHERMENT
          KSBA_KEYUSAGE_DATA_ENCIPHERMENT */
-      err = ksba_certreq_add_extension (cr, oidstr_keyUsage, 1, 
+      err = ksba_certreq_add_extension (cr, oidstr_keyUsage, 1,
                                         "\x03\x02\x04\x30", 4);
     }
   else
@@ -746,7 +746,7 @@ create_request (ctrl_t ctrl,
       goto leave;
     }
 
-               
+
   do
     {
       err = ksba_certreq_build (cr, &stopreason);
@@ -788,11 +788,11 @@ create_request (ctrl_t ctrl,
           gcry_sexp_release (s_pkey);
           bin2hex (grip, 20, hexgrip);
 
-          log_info ("about to sign CSR for key: &%s\n", hexgrip); 
+          log_info ("about to sign CSR for key: &%s\n", hexgrip);
 
           if (carddirect)
             rc = gpgsm_scd_pksign (ctrl, carddirect, NULL,
-                                     gcry_md_read(md, GCRY_MD_SHA1), 
+                                     gcry_md_read(md, GCRY_MD_SHA1),
                                      gcry_md_get_algo_dlen (GCRY_MD_SHA1),
                                      GCRY_MD_SHA1,
                                      &sigval, &siglen);
@@ -802,13 +802,13 @@ create_request (ctrl_t ctrl,
               char *desc;
 
               orig_codeset = i18n_switchto_utf8 ();
-              desc = percent_plus_escape 
+              desc = percent_plus_escape
                 (_("To complete this certificate request please enter"
                    " the passphrase for the key you just created once"
                    " more.\n"));
               i18n_switchback (orig_codeset);
               rc = gpgsm_agent_pksign (ctrl, hexgrip, desc,
-                                       gcry_md_read(md, GCRY_MD_SHA1), 
+                                       gcry_md_read(md, GCRY_MD_SHA1),
                                        gcry_md_get_algo_dlen (GCRY_MD_SHA1),
                                        GCRY_MD_SHA1,
                                        &sigval, &siglen);
@@ -819,7 +819,7 @@ create_request (ctrl_t ctrl,
               log_error ("signing failed: %s\n", gpg_strerror (rc));
               goto leave;
             }
-          
+
           err = ksba_certreq_set_sig_val (cr, sigval);
           xfree (sigval);
           if (err)
@@ -831,13 +831,13 @@ create_request (ctrl_t ctrl,
             }
         }
     }
-  while (stopreason != KSBA_SR_READY);   
+  while (stopreason != KSBA_SR_READY);
 
 
  leave:
   gcry_md_close (md);
   ksba_certreq_release (cr);
-  return rc;  
+  return rc;
 }
 
 
@@ -868,7 +868,7 @@ gpgsm_genkey (ctrl_t ctrl, estream_t in_stream, FILE *out_fp)
     }
 
   rc = gpgsm_finish_writer (b64writer);
-  if (rc) 
+  if (rc)
     {
       log_error ("write failed: %s\n", gpg_strerror (rc));
       goto leave;
index de02551..841fbd6 100644 (file)
@@ -258,7 +258,7 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, FILE *out_fp)
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
index a526a64..42a438a 100644 (file)
@@ -332,7 +332,7 @@ gpgsm_encrypt (ctrl_t ctrl, certlist_t recplist, int data_fd, FILE *out_fp)
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
diff --git a/sm/gpgsm-w32info.rc b/sm/gpgsm-w32info.rc
new file mode 100644 (file)
index 0000000..d813b0d
--- /dev/null
@@ -0,0 +1,50 @@
+/* gpgsm-w32info.rc                                           -*- c -*-
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "afxres.h"
+#include "../common/w32info-rc.h"
+
+1 ICON "../common/gnupg.ico"
+
+1 VERSIONINFO
+  FILEVERSION    W32INFO_VI_FILEVERSION
+  PRODUCTVERSION W32INFO_VI_PRODUCTVERSION
+  FILEFLAGSMASK  0x3fL
+#ifdef _DEBUG
+  FILEFLAGS      0x01L    /* VS_FF_DEBUG (0x1)*/
+#else
+  FILEFLAGS      0x00L
+#endif
+  FILEOS         0x40004L /* VOS_NT (0x40000) | VOS__WINDOWS32 (0x4)  */
+  FILETYPE       0x1L     /* VFT_APP (0x1)  */
+  FILESUBTYPE    0x0L     /* VFT2_UNKNOWN   */
+  BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"  /* US English (0409), Unicode (04b0) */
+        BEGIN
+            VALUE "FileDescription", L"GnuPG\x2019s X.509/CMS tool\0"
+            VALUE "InternalName", "gpgsm\0"
+            VALUE "OriginalFilename", "gpgsm.exe\0"
+            VALUE "ProductName",    W32INFO_PRODUCTNAME
+            VALUE "ProductVersion", W32INFO_PRODUCTVERSION
+            VALUE "CompanyName", W32INFO_COMPANYNAME
+            VALUE "FileVersion", W32INFO_FILEVERSION
+            VALUE "LegalCopyright", W32INFO_LEGALCOPYRIGHT
+            VALUE "Comments",    W32INFO_COMMENTS
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+      VALUE "Translation", 0x409, 0x4b0
+    END
+  END
index 484ce9d..97ec4bb 100644 (file)
@@ -523,8 +523,8 @@ my_strusage( int level )
       break;
     case 41:
       p = _("Syntax: gpgsm [options] [files]\n"
-            "sign, check, encrypt or decrypt using the S/MIME protocol\n"
-            "default operation depends on the input data\n");
+            "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
+            "Default operation depends on the input data\n");
       break;
 
     case 20:
@@ -951,7 +951,10 @@ main ( int argc, char **argv)
           default_config = 0;
        }
       else if (pargs.r_opt == oNoOptions)
-        default_config = 0; /* --no-options */
+        {
+          default_config = 0; /* --no-options */
+          opt.no_homedir_creation = 1;
+        }
       else if (pargs.r_opt == oHomedir)
         opt.homedir = pargs.r.ret_str;
       else if (pargs.r_opt == aCallProtectTool)
@@ -1246,7 +1249,7 @@ main ( int argc, char **argv)
               goto next_pass;
            }
           break;
-        case oNoOptions: break; /* no-options */
+        case oNoOptions: opt.no_homedir_creation = 1; break; /* no-options */
         case oHomedir: opt.homedir = pargs.r.ret_str; break;
         case oAgentProgram: opt.agent_program = pargs.r.ret_str;  break;
 
index c4a261b..25a2e5b 100644 (file)
@@ -50,7 +50,7 @@ struct keyserver_spec
 
 
 /* A large struct named "opt" to keep global flags. */
-struct 
+struct
 {
   unsigned int debug; /* debug flags (DBG_foo_VALUE) */
   int verbose;      /* verbosity level */
@@ -59,10 +59,11 @@ struct
   int answer_yes;   /* assume yes on most questions */
   int answer_no;    /* assume no on most questions */
   int dry_run;      /* don't change any persistent data */
+  int no_homedir_creation;
 
   const char *homedir;         /* Configuration directory name */
   const char *config_filename; /* Name of the used config file. */
-  const char *agent_program; 
+  const char *agent_program;
 
   session_env_t session_env;
   char *lc_ctype;
@@ -75,7 +76,7 @@ struct
   char *outfile;    /* name of output file */
 
   int with_key_data;/* include raw key in the column delimted output */
-  
+
   int fingerprint;  /* list fingerprints in all key listings */
 
   int with_md5_fingerprint; /* Also print an MD5 fingerprint for
@@ -170,11 +171,11 @@ struct server_control_s
   int no_server;      /* We are not running under server control */
   int  status_fd;     /* Only for non-server mode */
   struct server_local_s *server_local;
-  
+
   audit_ctx_t audit;  /* NULL or a context for the audit subsystem.  */
   int agent_seen;     /* Flag indicating that the gpg-agent has been
                          accessed.  */
-  
+
   int with_colons;    /* Use column delimited output format */
   int with_chain;     /* Include the certifying certs in a listing */
   int with_validation;/* Validate each key while listing. */
@@ -203,7 +204,7 @@ typedef struct base64_context_s *Base64Context;
 
 
 /* An object to keep a list of certificates. */
-struct certlist_s 
+struct certlist_s
 {
   struct certlist_s *next;
   ksba_cert_t cert;
@@ -386,7 +387,7 @@ int gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc,
                       unsigned char *digest, size_t digestlen, int digestalgo,
                       unsigned char **r_buf, size_t *r_buflen);
 int gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc,
-                           ksba_const_sexp_t ciphertext, 
+                           ksba_const_sexp_t ciphertext,
                            char **r_buf, size_t *r_buflen);
 int gpgsm_agent_genkey (ctrl_t ctrl,
                         ksba_const_sexp_t keyparms, ksba_sexp_t *r_pubkey);
index 37f791e..4fc5e8c 100644 (file)
@@ -1,5 +1,6 @@
 /* keydb.c - key database dispatcher
  * Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
+ * Copyright (C) 2014 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -25,6 +26,7 @@
 #include <assert.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <fcntl.h>
 #include <unistd.h>
 
 #include "gpgsm.h"
 #include "keydb.h"
 #include "i18n.h"
 
+#ifdef MKDIR_TAKES_ONE_ARG
+#undef mkdir
+#define mkdir(a,b) mkdir(a)
+#endif
+
 static int active_handles;
 
 typedef enum {
@@ -56,6 +63,7 @@ static int used_resources;
 struct keydb_handle {
   int locked;
   int found;
+  int saved_found;
   int current;
   int is_ephemeral;
   int used; /* items in active */
@@ -67,11 +75,173 @@ static int lock_all (KEYDB_HANDLE hd);
 static void unlock_all (KEYDB_HANDLE hd);
 
 
+static void
+try_make_homedir (const char *fname)
+{
+  const char *defhome = standard_homedir ();
+
+  /* Create the directory only if the supplied directory name is the
+     same as the default one.  This way we avoid to create arbitrary
+     directories when a non-default home directory is used.  To cope
+     with HOME, we do compare only the suffix if we see that the
+     default homedir does start with a tilde.  */
+  if ( opt.dry_run || opt.no_homedir_creation )
+    return;
+
+  if (
+#ifdef HAVE_W32_SYSTEM
+      ( !compare_filenames (fname, defhome) )
+#else
+      ( *defhome == '~'
+        && (strlen(fname) >= strlen (defhome+1)
+            && !strcmp(fname+strlen(fname)-strlen(defhome+1), defhome+1 ) ))
+      || (*defhome != '~'  && !compare_filenames( fname, defhome ) )
+#endif
+      )
+    {
+      if ( mkdir (fname, S_IRUSR|S_IWUSR|S_IXUSR) )
+        log_info (_("can't create directory `%s': %s\n"),
+                  fname, strerror(errno) );
+      else if (!opt.quiet )
+        log_info (_("directory `%s' created\n"), fname);
+    }
+}
+
+
+/* Handle the creation of a keybox if it does not yet exist.  Take
+   into acount that other processes might have the keybox already
+   locked.  This lock check does not work if the directory itself is
+   not yet available.  If R_CREATED is not NULL it will be set to true
+   if the function created a new keybox.  */
+static int
+maybe_create_keybox (char *filename, int force, int *r_created)
+{
+  DOTLOCK lockhd = NULL;
+  FILE *fp;
+  int rc;
+  mode_t oldmask;
+  char *last_slash_in_filename;
+  int save_slash;
+
+  if (r_created)
+    *r_created = 0;
+
+  /* A quick test whether the filename already exists. */
+  if (!access (filename, F_OK))
+    return 0;
+
+  /* If we don't want to create a new file at all, there is no need to
+     go any further - bail out right here.  */
+  if (!force)
+    return gpg_error (GPG_ERR_ENOENT);
+
+  /* First of all we try to create the home directory.  Note, that we
+     don't do any locking here because any sane application of gpg
+     would create the home directory by itself and not rely on gpg's
+     tricky auto-creation which is anyway only done for some home
+     directory name patterns. */
+  last_slash_in_filename = strrchr (filename, DIRSEP_C);
+#if HAVE_W32_SYSTEM
+  {
+    /* Windows may either have a slash or a backslash.  Take care of it.  */
+    char *p = strrchr (filename, '/');
+    if (!last_slash_in_filename || p > last_slash_in_filename)
+      last_slash_in_filename = p;
+  }
+#endif /*HAVE_W32_SYSTEM*/
+  if (!last_slash_in_filename)
+    return gpg_error (GPG_ERR_ENOENT);  /* No slash at all - should
+                                           not happen though.  */
+  save_slash = *last_slash_in_filename;
+  *last_slash_in_filename = 0;
+  if (access(filename, F_OK))
+    {
+      static int tried;
+
+      if (!tried)
+        {
+          tried = 1;
+          try_make_homedir (filename);
+        }
+      if (access (filename, F_OK))
+        {
+          rc = gpg_error_from_syserror ();
+          *last_slash_in_filename = save_slash;
+          goto leave;
+        }
+    }
+  *last_slash_in_filename = save_slash;
+
+  /* To avoid races with other instances of gpg trying to create or
+     update the keybox (it is removed during an update for a short
+     time), we do the next stuff in a locked state. */
+  lockhd = create_dotlock (filename);
+  if (!lockhd)
+    {
+      /* A reason for this to fail is that the directory is not
+         writable. However, this whole locking stuff does not make
+         sense if this is the case. An empty non-writable directory
+         with no keyring is not really useful at all. */
+      if (opt.verbose)
+        log_info ("can't allocate lock for `%s'\n", filename );
+
+      if (!force)
+        return gpg_error (GPG_ERR_ENOENT);
+      else
+        return gpg_error (GPG_ERR_GENERAL);
+    }
+
+  if ( make_dotlock (lockhd, -1) )
+    {
+      /* This is something bad.  Probably a stale lockfile.  */
+      log_info ("can't lock `%s'\n", filename);
+      rc = gpg_error (GPG_ERR_GENERAL);
+      goto leave;
+    }
+
+  /* Now the real test while we are locked. */
+  if (!access(filename, F_OK))
+    {
+      rc = 0;  /* Okay, we may access the file now.  */
+      goto leave;
+    }
+
+  /* The file does not yet exist, create it now. */
+  oldmask = umask (077);
+  fp = fopen (filename, "w");
+  if (!fp)
+    {
+      rc = gpg_error_from_syserror ();
+      umask (oldmask);
+      log_error (_("error creating keybox `%s': %s\n"),
+                 filename, gpg_strerror (rc));
+      goto leave;
+    }
+  umask (oldmask);
+
+  if (!opt.quiet)
+    log_info (_("keybox `%s' created\n"), filename);
+  if (r_created)
+    *r_created = 1;
+
+  fclose (fp);
+  rc = 0;
+
+ leave:
+  if (lockhd)
+    {
+      release_dotlock (lockhd);
+      destroy_dotlock (lockhd);
+    }
+  return rc;
+}
+
+
 /*
  * Register a resource (which currently may only be a keybox file).
  * The first keybox which is added by this function is created if it
  * does not exist.  If AUTO_CREATED is not NULL it will be set to true
- * if the function has created a new keybox.
+ * if the function has created a new keybox.
  */
 int
 keydb_add_resource (const char *url, int force, int secret, int *auto_created)
@@ -80,7 +250,6 @@ keydb_add_resource (const char *url, int force, int secret, int *auto_created)
   const char *resname = url;
   char *filename = NULL;
   int rc = 0;
-  FILE *fp;
   KeydbResourceType rt = KEYDB_RESOURCE_TYPE_NONE;
 
   if (auto_created)
@@ -136,11 +305,11 @@ keydb_add_resource (const char *url, int force, int secret, int *auto_created)
             else
               rt = KEYDB_RESOURCE_TYPE_KEYBOX;
           }
-        else /* maybe empty: assume ring */
+        else /* maybe empty: assume keybox */
           rt = KEYDB_RESOURCE_TYPE_KEYBOX;
         fclose (fp2);
       }
-      else /* no file yet: create ring */
+      else /* no file yet: create keybox */
         rt = KEYDB_RESOURCE_TYPE_KEYBOX;
     }
 
@@ -152,91 +321,46 @@ keydb_add_resource (const char *url, int force, int secret, int *auto_created)
       goto leave;
 
     case KEYDB_RESOURCE_TYPE_KEYBOX:
-      fp = fopen (filename, "rb");
-      if (!fp && !force)
-        {
-          rc = gpg_error (gpg_err_code_from_errno (errno));
-          goto leave;
-        }
-
-      if (!fp)
-        { /* no file */
-#if 0 /* no autocreate of the homedirectory yet */
+      rc = maybe_create_keybox (filename, force, auto_created);
+      if (rc)
+        goto leave;
+      /* Now register the file */
+      {
+        void *token = keybox_register_file (filename, secret);
+        if (!token)
+          ; /* already registered - ignore it */
+        else if (used_resources >= MAX_KEYDB_RESOURCES)
+          rc = gpg_error (GPG_ERR_RESOURCE_LIMIT);
+        else
           {
-            char *last_slash_in_filename;
-
-            last_slash_in_filename = strrchr (filename, DIRSEP_C);
-            *last_slash_in_filename = 0;
-            if (access (filename, F_OK))
-              { /* on the first time we try to create the default
-                   homedir and in this case the process will be
-                   terminated, so that on the next invocation can
-                   read the options file in on startup */
-                try_make_homedir (filename);
-                rc = gpg_error (GPG_ERR_FILE_OPEN_ERROR);
-                *last_slash_in_filename = DIRSEP_C;
-                goto leave;
+            all_resources[used_resources].type = rt;
+            all_resources[used_resources].u.kr = NULL; /* Not used here */
+            all_resources[used_resources].token = token;
+            all_resources[used_resources].secret = secret;
+
+            all_resources[used_resources].lockhandle
+              = create_dotlock (filename);
+            if (!all_resources[used_resources].lockhandle)
+              log_fatal ( _("can't create lock for `%s'\n"), filename);
+
+            /* Do a compress run if needed and the file is not locked. */
+            if (!make_dotlock (all_resources[used_resources].lockhandle, 0))
+              {
+                KEYBOX_HANDLE kbxhd = keybox_new (token, secret);
+
+                if (kbxhd)
+                  {
+                    keybox_compress (kbxhd);
+                    keybox_release (kbxhd);
+                  }
+                release_dotlock (all_resources[used_resources].lockhandle);
               }
-            *last_slash_in_filename = DIRSEP_C;
-          }
-#endif
-          fp = fopen (filename, "w");
-          if (!fp)
-            {
-              rc = gpg_error (gpg_err_code_from_errno (errno));
-              log_error (_("error creating keybox `%s': %s\n"),
-                         filename, strerror(errno));
-              if (errno == ENOENT)
-                log_info (_("you may want to start the gpg-agent first\n"));
-              goto leave;
-           }
-
-          if (!opt.quiet)
-            log_info (_("keybox `%s' created\n"), filename);
-          if (auto_created)
-            *auto_created = 1;
-       }
-       fclose (fp);
-       fp = NULL;
-        /* now register the file */
-        {
-
-          void *token = keybox_register_file (filename, secret);
-          if (!token)
-            ; /* already registered - ignore it */
-          else if (used_resources >= MAX_KEYDB_RESOURCES)
-            rc = gpg_error (GPG_ERR_RESOURCE_LIMIT);
-          else
-            {
-              all_resources[used_resources].type = rt;
-              all_resources[used_resources].u.kr = NULL; /* Not used here */
-              all_resources[used_resources].token = token;
-              all_resources[used_resources].secret = secret;
-
-              all_resources[used_resources].lockhandle
-                = create_dotlock (filename);
-              if (!all_resources[used_resources].lockhandle)
-                log_fatal ( _("can't create lock for `%s'\n"), filename);
-
-              /* Do a compress run if needed and the file is not locked. */
-              if (!make_dotlock (all_resources[used_resources].lockhandle, 0))
-                {
-                  KEYBOX_HANDLE kbxhd = keybox_new (token, secret);
-
-                  if (kbxhd)
-                    {
-                      keybox_compress (kbxhd);
-                      keybox_release (kbxhd);
-                    }
-                  release_dotlock (all_resources[used_resources].lockhandle);
-                }
-
-              used_resources++;
-            }
-        }
 
+            used_resources++;
+          }
+      }
+      break;
 
-       break;
     default:
       log_error ("resource type of `%s' not supported\n", url);
       rc = gpg_error (GPG_ERR_NOT_SUPPORTED);
@@ -265,6 +389,7 @@ keydb_new (int secret)
 
   hd = xcalloc (1, sizeof *hd);
   hd->found = -1;
+  hd->saved_found = -1;
 
   assert (used_resources <= MAX_KEYDB_RESOURCES);
   for (i=j=0; i < used_resources; i++)
@@ -476,6 +601,58 @@ unlock_all (KEYDB_HANDLE hd)
   hd->locked = 0;
 }
 
+
+\f
+/* Push the last found state if any.  */
+void
+keydb_push_found_state (KEYDB_HANDLE hd)
+{
+  if (!hd)
+    return;
+
+  if (hd->found < 0 || hd->found >= hd->used)
+    {
+      hd->saved_found = -1;
+      return;
+    }
+
+  switch (hd->active[hd->found].type)
+    {
+    case KEYDB_RESOURCE_TYPE_NONE:
+      break;
+    case KEYDB_RESOURCE_TYPE_KEYBOX:
+      keybox_push_found_state (hd->active[hd->found].u.kr);
+      break;
+    }
+
+  hd->saved_found = hd->found;
+  hd->found = -1;
+}
+
+
+/* Pop the last found state.  */
+void
+keydb_pop_found_state (KEYDB_HANDLE hd)
+{
+  if (!hd)
+    return;
+
+  hd->found = hd->saved_found;
+  hd->saved_found = -1;
+  if (hd->found < 0 || hd->found >= hd->used)
+    return;
+
+  switch (hd->active[hd->found].type)
+    {
+    case KEYDB_RESOURCE_TYPE_NONE:
+      break;
+    case KEYDB_RESOURCE_TYPE_KEYBOX:
+      keybox_pop_found_state (hd->active[hd->found].u.kr);
+      break;
+    }
+}
+
+
 \f
 #if 0
 /*
index a440c50..f51d79d 100644 (file)
@@ -49,6 +49,8 @@ gpg_error_t keydb_get_flags (KEYDB_HANDLE hd, int which, int idx,
                              unsigned int *value);
 gpg_error_t keydb_set_flags (KEYDB_HANDLE hd, int which, int idx,
                              unsigned int value);
+void keydb_push_found_state (KEYDB_HANDLE hd);
+void keydb_pop_found_state (KEYDB_HANDLE hd);
 int keydb_get_cert (KEYDB_HANDLE hd, ksba_cert_t *r_cert);
 int keydb_insert_cert (KEYDB_HANDLE hd, ksba_cert_t cert);
 int keydb_update_cert (KEYDB_HANDLE hd, ksba_cert_t cert);
index fcf47a7..6ba5e58 100644 (file)
@@ -1050,7 +1050,7 @@ cmd_getauditlog (assuan_context_t ctx, char *line)
       if (out_fd == -1)
         return set_error (GPG_ERR_ASS_NO_OUTPUT, NULL);
       
-      out_stream = es_fdopen_nc ( dup (out_fd), "w");
+      out_stream = es_fdopen_nc (out_fd, "w");
       if (!out_stream)
         {
           return set_error (GPG_ERR_ASS_GENERAL, "es_fdopen() failed");
index fd7c4ff..c173740 100644 (file)
--- a/sm/sign.c
+++ b/sm/sign.c
@@ -22,7 +22,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <unistd.h> 
+#include <unistd.h>
 #include <time.h>
 #include <assert.h>
 
@@ -50,7 +50,7 @@ hash_data (int fd, gcry_md_hd_t md)
       return -1;
     }
 
-  do 
+  do
     {
       nread = fread (buffer, 1, DIM(buffer), fp);
       gcry_md_write (md, buffer, nread);
@@ -83,7 +83,7 @@ hash_and_copy_data (int fd, gcry_md_hd_t md, ksba_writer_t writer)
       return tmperr;
     }
 
-  do 
+  do
     {
       nread = fread (buffer, 1, DIM(buffer), fp);
       if (nread)
@@ -152,7 +152,7 @@ gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
   do
     {
       rc = keydb_get_cert (hd, &cert);
-      if (rc) 
+      if (rc)
         {
           log_error ("keydb_get_cert failed: %s\n", gpg_strerror (rc));
           keydb_release (hd);
@@ -175,13 +175,13 @@ gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
             }
         }
 
-      ksba_cert_release (cert); 
+      ksba_cert_release (cert);
       cert = NULL;
     }
   while (!(rc = keydb_search_next (hd)));
   if (rc && rc != -1)
     log_error ("keydb_search_next failed: %s\n", gpg_strerror (rc));
-  
+
   ksba_cert_release (cert);
   keydb_release (hd);
   return rc;
@@ -225,7 +225,7 @@ get_default_signer (ctrl_t ctrl)
     {
       log_debug ("failed to find default certificate: rc=%d\n", rc);
     }
-  else 
+  else
     {
       rc = keydb_get_cert (kh, &cert);
       if (rc)
@@ -241,7 +241,7 @@ get_default_signer (ctrl_t ctrl)
 /* Depending on the options in CTRL add the certificate CERT as well as
    other certificate up in the chain to the Root-CA to the CMS
    object. */
-static int 
+static int
 add_certificate_list (ctrl_t ctrl, ksba_cms_t cms, ksba_cert_t cert)
 {
   gpg_error_t err;
@@ -302,7 +302,7 @@ add_certificate_list (ctrl_t ctrl, ksba_cms_t cms, ksba_cert_t cert)
 
 
 \f
-/* Perform a sign operation.  
+/* Perform a sign operation.
 
    Sign the data received on DATA-FD in embedded mode or in detached
    mode when DETACHED is true.  Write the signature to OUT_FP.  The
@@ -332,7 +332,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
@@ -380,7 +380,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
       if (!cert)
         {
           log_error ("no default signer found\n");
-          gpgsm_status2 (ctrl, STATUS_INV_SGNR, 
+          gpgsm_status2 (ctrl, STATUS_INV_SGNR,
                          get_inv_recpsgnr_code (GPG_ERR_NO_SECKEY), NULL);
           rc = gpg_error (GPG_ERR_GENERAL);
           goto leave;
@@ -396,7 +396,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
           char *tmpfpr;
 
           tmpfpr = gpgsm_get_fingerprint_hexstring (cert, 0);
-          gpgsm_status2 (ctrl, STATUS_INV_SGNR, 
+          gpgsm_status2 (ctrl, STATUS_INV_SGNR,
                          get_inv_recpsgnr_code (rc), tmpfpr, NULL);
           xfree (tmpfpr);
           goto leave;
@@ -442,13 +442,13 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
         case GCRY_MD_SHA384: oid = "2.16.840.1.101.3.4.2.2"; break;
         case GCRY_MD_SHA512: oid = "2.16.840.1.101.3.4.2.3"; break;
 /*         case GCRY_MD_WHIRLPOOL: oid = "No OID yet"; break; */
-              
+
         case GCRY_MD_MD5:  /* We don't want to use MD5.  */
         case 0:            /* No algorithm found in cert.  */
         default:           /* Other algorithms.  */
           log_info (_("hash algorithm %d (%s) for signer %d not supported;"
                       " using %s\n"),
-                    cl->hash_algo, oid? oid: "?", i, 
+                    cl->hash_algo, oid? oid: "?", i,
                     gcry_md_algo_name (GCRY_MD_SHA1));
           cl->hash_algo = GCRY_MD_SHA1;
           oid = "1.3.14.3.2.26";
@@ -460,7 +460,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
   if (opt.verbose)
     {
       for (i=0, cl=signerlist; cl; cl = cl->next, i++)
-        log_info (_("hash algorithm used for signer %d: %s (%s)\n"), 
+        log_info (_("hash algorithm used for signer %d: %s (%s)\n"),
                   i, gcry_md_algo_name (cl->hash_algo), cl->hash_algo_oid);
     }
 
@@ -471,7 +471,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
       rc = gpgsm_cert_use_sign_p (cl->cert);
       if (rc)
         goto leave;
-      
+
       err = ksba_cms_add_signer (cms, cl->cert);
       if (err)
         {
@@ -505,13 +505,13 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
     {
       size_t buflen;
       char buffer[1];
-      
-      err = ksba_cert_get_user_data (cl->cert, "is_qualified", 
+
+      err = ksba_cert_get_user_data (cl->cert, "is_qualified",
                                      &buffer, sizeof (buffer), &buflen);
       if (err || !buflen)
         {
           log_error (_("checking for qualified certificate failed: %s\n"),
-                     gpg_strerror (err)); 
+                     gpg_strerror (err));
           rc = err;
           goto leave;
         }
@@ -525,7 +525,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
           goto leave;
         }
     }
-  
+
   /* Prepare hashing (actually we are figuring out what we have set
      above). */
   rc = gcry_md_open (&data_md, 0, 0);
@@ -535,7 +535,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
       goto leave;
     }
   if (DBG_HASHING)
-    gcry_md_start_debug (data_md, "sign.data");
+    gcry_md_debug (data_md, "sign.data");
 
   for (i=0; (algoid=ksba_cms_get_digest_algo_list (cms, i)); i++)
     {
@@ -614,7 +614,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
 
 
   /* Main building loop. */
-  do 
+  do
     {
       err = ksba_cms_build (cms, &stopreason);
       if (err)
@@ -625,7 +625,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
         }
 
       if (stopreason == KSBA_SR_BEGIN_DATA)
-        { 
+        {
           /* Hash the data and store the message digest. */
           unsigned char *digest;
           size_t digest_len;
@@ -658,7 +658,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
             }
         }
       else if (stopreason == KSBA_SR_NEED_SIG)
-        { 
+        {
           /* Compute the signature for all signers.  */
           gcry_md_hd_t md;
 
@@ -669,7 +669,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
               goto leave;
             }
           if (DBG_HASHING)
-            gcry_md_start_debug (md, "sign.attr");
+            gcry_md_debug (md, "sign.attr");
           ksba_cms_set_hash_function (cms, HASH_FNC, md);
           for (cl=signerlist,signer=0; cl; cl = cl->next, signer++)
             {
@@ -685,7 +685,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
                 for (cl_tmp=signerlist; cl_tmp; cl_tmp = cl_tmp->next)
                   {
                     gcry_md_enable (md, cl_tmp->hash_algo);
-                    audit_log_i (ctrl->audit, AUDIT_ATTR_HASH_ALGO, 
+                    audit_log_i (ctrl->audit, AUDIT_ATTR_HASH_ALGO,
                                  cl_tmp->hash_algo);
                   }
               }
@@ -698,7 +698,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
                   gcry_md_close (md);
                   goto leave;
                 }
-            
+
               rc = gpgsm_create_cms_signature (ctrl, cl->cert,
                                                md, cl->hash_algo, &sigval);
               if (rc)
@@ -733,8 +733,8 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
                 int pkalgo = gpgsm_get_key_algo_info (cl->cert, NULL);
                 buf = xtryasprintf ("%c %d %d 00 %s %s",
                                     detached? 'D':'S',
-                                    pkalgo, 
-                                    cl->hash_algo, 
+                                    pkalgo,
+                                    cl->hash_algo,
                                     signed_at,
                                     fpr);
                 if (!buf)
@@ -753,10 +753,10 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
           gcry_md_close (md);
         }
     }
-  while (stopreason != KSBA_SR_READY);   
+  while (stopreason != KSBA_SR_READY);
 
   rc = gpgsm_finish_writer (b64writer);
-  if (rc) 
+  if (rc)
     {
       log_error ("write failed: %s\n", gpg_strerror (rc));
       goto leave;
@@ -774,7 +774,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
     gpgsm_release_certlist (signerlist);
   ksba_cms_release (cms);
   gpgsm_destroy_writer (b64writer);
-  keydb_release (kh); 
+  keydb_release (kh);
   gcry_md_close (data_md);
   return rc;
 }
index c8663e3..0444dfe 100644 (file)
@@ -22,7 +22,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <unistd.h> 
+#include <unistd.h>
 #include <time.h>
 #include <assert.h>
 
@@ -37,7 +37,7 @@ static char *
 strtimestamp_r (ksba_isotime_t atime)
 {
   char *buffer = xmalloc (15);
-  
+
   if (!atime || !*atime)
     strcpy (buffer, "none");
   else
@@ -64,7 +64,7 @@ hash_data (int fd, gcry_md_hd_t md)
       return err;
     }
 
-  do 
+  do
     {
       nread = fread (buffer, 1, DIM(buffer), fp);
       gcry_md_write (md, buffer, nread);
@@ -110,7 +110,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
   kh = keydb_new (0);
   if (!kh)
     {
-      log_error (_("failed to allocated keyDB handle\n"));
+      log_error (_("failed to allocate keyDB handle\n"));
       rc = gpg_error (GPG_ERR_GENERAL);
       goto leave;
     }
@@ -160,12 +160,12 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
       goto leave;
     }
   if (DBG_HASHING)
-    gcry_md_start_debug (data_md, "vrfy.data");
+    gcry_md_debug (data_md, "vrfy.data");
 
   audit_log (ctrl->audit, AUDIT_SETUP_READY);
 
   is_detached = 0;
-  do 
+  do
     {
       rc = ksba_cms_parse (cms, &stopreason);
       if (rc)
@@ -184,7 +184,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
 
       if (stopreason == KSBA_SR_NEED_HASH
           || stopreason == KSBA_SR_BEGIN_DATA)
-        { 
+        {
           audit_log (ctrl->audit, AUDIT_GOT_DATA);
 
           /* We are now able to enable the hash algorithms */
@@ -213,7 +213,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
           if (opt.extra_digest_algo)
             {
               if (DBG_X509)
-                log_debug ("enabling extra hash algorithm %d\n", 
+                log_debug ("enabling extra hash algorithm %d\n",
                            opt.extra_digest_algo);
               gcry_md_enable (data_md, opt.extra_digest_algo);
               audit_log_i (ctrl->audit, AUDIT_DATA_HASH_ALGO,
@@ -241,12 +241,12 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
           audit_log_ok (ctrl->audit, AUDIT_DATA_HASHING, 0);
         }
     }
-  while (stopreason != KSBA_SR_READY);   
+  while (stopreason != KSBA_SR_READY);
 
   if (b64writer)
     {
       rc = gpgsm_finish_writer (b64writer);
-      if (rc) 
+      if (rc)
         {
           log_error ("write failed: %s\n", gpg_strerror (rc));
           audit_log_ok (ctrl->audit, AUDIT_WRITE_ERROR, rc);
@@ -268,7 +268,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
          certificate first before entering it into the DB.  This way
          we would avoid cluttering the DB with invalid
          certificates. */
-      audit_log_cert (ctrl->audit, AUDIT_SAVE_CERT, cert, 
+      audit_log_cert (ctrl->audit, AUDIT_SAVE_CERT, cert,
                       keydb_store_cert (cert, 0, NULL));
       ksba_cert_release (cert);
     }
@@ -344,7 +344,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
                              &algo, &is_enabled)
                || !is_enabled)
             {
-              log_error ("digest algo %d (%s) has not been enabled\n", 
+              log_error ("digest algo %d (%s) has not been enabled\n",
                          algo, algoid?algoid:"");
               audit_log_s (ctrl->audit, AUDIT_SIG_STATUS, "unsupported");
               goto next_signer;
@@ -355,7 +355,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
           assert (!msgdigest);
           rc = 0;
           algoid = NULL;
-          algo = 0; 
+          algo = 0;
         }
       else /* real error */
         {
@@ -365,7 +365,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
 
       rc = ksba_cms_get_sigattr_oids (cms, signer,
                                       "1.2.840.113549.1.9.3", &ctattr);
-      if (!rc) 
+      if (!rc)
         {
           const char *s;
 
@@ -484,9 +484,9 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
               gpgsm_status (ctrl, STATUS_BADSIG, fpr);
               xfree (fpr);
               audit_log_s (ctrl->audit, AUDIT_SIG_STATUS, "bad");
-              goto next_signer; 
+              goto next_signer;
             }
-            
+
           audit_log_i (ctrl->audit, AUDIT_ATTR_HASH_ALGO, sigval_hash_algo);
           rc = gcry_md_open (&md, sigval_hash_algo, 0);
           if (rc)
@@ -496,7 +496,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
               goto next_signer;
             }
           if (DBG_HASHING)
-            gcry_md_start_debug (md, "vrfy.attr");
+            gcry_md_debug (md, "vrfy.attr");
 
           ksba_cms_set_hash_function (cms, HASH_FNC, md);
           rc = ksba_cms_hash_signed_attrs (cms, signer);
@@ -508,13 +508,13 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
               audit_log_s (ctrl->audit, AUDIT_SIG_STATUS, "error");
               goto next_signer;
             }
-          rc = gpgsm_check_cms_signature (cert, sigval, md, 
+          rc = gpgsm_check_cms_signature (cert, sigval, md,
                                           sigval_hash_algo, &info_pkalgo);
           gcry_md_close (md);
         }
       else
         {
-          rc = gpgsm_check_cms_signature (cert, sigval, data_md, 
+          rc = gpgsm_check_cms_signature (cert, sigval, data_md,
                                           algo, &info_pkalgo);
         }
 
@@ -542,7 +542,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
       audit_log (ctrl->audit, AUDIT_VALIDATE_CHAIN);
       rc = gpgsm_validate_chain (ctrl, cert,
                                  *sigtime? sigtime : "19700101T000000",
-                                 keyexptime, 0, 
+                                 keyexptime, 0,
                                  NULL, 0, &verifyflags);
       {
         char *fpr, *buf, *tstr;
@@ -555,7 +555,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
           }
         else
           gpgsm_status (ctrl, STATUS_GOODSIG, fpr);
-        
+
         xfree (fpr);
 
         fpr = gpgsm_get_fingerprint_hexstring (cert, GCRY_MD_SHA1);
@@ -581,7 +581,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
             gpgsm_status_with_err_code (ctrl, STATUS_TRUST_NEVER, NULL,
                                         gpg_err_code (rc));
           else
-            gpgsm_status_with_err_code (ctrl, STATUS_TRUST_UNDEFINED, NULL, 
+            gpgsm_status_with_err_code (ctrl, STATUS_TRUST_UNDEFINED, NULL,
                                         gpg_err_code (rc));
           audit_log_s (ctrl->audit, AUDIT_SIG_STATUS, "bad");
           goto next_signer;
@@ -603,7 +603,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
       {
         size_t qualbuflen;
         char qualbuffer[1];
-        
+
         rc = ksba_cert_get_user_data (cert, "is_qualified", &qualbuffer,
                                       sizeof (qualbuffer), &qualbuflen);
         if (!rc && qualbuflen)
@@ -612,20 +612,20 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
               {
                 log_info (_("This is a qualified signature\n"));
                 if (!opt.qualsig_approval)
-                  log_info 
+                  log_info
                     (_("Note, that this software is not officially approved "
                        "to create or verify such signatures.\n"));
               }
-          }    
+          }
         else if (gpg_err_code (rc) != GPG_ERR_NOT_FOUND)
           log_error ("get_user_data(is_qualified) failed: %s\n",
-                     gpg_strerror (rc)); 
+                     gpg_strerror (rc));
       }
 
-      gpgsm_status (ctrl, STATUS_TRUST_FULLY, 
+      gpgsm_status (ctrl, STATUS_TRUST_FULLY,
                     (verifyflags & VALIDATE_FLAG_CHAIN_MODEL)?
                     "0 chain": "0 shell");
-          
+
 
     next_signer:
       rc = 0;
@@ -642,7 +642,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, FILE *out_fp)
   ksba_cms_release (cms);
   gpgsm_destroy_reader (b64reader);
   gpgsm_destroy_writer (b64writer);
-  keydb_release (kh); 
+  keydb_release (kh);
   gcry_md_close (data_md);
   if (fp)
     fclose (fp);
index 0bd1f0e..2e3df02 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -106,6 +123,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -158,7 +180,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -399,7 +425,7 @@ $(am__aclocal_m4_deps):
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-asschk$(EXEEXT): $(asschk_OBJECTS) $(asschk_DEPENDENCIES) 
+asschk$(EXEEXT): $(asschk_OBJECTS) $(asschk_DEPENDENCIES) $(EXTRA_asschk_DEPENDENCIES) 
        @rm -f asschk$(EXEEXT)
        $(LINK) $(asschk_OBJECTS) $(asschk_LDADD) $(LIBS)
 
@@ -641,14 +667,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -684,13 +711,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -726,10 +750,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index 837298d..bd57e25 100644 (file)
@@ -79,7 +79,7 @@ prepared.stamp: ./pubring.gpg ./secring.gpg ./plain-1 ./plain-2 ./plain-3 \
 # start before all programs are built.
 ./gpg_dearmor: $(required_pgms)
        echo '#!/bin/sh' >./gpg_dearmor
-       echo "../../g10/gpg2 --no-options --no-greeting \
+       echo "../../g10/gpg2 --homedir . --no-options --no-greeting \
              --no-secmem-warning --batch --dearmor" >>./gpg_dearmor
        chmod 755 ./gpg_dearmor
 
index 1a617e7..c9ceb2d 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 # Process this file with automake to create Makefile.in
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -84,6 +101,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__tty_colors = \
 red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -103,7 +125,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -445,14 +471,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -501,10 +528,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -613,7 +645,7 @@ prepared.stamp: ./pubring.gpg ./secring.gpg ./plain-1 ./plain-2 ./plain-3 \
 # start before all programs are built.
 ./gpg_dearmor: $(required_pgms)
        echo '#!/bin/sh' >./gpg_dearmor
-       echo "../../g10/gpg2 --no-options --no-greeting \
+       echo "../../g10/gpg2 --homedir . --no-options --no-greeting \
              --no-secmem-warning --batch --dearmor" >>./gpg_dearmor
        chmod 755 ./gpg_dearmor
 
index a5e5c4e..15b525f 100755 (executable)
@@ -12,7 +12,7 @@
 
 #info Checking conventional encryption
 for ciph in `all_cipher_algos`; do
-  echo_n "$ciph "
+  progress "$ciph"
   for i in 0 1 2 3 9 10 11 19 20 21 22 23 39 40 41 8192 32000 ; do
     # *BSD's dd can't cope with a count of 0
     if test "$i" = "0"; then
@@ -27,4 +27,5 @@ for ciph in `all_cipher_algos`; do
     cmp z y || error "$ciph/$i: mismatch"
   done
 done
-echo_n "| "
+
+progress_end
index 1464ee2..5028b29 100755 (executable)
@@ -18,7 +18,7 @@ for i in plain-2 data-32000 ; do
 done
 
 for a in `all_cipher_algos`; do
-    echo_n "$a "
+    progress "$a"
     for i in plain-1 data-80000 ; do
       echo "Hier spricht HAL" | $GPG --passphrase-fd 0 \
                                          --cipher-algo $a -c -o x --yes $i
@@ -26,4 +26,5 @@ for a in `all_cipher_algos`; do
       cmp $i y || error "$i: ($a) mismatch"
     done
 done
-echo_n "| "
+
+progress_end
index 12e1b80..5d5e03d 100755 (executable)
@@ -42,23 +42,33 @@ LC_MESSAGES=
 # Internal use.
 defs_stop_on_error=no
 defs_error_seen=no
+defs_progress_active=no
 
 #--------------------------------
 #------ utility functions -------
 #--------------------------------
 
+progress_cancel () {
+    if [ x$defs_progress_active = xyes ]; then
+        echo
+        defs_progress_active=no
+    fi
+}
+
 fatal () {
+    progress_cancel
     echo "$pgmname: fatal:" $* >&2
     echo "$pgmname: fatal:" $* >&5
     exit 1;
 }
 
 error () {
+    progress_cancel
     echo "$pgmname:" $* >&2
     defs_error_seen=yes
     echo "$pgmname:" $* >&5
     if [ x$defs_stop_on_error != xyes ]; then
-      exit 1 
+      exit 1
     fi
 }
 
@@ -77,6 +87,7 @@ resume_error () {
 }
 
 info () {
+    progress_cancel
     echo "$pgmname:" $* >&2
     if [ -n "${verbose+set}" ]; then
       echo "$pgmname:" $* >&5
@@ -87,7 +98,6 @@ linefeed () {
     echo >&2
 }
 
-
 echo_n_init=no
 echo_n () {
   if test "$echo_n_init" = "no"; then
@@ -110,6 +120,23 @@ echo_n () {
 }
 
 
+progress_end () {
+    if [ x$defs_progress_active = xyes ]; then
+        echo "<"
+        defs_progress_active=no
+    fi
+}
+
+progress () {
+    if [ x$defs_progress_active != xyes ]; then
+        echo_n "    > "
+        defs_progress_active=yes
+    fi
+    echo_n "$* "
+}
+
+
+
 #cleanup () {
 #    rm $cleanup_files 2>/dev/null || true
 #    echo "#empty" >./gpg.conf
@@ -162,7 +189,7 @@ pgmname=`basename $0`
 [ -z "$srcdir" ] && fatal "not called from make"
 
 # Make sure we have a valid option file even with VPATH builds.
-for f in gpg.conf ; do 
+for f in gpg.conf ; do
   if [ -f ./$f ]; then
     :
   elif [ -f $srcdir/$f.tmpl ]; then
index 01fe33a..320fbd8 100755 (executable)
@@ -18,7 +18,7 @@ for i in $plain_files $data_files ; do
 done
 
 for ca in `all_cipher_algos` ; do
-    echo_n "$ca "
+    progress "$ca"
     for i in $plain_files $data_files ; do
        $GPG $dsa_keyrings --always-trust --cipher-algo $ca -e \
            -o x --yes -r "$dsa_usrname2" $i
@@ -26,4 +26,5 @@ for ca in `all_cipher_algos` ; do
        cmp $i y || error "$i: mismatch"
     done
 done
-echo_n "| "
+
+progress_end
index c50c66c..5ef5196 100755 (executable)
@@ -17,6 +17,7 @@ for i in $plain_files $data_files ; do
     cmp $i y || error "$i: mismatch"
 done
 
+echo_n "    > "
 for ca in `all_cipher_algos` ; do
     echo_n "$ca "
     for i in $plain_files $data_files ; do
@@ -25,4 +26,4 @@ for ca in `all_cipher_algos` ; do
        cmp $i y || error "$i: mismatch"
     done
 done
-echo_n "| "
+echo "<"
index 7060a66..7db73be 100644 (file)
@@ -3,3 +3,4 @@ no-secmem-warning
 no-permission-warning
 batch
 no-auto-check-trustdb
+allow-weak-digest-algos
index 86b0cdc..a4bf76c 100755 (executable)
@@ -17,7 +17,7 @@ for i in $plain_files $data_files; do
 done
 
 for da in `all_hash_algos` ; do
-    echo_n "$da "
+    progress "$da"
 
     # RSA key, so any hash is okay
     if have_pubkey_algo "RSA"; then
@@ -42,4 +42,5 @@ for da in `all_hash_algos` ; do
         done
     fi
 done
-echo_n "| "
+
+progress_end
index 5f79159..37a7161 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -84,6 +101,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__tty_colors = \
 red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -103,7 +125,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -430,14 +456,15 @@ check-TESTS: $(TESTS)
          fi; \
          dashes=`echo "$$dashes" | sed s/./=/g`; \
          if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
+           col="$$grn"; \
          else \
-           echo "$$red$$dashes"; \
+           col="$$red"; \
          fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
+         echo "$${col}$$dashes$${std}"; \
+         echo "$${col}$$banner$${std}"; \
+         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+         test -z "$$report" || echo "$${col}$$report$${std}"; \
+         echo "$${col}$$dashes$${std}"; \
          test "$$failed" -eq 0; \
        else :; fi
 
@@ -486,10 +513,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
index 32940a3..e5c16a2 100644 (file)
@@ -20,13 +20,17 @@ EXTRA_DIST = \
        Manifest watchgnupg.c ChangeLog-2011 \
        addgnupghome applygnupgdefaults gpgsm-gencert.sh \
        lspgpot mail-signed-keys convert-from-106 sockprox.c \
-       ccidmon.c
+       ccidmon.c gpg-connect-agent-w32info.rc
 
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
 include $(top_srcdir)/am/cmacros.am
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(LIBASSUAN_CFLAGS)
+if HAVE_W32_SYSTEM
+resource_objs += gpg-connect-agent-w32info.o
+endif
+
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS)
 
 sbin_SCRIPTS = addgnupghome applygnupgdefaults
 
@@ -89,19 +93,20 @@ gpg_connect_agent_SOURCES = gpg-connect-agent.c no-libgcrypt.c
 # FIXME: remove PTH_LIBS (why do we need them at all?)
 gpg_connect_agent_LDADD = ../common/libgpgrl.a $(common_libs) \
                          $(LIBASSUAN_LIBS) $(PTH_LIBS) $(GPG_ERROR_LIBS) \
-                          $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV)
+                          $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+                         $(resource_objs)
 
 gpgkey2ssh_SOURCES = gpgkey2ssh.c
-gpgkey2ssh_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+gpgkey2ssh_CFLAGS =  $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 # common sucks in jnlib, via use of BUG() in an inline function, which
 # some compilers do not eliminate.
 gpgkey2ssh_LDADD = $(common_libs) \
-                   $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
+                   $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LIBINTL) $(LIBICONV)
 
 
 if !DISABLE_REGEX
 gpg_check_pattern_SOURCES = gpg-check-pattern.c
-gpg_check_pattern_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+gpg_check_pattern_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 gpg_check_pattern_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
                           $(LIBINTL) $(LIBICONV) $(W32SOCKLIBS)
 endif
@@ -113,7 +118,8 @@ gpgtar_SOURCES = \
        gpgtar-list.c \
        no-libgcrypt.c
 gpgtar_CFLAGS = $(GPG_ERROR_CFLAGS) $(PTH_CFLAGS)
-gpgtar_LDADD = $(common_libs) $(GPG_ERROR_LIBS) $(NETLIBS) $(W32SOCKLIBS)
+gpgtar_LDADD = $(common_libs) $(GPG_ERROR_LIBS) \
+               $(LIBINTL) $(NETLIBS) $(LIBICONV) $(W32SOCKLIBS)
 
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
index 03b9984..132d751 100644 (file)
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG 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 <http://www.gnu.org/licenses/>.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -88,10 +105,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 @GNUPG_SCDAEMON_PGM_TRUE@am__append_4 = -DGNUPG_DEFAULT_SCDAEMON="\"@GNUPG_SCDAEMON_PGM@\""
 @GNUPG_DIRMNGR_PGM_TRUE@am__append_5 = -DGNUPG_DEFAULT_DIRMNGR="\"@GNUPG_DIRMNGR_PGM@\""
 @GNUPG_PROTECT_TOOL_PGM_TRUE@am__append_6 = -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
+@HAVE_W32_SYSTEM_TRUE@am__append_7 = gpg-connect-agent-w32info.o
 bin_PROGRAMS = gpgconf$(EXEEXT) gpg-connect-agent$(EXEEXT) \
        gpgkey2ssh$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
        $(am__EXEEXT_3)
-@HAVE_W32_SYSTEM_FALSE@am__append_7 = watchgnupg gpgparsemail
+@HAVE_W32_SYSTEM_FALSE@am__append_8 = watchgnupg gpgparsemail
 @DISABLE_REGEX_FALSE@libexec_PROGRAMS = gpg-check-pattern$(EXEEXT)
 noinst_PROGRAMS = clean-sat$(EXEEXT) mk-tdata$(EXEEXT) \
        make-dns-cert$(EXEEXT) gpgsplit$(EXEEXT)
@@ -154,7 +172,7 @@ gpg_connect_agent_DEPENDENCIES = ../common/libgpgrl.a $(common_libs) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(resource_objs)
 am_gpgconf_OBJECTS = gpgconf.$(OBJEXT) gpgconf-comp.$(OBJEXT) \
        no-libgcrypt.$(OBJEXT)
 gpgconf_OBJECTS = $(am_gpgconf_OBJECTS)
@@ -181,6 +199,7 @@ am_gpgtar_OBJECTS = gpgtar-gpgtar.$(OBJEXT) \
        gpgtar-gpgtar-list.$(OBJEXT) gpgtar-no-libgcrypt.$(OBJEXT)
 gpgtar_OBJECTS = $(am_gpgtar_OBJECTS)
 gpgtar_DEPENDENCIES = $(common_libs) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 gpgtar_LINK = $(CCLD) $(gpgtar_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
@@ -220,6 +239,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS) $(sbin_SCRIPTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
@@ -239,6 +264,11 @@ DIST_SOURCES = clean-sat.c $(am__gpg_check_pattern_SOURCES_DIST) \
        $(gpgkey2ssh_SOURCES) $(gpgparsemail_SOURCES) gpgsplit.c \
        $(gpgtar_SOURCES) make-dns-cert.c mk-tdata.c \
        $(symcryptrun_SOURCES) $(watchgnupg_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -258,7 +288,11 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
 BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
 BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
 BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILD_FILEVERSION = @BUILD_FILEVERSION@
+BUILD_HOSTNAME = @BUILD_HOSTNAME@
 BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BUILD_REVISION = @BUILD_REVISION@
+BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -440,17 +474,18 @@ EXTRA_DIST = \
        Manifest watchgnupg.c ChangeLog-2011 \
        addgnupghome applygnupgdefaults gpgsm-gencert.sh \
        lspgpot mail-signed-keys convert-from-106 sockprox.c \
-       ccidmon.c
+       ccidmon.c gpg-connect-agent-w32info.rc
 
 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl \
        -I$(top_srcdir)/common -DLOCALEDIR=\"$(localedir)\" \
        $(am__append_1) $(am__append_2) $(am__append_3) \
        $(am__append_4) $(am__append_5) $(am__append_6)
+resource_objs = $(am__append_7)
 
 # Convenience macros
 libcommon = ../common/libcommon.a
 libcommonpth = ../common/libcommonpth.a
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(LIBASSUAN_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS)
 sbin_SCRIPTS = addgnupghome applygnupgdefaults
 bin_SCRIPTS = gpgsm-gencert.sh
 # bin_SCRIPTS += gpg-zip
@@ -485,17 +520,18 @@ gpg_connect_agent_SOURCES = gpg-connect-agent.c no-libgcrypt.c
 # FIXME: remove PTH_LIBS (why do we need them at all?)
 gpg_connect_agent_LDADD = ../common/libgpgrl.a $(common_libs) \
                          $(LIBASSUAN_LIBS) $(PTH_LIBS) $(GPG_ERROR_LIBS) \
-                          $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV)
+                          $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+                         $(resource_objs)
 
 gpgkey2ssh_SOURCES = gpgkey2ssh.c
-gpgkey2ssh_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+gpgkey2ssh_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 # common sucks in jnlib, via use of BUG() in an inline function, which
 # some compilers do not eliminate.
 gpgkey2ssh_LDADD = $(common_libs) \
-                   $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
+                   $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LIBINTL) $(LIBICONV)
 
 @DISABLE_REGEX_FALSE@gpg_check_pattern_SOURCES = gpg-check-pattern.c
-@DISABLE_REGEX_FALSE@gpg_check_pattern_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
+@DISABLE_REGEX_FALSE@gpg_check_pattern_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 @DISABLE_REGEX_FALSE@gpg_check_pattern_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
 @DISABLE_REGEX_FALSE@                          $(LIBINTL) $(LIBICONV) $(W32SOCKLIBS)
 
@@ -507,11 +543,13 @@ gpgtar_SOURCES = \
        no-libgcrypt.c
 
 gpgtar_CFLAGS = $(GPG_ERROR_CFLAGS) $(PTH_CFLAGS)
-gpgtar_LDADD = $(common_libs) $(GPG_ERROR_LIBS) $(NETLIBS) $(W32SOCKLIBS)
+gpgtar_LDADD = $(common_libs) $(GPG_ERROR_LIBS) \
+               $(LIBINTL) $(NETLIBS) $(LIBICONV) $(W32SOCKLIBS)
+
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .o .obj .rc
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/am/cmacros.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -533,6 +571,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(top_srcdir)/am/cmacros.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -546,8 +585,11 @@ gpg-zip: $(top_builddir)/config.status $(srcdir)/gpg-zip.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -583,8 +625,11 @@ clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
        @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -621,46 +666,49 @@ clean-libexecPROGRAMS:
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-clean-sat$(EXEEXT): $(clean_sat_OBJECTS) $(clean_sat_DEPENDENCIES) 
+clean-sat$(EXEEXT): $(clean_sat_OBJECTS) $(clean_sat_DEPENDENCIES) $(EXTRA_clean_sat_DEPENDENCIES) 
        @rm -f clean-sat$(EXEEXT)
        $(LINK) $(clean_sat_OBJECTS) $(clean_sat_LDADD) $(LIBS)
-gpg-check-pattern$(EXEEXT): $(gpg_check_pattern_OBJECTS) $(gpg_check_pattern_DEPENDENCIES) 
+gpg-check-pattern$(EXEEXT): $(gpg_check_pattern_OBJECTS) $(gpg_check_pattern_DEPENDENCIES) $(EXTRA_gpg_check_pattern_DEPENDENCIES) 
        @rm -f gpg-check-pattern$(EXEEXT)
        $(gpg_check_pattern_LINK) $(gpg_check_pattern_OBJECTS) $(gpg_check_pattern_LDADD) $(LIBS)
-gpg-connect-agent$(EXEEXT): $(gpg_connect_agent_OBJECTS) $(gpg_connect_agent_DEPENDENCIES) 
+gpg-connect-agent$(EXEEXT): $(gpg_connect_agent_OBJECTS) $(gpg_connect_agent_DEPENDENCIES) $(EXTRA_gpg_connect_agent_DEPENDENCIES) 
        @rm -f gpg-connect-agent$(EXEEXT)
        $(LINK) $(gpg_connect_agent_OBJECTS) $(gpg_connect_agent_LDADD) $(LIBS)
-gpgconf$(EXEEXT): $(gpgconf_OBJECTS) $(gpgconf_DEPENDENCIES) 
+gpgconf$(EXEEXT): $(gpgconf_OBJECTS) $(gpgconf_DEPENDENCIES) $(EXTRA_gpgconf_DEPENDENCIES) 
        @rm -f gpgconf$(EXEEXT)
        $(LINK) $(gpgconf_OBJECTS) $(gpgconf_LDADD) $(LIBS)
-gpgkey2ssh$(EXEEXT): $(gpgkey2ssh_OBJECTS) $(gpgkey2ssh_DEPENDENCIES) 
+gpgkey2ssh$(EXEEXT): $(gpgkey2ssh_OBJECTS) $(gpgkey2ssh_DEPENDENCIES) $(EXTRA_gpgkey2ssh_DEPENDENCIES) 
        @rm -f gpgkey2ssh$(EXEEXT)
        $(gpgkey2ssh_LINK) $(gpgkey2ssh_OBJECTS) $(gpgkey2ssh_LDADD) $(LIBS)
-gpgparsemail$(EXEEXT): $(gpgparsemail_OBJECTS) $(gpgparsemail_DEPENDENCIES) 
+gpgparsemail$(EXEEXT): $(gpgparsemail_OBJECTS) $(gpgparsemail_DEPENDENCIES) $(EXTRA_gpgparsemail_DEPENDENCIES) 
        @rm -f gpgparsemail$(EXEEXT)
        $(LINK) $(gpgparsemail_OBJECTS) $(gpgparsemail_LDADD) $(LIBS)
-gpgsplit$(EXEEXT): $(gpgsplit_OBJECTS) $(gpgsplit_DEPENDENCIES) 
+gpgsplit$(EXEEXT): $(gpgsplit_OBJECTS) $(gpgsplit_DEPENDENCIES) $(EXTRA_gpgsplit_DEPENDENCIES) 
        @rm -f gpgsplit$(EXEEXT)
        $(LINK) $(gpgsplit_OBJECTS) $(gpgsplit_LDADD) $(LIBS)
-gpgtar$(EXEEXT): $(gpgtar_OBJECTS) $(gpgtar_DEPENDENCIES) 
+gpgtar$(EXEEXT): $(gpgtar_OBJECTS) $(gpgtar_DEPENDENCIES) $(EXTRA_gpgtar_DEPENDENCIES) 
        @rm -f gpgtar$(EXEEXT)
        $(gpgtar_LINK) $(gpgtar_OBJECTS) $(gpgtar_LDADD) $(LIBS)
-make-dns-cert$(EXEEXT): $(make_dns_cert_OBJECTS) $(make_dns_cert_DEPENDENCIES) 
+make-dns-cert$(EXEEXT): $(make_dns_cert_OBJECTS) $(make_dns_cert_DEPENDENCIES) $(EXTRA_make_dns_cert_DEPENDENCIES) 
        @rm -f make-dns-cert$(EXEEXT)
        $(LINK) $(make_dns_cert_OBJECTS) $(make_dns_cert_LDADD) $(LIBS)
-mk-tdata$(EXEEXT): $(mk_tdata_OBJECTS) $(mk_tdata_DEPENDENCIES) 
+mk-tdata$(EXEEXT): $(mk_tdata_OBJECTS) $(mk_tdata_DEPENDENCIES) $(EXTRA_mk_tdata_DEPENDENCIES) 
        @rm -f mk-tdata$(EXEEXT)
        $(LINK) $(mk_tdata_OBJECTS) $(mk_tdata_LDADD) $(LIBS)
-symcryptrun$(EXEEXT): $(symcryptrun_OBJECTS) $(symcryptrun_DEPENDENCIES) 
+symcryptrun$(EXEEXT): $(symcryptrun_OBJECTS) $(symcryptrun_DEPENDENCIES) $(EXTRA_symcryptrun_DEPENDENCIES) 
        @rm -f symcryptrun$(EXEEXT)
        $(LINK) $(symcryptrun_OBJECTS) $(symcryptrun_LDADD) $(LIBS)
-watchgnupg$(EXEEXT): $(watchgnupg_OBJECTS) $(watchgnupg_DEPENDENCIES) 
+watchgnupg$(EXEEXT): $(watchgnupg_OBJECTS) $(watchgnupg_DEPENDENCIES) $(EXTRA_watchgnupg_DEPENDENCIES) 
        @rm -f watchgnupg$(EXEEXT)
        $(LINK) $(watchgnupg_OBJECTS) $(watchgnupg_LDADD) $(LIBS)
 install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -688,13 +736,14 @@ uninstall-binSCRIPTS:
        @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
        files=`for p in $$list; do echo "$$p"; done | \
               sed -e 's,.*/,,;$(transform)'`; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(bindir)" && rm -f $$files
+       dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
 install-sbinSCRIPTS: $(sbin_SCRIPTS)
        @$(NORMAL_INSTALL)
-       test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
        @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -722,9 +771,7 @@ uninstall-sbinSCRIPTS:
        @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \
        files=`for p in $$list; do echo "$$p"; done | \
               sed -e 's,.*/,,;$(transform)'`; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(sbindir)" && rm -f $$files
+       dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -963,10 +1010,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
 mostlyclean-generic:
 
 clean-generic:
@@ -1069,6 +1121,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
        uninstall-sbinSCRIPTS
 
 
+@HAVE_W32_SYSTEM_TRUE@.rc.o:
+@HAVE_W32_SYSTEM_TRUE@ $(WINDRES) $(DEFAULT_INCLUDES) $(INCLUDES) "$<" "$@"
+
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
 $(PROGRAMS): $(common_libs) $(pwquery_libs) ../common/libgpgrl.a
diff --git a/tools/gpg-connect-agent-w32info.rc b/tools/gpg-connect-agent-w32info.rc
new file mode 100644 (file)
index 0000000..4e7b19d
--- /dev/null
@@ -0,0 +1,51 @@
+/* scdaemon-w32info.rc                                        -*- c -*-
+ * Copyright (C) 2013 g10 Code GmbH
+ *
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "afxres.h"
+#include "../common/w32info-rc.h"
+
+1 ICON "../common/gnupg.ico"
+
+1 VERSIONINFO
+  FILEVERSION    W32INFO_VI_FILEVERSION
+  PRODUCTVERSION W32INFO_VI_PRODUCTVERSION
+  FILEFLAGSMASK  0x3fL
+#ifdef _DEBUG
+  FILEFLAGS      0x01L    /* VS_FF_DEBUG (0x1)*/
+#else
+  FILEFLAGS      0x00L
+#endif
+  FILEOS         0x40004L /* VOS_NT (0x40000) | VOS__WINDOWS32 (0x4)  */
+  FILETYPE       0x1L     /* VFT_APP (0x1)  */
+  FILESUBTYPE    0x0L     /* VFT2_UNKNOWN   */
+  BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"  /* US English (0409), Unicode (04b0) */
+        BEGIN
+            VALUE "FileDescription", L"GnuPG\x2019s command line access \
+to the agent\0"
+            VALUE "InternalName", "gpg-connect-agent\0"
+            VALUE "OriginalFilename", "gpg-connect-agent.exe\0"
+            VALUE "ProductName",    W32INFO_PRODUCTNAME
+            VALUE "ProductVersion", W32INFO_PRODUCTVERSION
+            VALUE "CompanyName", W32INFO_COMPANYNAME
+            VALUE "FileVersion", W32INFO_FILEVERSION
+            VALUE "LegalCopyright", W32INFO_LEGALCOPYRIGHT
+            VALUE "Comments",    W32INFO_COMMENTS
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+      VALUE "Translation", 0x409, 0x4b0
+    END
+  END
index 32b020f..c43e87a 100644 (file)
@@ -482,7 +482,7 @@ static gc_option_t gc_options_gpg_agent[] =
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
 
    { "Configuration",
-     GC_OPT_FLAG_GROUP, GC_LEVEL_EXPERT,
+     GC_OPT_FLAG_GROUP, GC_LEVEL_BASIC,
      "gnupg", N_("Options controlling the configuration") },
    { "options", GC_OPT_FLAG_NONE, GC_LEVEL_EXPERT,
      "gnupg", "|FILE|read options from FILE",
@@ -490,6 +490,12 @@ static gc_option_t gc_options_gpg_agent[] =
    { "disable-scdaemon", GC_OPT_FLAG_NONE, GC_LEVEL_ADVANCED,
      "gnupg", "do not use the SCdaemon",
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
+   { "enable-ssh-support", GC_OPT_FLAG_NONE, GC_LEVEL_BASIC,
+     "gnupg", "enable ssh support",
+     GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
+   { "enable-putty-support", GC_OPT_FLAG_NONE, GC_LEVEL_BASIC,
+     "gnupg", "enable putty support",
+     GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
 
    { "Debug",
      GC_OPT_FLAG_GROUP, GC_LEVEL_ADVANCED,
@@ -526,8 +532,8 @@ static gc_option_t gc_options_gpg_agent[] =
    { "ignore-cache-for-signing", GC_OPT_FLAG_RUNTIME,
      GC_LEVEL_BASIC, "gnupg", "do not use the PIN cache when signing",
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
-   { "allow-mark-trusted", GC_OPT_FLAG_RUNTIME,
-     GC_LEVEL_ADVANCED, "gnupg", "allow clients to mark keys as \"trusted\"",
+   { "no-allow-mark-trusted", GC_OPT_FLAG_RUNTIME,
+     GC_LEVEL_ADVANCED, "gnupg", "disallow clients to mark keys as \"trusted\"",
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
    { "no-grab", GC_OPT_FLAG_RUNTIME, GC_LEVEL_EXPERT,
      "gnupg", "do not grab keyboard and mouse",
@@ -603,8 +609,12 @@ static gc_option_t gc_options_scdaemon[] =
    { "disable-ccid", GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_EXPERT,
      "gnupg", "do not use the internal CCID driver",
      GC_ARG_TYPE_NONE, GC_BACKEND_SCDAEMON },
-   { "disable-keypad", GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_BASIC,
-     "gnupg", "do not use a reader's keypad",
+   { "disable-pinpad", GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_BASIC,
+     "gnupg", "do not use a reader's pinpad",
+     GC_ARG_TYPE_NONE, GC_BACKEND_SCDAEMON },
+   { "enable-pinpad-varlen",
+     GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_BASIC,
+     "gnupg", "use variable length input for pinpad",
      GC_ARG_TYPE_NONE, GC_BACKEND_SCDAEMON },
    { "card-timeout", GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, GC_LEVEL_BASIC,
      "gnupg", "|N|disconnect the card after N seconds of inactivity",
index aae1120..4bbf212 100644 (file)
@@ -188,7 +188,7 @@ static void
 print_version (int with_help)
 {
   fputs (MYVERSION_LINE "\n"
-         "Copyright (C) 2012 Free Software Foundation, Inc.\n"
+         "Copyright (C) 2013 Free Software Foundation, Inc.\n"
          "This program comes with ABSOLUTELY NO WARRANTY.\n"
          "This is free software, and you are welcome to redistribute it\n"
          "under certain conditions. See the file COPYING for details.\n",