See ChangeLog: Wed Jul 7 13:23:40 CEST 1999 Werner Koch
authorWerner Koch <wk@gnupg.org>
Wed, 7 Jul 1999 11:28:26 +0000 (11:28 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 7 Jul 1999 11:28:26 +0000 (11:28 +0000)
35 files changed:
ChangeLog
Makefile.am
NEWS
TODO
cipher/ChangeLog
cipher/Makefile.am
configure.in
g10/ChangeLog
g10/Makefile.am
g10/helptext.c
g10/keyedit.c
g10/keygen.c
g10/tdbio.c
g10/trustdb.c
include/mpi.h
include/util.h
mpi/ChangeLog
mpi/Makefile.am
mpi/mpicoder.c
po/de.po
po/es_ES.po
po/fr.po
po/it.po
po/pl.po
po/pt_BR.po
po/ru.po
scripts/autogen.sh
scripts/distfiles
tools/ChangeLog
tools/Makefile.am
util/ChangeLog
util/Makefile.am
util/logger.c
util/memory.c
util/miscutil.c

index 99547d5..be215c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * Makefile.am: Support for libtool.
+       * configure.in: Ditto.
+
 Tue Jun 29 21:44:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
 
index b07b909..d825afc 100644 (file)
@@ -23,9 +23,11 @@ dist-hook:
        sed -e 's/@pkg_version@/$(VERSION)/g' \
            $(top_srcdir)/scripts/gnupg.spec.in \
            > $(distdir)/scripts/gnupg.spec
+       rm $(distdir)/gcrypt/*.[ch]
 
 
-# maintainer only
+if MAINTAINER_MODE
+# This is only useful within my local environment (wk)
 cvs-get:
        rsync -Cavuzb  --exclude scratch --exclude .deps \
                      wkoch@sigtrap.guug.de:work/gnupg .
@@ -36,6 +38,7 @@ cvs-put:
 
 cvs-sync: cvs-get cvs-put
 
+endif
 
 
 .PHONY: cvs-get cvs-put cvs-sync
diff --git a/NEWS b/NEWS
index 185104f..da00e57 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,9 @@
 
     * You will be asked for a filename if gpg cannot deduce one.
 
+    * Changes to support libtool which is needed for the development
+      of libgcrypt.
+
 Noteworthy changes in version 0.9.8
 -----------------------------------
 
diff --git a/TODO b/TODO
index 34b009b..7a70f64 100644 (file)
--- a/TODO
+++ b/TODO
@@ -33,7 +33,6 @@ Nice to have
     utility and SOCKSify this utility.
   * Do a real fix for bug #7 or document that it is a PGP 5 error.
   * preferences of hash algorithms are not yet used.
-  * new menu to delete signatures and list signature in menu
   * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal.
     or use POSIX.4 realtime signals.  Overhaul the interface and the
     test program.  Use it with the test suite?
@@ -42,7 +41,6 @@ Nice to have
   * Burn the buffers used by fopen(), or use read(2). Does this
     really make sense? And while we are at it:  implement a secure deletion
     stuff?
-  * Stats about used random numbers.
   * the pubkey encrypt functions should do some sanity checks.
   * dynload: implement the hint stuff.
   * "gpg filename.tar.gz.asc" sollte wie mit --verify funktionieren (-sab).
index 2ce644a..91a2770 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * Makefile.am: Support for libtool.
+
 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
 
index af6d802..164a99b 100644 (file)
@@ -3,7 +3,7 @@
 
 INCLUDES =  -I$(top_srcdir)/include -I$(top_srcdir)/intl
 
-noinst_LIBRARIES = libcipher.a
+noinst_LTLIBRARIES = libcipher.la
 
 # The configure script greps the module names from the following lines.
 # You must also add all these names to EXTRA_PROGRAMS some lines below
@@ -33,7 +33,8 @@ endif
 
 DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@
 
-libcipher_a_SOURCES = cipher.c \
+libcipher_la_LDFLAGS =
+libcipher_la_SOURCES = cipher.c  \
                 pubkey.c       \
                 md.c           \
                 dynload.c      \
@@ -62,8 +63,8 @@ libcipher_a_SOURCES = cipher.c        \
 BUILT_SOURCES = construct.c
 
 
-libcipher_a_DEPENDENCIES = @STATIC_CIPHER_OBJS@
-libcipher_a_LIBADD =      @STATIC_CIPHER_OBJS@
+libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@
+libcipher_la_LIBADD =      @STATIC_CIPHER_OBJS@
 
 
 # If I remember it correct, automake 1.4 has a feature to set
index e5d7938..d94a76a 100644 (file)
@@ -109,8 +109,18 @@ AC_MSG_CHECKING([whether compilation of libgcrypt is requested])
 AC_ARG_ENABLE(libgcrypt,
     [  --enable-libgcrypt      compile the libgcrypt [default=no]],
 [compile_libgcrypt="$enableval"],[compile_libgcrypt=no])
-AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes)
 AC_MSG_RESULT($compile_libgcrypt)
+if test x$compile_libgcrypt = xyes ; then
+    if test -f $srcdir/gcrypt/gcrypt.h; then
+        :
+    else
+        compile_libgcrypt=no
+        AC_MSG_WARN([[
+*** LIBGCRYPT is not yet ready for public testing.
+*** Maybe you have more luck with the next release of GnuPG]])
+    fi
+fi
+AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes)
 
 
 dnl
@@ -123,6 +133,8 @@ AC_ARG_WITH(capabilities,
 AC_MSG_RESULT($use_capabilities)
 
 
+AM_MAINTAINER_MODE
+
 dnl Checks for programs.
 
 AC_CANONICAL_SYSTEM
@@ -139,15 +151,17 @@ AC_PROG_CC
 AC_PROG_CPP
 AC_ISC_POSIX
 AC_PROG_INSTALL
-AC_PROG_RANLIB
+AC_PROG_AWK
 AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no)
 AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes)
 
 
 dnl
-dnl Don't default to build shared libs
+dnl Build shared libraries only when compilation of libgcrypt
+dnl has been requested
 dnl
 AM_DISABLE_SHARED
+enable_shared="$compile_libgcrypt"
 AM_PROG_LIBTOOL
 
 
@@ -486,7 +500,7 @@ for name in $MODULES_IN_CIPHER; do
     done;
     if test $x = yes; then
         STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
-        STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o"
+        STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
     else
         DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
         GNUPG_MSG_PRINT([$name])
@@ -556,7 +570,7 @@ if test "$ac_cv_mpi_extra_asm_modules" != ""; then
 GNUPG_MSG_PRINT([mpi extra asm functions:])
 for i in $ac_cv_mpi_extra_asm_modules; do
     GNUPG_MSG_PRINT([$i])
-    MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
+    MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo"
 done
 AC_MSG_RESULT()
 fi
index 416016e..6828cab 100644 (file)
@@ -1,3 +1,20 @@
+Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * Makefile.am: Support for libtool.
+
+       * keygen.c (ask_expire_interval): Hack to allow for an expire date.
+
+       * trustdb.c (do_update_trust_record,update_trust_record): Splitted.
+       (check_trust_record): New.
+       (check_trust,build_cert_tree): Check the dir record as needed.
+       (upd_pref_record): Removed.
+       (make_pref_record): New.
+       (propagate_validity): Stop as soon as we have enough validity.
+
+       * tbdio.c (MAX_CACHE_ENTRIES_HARD): Increased the limit.
+
+
 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
 
index 6170b16..af727cd 100644 (file)
@@ -4,7 +4,7 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl
 EXTRA_DIST = OPTIONS  pubring.asc  options.skel
 OMIT_DEPENDENCIES = zlib.h zconf.h
 LDFLAGS = @LDFLAGS@ @DYNLINK_LDFLAGS@
-needed_libs = ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a
+needed_libs = ../cipher/libcipher.la ../mpi/libmpi.la ../util/libutil.la
 
 #noinst_PROGRAMS = gpgd
 bin_PROGRAMS = gpg
index 5fb8007..df7d4ad 100644 (file)
@@ -101,7 +101,10 @@ static struct helptexts { const char *key; const char *help; } helptexts[] = {
 
 
 { N_("keygen.valid"),
- "Enter the required value"
+ "Enter the required value as shown in the pronpt.\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."
 },
 
 { N_("keygen.valid.okay"),
index e936340..8d7e44a 100644 (file)
@@ -592,7 +592,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
        { N_("enable")  , cmdENABLEKEY , 0, N_("enable a key") },
 
     { NULL, cmdNONE } };
-    enum cmdids cmd;
+    enum cmdids cmd = 0;
     int rc = 0;
     KBNODE keyblock = NULL;
     KBPOS keyblockpos;
@@ -643,7 +643,7 @@ keyedit_menu( const char *username, STRLIST locusr, STRLIST commands )
     toggle = 0;
     cur_keyblock = keyblock;
     for(;;) { /* main loop */
-       int i, arg_number;
+       int i, arg_number=0;
        char *p;
 
        tty_printf("\n");
index 74840e8..e1ed9aa 100644 (file)
@@ -519,13 +519,25 @@ ask_expire_interval(void)
     answer = NULL;
     for(;;) {
        int mult;
+       u32 abs_date=0;
+       u32 curtime=0;;
 
        m_free(answer);
        answer = cpr_get("keygen.valid",_("Key is valid for? (0) "));
        cpr_kill_prompt();
        trim_spaces(answer);
+       curtime = make_timestamp();
        if( !*answer )
            valid_days = 0;
+       else if( (abs_date = scan_isodatestr(answer)) && abs_date > curtime ) {
+           /* This calculation is not perfectly okay because we
+            * are later going to simply multiply by 86400 and don't
+            * correct for leapseconds.  A solution would be to change
+            * the whole implemenation to work with dates and not intervals
+            * which are required for v3 keys.
+            */
+           valid_days = abs_date/86400-curtime/86400+1;
+       }
        else if( (mult=check_valid_days(answer)) ) {
            valid_days = atoi(answer) * mult;
            if( valid_days < 0 || valid_days > 32767 )
@@ -544,7 +556,7 @@ ask_expire_interval(void)
            interval = valid_days * 86400L;
            /* print the date when the key expires */
            tty_printf(_("Key expires at %s\n"),
-                       asctimestamp(make_timestamp() + interval ) );
+                       asctimestamp(curtime + interval ) );
        }
 
        if( !cpr_enabled()
index 8e5f5d0..0abfcb1 100644 (file)
@@ -56,8 +56,8 @@ struct cache_ctrl_struct {
     char data[TRUST_RECORD_LEN];
 };
 
-#define MAX_CACHE_ENTRIES_SOFT 200   /* may be increased while in a */
-#define MAX_CACHE_ENTRIES_HARD 1000  /* transaction to this one */
+#define MAX_CACHE_ENTRIES_SOFT 200    /* may be increased while in a */
+#define MAX_CACHE_ENTRIES_HARD 10000  /* transaction to this one */
 static CACHE_CTRL cache_list;
 static int cache_entries;
 static int cache_is_dirty;
index b386d70..497fa9e 100644 (file)
@@ -124,6 +124,9 @@ static int do_check( TRUSTREC *drec, unsigned *trustlevel,
                     const char *nhash, int (*add_fnc)(ulong),
                                                unsigned *retflgs);
 static int get_dir_record( PKT_public_key *pk, TRUSTREC *rec );
+static int do_update_trust_record( KBNODE keyblock, TRUSTREC *drec,
+                                         int recheck, int *modified );
+static int check_trust_record( TRUSTREC *drec );
 
 /* a table used to keep track of ultimately trusted keys
  * which are the ones from our secrings and the trusted keys */
@@ -403,44 +406,6 @@ get_dir_record( PKT_public_key *pk, TRUSTREC *rec )
     return rc;
 }
 
-/****************
- * Get the LID of a public key.
- * Returns: The LID of the key (note, that this may be a shadow dir)
- *         or 0 if not available.
- * fixme: make this ftser by putting entries into the sdir hash table
- */
-#if 0
-static ulong
-lid_from_keyid( u32 *keyid )
-{
-    PKT_public_key *pk = m_alloc_clear( sizeof *pk );
-    TRUSTREC rec;
-    ulong lid = 0;
-    int rc;
-
-    rc = get_pubkey( pk, keyid );
-    if( !rc ) {
-       if( pk->local_id )
-           lid = pk->local_id;
-       else {
-           rc = tdbio_search_dir_bypk( pk, &rec );
-           if( !rc )
-               lid = rec.recnum;
-           else if( rc == -1 ) { /* see whether there is a sdir instead */
-               u32 akid[2];
-
-               keyid_from_pk( pk, akid );
-               rc = tdbio_search_sdir( akid, pk->pubkey_algo, &rec );
-               if( !rc )
-                   lid = rec.recnum;
-           }
-       }
-    }
-    free_public_key( pk );
-    return lid;
-}
-#endif
-
 static ulong
 lid_from_keyid_no_sdir( u32 *keyid )
 {
@@ -862,124 +827,6 @@ find_or_create_lid( PKT_signature *sig )
 
 
 
-#if 0
-static void
-upd_pref_record( TRUSTREC *urec, u32 *keyid, PKT_signature *sig )
-{
-    static struct {
-       sigsubpkttype_t subpkttype;
-       int preftype;
-    } ptable[] = {
-       { SIGSUBPKT_PREF_SYM,   PREFTYPE_SYM    },
-       { SIGSUBPKT_PREF_HASH,  PREFTYPE_HASH   },
-       { SIGSUBPKT_PREF_COMPR, PREFTYPE_COMPR  },
-       { 0, 0 }
-    };
-    TRUSTREC prec;
-    ulong lid = urec->r.uid.lid ;
-    const byte *uidhash = urec->r.uid.namehash;
-    const byte *s;
-    size_t n;
-    int k, i;
-    ulong recno;
-    byte prefs_sig[200];
-    int n_prefs_sig = 0;
-    byte prefs_rec[200];
-    int n_prefs_rec = 0;
-
-    if( DBG_TRUST )
-       log_debug("upd_pref_record for %08lX.%lu/%02X%02X\n",
-                         (ulong)keyid[1], lid, uidhash[18], uidhash[19] );
-
-
-    /* check for changed preferences */
-    for(k=0; ptable[k].subpkttype; k++ ) {
-       s = parse_sig_subpkt2( sig, ptable[k].subpkttype, &n );
-       if( s ) {
-           for( ; n; n--, s++ ) {
-               if( n_prefs_sig >= DIM(prefs_sig)-1 ) {
-                   log_info("uid %08lX.%lu/%02X%02X: %s\n",
-                             (ulong)keyid[1], lid, uidhash[18], uidhash[19],
-                             _("Too many preferences") );
-                   break;
-               }
-               prefs_sig[n_prefs_sig++] = ptable[k].preftype;
-               prefs_sig[n_prefs_sig++] = *s;
-           }
-       }
-    }
-    for( recno=urec->r.uid.prefrec; recno; recno = prec.r.pref.next ) {
-       read_record( recno, &prec, RECTYPE_PREF );
-       for(i = 0; i < ITEMS_PER_PREF_RECORD; i +=2 )  {
-           if( n_prefs_rec >= DIM(prefs_rec)-1 ) {
-               log_info("uid %08lX.%lu/%02X%02X: %s\n",
-                         (ulong)keyid[1], lid, uidhash[18], uidhash[19],
-                         _("Too many preference items") );
-               break;
-           }
-           if( prec.r.pref.data[i] ) {
-               prefs_rec[n_prefs_rec++] = prec.r.pref.data[i];
-               prefs_rec[n_prefs_rec++] = prec.r.pref.data[i+1];
-           }
-       }
-    }
-    if( n_prefs_sig == n_prefs_rec
-       && !memcmp( prefs_sig, prefs_rec, n_prefs_sig ) )
-       return;  /* not changed */
-
-    /* Preferences have changed:  Delete all pref records
-     * This is much simpler than checking whether we have to
-     * do update the record at all - the record cache may care about it
-     */
-    for( recno=urec->r.uid.prefrec; recno; recno = prec.r.pref.next ) {
-       read_record( recno, &prec, RECTYPE_PREF );
-       delete_record( recno );
-    }
-
-    if( n_prefs_sig > ITEMS_PER_PREF_RECORD )
-        log_info(_("WARNING: can't yet handle long pref records\n"));
-
-    memset( &prec, 0, sizeof prec );
-    prec.recnum = tdbio_new_recnum();
-    prec.rectype = RECTYPE_PREF;
-    prec.r.pref.lid = lid;
-    if( n_prefs_sig <= ITEMS_PER_PREF_RECORD )
-       memcpy( prec.r.pref.data, prefs_sig, n_prefs_sig );
-    else { /* need more than one pref record */
-       TRUSTREC tmp;
-       ulong nextrn;
-       byte *pp = prefs_sig;
-
-       n = n_prefs_sig;
-       memcpy( prec.r.pref.data, pp, ITEMS_PER_PREF_RECORD );
-       n -= ITEMS_PER_PREF_RECORD;
-       pp += ITEMS_PER_PREF_RECORD;
-       nextrn = prec.r.pref.next = tdbio_new_recnum();
-       do {
-           memset( &tmp, 0, sizeof tmp );
-           tmp.recnum = nextrn;
-           tmp.rectype = RECTYPE_PREF;
-           tmp.r.pref.lid = lid;
-           if( n <= ITEMS_PER_PREF_RECORD ) {
-               memcpy( tmp.r.pref.data, pp, n );
-               n = 0;
-           }
-           else {
-               memcpy( tmp.r.pref.data, pp, ITEMS_PER_PREF_RECORD );
-               n -= ITEMS_PER_PREF_RECORD;
-               pp += ITEMS_PER_PREF_RECORD;
-               nextrn = tmp.r.pref.next = tdbio_new_recnum();
-           }
-           write_record( &tmp );
-       } while( n );
-    }
-    write_record( &prec );
-    urec->r.uid.prefrec = prec.recnum;
-    urec->dirty = 1;
-}
-#endif
-
-
 /****************
  * Check the validity of a key and calculate the keyflags
  * keynode points to
@@ -1045,7 +892,7 @@ check_keybinding( KBNODE keyblock, KBNODE keynode, u32 *mainkid,
                if( opt.verbose )
                    log_info(_("key %08lX.%lu: Valid key revocation\n"),
                                 (ulong)keyid_from_pk(pk, NULL), lid );
-               keyflags |= KEYF_REVOKED;  /* fixme: revoke the main key too*/
+               keyflags |= KEYF_REVOKED;
            }
            else {
                log_info(_(
@@ -1056,8 +903,6 @@ check_keybinding( KBNODE keyblock, KBNODE keynode, u32 *mainkid,
        }
        else if( sig->sig_class == 0x28 && !revoke_seen && !is_main ) {
            /* this is a subkey revocation certificate: check it */
-           /* fixme: we should also check that the revocation
-            * is newer than the key (OpenPGP) */
            rc = check_key_signature( keyblock, node, NULL );
            if( !rc ) {
                if( opt.verbose )
@@ -1081,7 +926,7 @@ check_keybinding( KBNODE keyblock, KBNODE keynode, u32 *mainkid,
 
 
 static ulong
-make_key_records( KBNODE keyblock, ulong lid, u32 *keyid )
+make_key_records( KBNODE keyblock, ulong lid, u32 *keyid, int *mainrev )
 {
     TRUSTREC *krecs, **kend, *k, *k2;
     KBNODE  node;
@@ -1090,6 +935,7 @@ make_key_records( KBNODE keyblock, ulong lid, u32 *keyid )
     size_t fprlen;
     ulong keyrecno;
 
+    *mainrev = 0;
     krecs = NULL; kend = &krecs;
     for( node=keyblock; node; node = node->next ) {
        if( node->pkt->pkttype != PKT_PUBLIC_KEY
@@ -1110,7 +956,9 @@ make_key_records( KBNODE keyblock, ulong lid, u32 *keyid )
        kend = &k->next;
 
        k->r.key.keyflags = check_keybinding( keyblock, node, keyid, lid, pk );
-
+       if( (k->r.key.keyflags & KEYF_REVOKED)
+           && node->pkt->pkttype == PKT_PUBLIC_KEY )
+           *mainrev = 1;
     }
 
     keyrecno = krecs? krecs->recnum : 0;
@@ -1128,13 +976,15 @@ make_key_records( KBNODE keyblock, ulong lid, u32 *keyid )
 
 /****************
  * Check the validity of a user ID and calculate the uidflags
- * keynode points to
- * a node with a user ID.  mainkid has the key ID of the primary key
- * keyblock is the complete keyblock which is needed for signature
- * checking.
+ * keynode points to  a node with a user ID.
+ * mainkid has the key ID of the primary key, keyblock is the complete
+ * keyblock which is needed for signature checking.
+ * Returns: The uid flags and the self-signature which is considered to
+ * be the most current.
  */
 static unsigned int
-check_uidsigs( KBNODE keyblock, KBNODE keynode, u32 *mainkid, ulong lid )
+check_uidsigs( KBNODE keyblock, KBNODE keynode, u32 *mainkid, ulong lid,
+                                                 PKT_signature **bestsig )
 {
     KBNODE node;
     unsigned int uidflags = 0;
@@ -1188,7 +1038,8 @@ check_uidsigs( KBNODE keyblock, KBNODE keynode, u32 *mainkid, ulong lid )
     /* and now check for revocations - we must do this after the
      * self signature check because a self-signature which is newer
      * than a revocation makes the revocation invalid.
-     * Fixme: Is this correct - check with rfc2440 */
+     * RFC2440 is quiet about tis but I feel this is reasonable for
+     * non-primary-key revocations. */
     for( node=keynode->next; node; node = node->next ) {
        if( node->pkt->pkttype == PKT_USER_ID
            || node->pkt->pkttype == PKT_PUBLIC_SUBKEY )
@@ -1221,7 +1072,7 @@ check_uidsigs( KBNODE keyblock, KBNODE keynode, u32 *mainkid, ulong lid )
        }
     }
 
-
+    *bestsig = selfsig;
     return uidflags;
 }
 
@@ -1397,6 +1248,74 @@ make_sig_records( KBNODE keyblock, KBNODE uidnode,
 }
 
 
+
+/****************
+ * Make a preference record (or a list of them) according to the supplied
+ * signature.
+ * Returns: The record number of the first pref record.
+ */
+static ulong
+make_pref_record( PKT_signature *sig, ulong lid )
+{
+    static struct {
+       sigsubpkttype_t subpkttype;
+       int preftype;
+    } ptable[] = {
+       { SIGSUBPKT_PREF_SYM,   PREFTYPE_SYM    },
+       { SIGSUBPKT_PREF_HASH,  PREFTYPE_HASH   },
+       { SIGSUBPKT_PREF_COMPR, PREFTYPE_COMPR  },
+       { 0, 0 }
+    };
+    TRUSTREC *precs, **p_end, *p=NULL, *p2;
+    ulong precno;
+    int k, idx=0;
+    const byte *s;
+    size_t n;
+
+  #if (ITEMS_PER_PREF_RECORD % 2) != 0
+    #error ITEMS_PER_PREF_RECORD must have an even value
+  #endif
+
+    precs = NULL; p_end = &precs;
+    for(k=0; ptable[k].subpkttype; k++ ) {
+       s = parse_sig_subpkt2( sig, ptable[k].subpkttype, &n );
+       if( !s )
+           continue;
+       for( ; n; n--, s++ ) {
+           if( !idx ) {
+               p = m_alloc_clear( sizeof *p );
+               p->rectype = RECTYPE_PREF;
+               p->r.pref.lid = lid;
+           }
+           p->r.pref.data[idx++] = ptable[k].preftype;
+           p->r.pref.data[idx++] = *s;
+           if( idx >= ITEMS_PER_PREF_RECORD ) {
+               p->recnum = tdbio_new_recnum();
+               *p_end = p;
+               p_end = &p->next;
+               idx = 0;
+           }
+       }
+    }
+    if( idx ) {
+       p->recnum = tdbio_new_recnum();
+       *p_end = p;
+       p_end = &p->next;
+    }
+
+    precno = precs? precs->recnum : 0;
+    /* write the precs and release the memory */
+    for( p = precs; p ; p = p2 ) {
+       if( p->next )
+           p->r.pref.next = p->next->recnum;
+       write_record( p );
+       p2 = p->next;
+       m_free( p );
+    }
+    return precno;
+}
+
+
 static ulong
 make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire )
 {
@@ -1408,6 +1327,8 @@ make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire )
 
     urecs = NULL; uend = &urecs;
     for( node=keyblock; node; node = node->next ) {
+       PKT_signature *bestsig;
+
        if( node->pkt->pkttype != PKT_USER_ID )
            continue;
        uid = node->pkt->pkt.user_id;
@@ -1422,10 +1343,12 @@ make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire )
        *uend = u;
        uend = &u->next;
 
-       u->r.uid.uidflags = check_uidsigs( keyblock, node, keyid, lid );
+       u->r.uid.uidflags = check_uidsigs( keyblock, node, keyid,
+                                                    lid, &bestsig );
        if( (u->r.uid.uidflags & UIDF_CHECKED)
-           && (u->r.uid.uidflags & UIDF_VALID) )
-           /*make_pref_record( &urec, keyid, selfsig )*/;
+           && (u->r.uid.uidflags & UIDF_VALID) ) {
+           u->r.uid.prefrec = bestsig? make_pref_record( bestsig, lid ) : 0;
+       }
        /* create the list of signatures */
        u->r.uid.siglist = make_sig_records( keyblock, node,
                                             lid, keyid, min_expire );
@@ -1452,46 +1375,60 @@ make_uid_records( KBNODE keyblock, ulong lid, u32 *keyid, u32 *min_expire )
 int
 update_trust_record( KBNODE keyblock, int recheck, int *modified )
 {
-    PKT_public_key *primary_pk;
-    KBNODE node;
-    TRUSTREC drec, krec, urec, prec, helprec;
-    int rc = 0;
-    u32 keyid[2]; /* keyid of primary key */
-/*    int mod_up = 0;
-    int mod_down = 0; */
-    ulong recno, r2;
-    u32 expire;
+    TRUSTREC drec;
+    int rc;
 
     if( opt.dry_run )
        return 0;
-
-    init_trustdb();
     if( modified )
        *modified = 0;
-
-    node = find_kbnode( keyblock, PKT_PUBLIC_KEY );
-    primary_pk = node->pkt->pkt.public_key;
-    rc = get_dir_record( primary_pk, &drec );
+    init_trustdb();
+    rc = get_dir_record( find_kbnode( keyblock, PKT_PUBLIC_KEY )
+                                           ->pkt->pkt.public_key, &drec );
     if( rc )
        return rc;
+
+    rc = do_update_trust_record( keyblock, &drec, recheck, modified );
+    return rc;
+}
+
+/****************
+ * Same as update_trust_record, but tghis functions expects the dir record.
+ * On exit the dirrecord will reflect any changes made.
+ */
+static int
+do_update_trust_record( KBNODE keyblock, TRUSTREC *drec,
+                       int recheck, int *modified )
+{
+    PKT_public_key *primary_pk;
+    TRUSTREC krec, urec, prec, helprec;
+    int i, rc = 0;
+    u32 keyid[2]; /* keyid of primary key */
+/*    int mod_up = 0;
+    int mod_down = 0; */
+    ulong recno, r2;
+    u32 expire;
+
+    primary_pk = find_kbnode( keyblock, PKT_PUBLIC_KEY )->pkt->pkt.public_key;
     if( !primary_pk->local_id )
-       primary_pk->local_id = drec.recnum;
+       primary_pk->local_id = drec->recnum;
 
     keyid_from_pk( primary_pk, keyid );
     if( DBG_TRUST )
-       log_debug("update_trust_record: %08lX.%lu\n", (ulong)keyid[1], drec.recnum );
+       log_debug("do_update_trust_record: %08lX.%lu\n",
+                                       (ulong)keyid[1], drec->recnum );
 
     rc = tdbio_begin_transaction();
     if( rc )
        return rc;
 
     /* delete the old stuff */
-    for( recno=drec.r.dir.keylist; recno; recno = krec.r.key.next ) {
+    for( recno=drec->r.dir.keylist; recno; recno = krec.r.key.next ) {
        read_record( recno, &krec, RECTYPE_KEY );
        delete_record( recno );
     }
-    drec.r.dir.keylist = 0;
-    for( recno=drec.r.dir.uidlist; recno; recno = urec.r.uid.next ) {
+    drec->r.dir.keylist = 0;
+    for( recno=drec->r.dir.uidlist; recno; recno = urec.r.uid.next ) {
        read_record( recno, &urec, RECTYPE_UID );
        for(r2=urec.r.uid.prefrec ; r2; r2 = prec.r.pref.next ) {
            read_record( r2, &prec, RECTYPE_PREF );
@@ -1503,15 +1440,17 @@ update_trust_record( KBNODE keyblock, int recheck, int *modified )
        }
        delete_record( recno );
     }
-    drec.r.dir.uidlist = 0;
+    drec->r.dir.uidlist = 0;
 
 
     /* insert new stuff */
-    drec.r.dir.dirflags &= ~DIRF_REVOKED;
-    drec.r.dir.keylist = make_key_records( keyblock, drec.recnum, keyid );
+    drec->r.dir.dirflags &= ~DIRF_REVOKED;
+    drec->r.dir.keylist = make_key_records( keyblock, drec->recnum, keyid, &i );
+    if( i ) /* primary key has been revoked */
+       drec->r.dir.dirflags &= DIRF_REVOKED;
     expire = 0;
-    drec.r.dir.uidlist = make_uid_records( keyblock, drec.recnum, keyid,
-                                                                &expire );
+    drec->r.dir.uidlist = make_uid_records( keyblock, drec->recnum, keyid,
+                                                                 &expire );
     #if 0
        if( orig_uidflags != urec.r.uid.uidflags ) {
            write_record( &urec );
@@ -1522,18 +1461,15 @@ update_trust_record( KBNODE keyblock, int recheck, int *modified )
                *mod_up=1; /*(maybe a new user id)*/
     #endif
 
-    /* FIXME: if the primary key has been revoked, we should
-       set the revoked flag in the dir records */
-
     if( rc )
        rc = tdbio_cancel_transaction();
     else {
        if( modified && tdbio_is_dirty() )
            *modified = 1;
-       drec.r.dir.dirflags |= DIRF_CHECKED;
-       drec.r.dir.valcheck = 0;
-       drec.r.dir.checkat = expire;
-       write_record( &drec );
+       drec->r.dir.dirflags |= DIRF_CHECKED;
+       drec->r.dir.valcheck = 0;
+       drec->r.dir.checkat = expire;
+       write_record( drec );
        /*tdbio_write_modify_stamp( mod_up, mod_down );*/
        rc = tdbio_end_transaction();
     }
@@ -1603,7 +1539,7 @@ insert_trust_record( KBNODE keyblock )
     tdbio_write_modify_stamp( 1, 0 );
 
     /* and put all the other stuff into the keydb */
-    rc = update_trust_record( keyblock, 1, NULL );
+    rc = do_update_trust_record( keyblock, &dirrec, 1, NULL );
 
     do_sync();
     return rc;
@@ -1639,9 +1575,35 @@ insert_trust_record_by_pk( PKT_public_key *pk )
 }
 
 
+/****************
+ * Check one trust record.  This function is called for every
+ * directory record which is to be checked.  The supplied
+ * dir record is modified according to the performed actions.
+ * Currently we only do an update_trust_record.
+ */
+static int
+check_trust_record( TRUSTREC *drec )
+{
+    KBNODE keyblock;
+    int modified, rc;
+
+    rc = get_keyblock_bylid( &keyblock, drec->recnum );
+    if( rc ) {
+       log_debug( "check_trust_record %lu: keyblock not found: %s\n",
+                                             drec->recnum, g10_errstr(rc) );
+       return rc;
+    }
+
+    rc = do_update_trust_record( keyblock, drec, 0, &modified );
+    release_kbnode( keyblock );
+
+    return rc;
+}
+
 
 /****************
  * Walk over the keyrings and create trustdb records for all keys
+ * which are not currently in the trustdb.
  * It is intended to be used after a fast-import operation.
  */
 void
@@ -1657,16 +1619,17 @@ update_trustdb()
     init_trustdb();
     rc = enum_keyblocks( 0, &kbpos, &keyblock );
     if( !rc ) {
-       ulong count=0, upd_count=0, err_count=0, new_count=0;
+       ulong count=0, err_count=0, new_count=0;
 
        while( !(rc = enum_keyblocks( 1, &kbpos, &keyblock )) ) {
            int modified;
+           TRUSTREC drec;
+           PKT_public_key *pk = find_kbnode( keyblock, PKT_PUBLIC_KEY )
+                                       ->pkt->pkt.public_key;
 
-           rc = update_trust_record( keyblock, 1, &modified );
-           if( rc == -1 ) { /* not yet in trustdb: insert */
-               PKT_public_key *pk;
+           rc = get_dir_record( pk, &drec );
+           if( rc == -1 ) { /* not in trustdb: insert */
                rc = insert_trust_record( keyblock );
-               pk = keyblock->pkt->pkt.public_key;
                if( rc && !pk->local_id ) {
                    log_error(_("lid ?: insert failed: %s\n"),
                                                     g10_errstr(rc) );
@@ -1684,18 +1647,9 @@ update_trustdb()
                }
            }
            else if( rc ) {
-               log_error(_("lid %lu: update failed: %s\n"),
-                        lid_from_keyblock(keyblock), g10_errstr(rc) );
+               log_error(_("error reading dir record: %s\n"), g10_errstr(rc));
                err_count++;
            }
-           else if( modified ) {
-               if( opt.verbose )
-                   log_info(_("lid %lu: updated\n"),
-                                       lid_from_keyblock(keyblock));
-               upd_count++;
-           }
-           else if( opt.verbose > 1 )
-               log_info(_("lid %lu: okay\n"), lid_from_keyblock(keyblock) );
 
            release_kbnode( keyblock ); keyblock = NULL;
            if( !(++count % 100) )
@@ -1704,8 +1658,6 @@ update_trustdb()
        log_info(_("%lu keys processed\n"), count);
        if( err_count )
            log_info(_("\t%lu keys with errors\n"), err_count);
-       if( upd_count )
-           log_info(_("\t%lu keys updated\n"), upd_count);
        if( new_count )
            log_info(_("\t%lu keys inserted\n"), new_count);
     }
@@ -1753,6 +1705,8 @@ check_trustdb( const char *username )
            continue;
        }
 
+       check_trust_record( &rec );
+
     }
 
     log_info(_("%lu keys processed\n"), count);
@@ -1780,7 +1734,7 @@ check_trustdb( const char *username )
  * certchain_set must be a valid set or point to NULL; this function
  * may modifiy it.
  *
- * Fixme: add a fastscan mode which stops ad valid validity nodes.
+ * Hmmm: add a fastscan mode which stops at valid validity nodes.
  */
 static TN
 build_cert_tree( ulong lid, int depth, int max_depth, TN helproot )
@@ -1814,6 +1768,10 @@ build_cert_tree( ulong lid, int depth, int max_depth, TN helproot )
        m_free(keynode);
        return NULL;
     }
+
+    if( dirrec.r.dir.checkat && dirrec.r.dir.checkat <= make_timestamp() )
+       check_trust_record( &dirrec );
+
     keynode->n.k.ownertrust = dirrec.r.dir.ownertrust & TRUST_MASK;
 
     /* loop over all user ids */
@@ -1873,14 +1831,12 @@ build_cert_tree( ulong lid, int depth, int max_depth, TN helproot )
                tn->back = uidnode;
                tn->next = uidnode->list;
                uidnode->list = tn;
-             #if 0 /* optimazation - fixme: reenable this later */
                if( tn->n.k.buckstop ) {
                    /* ultimately trusted key found:
                     * no need to check more signatures of this uid */
                    sigrec.r.sig.next = 0;
                    break;
                }
-             #endif
            }
        } /* end loop over sig recs */
     } /* end loop over user ids */
@@ -1965,10 +1921,10 @@ propagate_validity( TN root, TN node, int (*add_fnc)(ulong), unsigned *retflgs )
     }
 
     /* loop over all user ids */
-    for( ur=node->list; ur; ur = ur->next ) {
+    for( ur=node->list; ur && max_validity < TRUST_FULLY; ur = ur->next ) {
        assert( ur->is_uid );
        /* loop over all signators */
-       for(kr=ur->list; kr; kr = kr->next ) {
+       for(kr=ur->list; kr && max_validity < TRUST_FULLY; kr = kr->next ) {
            if( propagate_validity( root, kr, add_fnc, retflgs ) )
                return -1; /* quit */
            if( kr->n.k.validity == TRUST_ULTIMATE ) {
@@ -2007,18 +1963,16 @@ propagate_validity( TN root, TN node, int (*add_fnc)(ulong), unsigned *retflgs )
                else if( kr->n.k.ownertrust == TRUST_MARGINAL )
                    ur->n.u.marginal_count++;
            }
-       }
-       /* fixme: We can move this test into the loop to stop as soon as
-        * we have a level of FULLY and return from this function
-        * We dont do this now to get better debug output */
-       if( ur->n.u.fully_count >= opt.completes_needed
-           || ur->n.u.marginal_count >= opt.marginals_needed )
-           ur->n.u.validity = TRUST_FULLY;
-       else if( ur->n.u.fully_count || ur->n.u.marginal_count )
-           ur->n.u.validity = TRUST_MARGINAL;
 
-       if( ur->n.u.validity >= max_validity )
-           max_validity = ur->n.u.validity;
+           if( ur->n.u.fully_count >= opt.completes_needed
+               || ur->n.u.marginal_count >= opt.marginals_needed )
+               ur->n.u.validity = TRUST_FULLY;
+           else if( ur->n.u.fully_count || ur->n.u.marginal_count )
+               ur->n.u.validity = TRUST_MARGINAL;
+
+           if( ur->n.u.validity >= max_validity )
+               max_validity = ur->n.u.validity;
+       }
     }
 
     node->n.k.validity = max_validity;
@@ -2112,7 +2066,7 @@ do_check( TRUSTREC *dr, unsigned *validity,
     if( (dr->r.dir.ownertrust & TRUST_FLAG_DISABLED) )
        *validity = 0; /* no need to check further */
     else if( namehash ) {
-       /* Fixme: use the cache */
+       /* Fixme: use a cache */
        *validity = verify_key( opt.max_cert_depth, dr, namehash,
                                                        add_fnc, retflgs );
     }
@@ -2283,6 +2237,8 @@ check_trust( PKT_public_key *pk, unsigned *r_trustlevel,
                                          (ulong)keyid[1], pk->local_id );
        return G10ERR_TIME_CONFLICT;
     }
+    if( rec.r.dir.checkat && rec.r.dir.checkat <= cur_time )
+       check_trust_record( &rec );
 
     if( pk->expiredate && pk->expiredate <= cur_time ) {
        log_info(_("key %08lX.%lu: expired at %s\n"),
index e845bec..2293af8 100644 (file)
@@ -110,11 +110,14 @@ int mpi_write( IOBUF out, MPI a );
 MPI mpi_read_from_buffer(byte *buffer, unsigned *ret_nread, int secure);
 int mpi_fromstr(MPI val, const char *str);
 int mpi_print( FILE *fp, MPI a, int mode );
+void g10_log_mpidump( const char *text, MPI a );
 u32 mpi_get_keyid( MPI a, u32 *keyid );
 byte *mpi_get_buffer( MPI a, unsigned *nbytes, int *sign );
 byte *mpi_get_secure_buffer( MPI a, unsigned *nbytes, int *sign );
 void  mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign );
 
+#define log_mpidump g10_log_mpidump
+
 /*-- mpi-add.c --*/
 void mpi_add_ui(MPI w, MPI u, ulong v );
 void mpi_add(MPI w, MPI u, MPI v);
index b36e11b..6feab32 100644 (file)
@@ -60,12 +60,12 @@ typedef struct {
 /*-- logger.c --*/
 void log_set_logfile( const char *name, int fd );
 FILE *log_stream(void);
+void g10_log_print_prefix(const char *text);
 void log_set_name( const char *name );
 const char *log_get_name(void);
 void log_set_pid( int pid );
 int  log_get_errorcount( int clear );
 void g10_log_hexdump( const char *text, const char *buf, size_t len );
-void g10_log_mpidump( const char *text, MPI a );
 
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 )
   void g10_log_bug( const char *fmt, ... )
@@ -100,7 +100,6 @@ void g10_log_mpidump( const char *text, MPI a );
 #endif
 
 #define log_hexdump g10_log_hexdump
-#define log_mpidump g10_log_mpidump
 #define log_bug     g10_log_bug
 #define log_bug0    g10_log_bug0
 #define log_fatal   g10_log_fatal
@@ -148,6 +147,7 @@ const char *print_fname_stdout( const char *s );
 
 /*-- miscutil.c --*/
 u32 make_timestamp(void);
+u32 scan_isodatestr( const char *string );
 u32 add_days_to_timestamp( u32 stamp, u16 days );
 const char *strtimevalue( u32 stamp );
 const char *strtimestamp( u32 stamp ); /* GMT */
index 1951dd3..cce6ee5 100644 (file)
@@ -1,3 +1,10 @@
+Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+
+       * mpicoder.c (g10_log_mpidump): New.
+
+       * Makefile.am: Support for libtool.
+
 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
 
index 42acb55..fc25bbb 100644 (file)
@@ -10,11 +10,11 @@ DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S  \
 CLEANFILES = tmp-*.s
 
 
-noinst_LIBRARIES = libmpi.a
-# noinst_HEADERS   =
+noinst_LTLIBRARIES = libmpi.la
 
 
-libmpi_a_SOURCES = longlong.h    \
+libmpi_la_LDFLAGS =
+libmpi_la_SOURCES = longlong.h    \
              mpi-add.c      \
              mpi-bit.c      \
              mpi-cmp.c      \
@@ -37,16 +37,16 @@ libmpi_a_SOURCES = longlong.h         \
 
 # Note this objects are actually links, the sourcefiles are
 # distributed by special code in dist-hook
-common_asm_objects = mpih-mul1.o    \
-                    mpih-mul2.o    \
-                    mpih-mul3.o    \
-                    mpih-add1.o    \
-                    mpih-sub1.o    \
-                    mpih-lshift.o  \
-                    mpih-rshift.o
+common_asm_objects = mpih-mul1.lo    \
+                    mpih-mul2.lo    \
+                    mpih-mul3.lo    \
+                    mpih-add1.lo    \
+                    mpih-sub1.lo    \
+                    mpih-lshift.lo  \
+                    mpih-rshift.lo
 
-libmpi_a_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
-libmpi_a_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
+libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
+libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
 
 SUFFIXES = .S
 
@@ -56,3 +56,12 @@ SUFFIXES = .S
        mv tmp-$*.o $@
        rm -f tmp-$*.s
 
+.S.lo:
+       $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >tmp-$*.s
+       if test -f tmp-$*.lo; then rm tmp-$*.lo; fi
+       if test -f tmp-$*.o ; then rm tmp-$*.o ; fi
+       $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(SFLAGS) -c tmp-$*.s
+       if test -f tmp-$*.lo; then mv tmp-$*.lo $*.lo; fi
+       if test -f tmp-$*.o ; then mv tmp-$*.o  $*.o ; fi
+       rm -f tmp-$*.s
+
index 2ef4c14..dae6eb4 100644 (file)
@@ -286,6 +286,16 @@ mpi_print( FILE *fp, MPI a, int mode )
 }
 
 
+void
+g10_log_mpidump( const char *text, MPI a )
+{
+    FILE *fp = log_stream();
+
+    g10_log_print_prefix(text);
+    mpi_print(fp, a, 1 );
+    fputc('\n', fp);
+}
+
 /****************
  * Special function to get the low 8 bytes from an mpi.
  * This can be used as a keyid; KEYID is an 2 element array.
index 4aae570..2fa0245 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -3,7 +3,7 @@
 # Walter Koch <walterk@dip.de>, 1998.
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-06-26 11:22+0200\n"
+"POT-Creation-Date: 1999-07-06 17:34+0200\n"
 "PO-Revision-Date: 1999-05-30 21:56+0200\n"
 "Last-Translator: Walter Koch <walterk@mail.dip.de>\n"
 "Language-Team: German <de@li.org>\n"
@@ -11,34 +11,34 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: util/secmem.c:76
+#: util/secmem.c:79
 msgid "Warning: using insecure memory!\n"
 msgstr "Warnung: Sensible Daten könnten auf Platte ausgelagert werden.\n"
 
 # "  Um dies zu vermeiden, kann das Programm suid(root) installiert werden.\n"
 # "  Bitte wenden Sie sich hierzu an den Systemadministrator.\n"
-#: util/secmem.c:249
+#: util/secmem.c:275
 msgid "operation is not possible without initialized secure memory\n"
 msgstr "Vorgang ist ohne sicheren Hauptspeicher nicht möglich\n"
 
-#: util/secmem.c:250
+#: util/secmem.c:276
 msgid "(you may have used the wrong program for this task)\n"
 msgstr ""
 "(möglicherweise haben Sie das falsche Programm für diese Aufgabe benutzt)\n"
 
-#: util/miscutil.c:156 util/miscutil.c:173
+#: util/miscutil.c:254 util/miscutil.c:271
 msgid "yes"
 msgstr "ja"
 
-#: util/miscutil.c:157 util/miscutil.c:175
+#: util/miscutil.c:255 util/miscutil.c:273
 msgid "yY"
 msgstr "jJyY"
 
-#: g10/keyedit.c:559 util/miscutil.c:174
+#: g10/keyedit.c:561 util/miscutil.c:272
 msgid "quit"
 msgstr "quit"
 
-#: util/miscutil.c:176
+#: util/miscutil.c:274
 msgid "qQ"
 msgstr "qQ"
 
@@ -244,11 +244,11 @@ msgstr "... dies ist ein Bug (Programmfehler) (%s:%d:%s)\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Sie haben eine Bug (Programmfehler) gefunden ... (%s:%d)\n"
 
-#: cipher/random.c:412
+#: cipher/random.c:452
 msgid "WARNING: using insecure random number generator!!\n"
 msgstr "WARNUNG: Der Zufallsgenerator erzeugt keine echten Zufallszahlen!\n"
 
-#: cipher/random.c:413
+#: cipher/random.c:453
 msgid ""
 "The random number generator is only a kludge to let\n"
 "it run - it is in no way a strong RNG!\n"
@@ -274,7 +274,7 @@ msgstr ""
 "Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!\n"
 "(Es werden noch %d Byte benötigt.)\n"
 
-#: g10/g10.c:174
+#: g10/g10.c:176
 msgid ""
 "@Commands:\n"
 " "
@@ -282,131 +282,131 @@ msgstr ""
 "@Befehle:\n"
 " "
 
-#: g10/g10.c:176
+#: g10/g10.c:178
 msgid "|[file]|make a signature"
 msgstr "|[Datei]|Eine Unterschrift erzeugen"
 
-#: g10/g10.c:177
+#: g10/g10.c:179
 msgid "|[file]|make a clear text signature"
 msgstr "|[Datei]|Eine Klartextunterschrift erzeugen"
 
-#: g10/g10.c:178
+#: g10/g10.c:180
 msgid "make a detached signature"
 msgstr "Eine abgetrennte Unterschrift erzeugen"
 
-#: g10/g10.c:179
+#: g10/g10.c:181
 msgid "encrypt data"
 msgstr "Daten verschlüsseln"
 
-#: g10/g10.c:180
+#: g10/g10.c:182
 msgid "encryption only with symmetric cipher"
 msgstr "Daten symmetrisch verschlüsseln"
 
-#: g10/g10.c:181
+#: g10/g10.c:183
 msgid "store only"
 msgstr "Nur speichern"
 
-#: g10/g10.c:182
+#: g10/g10.c:184
 msgid "decrypt data (default)"
 msgstr "Daten entschlüsseln (Voreinstellung)"
 
-#: g10/g10.c:183
+#: g10/g10.c:185
 msgid "verify a signature"
 msgstr "Signatur prüfen"
 
-#: g10/g10.c:184
+#: g10/g10.c:186
 msgid "list keys"
 msgstr "Liste der Schlüssel"
 
-#: g10/g10.c:186
+#: g10/g10.c:188
 msgid "list keys and signatures"
 msgstr "Liste der Schlüssel und ihrer Signaturen"
 
-#: g10/g10.c:187
+#: g10/g10.c:189
 msgid "check key signatures"
 msgstr "Signaturen der Schlüssel prüfen"
 
-#: g10/g10.c:188
+#: g10/g10.c:190
 msgid "list keys and fingerprints"
 msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\""
 
-#: g10/g10.c:189
+#: g10/g10.c:191
 msgid "list secret keys"
 msgstr "Liste der geheimen Schlüssel"
 
-#: g10/g10.c:190
+#: g10/g10.c:192
 msgid "generate a new key pair"
 msgstr "Ein neues Schlüsselpaar erzeugen"
 
-#: g10/g10.c:191
+#: g10/g10.c:193
 msgid "remove key from the public keyring"
 msgstr "Schlüssel entfernen"
 
-#: g10/g10.c:192
+#: g10/g10.c:194
 msgid "sign or edit a key"
 msgstr "Unterschreiben oder Bearbeiten eines Schlüssels"
 
-#: g10/g10.c:193
+#: g10/g10.c:195
 msgid "generate a revocation certificate"
 msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen"
 
-#: g10/g10.c:194
+#: g10/g10.c:196
 msgid "export keys"
 msgstr "Schlüssel exportieren"
 
-#: g10/g10.c:195
+#: g10/g10.c:197
 msgid "export keys to a key server"
 msgstr "Schlüssel zu einem Schlüsselserver exportieren"
 
-#: g10/g10.c:196
+#: g10/g10.c:198
 msgid "import keys from a key server"
 msgstr "Schlüssel von einem Schlüsselserver importieren"
 
-#: g10/g10.c:199
+#: g10/g10.c:201
 msgid "import/merge keys"
 msgstr "Schlüssel importieren/kombinieren"
 
-#: g10/g10.c:201
+#: g10/g10.c:203
 msgid "list only the sequence of packets"
 msgstr "Lediglich die Struktur der Datenpakete anzeigen"
 
-#: g10/g10.c:203
+#: g10/g10.c:205
 msgid "export the ownertrust values"
 msgstr "Exportieren der \"Owner trust\" Werte"
 
-#: g10/g10.c:205
+#: g10/g10.c:207
 msgid "import ownertrust values"
 msgstr "Importieren der \"Owner trust\" Werte"
 
-#: g10/g10.c:207
+#: g10/g10.c:209
 msgid "|[NAMES]|update the trust database"
 msgstr "|[NAMEN]|Ändern der \"Trust\"-Datenbank"
 
-#: g10/g10.c:209
+#: g10/g10.c:211
 msgid "|[NAMES]|check the trust database"
 msgstr "|[NAMEN]|Überprüfen der \"Trust\"-Datenbank"
 
-#: g10/g10.c:210
+#: g10/g10.c:212
 msgid "fix a corrupted trust database"
 msgstr "Reparieren einer beschädigten \"Trust\"-Datenbank"
 
-#: g10/g10.c:211
+#: g10/g10.c:213
 msgid "De-Armor a file or stdin"
 msgstr "Datei oder stdin von der ASCII-Hülle befreien"
 
-#: g10/g10.c:212
+#: g10/g10.c:214
 msgid "En-Armor a file or stdin"
 msgstr "Datei oder stdin in eine ASCII-Hülle einpacken"
 
-#: g10/g10.c:213
+#: g10/g10.c:215
 msgid "|algo [files]|print message digests"
 msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben"
 
-#: g10/g10.c:214
+#: g10/g10.c:216
 msgid "print all message digests"
 msgstr "Message-Digests für die Eingabedaten ausgeben"
 
-#: g10/g10.c:220
+#: g10/g10.c:222
 msgid ""
 "@\n"
 "Options:\n"
@@ -416,160 +416,160 @@ msgstr ""
 "Optionen:\n"
 " "
 
-#: g10/g10.c:222
+#: g10/g10.c:224
 msgid "create ascii armored output"
 msgstr "Ausgabe mit ASCII-Hülle versehen"
 
-#: g10/g10.c:223
+#: g10/g10.c:225
 msgid "|NAME|encrypt for NAME"
 msgstr "|NAME|Verschlüsseln für NAME"
 
-#: g10/g10.c:227
+#: g10/g10.c:229
 msgid "use this user-id to sign or decrypt"
 msgstr "Mit dieser User-ID signieren"
 
-#: g10/g10.c:228
+#: g10/g10.c:230
 msgid "|N|set compress level N (0 disables)"
 msgstr "Kompressionsstufe auf N setzen (0=keine Kompr.)"
 
-#: g10/g10.c:230
+#: g10/g10.c:232
 msgid "use canonical text mode"
 msgstr "Textmodus benutzen"
 
-#: g10/g10.c:231
+#: g10/g10.c:233
 msgid "use as output file"
 msgstr "Als Ausgabedatei benutzen"
 
-#: g10/g10.c:232
+#: g10/g10.c:234
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
-#: g10/g10.c:233
+#: g10/g10.c:235
 msgid "be somewhat more quiet"
 msgstr "Etwas weniger Infos"
 
-#: g10/g10.c:234
+#: g10/g10.c:236
 msgid "don't use the terminal at all"
 msgstr ""
 
-#: g10/g10.c:235
+#: g10/g10.c:237
 msgid "force v3 signatures"
 msgstr "v3 Signaturen erzwingen"
 
-#: g10/g10.c:236
+#: g10/g10.c:238
 msgid "always use a MDC for encryption"
 msgstr "Beim Verschlüsseln ein Siegel (MDC) verwenden"
 
-#: g10/g10.c:237
+#: g10/g10.c:239
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
-#: g10/g10.c:239
+#: g10/g10.c:241
 msgid "batch mode: never ask"
 msgstr "Stapelmodus: Keine Abfragen"
 
-#: g10/g10.c:240
+#: g10/g10.c:242
 msgid "assume yes on most questions"
 msgstr "\"Ja\" als Standardantwort annehmen"
 
-#: g10/g10.c:241
+#: g10/g10.c:243
 msgid "assume no on most questions"
 msgstr "\"Nein\" als Standardantwort annehmen"
 
-#: g10/g10.c:242
+#: g10/g10.c:244
 msgid "add this keyring to the list of keyrings"
 msgstr "Als öffentlichen Schlüsselbund mitbenutzen"
 
-#: g10/g10.c:243
+#: g10/g10.c:245
 msgid "add this secret keyring to the list"
 msgstr "Als geheimen Schlüsselbund mitbenutzen"
 
-#: g10/g10.c:244
+#: g10/g10.c:246
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen"
 
-#: g10/g10.c:245
+#: g10/g10.c:247
 msgid "|HOST|use this keyserver to lookup keys"
 msgstr "|HOST|Schlüssel bei diesem Server nachschlagen"
 
-#: g10/g10.c:246
+#: g10/g10.c:248
 msgid "|NAME|set terminal charset to NAME"
 msgstr "|NAME|Terminalzeichensatz NAME benutzen"
 
-#: g10/g10.c:247
+#: g10/g10.c:249
 msgid "read options from file"
 msgstr "Optionen aus der Datei lesen"
 
-#: g10/g10.c:249
+#: g10/g10.c:251
 msgid "set debugging flags"
 msgstr "Debug-Flags einschalten"
 
-#: g10/g10.c:250
+#: g10/g10.c:252
 msgid "enable full debugging"
 msgstr "Alle Debug-Flags einschalten"
 
-#: g10/g10.c:251
+#: g10/g10.c:253
 msgid "|FD|write status info to this FD"
 msgstr "|FD|Statusinfo auf FD (Dateihandle) ausgeben"
 
-#: g10/g10.c:252
+#: g10/g10.c:254
 msgid "do not write comment packets"
 msgstr "Keine Kommentarpakete schreiben"
 
-#: g10/g10.c:253
+#: g10/g10.c:255
 msgid "(default is 1)"
 msgstr "Benötigte Vollvertrauen (Voreinstellung 1)"
 
-#: g10/g10.c:254
+#: g10/g10.c:256
 msgid "(default is 3)"
 msgstr "Benötigte Teilvertrauen (Voreinstellung 3)"
 
-#: g10/g10.c:256
+#: g10/g10.c:258
 msgid "|FILE|load extension module FILE"
 msgstr "|DATEI|Erweiterungsmodul DATEI laden"
 
-#: g10/g10.c:257
+#: g10/g10.c:259
 msgid "emulate the mode described in RFC1991"
 msgstr "Den in RFC1991 beschriebenen Modus nachahmen"
 
-#: g10/g10.c:258
+#: g10/g10.c:260
 msgid "set all packet, cipher and digest options to OpenPGP behavior"
 msgstr ""
 
-#: g10/g10.c:259
+#: g10/g10.c:261
 msgid "|N|use passphrase mode N"
 msgstr "|N|Verwenden des Mantra-Modus N"
 
-#: g10/g10.c:261
+#: g10/g10.c:263
 msgid "|NAME|use message digest algorithm NAME for passphrases"
 msgstr "|NAME|Das Hashverfahren NAME für Mantras benutzen"
 
-#: g10/g10.c:263
+#: g10/g10.c:265
 msgid "|NAME|use cipher algorithm NAME for passphrases"
 msgstr "|NAME|Das Verschlü.verfahren NAME für Mantras benutzen"
 
-#: g10/g10.c:264
+#: g10/g10.c:266
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|Das Verschlü.verfahren NAME benutzen"
 
-#: g10/g10.c:265
+#: g10/g10.c:267
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|Das Hashverfahren NAME benutzen"
 
-#: g10/g10.c:266
+#: g10/g10.c:268
 msgid "|N|use compress algorithm N"
 msgstr "|N|Die Komprimierverfahren N benutzen"
 
-#: g10/g10.c:267
+#: g10/g10.c:269
 msgid "throw keyid field of encrypted packets"
 msgstr "Entferne die Absender-ID verschlüsselter Pakete"
 
-#: g10/g10.c:268
+#: g10/g10.c:270
 msgid "|NAME=VALUE|use this notation data"
 msgstr "|NAME=WERT|verwende diese \"notation\"-Daten"
 
-#: g10/g10.c:270
+#: g10/g10.c:272
 msgid ""
 "@\n"
 "Examples:\n"
@@ -589,15 +589,15 @@ msgstr ""
 " --list-keys [Namen]        Schlüssel anzeigen\n"
 " --fingerprint [Namen]      \"Fingerabdrücke\" anzeigen\n"
 
-#: g10/g10.c:347
+#: g10/g10.c:351
 msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
 msgstr "Berichte über Bugs (Programmfehler) bitte an <gnupg-bugs@gnu.org>.\n"
 
-#: g10/g10.c:351
+#: g10/g10.c:355
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)"
 
-#: g10/g10.c:354
+#: g10/g10.c:358
 msgid ""
 "Syntax: gpg [options] [files]\n"
 "sign, check, encrypt or decrypt\n"
@@ -607,7 +607,7 @@ msgstr ""
 "Signieren, prüfen, verschlüsseln, entschlüsseln\n"
 "Die voreingestellte Operation ist abhängig von den Eingabedaten\n"
 
-#: g10/g10.c:359
+#: g10/g10.c:363
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -615,161 +615,161 @@ msgstr ""
 "\n"
 "Unterstützte Verfahren:\n"
 
-#: g10/g10.c:433
+#: g10/g10.c:437
 msgid "usage: gpg [options] "
 msgstr "Aufruf: gpg [Optionen] "
 
-#: g10/g10.c:473
+#: g10/g10.c:477
 msgid "conflicting commands\n"
 msgstr "Widersprüchliche Befehle\n"
 
-#: g10/g10.c:605
+#: g10/g10.c:609
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
 
-#: g10/g10.c:609
+#: g10/g10.c:613
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "Optionendatei '%s': %s\n"
 
-#: g10/g10.c:616
+#: g10/g10.c:620
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: g10/g10.c:782
+#: g10/g10.c:786
 #, c-format
 msgid "%s is not a valid character set\n"
 msgstr "%s ist kein gültiger Zeichensatz.\n"
 
-#: g10/g10.c:827 g10/g10.c:839
+#: g10/g10.c:833 g10/g10.c:845
 msgid "selected cipher algorithm is invalid\n"
 msgstr "Das ausgewählte Verschlüsslungsverfahren ist ungültig\n"
 
-#: g10/g10.c:833 g10/g10.c:845
+#: g10/g10.c:839 g10/g10.c:851
 msgid "selected digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/g10.c:849
+#: g10/g10.c:855
 msgid "the given policy URL is invalid\n"
 msgstr "Die angegebene URL für Richtlinien ist ungültig\n"
 
-#: g10/g10.c:852
+#: g10/g10.c:858
 #, c-format
 msgid "compress algorithm must be in range %d..%d\n"
 msgstr "Das Komprimierverfahren muß im Bereich %d bis %d liegen\n"
 
-#: g10/g10.c:854
+#: g10/g10.c:860
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed müssen größer als 0 sein\n"
 
-#: g10/g10.c:856
+#: g10/g10.c:862
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed müssen größer als 1 sein\n"
 
-#: g10/g10.c:858
+#: g10/g10.c:864
 msgid "max-cert-depth must be in range 1 to 255\n"
 msgstr "max-cert-depth muß im Bereich 1 bis 255 liegen\n"
 
-#: g10/g10.c:861
+#: g10/g10.c:867
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n"
 
-#: g10/g10.c:865
+#: g10/g10.c:871
 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/g10.c:942
+#: g10/g10.c:948
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n"
 
-#: g10/g10.c:948
+#: g10/g10.c:954
 msgid "--store [filename]"
 msgstr "--store [Dateiname]"
 
-#: g10/g10.c:955
+#: g10/g10.c:961
 msgid "--symmetric [filename]"
 msgstr "--symmetric [Dateiname]"
 
-#: g10/g10.c:963
+#: g10/g10.c:969
 msgid "--encrypt [filename]"
 msgstr "--encrypt [Dateiname]"
 
-#: g10/g10.c:976
+#: g10/g10.c:982
 msgid "--sign [filename]"
 msgstr "--sign [Dateiname]"
 
-#: g10/g10.c:989
+#: g10/g10.c:995
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [Dateiname]"
 
-#: g10/g10.c:1003
+#: g10/g10.c:1009
 msgid "--clearsign [filename]"
 msgstr "--clearsign [Dateiname]"
 
-#: g10/g10.c:1015
+#: g10/g10.c:1021
 msgid "--decrypt [filename]"
 msgstr "--decrypt [Dateiname]"
 
-#: g10/g10.c:1024
+#: g10/g10.c:1030
 msgid "--edit-key username [commands]"
 msgstr "--edit-key Username [Befehle]"
 
-#: g10/g10.c:1038
+#: g10/g10.c:1044
 msgid "--delete-secret-key username"
 msgstr "--delete-secret-key Username"
 
-#: g10/g10.c:1041
+#: g10/g10.c:1047
 msgid "--delete-key username"
 msgstr "--delete-key Benutzername"
 
-#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366
+#: g10/encode.c:231 g10/g10.c:1071 g10/sign.c:366
 #, c-format
 msgid "can't open %s: %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/g10.c:1075
+#: g10/g10.c:1082
 msgid "-k[v][v][v][c] [userid] [keyring]"
 msgstr "-k[v][v][v][c] [Benutzername] [Keyring]"
 
-#: g10/g10.c:1134
+#: g10/g10.c:1141
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/g10.c:1142
+#: g10/g10.c:1149
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/g10.c:1208
+#: g10/g10.c:1215
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "Ungültiges Hashverfahren '%s'\n"
 
-#: g10/g10.c:1283
+#: g10/g10.c:1290
 msgid "[filename]"
 msgstr "[Dateiname]"
 
-#: g10/g10.c:1287
+#: g10/g10.c:1294
 msgid "Go ahead and type your message ...\n"
 msgstr "Auf geht's - Botschaft eintippen ...\n"
 
-#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66
+#: g10/decrypt.c:59 g10/g10.c:1297 g10/verify.c:66
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "'%s' kann nicht geöffnet werden\n"
 
-#: g10/g10.c:1457
+#: g10/g10.c:1466
 msgid ""
 "the first character of a notation name must be a letter or an underscore\n"
 msgstr ""
 "Das erste Zeichen eines \"notation\"-Namens muß ein Buchstabe oder\n"
 "ein Unterstrich sein\n"
 
-#: g10/g10.c:1463
+#: g10/g10.c:1472
 msgid ""
 "a notation name must have only letters, digits, dots or underscores and end "
 "with an '='\n"
@@ -777,12 +777,12 @@ msgstr ""
 "Ein \"notation\"-Name darf nur Buchstaben, Zahlen, Punkte oder Unterstriche "
 "enthalten und muß mit einem '=' enden\n"
 
-#: g10/g10.c:1469
+#: g10/g10.c:1478
 msgid "dots in a notation name must be surrounded by other characters\n"
 msgstr ""
 "Punkte in einem \"notation\"-Namen müssen von anderen Zeichen umgeben sein\n"
 
-#: g10/g10.c:1477
+#: g10/g10.c:1486
 msgid "a notation value must not use any control characters\n"
 msgstr "Ein \"notation\"-Wert darf keine Kontrollzeichen verwenden\n"
 
@@ -915,7 +915,7 @@ msgstr "Ihre Auswahl? "
 msgid "Certificates leading to an ultimately trusted key:\n"
 msgstr "Zertifikate führen zu einem letztlich vertrauenswürdigen Schlüssel:\n"
 
-#: g10/pkclist.c:254
+#: g10/pkclist.c:256
 msgid ""
 "Could not find a valid trust path to the key.  Let's see whether we\n"
 "can assign some missing owner trust values.\n"
@@ -926,7 +926,7 @@ msgstr ""
 "ermitteln können.\n"
 "\n"
 
-#: g10/pkclist.c:260
+#: g10/pkclist.c:262
 msgid ""
 "No path leading to one of our keys found.\n"
 "\n"
@@ -934,7 +934,7 @@ msgstr ""
 "Kein Pfad führt zu einen unserer Schlüsseln.\n"
 "\n"
 
-#: g10/pkclist.c:262
+#: g10/pkclist.c:264
 msgid ""
 "No certificates with undefined trust found.\n"
 "\n"
@@ -942,7 +942,7 @@ msgstr ""
 "Keine Zertifikate mit undefinierten Vertrauen gefunden.\n"
 "\n"
 
-#: g10/pkclist.c:264
+#: g10/pkclist.c:266
 msgid ""
 "No trust values changed.\n"
 "\n"
@@ -950,38 +950,38 @@ msgstr ""
 "Keine \"trust\" Werte geändert.\n"
 "\n"
 
-#: g10/pkclist.c:281
+#: g10/pkclist.c:283
 #, c-format
 msgid "key %08lX: key has been revoked!\n"
 msgstr "Schlüssel %08lX: Schlüssel wurde widerrufen\n"
 
-#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403
+#: g10/pkclist.c:289 g10/pkclist.c:299 g10/pkclist.c:405
 msgid "Use this key anyway? "
 msgstr "Diesen Schlüssel trotzdem benutzen?"
 
-#: g10/pkclist.c:291
+#: g10/pkclist.c:293
 #, c-format
 msgid "key %08lX: subkey has been revoked!\n"
 msgstr "Schlüssel %08lX: Unterschlüssel wurde widerrufen\n"
 
-#: g10/pkclist.c:321
+#: g10/pkclist.c:323
 #, c-format
 msgid "%08lX: key has expired\n"
 msgstr "%08lX: Schlüssel ist verfallen!\n"
 
-#: g10/pkclist.c:327
+#: g10/pkclist.c:329
 #, c-format
 msgid "%08lX: no info to calculate a trust probability\n"
 msgstr ""
 "%08lX: Keine Infos zur Berechnung der Vertrauenswahrscheinlichkeit "
 "vorgefunden\n"
 
-#: g10/pkclist.c:341
+#: g10/pkclist.c:343
 #, c-format
 msgid "%08lX: We do NOT trust this key\n"
 msgstr "%08lX: Wir haben KEIN Vertrauen zu diesem Schlüssel!\n"
 
-#: g10/pkclist.c:347
+#: g10/pkclist.c:349
 #, c-format
 msgid ""
 "%08lX: It is not sure that this key really belongs to the owner\n"
@@ -990,18 +990,18 @@ msgstr ""
 "%08lX: Es ist nicht sicher, daß dieser Schlüssel wirklich dem vorgeblichen\n"
 "Besitzer gehört, aber er wird trotzdem akzeptiert\n"
 
-#: g10/pkclist.c:353
+#: g10/pkclist.c:355
 msgid "This key probably belongs to the owner\n"
 msgstr ""
 "Dieser Schlüssel gehört höchstwahrscheinlich dem angegebenen Besitzer\n"
 
-#: g10/pkclist.c:358
+#: g10/pkclist.c:360
 msgid "This key belongs to us\n"
 msgstr ""
 "Dieser Schlüssel gehört uns (da wir nämlich den geheimen Schlüssel dazu "
 "haben)\n"
 
-#: g10/pkclist.c:398
+#: g10/pkclist.c:400
 msgid ""
 "It is NOT certain that the key belongs to its owner.\n"
 "If you *really* know what you are doing, you may answer\n"
@@ -1012,69 +1012,69 @@ msgstr ""
 "Wenn Sie *wirklich* wissen, was Sie tun, können Sie die nächste\n"
 "Frage mit ja beantworten\n"
 
-#: g10/pkclist.c:411 g10/pkclist.c:433
+#: g10/pkclist.c:413 g10/pkclist.c:435
 msgid "WARNING: Using untrusted key!\n"
 msgstr "WARNUNG: Ein Schlüssel ohne gesichertes Vertrauen wird benutzt!\n"
 
-#: g10/pkclist.c:454
+#: g10/pkclist.c:456
 msgid "WARNING: This key has been revoked by its owner!\n"
 msgstr "WARNUNG: Dieser Schlüssel wurde von seinem Besitzer widerrufen!\n"
 
-#: g10/pkclist.c:455
+#: g10/pkclist.c:457
 msgid "         This could mean that the signature is forgery.\n"
 msgstr "         Das könnte bedeuten, daß die Signatur gefälscht ist.\n"
 
-#: g10/pkclist.c:459
+#: g10/pkclist.c:461
 msgid "WARNING: This subkey has been revoked by its owner!\n"
 msgstr "WARNUNG: Dieser Unterschlüssel wurde von seinem Besitzer widerrufen!\n"
 
-#: g10/pkclist.c:480
+#: g10/pkclist.c:482
 msgid "Note: This key has expired!\n"
 msgstr "Hinweis: Dieser Schlüssel ist verfallen!\n"
 
-#: g10/pkclist.c:487
+#: g10/pkclist.c:489
 msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgstr "WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!\n"
 
-#: g10/pkclist.c:489
+#: g10/pkclist.c:491
 msgid ""
 "         There is no indication that the signature belongs to the owner.\n"
 msgstr ""
 "         Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen "
 "Besitzer gehört.\n"
 
-#: g10/pkclist.c:505
+#: g10/pkclist.c:507
 msgid "WARNING: We do NOT trust this key!\n"
 msgstr "WARNUNG: Wir haben KEIN Vertrauen zu diesem Schlüssel!\n"
 
-#: g10/pkclist.c:506
+#: g10/pkclist.c:508
 msgid "         The signature is probably a FORGERY.\n"
 msgstr "         Die Signatur ist wahrscheinlich eine FÄLSCHUNG.\n"
 
-#: g10/pkclist.c:513
+#: g10/pkclist.c:515
 msgid ""
 "WARNING: This key is not certified with sufficiently trusted signatures!\n"
 msgstr ""
 "WARNUNG: Dieser Schlüssel ist nicht durch hinreichend vertrauenswürdige "
 "Signaturen zertifiziert!\n"
 
-#: g10/pkclist.c:516
+#: g10/pkclist.c:518
 msgid "         It is not certain that the signature belongs to the owner.\n"
 msgstr ""
 "         Es ist nicht sicher, daß die Signatur wirklich dem vorgeblichen "
 "Besitzer gehört.\n"
 
-#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705
+#: g10/pkclist.c:582 g10/pkclist.c:604 g10/pkclist.c:670 g10/pkclist.c:715
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: übersprungen: %s\n"
 
-#: g10/pkclist.c:588 g10/pkclist.c:687
+#: g10/pkclist.c:590 g10/pkclist.c:697
 #, fuzzy, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: Schlüsselblock Leseproblem: %s\n"
 
-#: g10/pkclist.c:611
+#: g10/pkclist.c:613
 msgid ""
 "You did not specify a user ID. (you may use \"-r\")\n"
 "\n"
@@ -1082,20 +1082,30 @@ msgstr ""
 "Sie gaben keine User-ID angegeben (Benutzen Sie die Option \"-r\").\n"
 "\n"
 
-#: g10/pkclist.c:616
+#: g10/pkclist.c:618
 msgid "Enter the user ID: "
 msgstr "Geben Sie die User-ID ein: "
 
-#: g10/pkclist.c:627
+#: g10/pkclist.c:629
 msgid "No such user ID.\n"
 msgstr "Keine solche User-ID vorhanden.\n"
 
-#: g10/pkclist.c:673
+#: g10/pkclist.c:639
+#, fuzzy
+msgid "Public key is disabled.\n"
+msgstr "Öffentlicher Schlüssel ist %08lX\n"
+
+#: g10/pkclist.c:678
 #, c-format
 msgid "%s: error checking key: %s\n"
 msgstr "%s: Fehler beim Prüfen des Schlüssels: %s\n"
 
-#: g10/pkclist.c:711
+#: g10/pkclist.c:683
+#, fuzzy, c-format
+msgid "%s: skipped: public key is disabled\n"
+msgstr "%s: Schlüsselblock Leseproblem: %s\n"
+
+#: g10/pkclist.c:721
 msgid "no valid addressees\n"
 msgstr "Keine gültigen Adressaten\n"
 
@@ -1238,29 +1248,29 @@ msgstr ""
 "      <n>m = Schlüssel verfällt nach n Monaten\n"
 "      <n>y = Schlüssel verfällt nach n Jahren\n"
 
-#: g10/keygen.c:524
+#: g10/keygen.c:526
 msgid "Key is valid for? (0) "
 msgstr "Der Schlüssel bleibt wie lange gültig? (0) "
 
-#: g10/keygen.c:535
+#: g10/keygen.c:547
 msgid "invalid value\n"
 msgstr "Ungültiger Wert.\n"
 
-#: g10/keygen.c:540
+#: g10/keygen.c:552
 msgid "Key does not expire at all\n"
 msgstr "Der Schlüssel verfällt nie.\n"
 
 #. print the date when the key expires
-#: g10/keygen.c:546
+#: g10/keygen.c:558
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "Der Schlüssel verfällt am %s\n"
 
-#: g10/keygen.c:552
+#: g10/keygen.c:564
 msgid "Is this correct (y/n)? "
 msgstr "Ist dies richtig? (j/n) "
 
-#: g10/keygen.c:595
+#: g10/keygen.c:607
 msgid ""
 "\n"
 "You need a User-ID to identify your key; the software constructs the user "
@@ -1276,44 +1286,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:606
+#: g10/keygen.c:618
 msgid "Real name: "
 msgstr "Ihr Name (\"Vorname Nachname\"): "
 
-#: g10/keygen.c:610
+#: g10/keygen.c:622
 msgid "Invalid character in name\n"
 msgstr "Ungültiges Zeichen im Namen\n"
 
-#: g10/keygen.c:612
+#: g10/keygen.c:624
 msgid "Name may not start with a digit\n"
 msgstr "Der Name darf nicht mit einer Ziffer beginnen.\n"
 
-#: g10/keygen.c:614
+#: g10/keygen.c:626
 msgid "Name must be at least 5 characters long\n"
 msgstr "Der Name muß min. 5 Zeichen lang sein.\n"
 
-#: g10/keygen.c:622
+#: g10/keygen.c:634
 msgid "Email address: "
 msgstr "E-Mail-Adresse: "
 
-#: g10/keygen.c:633
+#: g10/keygen.c:645
 msgid "Not a valid email address\n"
 msgstr "Diese E-Mail-Adresse ist ungültig\n"
 
-#: g10/keygen.c:641
+#: g10/keygen.c:653
 msgid "Comment: "
 msgstr "Kommentar: "
 
-#: g10/keygen.c:647
+#: g10/keygen.c:659
 msgid "Invalid character in comment\n"
 msgstr "Ungültiges Zeichen im Kommentar.\n"
 
-#: g10/keygen.c:669
+#: g10/keygen.c:681
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Sie benutzen den Zeichensatz `%s'\n"
 
-#: g10/keygen.c:675
+#: g10/keygen.c:687
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -1324,15 +1334,15 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:678
+#: g10/keygen.c:690
 msgid "NnCcEeOoQq"
 msgstr "NnKkEeFfBb"
 
-#: g10/keygen.c:688
+#: g10/keygen.c:700
 msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
 msgstr "Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? "
 
-#: g10/keygen.c:740
+#: g10/keygen.c:752
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -1340,11 +1350,11 @@ msgstr ""
 "Sie benötigen ein Mantra, um den geheimen Schlüssel zu schützen.\n"
 "\n"
 
-#: g10/keyedit.c:455 g10/keygen.c:748
+#: g10/keyedit.c:456 g10/keygen.c:760
 msgid "passphrase not correctly repeated; try again.\n"
 msgstr "Mantra wurde nicht richtig wiederholt; noch einmal versuchen.\n"
 
-#: g10/keygen.c:754
+#: g10/keygen.c:766
 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"
@@ -1357,7 +1367,7 @@ msgstr ""
 "aufrufen.\n"
 "\n"
 
-#: g10/keygen.c:775
+#: g10/keygen.c:787
 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"
@@ -1368,35 +1378,35 @@ 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:845
+#: g10/keygen.c:857
 msgid "Key generation can only be used in interactive mode\n"
 msgstr ""
 "Die Schlüsselerzeugung kann nur im interaktiven Modus benutzt werden.\n"
 
-#: g10/keygen.c:853
+#: g10/keygen.c:865
 msgid "DSA keypair will have 1024 bits.\n"
 msgstr "Der DSA Schlüssel wird 1024 Bits haben.\n"
 
-#: g10/keygen.c:859
+#: g10/keygen.c:871
 #, fuzzy
 msgid "Key generation canceled.\n"
 msgstr "Schlüsselerzeugung abgebrochen.\n"
 
-#: g10/keygen.c:869
+#: g10/keygen.c:881
 #, c-format
 msgid "writing public certificate to `%s'\n"
 msgstr "schreiben des öffentlichen Zertifikats nach '%s'\n"
 
-#: g10/keygen.c:870
+#: g10/keygen.c:882
 #, c-format
 msgid "writing secret certificate to `%s'\n"
 msgstr "schreiben des geheimen Zertifikats nach '%s'\n"
 
-#: g10/keygen.c:947
+#: g10/keygen.c:959
 msgid "public and secret key created and signed.\n"
 msgstr "Öffentlichen und geheimen Schlüssel erzeugt und signiert.\n"
 
-#: g10/keygen.c:949
+#: g10/keygen.c:961
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a secondary key for this purpose.\n"
@@ -1405,12 +1415,12 @@ msgstr ""
 "werden kann.  Sie können aber mit dem Befehl \"--edit-key\" einen\n"
 "Zweitschlüssel für diesem Zweck erzeugen.\n"
 
-#: g10/keygen.c:963 g10/keygen.c:1062
+#: g10/keygen.c:975 g10/keygen.c:1074
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n"
 
-#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105
+#: g10/keygen.c:1019 g10/sig-check.c:312 g10/sign.c:105
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -1418,7 +1428,7 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren "
 "stimmen nicht überein)\n"
 
-#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107
+#: g10/keygen.c:1021 g10/sig-check.c:314 g10/sign.c:107
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -1426,11 +1436,11 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunden in der Zukunft erzeugt (Zeitreise oder "
 "Uhren stimmen nicht überein)\n"
 
-#: g10/keygen.c:1040
+#: g10/keygen.c:1052
 msgid "Really create? "
 msgstr "Wirklich erzeugen? "
 
-#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467
+#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467
 #: g10/tdbio.c:528
 #, c-format
 msgid "%s: can't open: %s\n"
@@ -1499,7 +1509,7 @@ msgstr "'%s' kann nicht ge
 msgid "skipping block of type %d\n"
 msgstr "überspringe den Block vom Typ %d\n"
 
-#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668
+#: g10/import.c:167 g10/trustdb.c:1656 g10/trustdb.c:1695
 #, c-format
 msgid "%lu keys so far processed\n"
 msgstr "%lu Schlüssel bislang bearbeitet\n"
@@ -1564,7 +1574,7 @@ msgstr "geheime Schl
 msgid " secret keys unchanged: %lu\n"
 msgstr " unveränderte geh.Schl.: %lu\n"
 
-#: g10/import.c:342 g10/import.c:529
+#: g10/import.c:342 g10/import.c:526
 #, c-format
 msgid "key %08lX: no user id\n"
 msgstr "Schlüssel %08lX: Keine User-ID\n"
@@ -1578,7 +1588,7 @@ msgstr "Schl
 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:366 g10/import.c:596
+#: g10/import.c:366 g10/import.c:593
 #, c-format
 msgid "key %08lX: public key not found: %s\n"
 msgstr "Schlüssel %08lX: Öffentlicher Schlüssel nicht gefunden: %s\n"
@@ -1587,17 +1597,17 @@ msgstr "Schl
 msgid "no default public keyring\n"
 msgstr "Kein voreingestellter öffentlicher Schlüsselbund\n"
 
-#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559
+#: g10/import.c:376 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "Schreiben nach '%s'\n"
 
-#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645
+#: g10/import.c:379 g10/import.c:432 g10/import.c:541 g10/import.c:642
 #, c-format
 msgid "can't lock keyring `%s': %s\n"
 msgstr "kann Schlüsselbund `%s' nicht sperren: %s\n"
 
-#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648
+#: g10/import.c:382 g10/import.c:435 g10/import.c:544 g10/import.c:645
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n"
@@ -1612,118 +1622,118 @@ msgstr "Schl
 msgid "key %08lX: doesn't match our copy\n"
 msgstr "Schlüssel %08lX: Stimmt nicht mit unserer Kopie überein\n"
 
-#: g10/import.c:411 g10/import.c:604
+#: g10/import.c:408 g10/import.c:601
 #, c-format
 msgid "key %08lX: can't locate original keyblock: %s\n"
 msgstr ""
 "Schlüssel %08lX: der lokale originale Schlüsselblocks wurde nicht gefunden: "
 "%s\n"
 
-#: g10/import.c:417 g10/import.c:610
+#: g10/import.c:414 g10/import.c:607
 #, c-format
 msgid "key %08lX: can't read original keyblock: %s\n"
 msgstr ""
 "Schlüssel %08lX: Lesefehler im lokalen originalen Schlüsselblocks: %s\n"
 
-#: g10/import.c:444
+#: g10/import.c:441
 #, c-format
 msgid "key %08lX: 1 new user-id\n"
 msgstr "Schlüssel %08lX: 1 neue User-ID\n"
 
-#: g10/import.c:447
+#: g10/import.c:444
 #, c-format
 msgid "key %08lX: %d new user-ids\n"
 msgstr "Schlüssel %08lX: %d neue User-IDs\n"
 
-#: g10/import.c:450
+#: g10/import.c:447
 #, c-format
 msgid "key %08lX: 1 new signature\n"
 msgstr "Schlüssel %08lX: 1 neue Signatur\n"
 
-#: g10/import.c:453
+#: g10/import.c:450
 #, c-format
 msgid "key %08lX: %d new signatures\n"
 msgstr "Schlüssel %08lX: %d neue Signaturen\n"
 
-#: g10/import.c:456
+#: g10/import.c:453
 #, c-format
 msgid "key %08lX: 1 new subkey\n"
 msgstr "Schlüssel %08lX: 1 neuer Unterschlüssel\n"
 
-#: g10/import.c:459
+#: g10/import.c:456
 #, c-format
 msgid "key %08lX: %d new subkeys\n"
 msgstr "Schlüssel %08lX: %d neue Unterschlüssel\n"
 
-#: g10/import.c:469
+#: g10/import.c:466
 #, c-format
 msgid "key %08lX: not changed\n"
 msgstr "Schlüssel %08lX: Nicht geändert\n"
 
-#: g10/import.c:552
+#: g10/import.c:549
 #, c-format
 msgid "key %08lX: secret key imported\n"
 msgstr "Schlüssel %08lX: Geheimer Schlüssel importiert\n"
 
 #. we can't merge secret keys
-#: g10/import.c:556
+#: g10/import.c:553
 #, c-format
 msgid "key %08lX: already in secret keyring\n"
 msgstr "Schlüssel %08lX: Ist bereits im geheimen Schlüsselbund\n"
 
-#: g10/import.c:561
+#: g10/import.c:558
 #, c-format
 msgid "key %08lX: secret key not found: %s\n"
 msgstr "Schlüssel %08lX: geheimer Schlüssel nicht gefunden: %s\n"
 
-#: g10/import.c:590
+#: g10/import.c:587
 #, c-format
 msgid "key %08lX: no public key - can't apply revocation certificate\n"
 msgstr ""
 "Schlüssel %08lX: Kein öffentlicher Schlüssel - der Schlüsselwiderruf kann "
 "nicht angebracht werden\n"
 
-#: g10/import.c:621
+#: g10/import.c:618
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - rejected\n"
 msgstr "Schlüssel %08lX: Ungültiges Widerrufzertifikat: %s - zurückgewiesen\n"
 
-#: g10/import.c:653
+#: g10/import.c:650
 #, c-format
 msgid "key %08lX: revocation certificate imported\n"
 msgstr "Schlüssel %08lX: Widerrufzertifikat importiert\n"
 
-#: g10/import.c:686
+#: g10/import.c:683
 #, c-format
 msgid "key %08lX: no user-id for signature\n"
 msgstr "Schlüssel %08lX: Keine User-ID für Signatur\n"
 
-#: g10/import.c:693 g10/import.c:717
+#: g10/import.c:690 g10/import.c:714
 #, c-format
 msgid "key %08lX: unsupported public key algorithm\n"
 msgstr "Schlüssel %08lX: Nicht unterstützetes Public-Key-Verfahren\n"
 
-#: g10/import.c:694
+#: g10/import.c:691
 #, c-format
 msgid "key %08lX: invalid self-signature\n"
 msgstr "Schlüssel %08lX: Ungültige Eigenbeglaubigung\n"
 
-#: g10/import.c:709
+#: g10/import.c:706
 #, c-format
 msgid "key %08lX: no subkey for key binding\n"
 msgstr "Schlüssel %08lX: Kein Unterschlüssel für die Schlüsselanbindung\n"
 
-#: g10/import.c:718
+#: g10/import.c:715
 #, c-format
 msgid "key %08lX: invalid subkey binding\n"
 msgstr "Schlüssel %08lX: Ungültige Unterschlüssel-Anbindung\n"
 
-#: g10/import.c:750
+#: g10/import.c:747
 #, c-format
 msgid "key %08lX: skipped userid '"
 msgstr "Schlüssel %08lX: übergehe User-ID '"
 
-#: g10/import.c:773
+#: g10/import.c:770
 #, c-format
 msgid "key %08lX: skipped subkey\n"
 msgstr "Schlüssel %08lX: Unterschlüssel ignoriert\n"
@@ -1732,98 +1742,98 @@ msgstr "Schl
 #. * 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:798
+#: g10/import.c:795
 #, c-format
 msgid "key %08lX: non exportable signature (class %02x) - skipped\n"
 msgstr "Schlüssel %08lX: Nicht exportfähige Unterschrift - übergangen\n"
 
-#: g10/import.c:807
+#: g10/import.c:804
 #, c-format
 msgid "key %08lX: revocation certificate at wrong place - skipped\n"
 msgstr "Schlüssel %08lX: Widerrufzertifikat an falschem Platz - übergangen\n"
 
-#: g10/import.c:815
+#: g10/import.c:812
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - skipped\n"
 msgstr "Schlüssel %08lX: Ungültiges Widerrufzertifikat: %s - übergangen\n"
 
-#: g10/import.c:915
+#: g10/import.c:912
 #, c-format
 msgid "key %08lX: duplicated user ID detected - merged\n"
 msgstr "Schlüssel %08lX: Doppelte User-ID entdeckt - zusammengeführt\n"
 
-#: g10/import.c:966
+#: g10/import.c:963
 #, c-format
 msgid "key %08lX: revocation certificate added\n"
 msgstr "Schlüssel %08lX: Widerrufzertifikat hinzugefügt\n"
 
-#: g10/import.c:1079 g10/import.c:1134
+#: g10/import.c:1076 g10/import.c:1131
 #, c-format
 msgid "key %08lX: our copy has no self-signature\n"
 msgstr "Schlüssel %08lX: Unsere Kopie hat keine Eigenbeglaubigung\n"
 
-#: g10/keyedit.c:92
+#: g10/keyedit.c:93
 #, c-format
 msgid "%s: user not found\n"
 msgstr "%s: Benutzer nicht gefunden\n"
 
-#: g10/keyedit.c:153
+#: g10/keyedit.c:154
 msgid "[revocation]"
 msgstr "[Widerruf]"
 
-#: g10/keyedit.c:154
+#: g10/keyedit.c:155
 msgid "[self-signature]"
 msgstr "[Eigenbeglaubigung]"
 
-#: g10/keyedit.c:218
+#: g10/keyedit.c:219
 msgid "1 bad signature\n"
 msgstr "1 falsche Beglaubigung\n"
 
-#: g10/keyedit.c:220
+#: g10/keyedit.c:221
 #, c-format
 msgid "%d bad signatures\n"
 msgstr "%d falsche Beglaubigungen\n"
 
-#: g10/keyedit.c:222
+#: g10/keyedit.c:223
 msgid "1 signature not checked due to a missing key\n"
 msgstr "1 Beglaubigung wegen fehlendem Schlüssel nicht geprüft\n"
 
-#: g10/keyedit.c:224
+#: g10/keyedit.c:225
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
 msgstr "%d Beglaubigungen wegen fehlenden Schlüsseln nicht geprüft\n"
 
-#: g10/keyedit.c:226
+#: g10/keyedit.c:227
 msgid "1 signature not checked due to an error\n"
 msgstr "1 Beglaubigung aufgrund von Fehler nicht geprüft\n"
 
-#: g10/keyedit.c:228
+#: g10/keyedit.c:229
 #, c-format
 msgid "%d signatures not checked due to errors\n"
 msgstr "%d Beglaubigungen aufgrund von Fehlern nicht geprüft\n"
 
-#: g10/keyedit.c:230
+#: g10/keyedit.c:231
 msgid "1 user id without valid self-signature detected\n"
 msgstr "Eine User-ID ohne gültige Eigenbeglaubigung entdeckt\n"
 
-#: g10/keyedit.c:232
+#: g10/keyedit.c:233
 #, c-format
 msgid "%d user ids without valid self-signatures detected\n"
 msgstr "%d User-IDs ohne gültige Eigenbeglaubigung entdeckt\n"
 
 #. Fixme: see whether there is a revocation in which
 #. * case we should allow to sign it again.
-#: g10/keyedit.c:312
+#: g10/keyedit.c:313
 #, c-format
 msgid "Already signed by key %08lX\n"
 msgstr "Ist bereits durch Schlüssel %08lX beglaubigt.\n"
 
-#: g10/keyedit.c:320
+#: g10/keyedit.c:321
 #, c-format
 msgid "Nothing to sign with key %08lX\n"
 msgstr "Nichts zu beglaubigen für Schlüssel %08lX\n"
 
-#: g10/keyedit.c:329
+#: g10/keyedit.c:330
 msgid ""
 "Are you really sure that you want to sign this key\n"
 "with your key: \""
@@ -1831,7 +1841,7 @@ msgstr ""
 "Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem\n"
 "Schlüssel beglaubigen wollen: \""
 
-#: g10/keyedit.c:338
+#: g10/keyedit.c:339
 msgid ""
 "The signature will be marked as non-exportable.\n"
 "\n"
@@ -1839,29 +1849,29 @@ msgstr ""
 "Die Unterschrift wird als nicht exportfähig markiert werden.\n"
 "\n"
 
-#: g10/keyedit.c:343
+#: g10/keyedit.c:344
 msgid "Really sign? "
 msgstr "Wirklich unterschreiben? "
 
-#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128
+#: g10/keyedit.c:370 g10/keyedit.c:1806 g10/keyedit.c:1855 g10/sign.c:128
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Beglaubigung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:422
+#: g10/keyedit.c:423
 msgid "This key is not protected.\n"
 msgstr "Dieser Schlüssel ist nicht geschützt.\n"
 
-#: g10/keyedit.c:425
+#: g10/keyedit.c:426
 msgid "Key is protected.\n"
 msgstr "Schlüssel ist geschützt.\n"
 
-#: g10/keyedit.c:442
+#: g10/keyedit.c:443
 #, c-format
 msgid "Can't edit this key: %s\n"
 msgstr "Dieser Schlüssel kann nicht editiert werden: %s\n"
 
-#: g10/keyedit.c:447
+#: g10/keyedit.c:448
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
@@ -1869,7 +1879,7 @@ msgstr ""
 "Geben Sie das neue Mantra für diesen geheimen Schlüssel ein.\n"
 "\n"
 
-#: g10/keyedit.c:459
+#: g10/keyedit.c:460
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
@@ -1877,375 +1887,398 @@ msgstr ""
 "Sie wollen kein Mantra - dies ist bestimmt *keine* gute Idee!\n"
 "\n"
 
-#: g10/keyedit.c:462
+#: g10/keyedit.c:463
 msgid "Do you really want to do this? "
 msgstr "Möchten Sie dies wirklich tun? "
 
-#: g10/keyedit.c:523
+#: g10/keyedit.c:524
 msgid "moving a key signature to the correct place\n"
 msgstr "schiebe eine Beglaubigung an die richtige Stelle\n"
 
-#: g10/keyedit.c:559
+#: g10/keyedit.c:561
 msgid "quit this menu"
 msgstr "Menü verlassen"
 
-#: g10/keyedit.c:560
+#: g10/keyedit.c:562
 msgid "q"
 msgstr "q"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save"
 msgstr "save"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save and quit"
 msgstr "speichern und Menü verlassen"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "help"
 msgstr "help"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "show this help"
 msgstr "Diese Hilfe zeigen"
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "fpr"
 msgstr "fpr"
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "show fingerprint"
 msgstr "\"Fingerabdruck\" anzeigen"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list"
 msgstr "Liste der Schlüssel"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list key and user ids"
 msgstr "Schlüssel und User-ID auflisten"
 
-#: g10/keyedit.c:566
+#: g10/keyedit.c:568
 msgid "l"
 msgstr "l"
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "uid"
 msgstr "uid"
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "select user id N"
 msgstr "User-ID N auswählen"
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "key"
 msgstr "key"
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "select secondary key N"
 msgstr "Zweitschlüssel N auswählen"
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "check"
 msgstr "check"
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "list signatures"
 msgstr "Liste der Signaturen"
 
-#: g10/keyedit.c:570
+#: g10/keyedit.c:572
 msgid "c"
 msgstr "c"
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign"
 msgstr "sign"
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign the key"
 msgstr "Den Schlüssel signieren"
 
-#: g10/keyedit.c:572
+#: g10/keyedit.c:574
 msgid "s"
 msgstr "s"
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 msgid "lsign"
 msgstr "lsign"
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 msgid "sign the key locally"
 msgstr "Den Schlüssel nur auf diesem Rechner signieren"
 
-#: g10/keyedit.c:574
+#: g10/keyedit.c:576
 msgid "debug"
 msgstr "debug"
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "adduid"
 msgstr "adduid"
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "add a user id"
 msgstr "Eine User-ID hinzufügen"
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "deluid"
 msgstr "deluid"
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "delete user id"
 msgstr "User-ID entfernen"
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "addkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "add a secondary key"
 msgstr "Einen Zweitschlüssel hinzufügen"
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delkey"
 msgstr "delkey"
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delete a secondary key"
 msgstr "Einen Zweitschlüssel entfernen"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 msgid "delsig"
 msgstr "delsig"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 msgid "delete signatures"
 msgstr "Signatur entfernen"
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "expire"
 msgstr "expire"
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "change the expire date"
 msgstr "Ändern des Verfallsdatums"
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle"
 msgstr "toggle"
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle between secret and public key listing"
 msgstr "Umschalten zwischen Anzeige geheimer und öffentlicher Schlüssel"
 
-#: g10/keyedit.c:583
+#: g10/keyedit.c:585
 msgid "t"
 msgstr "t"
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "pref"
 msgstr "pref"
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "list preferences"
 msgstr "Liste der Voreinstellungen"
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "passwd"
 msgstr "passwd"
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "change the passphrase"
 msgstr "Das Mantra ändern"
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "trust"
 msgstr "trust"
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "change the ownertrust"
 msgstr "Den \"Owner trust\" ändern"
 
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revsig"
 msgstr "revsig"
 
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revoke signatures"
 msgstr "Signaturen widerrufen"
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revkey"
 msgstr "revkey"
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revoke a secondary key"
 msgstr "Einen Zweitschlüssel widerrufen"
 
-#: g10/keyedit.c:607
+#: g10/keyedit.c:591
+msgid "disable"
+msgstr ""
+
+#: g10/keyedit.c:591
+#, fuzzy
+msgid "disable a key"
+msgstr "Falscher Schlüssel"
+
+#: g10/keyedit.c:592
+msgid "enable"
+msgstr ""
+
+#: g10/keyedit.c:592
+#, fuzzy
+msgid "enable a key"
+msgstr "Falscher Schlüssel"
+
+#: g10/keyedit.c:611
 msgid "can't do that in batchmode\n"
 msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 
 #. check that they match
 #. FIXME: check that they both match
-#: g10/keyedit.c:636
+#: g10/keyedit.c:640
 msgid "Secret key is available.\n"
 msgstr "Geheimer Schlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:665
+#: g10/keyedit.c:669
 msgid "Command> "
 msgstr "Befehl> "
 
-#: g10/keyedit.c:692
+#: g10/keyedit.c:696
 msgid "Need the secret key to do this.\n"
 msgstr "Hierzu wird der geheime Schlüssel benötigt.\n"
 
-#: g10/keyedit.c:714
+#: g10/keyedit.c:718
 msgid "Save changes? "
 msgstr "Änderungen speichern? "
 
-#: g10/keyedit.c:717
+#: g10/keyedit.c:721
 msgid "Quit without saving? "
 msgstr "Beenden ohne zu speichern? "
 
-#: g10/keyedit.c:727
+#: g10/keyedit.c:731
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Änderung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:734
+#: g10/keyedit.c:738
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:741
+#: g10/keyedit.c:745
 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:744 g10/keyedit.c:803
+#: g10/keyedit.c:748 g10/keyedit.c:807
 #, c-format
 msgid "update of trustdb failed: %s\n"
 msgstr "Änderung der \"Trust-DB\" fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:777
+#: g10/keyedit.c:781
 msgid "Really sign all user ids? "
 msgstr "Wirklich alle User-IDs beglaubigen? "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:782
 msgid "Hint: Select the user ids to sign\n"
 msgstr "Tip: Wählen Sie die User-ID, die beglaubigt werden soll\n"
 
-#: g10/keyedit.c:814 g10/keyedit.c:835
+#: g10/keyedit.c:818 g10/keyedit.c:839
 msgid "You must select at least one user id.\n"
 msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:816
+#: g10/keyedit.c:820
 msgid "You can't delete the last user id!\n"
 msgstr "Die letzte User-ID kann nicht gelöscht werden!\n"
 
-#: g10/keyedit.c:819
+#: g10/keyedit.c:823
 msgid "Really remove all selected user ids? "
 msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? "
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:824
 msgid "Really remove this user id? "
 msgstr "Diese User-ID wirklich entfernen? "
 
-#: g10/keyedit.c:858 g10/keyedit.c:880
+#: g10/keyedit.c:860 g10/keyedit.c:882
 msgid "You must select at least one key.\n"
 msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:862
+#: g10/keyedit.c:864
 msgid "Do you really want to delete the selected keys? "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich entfernen? "
 
-#: g10/keyedit.c:863
+#: g10/keyedit.c:865
 msgid "Do you really want to delete this key? "
 msgstr "Möchten Sie diesen Schlüssel wirklich entfernen? "
 
-#: g10/keyedit.c:884
+#: g10/keyedit.c:886
 msgid "Do you really want to revoke the selected keys? "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich widerrufen? "
 
-#: g10/keyedit.c:885
+#: g10/keyedit.c:887
 msgid "Do you really want to revoke this key? "
 msgstr "Möchten Sie diesen Schlüssel wirklich wiederrufen? "
 
-#: g10/keyedit.c:939
+#: g10/keyedit.c:949
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 
-#: g10/keyedit.c:1294
+#: g10/keyedit.c:1039
+#, fuzzy
+msgid "This key has been disabled"
+msgstr "Hinweis: Dieser Schlüssel ist verfallen!\n"
+
+#: g10/keyedit.c:1310
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:1298
+#: g10/keyedit.c:1314
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)"
 
-#: g10/keyedit.c:1302
+#: g10/keyedit.c:1318
 #, fuzzy
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:1308
+#: g10/keyedit.c:1324
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1338
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:1323
+#: g10/keyedit.c:1339
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:1326
+#: g10/keyedit.c:1342
 msgid "Nothing deleted.\n"
 msgstr "Nichts entfernt.\n"
 
-#: g10/keyedit.c:1395
+#: g10/keyedit.c:1411
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n"
 
-#: g10/keyedit.c:1401
+#: g10/keyedit.c:1417
 msgid "Please select at most one secondary key.\n"
 msgstr "Bitte wählen Sie höchstens einen Zweitschlüssel aus.\n"
 
-#: g10/keyedit.c:1405
+#: g10/keyedit.c:1421
 #, fuzzy
 msgid "Changing expiration time for a secondary key.\n"
 msgstr "Ändern des Verfallsdatums des Zweitschlüssels.\n"
 
-#: g10/keyedit.c:1407
+#: g10/keyedit.c:1423
 #, fuzzy
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:1448
+#: g10/keyedit.c:1464
 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:1464
+#: g10/keyedit.c:1480
 msgid "No corresponding signature in secret ring\n"
 msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n"
 
-#: g10/keyedit.c:1524
+#: g10/keyedit.c:1540
 #, c-format
 msgid "No user id with index %d\n"
 msgstr "Keine User-ID mit Index %d\n"
 
-#: g10/keyedit.c:1570
+#: g10/keyedit.c:1586
 #, c-format
 msgid "No secondary key with index %d\n"
 msgstr "Kein Zweitschlüssel mit Index %d\n"
 
-#: g10/keyedit.c:1668
+#: g10/keyedit.c:1684
 msgid "user ID: \""
 msgstr "User-ID: \""
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1687
 #, c-format
 msgid ""
 "\"\n"
@@ -2254,15 +2287,15 @@ msgstr ""
 "\"\n"
 "unterschrieben mit Ihrem Schlüssel %08lX um %s\n"
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1691
 msgid "Create a revocation certificate for this signature? (y/N)"
 msgstr "Ein Widerrufszertifikat für diese Unterschrift erzeugen (j/N)"
 
-#: g10/keyedit.c:1755
+#: g10/keyedit.c:1771
 msgid "Really create the revocation certificates? (y/N)"
 msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) "
 
-#: g10/keyedit.c:1778
+#: g10/keyedit.c:1794
 msgid "no secret key\n"
 msgstr "Kein geheimer Schlüssel\n"
 
@@ -2271,7 +2304,7 @@ msgstr "Kein geheimer Schl
 msgid "public key is %08lX\n"
 msgstr "Öffentlicher Schlüssel ist %08lX\n"
 
-#: g10/mainproc.c:212
+#: g10/mainproc.c:213
 msgid "public key encrypted data: good DEK\n"
 msgstr "Mit öffentlichem Schüssel verschlüsselte Daten: Korrekte DEK\n"
 
@@ -2279,79 +2312,79 @@ msgstr "Mit 
 #. * this type - do this by building a list of keys with their stati
 #. * and store it with the context.  do_proc_packets can then use
 #. * this list to display some information
-#: g10/mainproc.c:219
+#: g10/mainproc.c:220
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Entschlüsselung mit öffentlichem Schlüssel fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:247
+#: g10/mainproc.c:248
 msgid "decryption okay\n"
 msgstr "Enschlüsselung fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:252
+#: g10/mainproc.c:253
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "Warnung: Verschlüsselte Botschaft ist manipuliert worden!\n"
 
-#: g10/mainproc.c:257
+#: g10/mainproc.c:258
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Enschlüsselung fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:275
+#: g10/mainproc.c:276
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:277
+#: g10/mainproc.c:278
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Ursprünglicher Dateiname='%.*s'\n"
 
-#: g10/mainproc.c:505 g10/mainproc.c:514
+#: g10/mainproc.c:506 g10/mainproc.c:515
 msgid "WARNING: invalid notation data found\n"
 msgstr "WARNUNG: Ungültige \"Notation\"-Daten gefunden\n"
 
-#: g10/mainproc.c:517
+#: g10/mainproc.c:518
 msgid "Notation: "
 msgstr "\"Notation\": "
 
-#: g10/mainproc.c:524
+#: g10/mainproc.c:525
 msgid "Policy: "
 msgstr "Richtlinie: "
 
-#: g10/mainproc.c:929
+#: g10/mainproc.c:930
 msgid "signature verification suppressed\n"
 msgstr "Unterschriften-Überprüfung unterdrückt\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:935
+#: g10/mainproc.c:936
 #, c-format
 msgid "Signature made %.*s using %s key ID %08lX\n"
 msgstr "Unterschrift vom %.*s, %s Schlüssel ID %08lX\n"
 
 #. just in case that we have no userid
-#: g10/mainproc.c:961 g10/mainproc.c:972
+#: g10/mainproc.c:962 g10/mainproc.c:973
 msgid "BAD signature from \""
 msgstr "FALSCHE Unterschrift von \""
 
-#: g10/mainproc.c:962 g10/mainproc.c:973
+#: g10/mainproc.c:963 g10/mainproc.c:974
 msgid "Good signature from \""
 msgstr "Korrekte Unterschrift von \""
 
-#: g10/mainproc.c:964
+#: g10/mainproc.c:965
 msgid "                aka \""
 msgstr "                    alias \""
 
-#: g10/mainproc.c:1015
+#: g10/mainproc.c:1016
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Unterschrift kann nicht geprüft werden: %s\n"
 
-#: g10/mainproc.c:1109
+#: g10/mainproc.c:1110
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Unterschrift nach alter (PGP 2.x) Art\n"
 
-#: g10/mainproc.c:1114
+#: g10/mainproc.c:1115
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ungültiges root-Paket in proc_tree() entdeckt\n"
 
@@ -2392,7 +2425,7 @@ msgstr "dieses Public-Key Verfahren %d kann nicht benutzt werden\n"
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n"
 
-#: g10/passphrase.c:157
+#: g10/passphrase.c:159
 msgid ""
 "\n"
 "You need a passphrase to unlock the secret key for\n"
@@ -2402,21 +2435,21 @@ msgstr ""
 "Sie benötigen ein Mantra, um den geheimen Schlüssel zu entsperren.\n"
 "Benutzer: \""
 
-#: g10/passphrase.c:166
+#: g10/passphrase.c:168
 #, c-format
 msgid "%u-bit %s key, ID %08lX, created %s"
 msgstr "%u-Bit %s Schlüssel, ID %08lX, erzeugt %s"
 
-#: g10/passphrase.c:171
+#: g10/passphrase.c:173
 #, c-format
 msgid " (main key ID %08lX)"
 msgstr " (Hauptschlüssel-ID %08lX)"
 
-#: g10/passphrase.c:192
+#: g10/passphrase.c:194
 msgid "Enter passphrase: "
 msgstr "Geben Sie das Mantra ein: "
 
-#: g10/passphrase.c:196
+#: g10/passphrase.c:198
 msgid "Repeat passphrase: "
 msgstr "Geben Sie das Mantra nochmal ein: "
 
@@ -2471,37 +2504,37 @@ msgstr ""
 "WARNUNG: Unsicherer Schlüssel entdeckt -\n"
 "         bitte Mantra nochmals wechseln.\n"
 
-#: g10/sig-check.c:187
+#: g10/sig-check.c:199
 msgid "assuming bad MDC due to an unknown critical bit\n"
 msgstr ""
 "Vermutlich ist das Siegel (MDC) BESCHÄDIGT (wegen unbekanntem \"critical "
 "bit\")\n"
 
-#: g10/sig-check.c:283
+#: g10/sig-check.c:295
 msgid ""
 "this is a PGP generated ElGamal key which is NOT secure for signatures!\n"
 msgstr ""
 "Dieser durch PGP erzeugte ElGamal-Schlüssel ist für Signaturen NICHT sicher "
 "genug!\n"
 
-#: g10/sig-check.c:291
+#: g10/sig-check.c:303
 #, c-format
 msgid "public key is %lu second newer than the signature\n"
 msgstr ""
 "Öffentlicher Schlüssel ist um %lu Sekunde jünger als die Unterschrift\n"
 
-#: g10/sig-check.c:292
+#: g10/sig-check.c:304
 #, c-format
 msgid "public key is %lu seconds newer than the signature\n"
 msgstr ""
 "Öffentlicher Schlüssel ist um %lu Sekunden jünger als die Unterschrift\n"
 
-#: g10/sig-check.c:308
+#: g10/sig-check.c:320
 #, c-format
 msgid "NOTE: signature key expired %s\n"
 msgstr "Hinweis: Schlüssel der Signatur ist verfallen am %s.\n"
 
-#: g10/sig-check.c:365
+#: g10/sig-check.c:377
 msgid "assuming bad signature due to an unknown critical bit\n"
 msgstr ""
 "Vermutlich eine FALSCHE Unterschrift, wegen unbekanntem \"critical bit\"\n"
@@ -2535,12 +2568,12 @@ msgstr "Textzeilen l
 msgid "input line longer than %d characters\n"
 msgstr "Eingabezeile ist länger als %d Zeichen\n"
 
-#: g10/tdbio.c:116 g10/tdbio.c:1505
+#: g10/tdbio.c:116 g10/tdbio.c:1634
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "trustdb Satz %lu: lseek fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:122 g10/tdbio.c:1512
+#: g10/tdbio.c:122 g10/tdbio.c:1641
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr "trustdb Satz %lu: write fehlgeschlagen (n=%d): %s\n"
@@ -2569,7 +2602,7 @@ msgstr "%s: Verzeichnis erzeugt\n"
 msgid "%s: directory does not exist!\n"
 msgstr "%s: Verzeichnis existiert nicht!\n"
 
-#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457
+#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1344 g10/tdbio.c:457
 #, c-format
 msgid "%s: can't create: %s\n"
 msgstr "%s: kann nicht erzeugt werden: %s\n"
@@ -2610,7 +2643,7 @@ msgid "%s: error updating version record: %s\n"
 msgstr "%s: Fehler beim Ändern des Versionsatzes: %s\n"
 
 #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678
-#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465
+#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n"
@@ -2620,457 +2653,349 @@ msgstr "%s: Fehler beim Lesen des Versionsatzes: %s\n"
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: Fehler beim Schreiben des Versionsatzes: %s\n"
 
-#: g10/tdbio.c:1132
+#: g10/tdbio.c:1246
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "trustdb: lseek fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:1140
+#: g10/tdbio.c:1254
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "trustdb: read failed (n=%d): %s\n"
 
-#: g10/tdbio.c:1161
+#: g10/tdbio.c:1275
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: keine trustdb Datei\n"
 
-#: g10/tdbio.c:1177
+#: g10/tdbio.c:1291
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s: version record with recnum %lu\n"
 
-#: g10/tdbio.c:1182
+#: g10/tdbio.c:1296
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: invalid file version %d\n"
 
-#: g10/tdbio.c:1471
+#: g10/tdbio.c:1600
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: Fehler beim Lesen eines freien Satzes: %s\n"
 
-#: g10/tdbio.c:1479
+#: g10/tdbio.c:1608
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: Fehler beim Schreiben eines Verzeichnis-Satzes: %s\n"
 
-#: g10/tdbio.c:1489
+#: g10/tdbio.c:1618
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s: konnte einen Satz nicht Nullen: %s\n"
 
-#: g10/tdbio.c:1519
+#: g10/tdbio.c:1648
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: konnte Satz nicht anhängen: %s\n"
 
-#: g10/tdbio.c:1630
+#: g10/tdbio.c:1759
 #, fuzzy
 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
 msgstr ""
 "Die \"Trust\"-Datenbank ist beschädigt; verwenden Sie \"gpgm "
 "--fix-trustdb\".\n"
 
-#: g10/trustdb.c:163
+#: g10/trustdb.c:160
 #, 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:178
+#: g10/trustdb.c:175
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "trust record %lu, type %d: write failed: %s\n"
 
-#: g10/trustdb.c:192
+#: g10/trustdb.c:189
 #, c-format
 msgid "trust record %lu: delete failed: %s\n"
 msgstr "Vertrauenssatz %lu: löschen fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:206
+#: g10/trustdb.c:203
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:386
+#: g10/trustdb.c:347
 #, c-format
 msgid "error reading dir record for LID %lu: %s\n"
 msgstr "Fehler beim Lesen des Dir-Satzes für LID %lu: %s\n"
 
-#: g10/trustdb.c:393
+#: g10/trustdb.c:354
 #, c-format
 msgid "lid %lu: expected dir record, got type %d\n"
 msgstr "lid %lu: Dir-Satz erwartet, aber es kam Typ %d\n"
 
-#: g10/trustdb.c:398
+#: g10/trustdb.c:359
 #, c-format
 msgid "no primary key for LID %lu\n"
 msgstr "Kein Hauptschlüssel für LID %lu\n"
 
-#: g10/trustdb.c:403
+#: g10/trustdb.c:364
 #, c-format
 msgid "error reading primary key for LID %lu: %s\n"
 msgstr "Fehler beim Lesen den Hauptschlüssels der LID %lu: %s\n"
 
-#: g10/trustdb.c:442
+#: g10/trustdb.c:403
 #, c-format
 msgid "get_dir_record: search_record failed: %s\n"
 msgstr "get_dir_record: search_record fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:510
+#: g10/trustdb.c:458
 #, c-format
 msgid "NOTE: secret key %08lX is NOT protected.\n"
 msgstr "HINWEIS: Geheimer Schlüssel %08lX ist NICHT geschützt.\n"
 
-#: g10/trustdb.c:518
+#: g10/trustdb.c:466
 #, c-format
 msgid "key %08lX: secret key without public key - skipped\n"
 msgstr ""
 "Schlüssel %08lX: geheimer Schlüssel, aber ohne öffentlichen Schlüssel - "
 "übersprungen\n"
 
-#: g10/trustdb.c:525
+#: g10/trustdb.c:473
 #, c-format
 msgid "key %08lX: secret and public key don't match\n"
 msgstr ""
 "Schlüssel %08lX: geheimer und öffentlicher Schlüssel passen nicht zusammen.\n"
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:483
 #, c-format
 msgid "key %08lX: can't put it into the trustdb\n"
 msgstr "Schlüssel %08lX kann nicht in die \"trustdb\" eingefügt werden\n"
 
-#: g10/trustdb.c:541
+#: g10/trustdb.c:489
 #, c-format
 msgid "key %08lX: query record failed\n"
 msgstr "Schlüssel %08lX: Satzabfrage fehlgeschlagen\n"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:498
 #, c-format
 msgid "key %08lX: already in trusted key table\n"
 msgstr "Schlüssel %08lX: Ist bereits in geheimer Schlüsseltabelle\n"
 
-#: g10/trustdb.c:553
+#: g10/trustdb.c:501
 #, c-format
 msgid "key %08lX: accepted as trusted key.\n"
 msgstr "Schlüssel %08lX: Akzeptiert als vertrauenswürdiger Schlüssel.\n"
 
-#: g10/trustdb.c:561
+#: g10/trustdb.c:509
 #, c-format
 msgid "enumerate secret keys failed: %s\n"
 msgstr "enum_secret_keys fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:851
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
-msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
-
-#: g10/trustdb.c:855
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
-msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but not marked\n"
-
-#. we need the dir record
-#: g10/trustdb.c:862
-#, c-format
-msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
-msgstr "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
-
-#: g10/trustdb.c:868
-#, c-format
-msgid "lid %lu: no primary key\n"
-msgstr "lid %lu: kein Hauptschlüssel\n"
-
-#: g10/trustdb.c:901
-#, c-format
-msgid "lid %lu: user id not found in keyblock\n"
-msgstr "lid %lu: User-ID im Schlüsselblock nicht gefunden\n"
-
-#: g10/trustdb.c:905
-#, c-format
-msgid "lid %lu: user id without signature\n"
-msgstr "lid %lu: User-ID ohne Signatur\n"
-
-#: g10/trustdb.c:912
-#, c-format
-msgid "lid %lu: self-signature in hintlist\n"
-msgstr "lid %lu: Eigenbeglaubigung in 'hintlist'\n"
-
-#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766
-msgid "Valid certificate revocation"
-msgstr "Gültiger Zerifikat-Widerruf"
-
-#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767
-msgid "Good certificate"
-msgstr "Korrektes Zertifikat"
-
-#: g10/trustdb.c:933
-msgid "very strange: no public key\n"
-msgstr "sehr seltsam: kein öffentlicher Schlüssel\n"
-
-#: g10/trustdb.c:982
-#, c-format
-msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
-msgstr "hintlist %lu[%d] of %lu zeigt nicht auf einen 'dir record'\n"
-
-#: g10/trustdb.c:988
-#, c-format
-msgid "lid %lu does not have a key\n"
-msgstr "lid %lu hat keinen Schlüssel\n"
-
-#: g10/trustdb.c:998
-#, c-format
-msgid "lid %lu: can't get keyblock: %s\n"
-msgstr "lid %lu: Schlüsselblock nicht verfügbar: %s\n"
-
-#: g10/trustdb.c:1055 g10/trustdb.c:2030
-#, c-format
-msgid "tdbio_search_dir failed: %s\n"
+#: g10/trustdb.c:800
+#, fuzzy, c-format
+msgid "tdbio_search_sdir failed: %s\n"
 msgstr "tdbio_search_dir fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:1210
+#: g10/trustdb.c:875
 #, c-format
 msgid "key %08lX.%lu: Good subkey binding\n"
 msgstr "Schlüssel %08lX.%lu: Korrekte Unterschlüssel-Anbindung\n"
 
-#: g10/trustdb.c:1216 g10/trustdb.c:1259
+#: g10/trustdb.c:881 g10/trustdb.c:916
 #, c-format
 msgid "key %08lX.%lu: Invalid subkey binding: %s\n"
 msgstr "Schlüssel %08lX.%lu: Ungültige Unterschlüssel-Anbindung\n"
 
-#: g10/trustdb.c:1232
+#: g10/trustdb.c:893
 #, c-format
 msgid "key %08lX.%lu: Valid key revocation\n"
 msgstr "Schlüssel %08lX.%lu: Gültiger Schlüsselwiderruf\n"
 
-#: g10/trustdb.c:1238
+#: g10/trustdb.c:899
 #, c-format
 msgid "key %08lX.%lu: Invalid key revocation: %s\n"
 msgstr "Schlüssel %08lX.%lu: Ungültiger Schlüsselwiderruf: %s\n"
 
-#: g10/trustdb.c:1253
+#: g10/trustdb.c:910
 #, c-format
 msgid "key %08lX.%lu: Valid subkey revocation\n"
 msgstr "Schlüssel %08lX.%lu: Gültiger Unterschlüsselwiderruf\n"
 
-#: g10/trustdb.c:1360
+#: g10/trustdb.c:1021
 msgid "Good self-signature"
 msgstr "Korrekte Eigenbeglaubigung"
 
-#: g10/trustdb.c:1371
+#: g10/trustdb.c:1031
 msgid "Invalid self-signature"
 msgstr "Ungültige Eigenbeglaubigung"
 
-#: g10/trustdb.c:1403
-msgid "Valid user ID revocation skipped due to a newer self signature\n"
+#: g10/trustdb.c:1058
+#, fuzzy
+msgid "Valid user ID revocation skipped due to a newer self signature"
 msgstr ""
 "Gültiger User-ID-Widerruf ignoriert, da eine neuere Eigenbeglaubigung "
 "vorliegt\n"
 
-#: g10/trustdb.c:1410
-msgid "Valid user ID revocation\n"
+#: g10/trustdb.c:1064
+#, fuzzy
+msgid "Valid user ID revocation"
 msgstr "Gültiger User-ID-Widerruf\n"
 
-#: g10/trustdb.c:1417
+#: g10/trustdb.c:1069
 msgid "Invalid user ID revocation"
 msgstr "Ungültiger User-ID-Widerruf"
 
-#: g10/trustdb.c:1512
-msgid "Too many preferences"
-msgstr "Zu viele Einstellungen"
-
-#: g10/trustdb.c:1526
-msgid "Too many preference items"
-msgstr "Zu viele Angaben zur Bevorzugung"
-
-#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105
-msgid "WARNING: can't yet handle long pref records\n"
-msgstr "WARNUNG: Lange 'Pref'-Records können noch nicht benutzt werden\n"
-
-#: g10/trustdb.c:1654
-msgid "duplicated certificate - deleted"
-msgstr "Doppelte Zertifikate - entfernt"
+#: g10/trustdb.c:1110
+msgid "Valid certificate revocation"
+msgstr "Gültiger Zerifikat-Widerruf"
 
-#: g10/trustdb.c:1692
-msgid "public key not anymore available"
-msgstr "Öffentlicher Schlüssel ist nicht mehr vorhanden"
+#: g10/trustdb.c:1111
+msgid "Good certificate"
+msgstr "Korrektes Zertifikat"
 
-#: g10/trustdb.c:1702 g10/trustdb.c:1791
+#: g10/trustdb.c:1132
 msgid "Invalid certificate revocation"
 msgstr "Ungültiger Zertifikatswiderruf"
 
-#: g10/trustdb.c:1703 g10/trustdb.c:1792
+#: g10/trustdb.c:1133
 msgid "Invalid certificate"
 msgstr "Ungültiges Zertifikat"
 
-#: g10/trustdb.c:1720
-#, c-format
-msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
-msgstr ""
-"uid %08lX.%lu/%02X%02X: hat \"shadow-dir\" %lu, aber ist noch nicht "
-"markiert.\n"
-
-#: g10/trustdb.c:1734
+#: g10/trustdb.c:1150 g10/trustdb.c:1154
 #, c-format
 msgid "sig record %lu[%d] points to wrong record.\n"
 msgstr "Signatursatz %lu[%d] zeigt auf falschen Satz.\n"
 
-#. that should never happen
-#: g10/trustdb.c:2007
-#, c-format
-msgid "insert_trust_record: keyblock not found: %s\n"
-msgstr "insert_trust_record: Schlüsselblock nicht gefunden: %s\n"
-
-#: g10/trustdb.c:2408
-msgid "Ooops, no keys\n"
-msgstr "Huch, keine Schlüssel\n"
+#: g10/trustdb.c:1206
+msgid "duplicated certificate - deleted"
+msgstr "Doppelte Zertifikate - entfernt"
 
-#: g10/trustdb.c:2412
-msgid "Ooops, no user ids\n"
-msgstr "Huch, keine User-IDs\n"
+#: g10/trustdb.c:1512
+#, c-format
+msgid "tdbio_search_dir failed: %s\n"
+msgstr "tdbio_search_dir fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2529
+#: g10/trustdb.c:1634
 #, c-format
 msgid "lid ?: insert failed: %s\n"
 msgstr "lid ?: Einfügen fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2534
+#: g10/trustdb.c:1639
 #, c-format
 msgid "lid %lu: insert failed: %s\n"
 msgstr "lid %lu: Einfügen fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2540
+#: g10/trustdb.c:1645
 #, c-format
 msgid "lid %lu: inserted\n"
 msgstr "lid %lu: eingefügt\n"
 
-#: g10/trustdb.c:2545 g10/trustdb.c:2654
-#, c-format
-msgid "lid %lu: update failed: %s\n"
-msgstr "lid %lu: Änderung fehlgeschlagen: %s\n"
-
-#: g10/trustdb.c:2551 g10/trustdb.c:2660
-#, c-format
-msgid "lid %lu: updated\n"
-msgstr "lid %lu: geändert\n"
-
-#: g10/trustdb.c:2556 g10/trustdb.c:2664
-#, c-format
-msgid "lid %lu: okay\n"
-msgstr "lid %lu: In Ordnung\n"
+#: g10/trustdb.c:1650
+#, fuzzy, c-format
+msgid "error reading dir record: %s\n"
+msgstr "Fehler beim Auffinden des Verz.Satzes: %s\n"
 
-#: g10/trustdb.c:2562 g10/trustdb.c:2671
+#: g10/trustdb.c:1658 g10/trustdb.c:1712
 #, c-format
 msgid "%lu keys processed\n"
 msgstr "%lu Schlüssel bearbeitet\n"
 
-#: g10/trustdb.c:2564 g10/trustdb.c:2675
+#: g10/trustdb.c:1660 g10/trustdb.c:1716
 #, c-format
 msgid "\t%lu keys with errors\n"
 msgstr "\t%lu Schlüssel mit Fehlern\n"
 
-#: g10/trustdb.c:2566 g10/trustdb.c:2677
-#, c-format
-msgid "\t%lu keys updated\n"
-msgstr "\t%lu Schlüssel geändert\n"
-
-#: g10/trustdb.c:2568
+#: g10/trustdb.c:1662
 #, c-format
 msgid "\t%lu keys inserted\n"
 msgstr "\t%lu Schlüssel eingefügt\n"
 
-#: g10/trustdb.c:2571
+#: g10/trustdb.c:1665
 #, c-format
 msgid "enumerate keyblocks failed: %s\n"
 msgstr "enumerate Schlüsselblock fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2598
-#, c-format
-msgid "%s: keyblock read problem: %s\n"
-msgstr "%s: Schlüsselblock Leseproblem: %s\n"
-
-#: g10/trustdb.c:2612
-#, c-format
-msgid "%s: update failed: %s\n"
-msgstr "%s: Änderung fehlgeschlagen: %s\n"
-
-#: g10/trustdb.c:2615
-#, c-format
-msgid "%s: updated\n"
-msgstr "%s: geändert\n"
-
-#: g10/trustdb.c:2617
-#, c-format
-msgid "%s: okay\n"
-msgstr "%s: In Ordnung\n"
-
-#: g10/trustdb.c:2632
+#: g10/trustdb.c:1703
 #, c-format
 msgid "lid %lu: dir record w/o key - skipped\n"
 msgstr "lid %lu: Dir-Satz ohne Schlüssel - übergangen\n"
 
-#: g10/trustdb.c:2645
-#, c-format
-msgid "lid %lu: keyblock not found: %s\n"
-msgstr "lid %lu: Schlüsselblock nicht gefunden: %s\n"
-
-#: g10/trustdb.c:2673
+#: g10/trustdb.c:1714
 #, c-format
 msgid "\t%lu keys skipped\n"
 msgstr "\t%lu Schlüssel übersprungen\n"
 
-#: g10/trustdb.c:2743
+#: g10/trustdb.c:1718
+#, c-format
+msgid "\t%lu keys updated\n"
+msgstr "\t%lu Schlüssel geändert\n"
+
+#: g10/trustdb.c:2055
+msgid "Ooops, no keys\n"
+msgstr "Huch, keine Schlüssel\n"
+
+#: g10/trustdb.c:2059
+msgid "Ooops, no user ids\n"
+msgstr "Huch, keine User-IDs\n"
+
+#: g10/trustdb.c:2216
 #, c-format
 msgid "check_trust: search dir record failed: %s\n"
 msgstr "check_trust: Suche nach Dir-Satz fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2750
+#: g10/trustdb.c:2223
 #, c-format
 msgid "key %08lX: insert trust record failed: %s\n"
 msgstr "Schlüssel %08lX: 'trust record' einfügen fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2754
+#: g10/trustdb.c:2227
 #, c-format
 msgid "key %08lX.%lu: inserted into trustdb\n"
 msgstr "Schlüssel %08lX.%lu: in \"trustdb\" eingefügt\n"
 
-#: g10/trustdb.c:2762
+#: g10/trustdb.c:2235
 #, c-format
 msgid "key %08lX.%lu: created in future (time warp or clock problem)\n"
 msgstr ""
 "Schlüssel %08lX.%lu: wurde in der Zukunft erzeugt (Zeitreise oder Uhren "
 "stimmen nicht überein)\n"
 
-#: g10/trustdb.c:2769
+#: g10/trustdb.c:2244
 #, c-format
 msgid "key %08lX.%lu: expired at %s\n"
 msgstr "Schlüssel %08lX.%lu: verfallen am %s\n"
 
-#: g10/trustdb.c:2777
+#: g10/trustdb.c:2252
 #, c-format
 msgid "key %08lX.%lu: trust check failed: %s\n"
 msgstr "Schlüssel %08lX.%lu: Vertrauensprüfung fehlgeschlagen: %s\n"
 
-#: g10/trustdb.c:2881
+#: g10/trustdb.c:2358
 #, c-format
 msgid "user '%s' not found: %s\n"
 msgstr "Benutzer '%s' nicht gefunden: %s\n"
 
-#: g10/trustdb.c:2883
+#: g10/trustdb.c:2360
 #, c-format
 msgid "problem finding '%s' in trustdb: %s\n"
 msgstr "Problem, '%s' in der Trust-DB zu finden: %s\n"
 
-#: g10/trustdb.c:2886
+#: g10/trustdb.c:2363
 #, c-format
 msgid "user '%s' not in trustdb - inserting\n"
 msgstr "User '%s' ist nicht in der 'Trust'-Datenbank - wird eingefügt\n"
 
-#: g10/trustdb.c:2889
+#: g10/trustdb.c:2366
 #, c-format
 msgid "failed to put '%s' into trustdb: %s\n"
 msgstr "konnte '%s' nicht in die 'Trust'-Datenbank hineintun: %s\n"
 
+#: g10/trustdb.c:2552 g10/trustdb.c:2582
+msgid "WARNING: can't yet handle long pref records\n"
+msgstr "WARNUNG: Lange 'Pref'-Records können noch nicht benutzt werden\n"
+
 #: g10/ringedit.c:316
 #, c-format
 msgid "%s: can't create keyring: %s\n"
@@ -3134,16 +3059,21 @@ msgstr "
 msgid "%s: unknown suffix\n"
 msgstr ""
 
-#: g10/openfile.c:122
+#: g10/openfile.c:119
+#, fuzzy
+msgid "Enter new filename"
+msgstr "--store [Dateiname]"
+
+#: g10/openfile.c:160
 msgid "writing to stdout\n"
 msgstr "Schreiben auf die Standardausgabe\n"
 
-#: g10/openfile.c:181
+#: g10/openfile.c:219
 #, c-format
 msgid "assuming signed data in `%s'\n"
 msgstr "die unterzeichneten Daten sind wohl in '%s'\n"
 
-#: g10/openfile.c:231
+#: g10/openfile.c:269
 #, c-format
 msgid "%s: new options file created\n"
 msgstr "%s: neue Optionendatei erstellt\n"
@@ -3278,24 +3208,24 @@ msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 msgid "keygen.valid"
 msgstr "Geben Sie den erforderlichen Wert ein"
 
-#: g10/helptext.c:107
+#: g10/helptext.c:110
 msgid "keygen.valid.okay"
 msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 
 # "Enter the name of the key holder"
-#: g10/helptext.c:112
+#: g10/helptext.c:115
 msgid "keygen.name"
 msgstr "Geben Sie den Namen des Schlüsselinhabers ein"
 
 # "please enter an optional but highly suggested email address"
-#: g10/helptext.c:117
+#: g10/helptext.c:120
 msgid "keygen.email"
 msgstr ""
 "Geben Sie eine E-Mail-Adresse ein. Dies ist zwar nicht notwendig,\n"
 "aber empfehlenswert."
 
 # "Please enter an optional comment"
-#: g10/helptext.c:121
+#: g10/helptext.c:124
 msgid "keygen.comment"
 msgstr "Geben Sie (bei Bedarf) einen Kommentar ein"
 
@@ -3304,7 +3234,7 @@ msgstr "Geben Sie (bei Bedarf) einen Kommentar ein"
 # "E  to change the email address.\n"
 # "O  to continue with key generation.\n"
 # "Q  to to quit the key generation."
-#: g10/helptext.c:126
+#: g10/helptext.c:129
 msgid "keygen.userid.cmd"
 msgstr ""
 "N  um den Namen zu ändern.\n"
@@ -3314,50 +3244,45 @@ msgstr ""
 "B  um die Schlüsselerzeugung abbrechen."
 
 # "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
-#: g10/helptext.c:135
+#: g10/helptext.c:138
 msgid "keygen.sub.okay"
 msgstr ""
 "Geben Sie \"Ja\" (oder nur \"j\") ein, um den Unterschlüssel zu erzeugen."
 
 # "Answer \"yes\" or \"no\""
-#: g10/helptext.c:139
+#: g10/helptext.c:142
 msgid "sign_uid.okay"
 msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 
 #  "Answer \"yes\" or \"no\""
-#: g10/helptext.c:144
+#: g10/helptext.c:147
 msgid "change_passwd.empty.okay"
 msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 
-# "Please enter \"help\" to see the list of commands."
-#: g10/helptext.c:149
-msgid "keyedit.cmd"
-msgstr "Geben Sie \"help\" ein, um die Liste der Befehle einzusehen."
-
 # "Answer \"yes\" or \"no\""
-#: g10/helptext.c:153
+#: g10/helptext.c:152
 msgid "keyedit.save.okay"
 msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 
-#: g10/helptext.c:158
+#: g10/helptext.c:157
 msgid "keyedit.cancel.okay"
 msgstr "Geben Sie \"Ja\" oder \"Nein\" ein"
 
 # "Answer \"yes\" is you want to sign ALL the user IDs"
-#: g10/helptext.c:162
+#: g10/helptext.c:161
 msgid "keyedit.sign_all.okay"
 msgstr "Geben Sie \"Ja\" (oder nur \"j\") ein, um alle User-IDs zu beglaubigen"
 
 # "Answer \"yes\" if you really want to delete this user ID.\n"
 # "All ceritifcates are then also lost!"
-#: g10/helptext.c:166
+#: g10/helptext.c:165
 msgid "keyedit.remove.uid.okay"
 msgstr ""
 "Geben Sie \"Ja\" (oder nur \"j\") ein, um diese User-ID zu LÖSCHEN.\n"
 "Alle Zertifikate werden dann auch weg sein!"
 
 # "Answer \"yes\" if it is okay to delete the subkey"
-#: g10/helptext.c:171
+#: g10/helptext.c:170
 msgid "keyedit.remove.subkey.okay"
 msgstr ""
 "Geben Sie \"Ja\" (oder nur \"j\") ein, um diesen Unterschlüssel zu löschen"
@@ -3366,7 +3291,7 @@ msgstr ""
 # "This is a valid signature on the key; you normally don't want\n"
 # "to delete this signature may be important to establish a trust\n"
 # "connection to the key or another key certified by this key."
-#: g10/helptext.c:176
+#: g10/helptext.c:175
 msgid "keyedit.delsig.valid"
 msgstr ""
 "Dies ist eine gültige Beglaubigung für den Schlüssel. Es ist normalerweise\n"
@@ -3379,7 +3304,7 @@ msgstr ""
 # "The signature is not valid.  It does make sense to remove it from\n"
 # "your keyring if it is really invalid and not just unchecked due to\n"
 # "a missing public key (marked by \"sig?\")."
-#: g10/helptext.c:181
+#: g10/helptext.c:180
 #, fuzzy
 msgid "keyedit.delsig.unknown"
 msgstr ""
@@ -3391,7 +3316,7 @@ msgstr ""
 # "The signature is not valid.  It does make sense to remove it from\n"
 # "your keyring if it is really invalid and not just unchecked due to\n"
 # "a missing public key (marked by \"sig?\")."
-#: g10/helptext.c:187
+#: g10/helptext.c:186
 msgid "keyedit.delsig.invalid"
 msgstr ""
 "Diese Beglaubigung ist ungültig. Es ist sinnvoll sie aus Ihrem\n"
@@ -3404,7 +3329,7 @@ msgstr ""
 # "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."
-#: g10/helptext.c:191
+#: g10/helptext.c:190
 msgid "keyedit.delsig.selfsig"
 msgstr ""
 "Diese Beglaubigung bindet die User-ID an den Schlüssel. Normalerweise ist\n"
@@ -3417,7 +3342,7 @@ msgstr ""
 # ################################
 # ####### Help msgids ############
 # ################################
-#: g10/helptext.c:200
+#: g10/helptext.c:199
 msgid "passphrase.enter"
 msgstr ""
 "Bitte geben Sie das Mantra ein. Dies ist ein geheimer Satz, der aus\n"
@@ -3432,7 +3357,7 @@ msgstr ""
 "werden,\n"
 "sind i.d.R. eine gute Wahl"
 
-#: g10/helptext.c:207
+#: g10/helptext.c:206
 msgid "passphrase.repeat"
 msgstr ""
 "Um sicher zu gehen, daß Sie sich bei der Eingabe des Mantras nicht\n"
@@ -3440,25 +3365,109 @@ msgstr ""
 "übereinstimmen, wird das Mantra akzeptiert."
 
 # "Give the name fo the file to which the signature applies"
-#: g10/helptext.c:211
+#: g10/helptext.c:210
 msgid "detached_signature.filename"
 msgstr ""
 "Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört"
 
 # "Answer \"yes\" if it is okay to overwrite the file"
+#. openfile.c (overwrite_filep)
 #: g10/helptext.c:215
 msgid "openfile.overwrite.okay"
 msgstr "Geben Sie \"ja\" ein, wenn Sie die Datei überschreiben möchten"
 
-#: g10/helptext.c:229
+#. openfile.c (ask_outfile_name)
+#: g10/helptext.c:220
+msgid "openfile.askoutname"
+msgstr ""
+
+#: g10/helptext.c:235
 msgid "No help available"
 msgstr "Keine Hilfe vorhanden."
 
-#: g10/helptext.c:241
+#: g10/helptext.c:247
 #, c-format
 msgid "No help available for `%s'"
 msgstr "Keine Hilfe für '%s' vorhanden."
 
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
+#~ msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
+
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
+#~ msgstr "Hinweis: sig rec %lu[%d] in hintlist of %lu but not marked\n"
+
+#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
+#~ msgstr "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
+
+#~ msgid "lid %lu: no primary key\n"
+#~ msgstr "lid %lu: kein Hauptschlüssel\n"
+
+#~ msgid "lid %lu: user id not found in keyblock\n"
+#~ msgstr "lid %lu: User-ID im Schlüsselblock nicht gefunden\n"
+
+#~ msgid "lid %lu: user id without signature\n"
+#~ msgstr "lid %lu: User-ID ohne Signatur\n"
+
+#~ msgid "lid %lu: self-signature in hintlist\n"
+#~ msgstr "lid %lu: Eigenbeglaubigung in 'hintlist'\n"
+
+#~ msgid "very strange: no public key\n"
+#~ msgstr "sehr seltsam: kein öffentlicher Schlüssel\n"
+
+#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
+#~ msgstr "hintlist %lu[%d] of %lu zeigt nicht auf einen 'dir record'\n"
+
+#~ msgid "lid %lu does not have a key\n"
+#~ msgstr "lid %lu hat keinen Schlüssel\n"
+
+#~ msgid "lid %lu: can't get keyblock: %s\n"
+#~ msgstr "lid %lu: Schlüsselblock nicht verfügbar: %s\n"
+
+#~ msgid "Too many preferences"
+#~ msgstr "Zu viele Einstellungen"
+
+#~ msgid "Too many preference items"
+#~ msgstr "Zu viele Angaben zur Bevorzugung"
+
+#~ msgid "public key not anymore available"
+#~ msgstr "Öffentlicher Schlüssel ist nicht mehr vorhanden"
+
+#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
+#~ msgstr ""
+#~ "uid %08lX.%lu/%02X%02X: hat \"shadow-dir\" %lu, aber ist noch nicht "
+#~ "markiert.\n"
+
+#~ msgid "insert_trust_record: keyblock not found: %s\n"
+#~ msgstr "insert_trust_record: Schlüsselblock nicht gefunden: %s\n"
+
+#~ msgid "lid %lu: update failed: %s\n"
+#~ msgstr "lid %lu: Änderung fehlgeschlagen: %s\n"
+
+#~ msgid "lid %lu: updated\n"
+#~ msgstr "lid %lu: geändert\n"
+
+#~ msgid "lid %lu: okay\n"
+#~ msgstr "lid %lu: In Ordnung\n"
+
+#~ msgid "%s: keyblock read problem: %s\n"
+#~ msgstr "%s: Schlüsselblock Leseproblem: %s\n"
+
+#~ msgid "%s: update failed: %s\n"
+#~ msgstr "%s: Änderung fehlgeschlagen: %s\n"
+
+#~ msgid "%s: updated\n"
+#~ msgstr "%s: geändert\n"
+
+#~ msgid "%s: okay\n"
+#~ msgstr "%s: In Ordnung\n"
+
+#~ msgid "lid %lu: keyblock not found: %s\n"
+#~ msgstr "lid %lu: Schlüsselblock nicht gefunden: %s\n"
+
+# "Please enter \"help\" to see the list of commands."
+#~ msgid "keyedit.cmd"
+#~ msgstr "Geben Sie \"help\" ein, um die Liste der Befehle einzusehen."
+
 #~ msgid "can't open file: %s\n"
 #~ msgstr "Kann die Datei nicht öffnen: %s\n"
 
@@ -3571,9 +3580,6 @@ msgstr "Keine Hilfe f
 #~ msgid "insert trust record failed: %s\n"
 #~ msgstr "'trust record' einfügen fehlgeschlagen: %s\n"
 
-#~ msgid "error finding dir record: %s\n"
-#~ msgstr "Fehler beim Auffinden des Verz.Satzes: %s\n"
-
 #~ msgid "Hmmm, public key lost?"
 #~ msgstr "Hmmm, öffentlicher Schüssel verloren?"
 
index 4bea02b..1b4d2b7 100644 (file)
@@ -7,7 +7,7 @@
 # GPG version: 0.9.7
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-06-26 11:22+0200\n"
+"POT-Creation-Date: 1999-07-06 17:34+0200\n"
 "PO-Revision-Date: 1999-06-06 18:33+0200\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Date: 1998-11-13 10:49:25+0100\n"
@@ -22,31 +22,31 @@ msgstr ""
 "g10/mainproc.c g10/passphrase.c g10/plaintext.c g10/pref.c g10/seckey-cert.c "
 "g10/sig-check.c g10/sign.c g10/trustdb.c g10/verify.c\n"
 
-#: util/secmem.c:76
+#: util/secmem.c:79
 msgid "Warning: using insecure memory!\n"
 msgstr "ATENCIÓN: ¡se está usando memoria insegura!\n"
 
-#: util/secmem.c:249
+#: util/secmem.c:275
 msgid "operation is not possible without initialized secure memory\n"
 msgstr "operación imposible sin memoria segura inicializada\n"
 
-#: util/secmem.c:250
+#: util/secmem.c:276
 msgid "(you may have used the wrong program for this task)\n"
 msgstr "(es posible que haya usado el programa incorrecto para esta tarea)\n"
 
-#: util/miscutil.c:156 util/miscutil.c:173
+#: util/miscutil.c:254 util/miscutil.c:271
 msgid "yes"
 msgstr "sí"
 
-#: util/miscutil.c:157 util/miscutil.c:175
+#: util/miscutil.c:255 util/miscutil.c:273
 msgid "yY"
 msgstr "sS"
 
-#: g10/keyedit.c:559 util/miscutil.c:174
+#: g10/keyedit.c:561 util/miscutil.c:272
 msgid "quit"
 msgstr ""
 
-#: util/miscutil.c:176
+#: util/miscutil.c:274
 msgid "qQ"
 msgstr ""
 
@@ -252,12 +252,12 @@ msgstr "... esto es un bug (%s:%d:%s)\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Ha encontrado Vd. un bug... (%s:%d)\n"
 
-#: cipher/random.c:412
+#: cipher/random.c:452
 msgid "WARNING: using insecure random number generator!!\n"
 msgstr ""
 "ATENCIÓN: ¡se está usando un generador de números aleatorios inseguro!\n"
 
-#: cipher/random.c:413
+#: cipher/random.c:453
 msgid ""
 "The random number generator is only a kludge to let\n"
 "it run - it is in no way a strong RNG!\n"
@@ -283,7 +283,7 @@ msgstr ""
 "otro trabajo para que el sistema pueda recolectar más entropía\n"
 "(se necesitan %d bytes más).\n"
 
-#: g10/g10.c:174
+#: g10/g10.c:176
 msgid ""
 "@Commands:\n"
 " "
@@ -291,131 +291,131 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: g10/g10.c:176
+#: g10/g10.c:178
 msgid "|[file]|make a signature"
 msgstr "|[file]|hace una firma"
 
-#: g10/g10.c:177
+#: g10/g10.c:179
 msgid "|[file]|make a clear text signature"
 msgstr "|[file]|hace una firma en texto claro"
 
-#: g10/g10.c:178
+#: g10/g10.c:180
 msgid "make a detached signature"
 msgstr "hace una firma separada"
 
-#: g10/g10.c:179
+#: g10/g10.c:181
 msgid "encrypt data"
 msgstr "cifra datos"
 
-#: g10/g10.c:180
+#: g10/g10.c:182
 msgid "encryption only with symmetric cipher"
 msgstr "cifra sólo con un cifrado simétrico"
 
-#: g10/g10.c:181
+#: g10/g10.c:183
 msgid "store only"
 msgstr "sólo almacenar"
 
-#: g10/g10.c:182
+#: g10/g10.c:184
 msgid "decrypt data (default)"
 msgstr "descifra datos (predefinido)"
 
-#: g10/g10.c:183
+#: g10/g10.c:185
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/g10.c:184
+#: g10/g10.c:186
 msgid "list keys"
 msgstr "lista claves"
 
-#: g10/g10.c:186
+#: g10/g10.c:188
 msgid "list keys and signatures"
 msgstr "lista claves y firmas"
 
-#: g10/g10.c:187
+#: g10/g10.c:189
 msgid "check key signatures"
 msgstr "comprueba las firmas de las claves"
 
-#: g10/g10.c:188
+#: g10/g10.c:190
 msgid "list keys and fingerprints"
 msgstr "lista claves y huellas dactilares"
 
-#: g10/g10.c:189
+#: g10/g10.c:191
 msgid "list secret keys"
 msgstr "lista claves secretas"
 
-#: g10/g10.c:190
+#: g10/g10.c:192
 msgid "generate a new key pair"
 msgstr "genera un nuevo par de claves"
 
-#: g10/g10.c:191
+#: g10/g10.c:193
 msgid "remove key from the public keyring"
 msgstr "elimina la clave del anillo público"
 
-#: g10/g10.c:192
+#: g10/g10.c:194
 msgid "sign or edit a key"
 msgstr "firma o modifica una clave"
 
-#: g10/g10.c:193
+#: g10/g10.c:195
 msgid "generate a revocation certificate"
 msgstr "genera un certificado de revocación"
 
-#: g10/g10.c:194
+#: g10/g10.c:196
 msgid "export keys"
 msgstr "exporta claves"
 
-#: g10/g10.c:195
+#: g10/g10.c:197
 msgid "export keys to a key server"
 msgstr "exporta claves a un servidor de claves"
 
-#: g10/g10.c:196
+#: g10/g10.c:198
 msgid "import keys from a key server"
 msgstr "importa claves desde un servidor de claves"
 
-#: g10/g10.c:199
+#: g10/g10.c:201
 msgid "import/merge keys"
 msgstr "importa/fusiona claves"
 
-#: g10/g10.c:201
+#: g10/g10.c:203
 msgid "list only the sequence of packets"
 msgstr "lista sólo la secuencia de paquetes"
 
-#: g10/g10.c:203
+#: g10/g10.c:205
 msgid "export the ownertrust values"
 msgstr "exporta los valores de confianza"
 
-#: g10/g10.c:205
+#: g10/g10.c:207
 msgid "import ownertrust values"
 msgstr "importa los valores de confianza"
 
-#: g10/g10.c:207
+#: g10/g10.c:209
 msgid "|[NAMES]|update the trust database"
 msgstr "|[NOMBRES]|actualiza la base de datos de confianza"
 
-#: g10/g10.c:209
+#: g10/g10.c:211
 msgid "|[NAMES]|check the trust database"
 msgstr "|[NOMBRES]|comprueba la base de datos de confianza"
 
-#: g10/g10.c:210
+#: g10/g10.c:212
 msgid "fix a corrupted trust database"
 msgstr "arregla una base de datos de confianza dañada"
 
-#: g10/g10.c:211
+#: g10/g10.c:213
 msgid "De-Armor a file or stdin"
 msgstr "quita la armadura de un fichero o stdin"
 
-#: g10/g10.c:212
+#: g10/g10.c:214
 msgid "En-Armor a file or stdin"
 msgstr "crea la armadura a un fichero o stdin"
 
-#: g10/g10.c:213
+#: g10/g10.c:215
 msgid "|algo [files]|print message digests"
 msgstr "|algo [ficheros]|imprime resúmenes de mensaje"
 
-#: g10/g10.c:214
+#: g10/g10.c:216
 msgid "print all message digests"
 msgstr "imprime todos los resúmenes de mensaje"
 
-#: g10/g10.c:220
+#: g10/g10.c:222
 msgid ""
 "@\n"
 "Options:\n"
@@ -425,164 +425,164 @@ msgstr ""
 "Opciones:\n"
 " "
 
-#: g10/g10.c:222
+#: g10/g10.c:224
 msgid "create ascii armored output"
 msgstr "crea una salida ascii con armadura"
 
-#: g10/g10.c:223
+#: g10/g10.c:225
 msgid "|NAME|encrypt for NAME"
 msgstr "|NOMBRE|cifra para NOMBRE"
 
-#: g10/g10.c:227
+#: g10/g10.c:229
 msgid "use this user-id to sign or decrypt"
 msgstr "usa este usuario para firmar o descifrar"
 
-#: g10/g10.c:228
+#: g10/g10.c:230
 msgid "|N|set compress level N (0 disables)"
 msgstr "|N|establece nivel de compresión N (0 no comprime)"
 
-#: g10/g10.c:230
+#: g10/g10.c:232
 msgid "use canonical text mode"
 msgstr "usa modo de texto canónico"
 
-#: g10/g10.c:231
+#: g10/g10.c:233
 msgid "use as output file"
 msgstr "usa como fichero de salida"
 
-#: g10/g10.c:232
+#: g10/g10.c:234
 msgid "verbose"
 msgstr "prolijo"
 
-#: g10/g10.c:233
+#: g10/g10.c:235
 msgid "be somewhat more quiet"
 msgstr "algo más discreto"
 
-#: g10/g10.c:234
+#: g10/g10.c:236
 msgid "don't use the terminal at all"
 msgstr ""
 
-#: g10/g10.c:235
+#: g10/g10.c:237
 msgid "force v3 signatures"
 msgstr "fuerza firmas v3"
 
-#: g10/g10.c:236
+#: g10/g10.c:238
 msgid "always use a MDC for encryption"
 msgstr "siempre usa un MCD para cifrar"
 
-#: g10/g10.c:237
+#: g10/g10.c:239
 msgid "do not make any changes"
 msgstr "no hace ningún cambio"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
-#: g10/g10.c:239
+#: g10/g10.c:241
 msgid "batch mode: never ask"
 msgstr "proceso por lotes: nunca preguntar"
 
-#: g10/g10.c:240
+#: g10/g10.c:242
 msgid "assume yes on most questions"
 msgstr "asume \"sí\" en casi todas las preguntas"
 
-#: g10/g10.c:241
+#: g10/g10.c:243
 msgid "assume no on most questions"
 msgstr "asume \"no\" en casi todas las preguntas"
 
-#: g10/g10.c:242
+#: g10/g10.c:244
 msgid "add this keyring to the list of keyrings"
 msgstr "añade este anillo a la lista de anillos"
 
-#: g10/g10.c:243
+#: g10/g10.c:245
 msgid "add this secret keyring to the list"
 msgstr "añade este anillo secreto a la lista"
 
-#: g10/g10.c:244
+#: g10/g10.c:246
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOMBRE|usa NOMBRE como clave secreta por defecto"
 
-#: g10/g10.c:245
+#: g10/g10.c:247
 msgid "|HOST|use this keyserver to lookup keys"
 msgstr "|SERVIDOR|usa este servidor de claves"
 
-#: g10/g10.c:246
+#: g10/g10.c:248
 msgid "|NAME|set terminal charset to NAME"
 msgstr "|NOMBRE|usa el juego de caracteres NOMBRE"
 
-#: g10/g10.c:247
+#: g10/g10.c:249
 msgid "read options from file"
 msgstr "lee opciones del fichero"
 
-#: g10/g10.c:249
+#: g10/g10.c:251
 msgid "set debugging flags"
 msgstr "establece los parámetros de depuración"
 
-#: g10/g10.c:250
+#: g10/g10.c:252
 msgid "enable full debugging"
 msgstr "habilita depuración completa"
 
-#: g10/g10.c:251
+#: g10/g10.c:253
 msgid "|FD|write status info to this FD"
 msgstr "|DF|escribe información de estado en descriptor DF"
 
-#: g10/g10.c:252
+#: g10/g10.c:254
 msgid "do not write comment packets"
 msgstr "no escribe paquetes de comentario"
 
-#: g10/g10.c:253
+#: g10/g10.c:255
 msgid "(default is 1)"
 msgstr "(por defecto es 1)"
 
-#: g10/g10.c:254
+#: g10/g10.c:256
 msgid "(default is 3)"
 msgstr "(por defecto es 3)"
 
-#: g10/g10.c:256
+#: g10/g10.c:258
 msgid "|FILE|load extension module FILE"
 msgstr "|FICHERO|carga módulo de extensiones FICHERO"
 
-#: g10/g10.c:257
+#: g10/g10.c:259
 msgid "emulate the mode described in RFC1991"
 msgstr "emula el modo descrito en la RFC1991"
 
-#: g10/g10.c:258
+#: g10/g10.c:260
 msgid "set all packet, cipher and digest options to OpenPGP behavior"
 msgstr ""
 
-#: g10/g10.c:259
+#: g10/g10.c:261
 msgid "|N|use passphrase mode N"
 msgstr "|N|usa modo de contraseña N"
 
-#: g10/g10.c:261
+#: g10/g10.c:263
 msgid "|NAME|use message digest algorithm NAME for passphrases"
 msgstr ""
 "|NOMBRE|usa algoritmo de resumen de mensaje NOMBRE\n"
 "para las contraseñas"
 
-#: g10/g10.c:263
+#: g10/g10.c:265
 msgid "|NAME|use cipher algorithm NAME for passphrases"
 msgstr ""
 "|NOMBRE|usa el algoritmo de cifrado NOMBRE para las\n"
 "contraseñas"
 
-#: g10/g10.c:264
+#: g10/g10.c:266
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOMBRE|usa el algoritmo de cifrado NOMBRE"
 
-#: g10/g10.c:265
+#: g10/g10.c:267
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOMBRE|usa algoritmo de resumen de mensaje NOMBRE"
 
-#: g10/g10.c:266
+#: g10/g10.c:268
 msgid "|N|use compress algorithm N"
 msgstr "|N|usa el algoritmo de compresión N"
 
-#: g10/g10.c:267
+#: g10/g10.c:269
 msgid "throw keyid field of encrypted packets"
 msgstr "elimina el campo keyid de los paquetes cifrados"
 
-#: g10/g10.c:268
+#: g10/g10.c:270
 msgid "|NAME=VALUE|use this notation data"
 msgstr ""
 
-#: g10/g10.c:270
+#: g10/g10.c:272
 msgid ""
 "@\n"
 "Examples:\n"
@@ -602,15 +602,15 @@ msgstr ""
 " --list-keys [nombres]      muestra las claves\n"
 " --fingerprint [nombres]    muestra las huellas dactilares\n"
 
-#: g10/g10.c:347
+#: g10/g10.c:351
 msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
 msgstr "Por favor, informe de posibles \"bugs\" a <gnupg-bugs@gnu.org>.\n"
 
-#: g10/g10.c:351
+#: g10/g10.c:355
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Uso: gpg [opciones] [ficheros] (-h para ayuda)"
 
-#: g10/g10.c:354
+#: g10/g10.c:358
 msgid ""
 "Syntax: gpg [options] [files]\n"
 "sign, check, encrypt or decrypt\n"
@@ -620,7 +620,7 @@ msgstr ""
 "Firma, comprueba, cifra o descifra.\n"
 "La operación por defecto depende del tipo de datos de entrada.\n"
 
-#: g10/g10.c:359
+#: g10/g10.c:363
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -628,169 +628,169 @@ msgstr ""
 "\n"
 "Algoritmos soportados:\n"
 
-#: g10/g10.c:433
+#: g10/g10.c:437
 msgid "usage: gpg [options] "
 msgstr "uso: gpg [opciones] "
 
-#: g10/g10.c:473
+#: g10/g10.c:477
 msgid "conflicting commands\n"
 msgstr "comandos incompatibles\n"
 
-#: g10/g10.c:605
+#: g10/g10.c:609
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n"
 
-#: g10/g10.c:609
+#: g10/g10.c:613
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fichero de opciones `%s': %s\n"
 
-#: g10/g10.c:616
+#: g10/g10.c:620
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "leyendo opciones desde `%s'\n"
 
-#: g10/g10.c:782
+#: g10/g10.c:786
 #, c-format
 msgid "%s is not a valid character set\n"
 msgstr "%s no es un juego de caracteres válido\n"
 
-#: g10/g10.c:827 g10/g10.c:839
+#: g10/g10.c:833 g10/g10.c:845
 msgid "selected cipher algorithm is invalid\n"
 msgstr "el algoritmo de cifrado seleccionado no es válido\n"
 
-#: g10/g10.c:833 g10/g10.c:845
+#: g10/g10.c:839 g10/g10.c:851
 msgid "selected digest algorithm is invalid\n"
 msgstr "el algoritmo de resumen seleccionado no es válido\n"
 
-#: g10/g10.c:849
+#: g10/g10.c:855
 msgid "the given policy URL is invalid\n"
 msgstr ""
 
-#: g10/g10.c:852
+#: g10/g10.c:858
 #, c-format
 msgid "compress algorithm must be in range %d..%d\n"
 msgstr "el algoritmo de compresión debe estar en el rango %d-%d\n"
 
-#: g10/g10.c:854
+#: g10/g10.c:860
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed debe ser mayor que 0\n"
 
-#: g10/g10.c:856
+#: g10/g10.c:862
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed debe ser mayor que 1\n"
 
-#: g10/g10.c:858
+#: g10/g10.c:864
 msgid "max-cert-depth must be in range 1 to 255\n"
 msgstr "max-cert-depth debe estar en el rango 1-255\n"
 
-#: g10/g10.c:861
+#: g10/g10.c:867
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: el modo S2K simple (0) no es nada recomendable\n"
 
-#: g10/g10.c:865
+#: g10/g10.c:871
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K incorrecto; debe ser 0, 1 o 3\n"
 
-#: g10/g10.c:942
+#: g10/g10.c:948
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inicialización de la base de datos de confianza fallida: %s\n"
 
-#: g10/g10.c:948
+#: g10/g10.c:954
 msgid "--store [filename]"
 msgstr "--store [nombre_fichero]"
 
-#: g10/g10.c:955
+#: g10/g10.c:961
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nombre_fichero]"
 
-#: g10/g10.c:963
+#: g10/g10.c:969
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nombre_fichero]"
 
-#: g10/g10.c:976
+#: g10/g10.c:982
 msgid "--sign [filename]"
 msgstr "--sign [nombre_fichero]"
 
-#: g10/g10.c:989
+#: g10/g10.c:995
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nombre_fichero]"
 
-#: g10/g10.c:1003
+#: g10/g10.c:1009
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nombre_fichero]"
 
-#: g10/g10.c:1015
+#: g10/g10.c:1021
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nombre_fichero]"
 
-#: g10/g10.c:1024
+#: g10/g10.c:1030
 msgid "--edit-key username [commands]"
 msgstr "--edit-key nombre_usuario [comandos]"
 
-#: g10/g10.c:1038
+#: g10/g10.c:1044
 msgid "--delete-secret-key username"
 msgstr "--delete-secret-key nombre_usuario"
 
-#: g10/g10.c:1041
+#: g10/g10.c:1047
 msgid "--delete-key username"
 msgstr "--delete-key nombre_usuario"
 
-#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366
+#: g10/encode.c:231 g10/g10.c:1071 g10/sign.c:366
 #, c-format
 msgid "can't open %s: %s\n"
 msgstr "no puede abrirse `%s': %s\n"
 
-#: g10/g10.c:1075
+#: g10/g10.c:1082
 msgid "-k[v][v][v][c] [userid] [keyring]"
 msgstr "-k[v][v][v][c] [id_usuario] [anillo]"
 
-#: g10/g10.c:1134
+#: g10/g10.c:1141
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "eliminación de armadura fallida: %s\n"
 
-#: g10/g10.c:1142
+#: g10/g10.c:1149
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "creación de armadura fallida: %s\n"
 
-#: g10/g10.c:1208
+#: g10/g10.c:1215
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algoritmo de distribución no válido `%s'\n"
 
-#: g10/g10.c:1283
+#: g10/g10.c:1290
 msgid "[filename]"
 msgstr "[nombre_fichero]"
 
-#: g10/g10.c:1287
+#: g10/g10.c:1294
 msgid "Go ahead and type your message ...\n"
 msgstr "Adelante, teclee su mensaje ...\n"
 
-#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66
+#: g10/decrypt.c:59 g10/g10.c:1297 g10/verify.c:66
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "no puede abrirse `%s'\n"
 
-#: g10/g10.c:1457
+#: g10/g10.c:1466
 msgid ""
 "the first character of a notation name must be a letter or an underscore\n"
 msgstr ""
 
-#: g10/g10.c:1463
+#: g10/g10.c:1472
 msgid ""
 "a notation name must have only letters, digits, dots or underscores and end "
 "with an '='\n"
 msgstr ""
 
-#: g10/g10.c:1469
+#: g10/g10.c:1478
 msgid "dots in a notation name must be surrounded by other characters\n"
 msgstr ""
 
-#: g10/g10.c:1477
+#: g10/g10.c:1486
 msgid "a notation value must not use any control characters\n"
 msgstr ""
 
@@ -921,7 +921,7 @@ msgstr "Su decisi
 msgid "Certificates leading to an ultimately trusted key:\n"
 msgstr "Certificados que llevan a una clave de confianza absoluta:\n"
 
-#: g10/pkclist.c:254
+#: g10/pkclist.c:256
 msgid ""
 "Could not find a valid trust path to the key.  Let's see whether we\n"
 "can assign some missing owner trust values.\n"
@@ -931,7 +931,7 @@ msgstr ""
 "si es posible asignar algunos valores de confianza perdidos.\n"
 "\n"
 
-#: g10/pkclist.c:260
+#: g10/pkclist.c:262
 msgid ""
 "No path leading to one of our keys found.\n"
 "\n"
@@ -939,7 +939,7 @@ msgstr ""
 "No se ha encontrado ninguna ruta con una de nuestras claves.\n"
 "\n"
 
-#: g10/pkclist.c:262
+#: g10/pkclist.c:264
 msgid ""
 "No certificates with undefined trust found.\n"
 "\n"
@@ -947,7 +947,7 @@ msgstr ""
 "No se ha encontrado ningún certificado sin valor de confianza.\n"
 "\n"
 
-#: g10/pkclist.c:264
+#: g10/pkclist.c:266
 msgid ""
 "No trust values changed.\n"
 "\n"
@@ -955,36 +955,36 @@ msgstr ""
 "No se cambió ningún valor de confianza.\n"
 "\n"
 
-#: g10/pkclist.c:281
+#: g10/pkclist.c:283
 #, c-format
 msgid "key %08lX: key has been revoked!\n"
 msgstr "clave %08lX: ¡esta clave ha sido revocada!\n"
 
-#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403
+#: g10/pkclist.c:289 g10/pkclist.c:299 g10/pkclist.c:405
 msgid "Use this key anyway? "
 msgstr "¿Usar esta clave de todas formas? "
 
-#: g10/pkclist.c:291
+#: g10/pkclist.c:293
 #, c-format
 msgid "key %08lX: subkey has been revoked!\n"
 msgstr "clave %08lX: ¡esta subclave ha sido revocada!\n"
 
-#: g10/pkclist.c:321
+#: g10/pkclist.c:323
 #, c-format
 msgid "%08lX: key has expired\n"
 msgstr "%08lX: clave caducada\n"
 
-#: g10/pkclist.c:327
+#: g10/pkclist.c:329
 #, c-format
 msgid "%08lX: no info to calculate a trust probability\n"
 msgstr "%08lX: no hay información para calcular la probabilidad de confianza\n"
 
-#: g10/pkclist.c:341
+#: g10/pkclist.c:343
 #, c-format
 msgid "%08lX: We do NOT trust this key\n"
 msgstr "%08lX: ¡Esta clave NO es de confianza!\n"
 
-#: g10/pkclist.c:347
+#: g10/pkclist.c:349
 #, c-format
 msgid ""
 "%08lX: It is not sure that this key really belongs to the owner\n"
@@ -994,15 +994,15 @@ msgstr ""
 "proprietario\n"
 "pero se acepta igualmente\n"
 
-#: g10/pkclist.c:353
+#: g10/pkclist.c:355
 msgid "This key probably belongs to the owner\n"
 msgstr "Esta clave probablemente pertenece a su proprietario\n"
 
-#: g10/pkclist.c:358
+#: g10/pkclist.c:360
 msgid "This key belongs to us\n"
 msgstr "Esta clave nos pertenece\n"
 
-#: g10/pkclist.c:398
+#: g10/pkclist.c:400
 msgid ""
 "It is NOT certain that the key belongs to its owner.\n"
 "If you *really* know what you are doing, you may answer\n"
@@ -1014,66 +1014,66 @@ msgstr ""
 "\"sí\" a la siguiente pregunta.\n"
 "\n"
 
-#: g10/pkclist.c:411 g10/pkclist.c:433
+#: g10/pkclist.c:413 g10/pkclist.c:435
 msgid "WARNING: Using untrusted key!\n"
 msgstr "ATENCIÓN: ¡Usando una clave no fiable!\n"
 
-#: g10/pkclist.c:454
+#: g10/pkclist.c:456
 msgid "WARNING: This key has been revoked by its owner!\n"
 msgstr "ATENCIÓN: ¡Esta clave ha sido revocada por su propietario!\n"
 
-#: g10/pkclist.c:455
+#: g10/pkclist.c:457
 msgid "         This could mean that the signature is forgery.\n"
 msgstr "          Esto puede significar que la firma está falsificada.\n"
 
-#: g10/pkclist.c:459
+#: g10/pkclist.c:461
 msgid "WARNING: This subkey has been revoked by its owner!\n"
 msgstr "ATENCIÓN: ¡Esta clave ha sido revocada por su propietario!\n"
 
-#: g10/pkclist.c:480
+#: g10/pkclist.c:482
 msgid "Note: This key has expired!\n"
 msgstr "Nota: ¡Esta clave está caducada!\n"
 
-#: g10/pkclist.c:487
+#: g10/pkclist.c:489
 msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgstr ""
 "ATENCIÓN: ¡Esta clave no está certificada por una firma de confianza!\n"
 
-#: g10/pkclist.c:489
+#: g10/pkclist.c:491
 msgid ""
 "         There is no indication that the signature belongs to the owner.\n"
 msgstr "         No hay indicios de que la firma pertenezca al propietario.\n"
 
-#: g10/pkclist.c:505
+#: g10/pkclist.c:507
 msgid "WARNING: We do NOT trust this key!\n"
 msgstr "ATENCIÓN: ¡Esta clave NO es de confianza!\n"
 
-#: g10/pkclist.c:506
+#: g10/pkclist.c:508
 msgid "         The signature is probably a FORGERY.\n"
 msgstr "         La firma es probablemente una FALSIFICACIÓN.\n"
 
-#: g10/pkclist.c:513
+#: g10/pkclist.c:515
 msgid ""
 "WARNING: This key is not certified with sufficiently trusted signatures!\n"
 msgstr ""
 "ATENCIÓN: ¡Esta clave no está certificada con suficientes firmas de "
 "confianza!\n"
 
-#: g10/pkclist.c:516
+#: g10/pkclist.c:518
 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:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705
+#: g10/pkclist.c:582 g10/pkclist.c:604 g10/pkclist.c:670 g10/pkclist.c:715
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s: ignorado: %s\n"
 
-#: g10/pkclist.c:588 g10/pkclist.c:687
+#: g10/pkclist.c:590 g10/pkclist.c:697
 #, fuzzy, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s: problema lectura del bloque de clave: %s\n"
 
-#: g10/pkclist.c:611
+#: g10/pkclist.c:613
 msgid ""
 "You did not specify a user ID. (you may use \"-r\")\n"
 "\n"
@@ -1081,20 +1081,30 @@ msgstr ""
 "No se ha especificado un ID de usuario (puede usar \"-r\")\n"
 "\n"
 
-#: g10/pkclist.c:616
+#: g10/pkclist.c:618
 msgid "Enter the user ID: "
 msgstr "Introduzca el ID de usuario: "
 
-#: g10/pkclist.c:627
+#: g10/pkclist.c:629
 msgid "No such user ID.\n"
 msgstr "ID de usuario inexistente.\n"
 
-#: g10/pkclist.c:673
+#: g10/pkclist.c:639
+#, fuzzy
+msgid "Public key is disabled.\n"
+msgstr "la clave pública es %08lX\n"
+
+#: g10/pkclist.c:678
 #, c-format
 msgid "%s: error checking key: %s\n"
 msgstr "%s: error comprobando la clave: %s\n"
 
-#: g10/pkclist.c:711
+#: g10/pkclist.c:683
+#, fuzzy, c-format
+msgid "%s: skipped: public key is disabled\n"
+msgstr "%s: problema lectura del bloque de clave: %s\n"
+
+#: g10/pkclist.c:721
 msgid "no valid addressees\n"
 msgstr "no hay direcciones válidas\n"
 
@@ -1236,29 +1246,29 @@ msgstr ""
 "      <n>m = la clave caduca en n meses\n"
 "      <n>y = la clave caduca en n años\n"
 
-#: g10/keygen.c:524
+#: g10/keygen.c:526
 msgid "Key is valid for? (0) "
 msgstr "¿Validez de la clave (0)? "
 
-#: g10/keygen.c:535
+#: g10/keygen.c:547
 msgid "invalid value\n"
 msgstr "valor no válido\n"
 
-#: g10/keygen.c:540
+#: g10/keygen.c:552
 msgid "Key does not expire at all\n"
 msgstr "La clave nunca caduca\n"
 
 #. print the date when the key expires
-#: g10/keygen.c:546
+#: g10/keygen.c:558
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "La clave caduca el %s\n"
 
-#: g10/keygen.c:552
+#: g10/keygen.c:564
 msgid "Is this correct (y/n)? "
 msgstr "¿Es correcto (s/n)? "
 
-#: g10/keygen.c:595
+#: g10/keygen.c:607
 msgid ""
 "\n"
 "You need a User-ID to identify your key; the software constructs the user "
@@ -1276,44 +1286,44 @@ msgstr ""
 "    \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
 "\n"
 
-#: g10/keygen.c:606
+#: g10/keygen.c:618
 msgid "Real name: "
 msgstr "Nombre y apellidos: "
 
-#: g10/keygen.c:610
+#: g10/keygen.c:622
 msgid "Invalid character in name\n"
 msgstr "Caracter no válido en el nombre\n"
 
-#: g10/keygen.c:612
+#: g10/keygen.c:624
 msgid "Name may not start with a digit\n"
 msgstr "El nombre no puede empezar con un número\n"
 
-#: g10/keygen.c:614
+#: g10/keygen.c:626
 msgid "Name must be at least 5 characters long\n"
 msgstr "El nombre debe tener al menos 5 caracteres\n"
 
-#: g10/keygen.c:622
+#: g10/keygen.c:634
 msgid "Email address: "
 msgstr "Dirección de correo electrónico: "
 
-#: g10/keygen.c:633
+#: g10/keygen.c:645
 msgid "Not a valid email address\n"
 msgstr "Dirección no válida\n"
 
-#: g10/keygen.c:641
+#: g10/keygen.c:653
 msgid "Comment: "
 msgstr "Comentario: "
 
-#: g10/keygen.c:647
+#: g10/keygen.c:659
 msgid "Invalid character in comment\n"
 msgstr "Caracter no válido en el comentario\n"
 
-#: g10/keygen.c:669
+#: g10/keygen.c:681
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Está usando el juego de caracteres `%s'.\n"
 
-#: g10/keygen.c:675
+#: g10/keygen.c:687
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -1324,15 +1334,15 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:678
+#: g10/keygen.c:690
 msgid "NnCcEeOoQq"
 msgstr "NnCcDdVvSs"
 
-#: g10/keygen.c:688
+#: g10/keygen.c:700
 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:740
+#: g10/keygen.c:752
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -1340,11 +1350,11 @@ msgstr ""
 "Necesita una contraseña para proteger su clave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:455 g10/keygen.c:748
+#: g10/keyedit.c:456 g10/keygen.c:760
 msgid "passphrase not correctly repeated; try again.\n"
 msgstr "contraseña repetida incorrecta, inténtelo de nuevo.\n"
 
-#: g10/keygen.c:754
+#: g10/keygen.c:766
 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"
@@ -1356,7 +1366,7 @@ msgstr ""
 "la opción \"--edit-key\".\n"
 "\n"
 
-#: g10/keygen.c:775
+#: g10/keygen.c:787
 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"
@@ -1369,34 +1379,34 @@ msgstr ""
 "generador de números aleatorios mayor oportunidad de recoger suficiente\n"
 "entropía.\n"
 
-#: g10/keygen.c:845
+#: g10/keygen.c:857
 msgid "Key generation can only be used in interactive mode\n"
 msgstr "La creación de claves sólo es posible en modo interactivo\n"
 
-#: g10/keygen.c:853
+#: g10/keygen.c:865
 msgid "DSA keypair will have 1024 bits.\n"
 msgstr "El par de claves DSA tendrá 1024 bits.\n"
 
-#: g10/keygen.c:859
+#: g10/keygen.c:871
 #, fuzzy
 msgid "Key generation canceled.\n"
 msgstr "Creación de claves cancelada.\n"
 
-#: g10/keygen.c:869
+#: g10/keygen.c:881
 #, c-format
 msgid "writing public certificate to `%s'\n"
 msgstr "escribiendo certificado público en `%s'\n"
 
-#: g10/keygen.c:870
+#: g10/keygen.c:882
 #, c-format
 msgid "writing secret certificate to `%s'\n"
 msgstr "escribiendo certificado privado en `%s'\n"
 
-#: g10/keygen.c:947
+#: g10/keygen.c:959
 msgid "public and secret key created and signed.\n"
 msgstr "Claves pública y secreta creadas y firmadas.\n"
 
-#: g10/keygen.c:949
+#: g10/keygen.c:961
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a secondary key for this purpose.\n"
@@ -1405,12 +1415,12 @@ msgstr ""
 "el comando \"--edit-key\" para crear una clave secundaria con este "
 "propósito.\n"
 
-#: g10/keygen.c:963 g10/keygen.c:1062
+#: g10/keygen.c:975 g10/keygen.c:1074
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Creación de la clave fallida: %s\n"
 
-#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105
+#: g10/keygen.c:1019 g10/sig-check.c:312 g10/sign.c:105
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -1418,7 +1428,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:1009 g10/sig-check.c:302 g10/sign.c:107
+#: g10/keygen.c:1021 g10/sig-check.c:314 g10/sign.c:107
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -1426,11 +1436,11 @@ msgstr ""
 "clave pública creada %lu segundos en el futuro (salto en el tiempo o\n"
 "problemas con el reloj)\n"
 
-#: g10/keygen.c:1040
+#: g10/keygen.c:1052
 msgid "Really create? "
 msgstr "¿Crear de verdad? "
 
-#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467
+#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467
 #: g10/tdbio.c:528
 #, c-format
 msgid "%s: can't open: %s\n"
@@ -1498,7 +1508,7 @@ msgstr "no puede abrirse `%s': %s\n"
 msgid "skipping block of type %d\n"
 msgstr "ignorando bloque de tipo %d\n"
 
-#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668
+#: g10/import.c:167 g10/trustdb.c:1656 g10/trustdb.c:1695
 #, c-format
 msgid "%lu keys so far processed\n"
 msgstr "hasta ahora se han procesado %lu claves\n"
@@ -1563,7 +1573,7 @@ msgstr " claves secretas importadas: %lu\n"
 msgid " secret keys unchanged: %lu\n"
 msgstr "claves secretas sin cambios: %lu\n"
 
-#: g10/import.c:342 g10/import.c:529
+#: g10/import.c:342 g10/import.c:526
 #, c-format
 msgid "key %08lX: no user id\n"
 msgstr "clave %08lX: no hay identificativo de usuario\n"
@@ -1577,7 +1587,7 @@ msgstr "clave %08lX: no hay identificativos de usuario v
 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:366 g10/import.c:596
+#: g10/import.c:366 g10/import.c:593
 #, c-format
 msgid "key %08lX: public key not found: %s\n"
 msgstr "clave %08lX: clave pública no encontrada: %s\n"
@@ -1586,17 +1596,17 @@ msgstr "clave %08lX: clave p
 msgid "no default public keyring\n"
 msgstr "no hay anillo público por defecto\n"
 
-#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559
+#: g10/import.c:376 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "escribiendo en `%s'\n"
 
-#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645
+#: g10/import.c:379 g10/import.c:432 g10/import.c:541 g10/import.c:642
 #, c-format
 msgid "can't lock keyring `%s': %s\n"
 msgstr "no puede bloquearse el anillo `%s': %s\n"
 
-#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648
+#: g10/import.c:382 g10/import.c:435 g10/import.c:544 g10/import.c:645
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "error escribiendo anillo `%s': %s\n"
@@ -1611,115 +1621,115 @@ msgstr "clave %08lX: clave p
 msgid "key %08lX: doesn't match our copy\n"
 msgstr "clave %08lX: no se corresponde con nuestra copia\n"
 
-#: g10/import.c:411 g10/import.c:604
+#: g10/import.c:408 g10/import.c:601
 #, c-format
 msgid "key %08lX: can't locate original keyblock: %s\n"
 msgstr "clave %08lX: no puede localizarse el bloque de claves original: %s\n"
 
-#: g10/import.c:417 g10/import.c:610
+#: g10/import.c:414 g10/import.c:607
 #, c-format
 msgid "key %08lX: can't read original keyblock: %s\n"
 msgstr "clave %08lX: no puede leerse el bloque de claves original: %s\n"
 
-#: g10/import.c:444
+#: g10/import.c:441
 #, c-format
 msgid "key %08lX: 1 new user-id\n"
 msgstr "clave %08lX: 1 nuevo identificativo de usuario\n"
 
-#: g10/import.c:447
+#: g10/import.c:444
 #, c-format
 msgid "key %08lX: %d new user-ids\n"
 msgstr "clave %08lX: %d nuevos identificativos de usuario\n"
 
-#: g10/import.c:450
+#: g10/import.c:447
 #, c-format
 msgid "key %08lX: 1 new signature\n"
 msgstr "clave %08lX: 1 nueva firma\n"
 
-#: g10/import.c:453
+#: g10/import.c:450
 #, c-format
 msgid "key %08lX: %d new signatures\n"
 msgstr "clave %08lX: %d nuevas firmas\n"
 
-#: g10/import.c:456
+#: g10/import.c:453
 #, c-format
 msgid "key %08lX: 1 new subkey\n"
 msgstr "clave %08lX: 1 nueva subclave\n"
 
-#: g10/import.c:459
+#: g10/import.c:456
 #, c-format
 msgid "key %08lX: %d new subkeys\n"
 msgstr "clave %08lX: %d nuevas subclaves\n"
 
-#: g10/import.c:469
+#: g10/import.c:466
 #, c-format
 msgid "key %08lX: not changed\n"
 msgstr "clave %08lX: sin cambios\n"
 
-#: g10/import.c:552
+#: g10/import.c:549
 #, c-format
 msgid "key %08lX: secret key imported\n"
 msgstr "clave %08lX: clave secreta importada\n"
 
 #. we can't merge secret keys
-#: g10/import.c:556
+#: g10/import.c:553
 #, c-format
 msgid "key %08lX: already in secret keyring\n"
 msgstr "clave %08lX: ya estaba en el anillo secreto\n"
 
-#: g10/import.c:561
+#: g10/import.c:558
 #, c-format
 msgid "key %08lX: secret key not found: %s\n"
 msgstr "clave %08lX: clave secreta no encontrada: %s\n"
 
-#: g10/import.c:590
+#: g10/import.c:587
 #, c-format
 msgid "key %08lX: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clave %08lX: falta la clave pública - imposibile applicar el\n"
 "certificado de revocación\n"
 
-#: g10/import.c:621
+#: g10/import.c:618
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - rejected\n"
 msgstr "clave %08lX: certificado de revocación no válido: %s - rechazado\n"
 
-#: g10/import.c:653
+#: g10/import.c:650
 #, c-format
 msgid "key %08lX: revocation certificate imported\n"
 msgstr "clave %08lX: certificado de revocación importado\n"
 
-#: g10/import.c:686
+#: g10/import.c:683
 #, c-format
 msgid "key %08lX: no user-id for signature\n"
 msgstr "clave %08lX: no hay identificativo de usuario para la firma\n"
 
-#: g10/import.c:693 g10/import.c:717
+#: g10/import.c:690 g10/import.c:714
 #, c-format
 msgid "key %08lX: unsupported public key algorithm\n"
 msgstr "clave %08lX: algoritmo de clave pública no soportado\n"
 
-#: g10/import.c:694
+#: g10/import.c:691
 #, c-format
 msgid "key %08lX: invalid self-signature\n"
 msgstr "clave %08lX: autofirma no válida\n"
 
-#: g10/import.c:709
+#: g10/import.c:706
 #, c-format
 msgid "key %08lX: no subkey for key binding\n"
 msgstr "clave %08lX: no hay subclave para unir\n"
 
-#: g10/import.c:718
+#: g10/import.c:715
 #, c-format
 msgid "key %08lX: invalid subkey binding\n"
 msgstr "clave %08lX.%lu: unión de subclave no válida\n"
 
-#: g10/import.c:750
+#: g10/import.c:747
 #, c-format
 msgid "key %08lX: skipped userid '"
 msgstr "clave %08lX: ignorado identificativo de usuario '"
 
-#: g10/import.c:773
+#: g10/import.c:770
 #, c-format
 msgid "key %08lX: skipped subkey\n"
 msgstr "clave %08lX: subclave ignorada\n"
@@ -1728,99 +1738,99 @@ msgstr "clave %08lX: subclave ignorada\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:798
+#: g10/import.c:795
 #, c-format
 msgid "key %08lX: non exportable signature (class %02x) - skipped\n"
 msgstr "clave %08lX: firma no exportable (clase %02x) - ignorada\n"
 
-#: g10/import.c:807
+#: g10/import.c:804
 #, c-format
 msgid "key %08lX: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "clave %08lX: certificado de revocación en lugar equivocado - ignorado\n"
 
-#: g10/import.c:815
+#: g10/import.c:812
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - skipped\n"
 msgstr "clave %08lX: certificado de revocación no valido: %s - ignorado\n"
 
-#: g10/import.c:915
+#: g10/import.c:912
 #, c-format
 msgid "key %08lX: duplicated user ID detected - merged\n"
 msgstr "clave %08lX: detectado usuario duplicado - fusionada\n"
 
-#: g10/import.c:966
+#: g10/import.c:963
 #, c-format
 msgid "key %08lX: revocation certificate added\n"
 msgstr "clave %08lX: certificado de revocación añadido\n"
 
-#: g10/import.c:1079 g10/import.c:1134
+#: g10/import.c:1076 g10/import.c:1131
 #, c-format
 msgid "key %08lX: our copy has no self-signature\n"
 msgstr "clave %08lX: nuestra copia no tiene autofirma\n"
 
-#: g10/keyedit.c:92
+#: g10/keyedit.c:93
 #, c-format
 msgid "%s: user not found\n"
 msgstr "%s: usuario no encontrado\n"
 
-#: g10/keyedit.c:153
+#: g10/keyedit.c:154
 msgid "[revocation]"
 msgstr "[revocación]"
 
-#: g10/keyedit.c:154
+#: g10/keyedit.c:155
 msgid "[self-signature]"
 msgstr "[autofirma]"
 
-#: g10/keyedit.c:218
+#: g10/keyedit.c:219
 msgid "1 bad signature\n"
 msgstr "1 firma incorrecta\n"
 
-#: g10/keyedit.c:220
+#: g10/keyedit.c:221
 #, c-format
 msgid "%d bad signatures\n"
 msgstr "%d firmas incorrectas\n"
 
-#: g10/keyedit.c:222
+#: g10/keyedit.c:223
 msgid "1 signature not checked due to a missing key\n"
 msgstr "1 firma no comprobada por falta de clave\n"
 
-#: g10/keyedit.c:224
+#: g10/keyedit.c:225
 #, c-format
 msgid "%d signatures not checked due to missing keys\n"
 msgstr "%d firmas no comprobadas por falta de clave\n"
 
-#: g10/keyedit.c:226
+#: g10/keyedit.c:227
 msgid "1 signature not checked due to an error\n"
 msgstr "1 firma no comprobada por causa de un error\n"
 
-#: g10/keyedit.c:228
+#: g10/keyedit.c:229
 #, c-format
 msgid "%d signatures not checked due to errors\n"
 msgstr "%d firmas no comprobadas por causa de un error\n"
 
-#: g10/keyedit.c:230
+#: g10/keyedit.c:231
 msgid "1 user id without valid self-signature detected\n"
 msgstr "Detectado 1 identificativo de usuario sin autofirma válida\n"
 
-#: g10/keyedit.c:232
+#: g10/keyedit.c:233
 #, c-format
 msgid "%d user ids without valid self-signatures detected\n"
 msgstr "Detectados %d identificativos de usuario sin autofirma válida\n"
 
 #. Fixme: see whether there is a revocation in which
 #. * case we should allow to sign it again.
-#: g10/keyedit.c:312
+#: g10/keyedit.c:313
 #, c-format
 msgid "Already signed by key %08lX\n"
 msgstr "Ya firmada por la clave %08lX\n"
 
-#: g10/keyedit.c:320
+#: g10/keyedit.c:321
 #, c-format
 msgid "Nothing to sign with key %08lX\n"
 msgstr "Nada que firmar con la clave %08lX\n"
 
-#: g10/keyedit.c:329
+#: g10/keyedit.c:330
 msgid ""
 "Are you really sure that you want to sign this key\n"
 "with your key: \""
@@ -1828,7 +1838,7 @@ msgstr ""
 "¿Está realmente seguro de querer firmar esta clave\n"
 "con su clave: \""
 
-#: g10/keyedit.c:338
+#: g10/keyedit.c:339
 msgid ""
 "The signature will be marked as non-exportable.\n"
 "\n"
@@ -1836,29 +1846,29 @@ msgstr ""
 "La firma se marcará como no exportable.\n"
 "\n"
 
-#: g10/keyedit.c:343
+#: g10/keyedit.c:344
 msgid "Really sign? "
 msgstr "¿Firmar de verdad? "
 
-#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128
+#: g10/keyedit.c:370 g10/keyedit.c:1806 g10/keyedit.c:1855 g10/sign.c:128
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "firma fallida: %s\n"
 
-#: g10/keyedit.c:422
+#: g10/keyedit.c:423
 msgid "This key is not protected.\n"
 msgstr "Esta clave no está protegida.\n"
 
-#: g10/keyedit.c:425
+#: g10/keyedit.c:426
 msgid "Key is protected.\n"
 msgstr "La clave está protegida.\n"
 
-#: g10/keyedit.c:442
+#: g10/keyedit.c:443
 #, c-format
 msgid "Can't edit this key: %s\n"
 msgstr "No puede editarse esta clave: %s\n"
 
-#: g10/keyedit.c:447
+#: g10/keyedit.c:448
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
@@ -1866,7 +1876,7 @@ msgstr ""
 "Introduzca la nueva contraseña para esta clave secreta.\n"
 "\n"
 
-#: g10/keyedit.c:459
+#: g10/keyedit.c:460
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
@@ -1874,379 +1884,402 @@ msgstr ""
 "No ha especificado contraseña. Esto es probablemente una *mala* idea.\n"
 "\n"
 
-#: g10/keyedit.c:462
+#: g10/keyedit.c:463
 msgid "Do you really want to do this? "
 msgstr "¿Realmente quiere hacer esto? "
 
-#: g10/keyedit.c:523
+#: g10/keyedit.c:524
 msgid "moving a key signature to the correct place\n"
 msgstr "moviendo la firma de la clave al lugar correcto\n"
 
-#: g10/keyedit.c:559
+#: g10/keyedit.c:561
 msgid "quit this menu"
 msgstr "sale de este menú"
 
-#: g10/keyedit.c:560
+#: g10/keyedit.c:562
 msgid "q"
 msgstr ""
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save"
 msgstr ""
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save and quit"
 msgstr "graba y sale"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "help"
 msgstr ""
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "show this help"
 msgstr "muestra esta ayuda"
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "fpr"
 msgstr ""
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "show fingerprint"
 msgstr "muestra huella dactilar"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list"
 msgstr ""
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list key and user ids"
 msgstr "lista clave e identificativos de usuario"
 
-#: g10/keyedit.c:566
+#: g10/keyedit.c:568
 msgid "l"
 msgstr ""
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "uid"
 msgstr ""
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "select user id N"
 msgstr "selecciona identificativo de usuario N"
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "key"
 msgstr ""
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "select secondary key N"
 msgstr "selecciona clave secundaria N"
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "check"
 msgstr ""
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "list signatures"
 msgstr "lista firmas"
 
-#: g10/keyedit.c:570
+#: g10/keyedit.c:572
 msgid "c"
 msgstr ""
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign"
 msgstr ""
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign the key"
 msgstr "firma la clave"
 
-#: g10/keyedit.c:572
+#: g10/keyedit.c:574
 msgid "s"
 msgstr ""
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 #, fuzzy
 msgid "lsign"
 msgstr "firmando:"
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 msgid "sign the key locally"
 msgstr "firma la clave localmente"
 
-#: g10/keyedit.c:574
+#: g10/keyedit.c:576
 msgid "debug"
 msgstr ""
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "adduid"
 msgstr ""
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "add a user id"
 msgstr "añade un identificativo de usuario"
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "deluid"
 msgstr ""
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "delete user id"
 msgstr "borra un identificativo de usuario"
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "addkey"
 msgstr ""
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "add a secondary key"
 msgstr "añade una clave secundaria"
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delkey"
 msgstr ""
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delete a secondary key"
 msgstr "borra una clave secundaria"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 #, fuzzy
 msgid "delsig"
 msgstr "firmando:"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 #, fuzzy
 msgid "delete signatures"
 msgstr "lista firmas"
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "expire"
 msgstr ""
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "change the expire date"
 msgstr "cambia fecha de caducidad"
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle"
 msgstr ""
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle between secret and public key listing"
 msgstr "cambia entre lista de claves secretas y públicas"
 
-#: g10/keyedit.c:583
+#: g10/keyedit.c:585
 msgid "t"
 msgstr ""
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "pref"
 msgstr ""
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "list preferences"
 msgstr "muestra preferencias"
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "passwd"
 msgstr ""
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "change the passphrase"
 msgstr "cambia la contraseña"
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "trust"
 msgstr ""
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "change the ownertrust"
 msgstr "cambia valores de confianza"
 
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revsig"
 msgstr ""
 
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revoke signatures"
 msgstr "revoca firmas"
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revkey"
 msgstr ""
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revoke a secondary key"
 msgstr "revoca una clave secundaria"
 
-#: g10/keyedit.c:607
+#: g10/keyedit.c:591
+msgid "disable"
+msgstr ""
+
+#: g10/keyedit.c:591
+#, fuzzy
+msgid "disable a key"
+msgstr "Clave incorrecta"
+
+#: g10/keyedit.c:592
+msgid "enable"
+msgstr ""
+
+#: g10/keyedit.c:592
+#, fuzzy
+msgid "enable a key"
+msgstr "Clave incorrecta"
+
+#: g10/keyedit.c:611
 msgid "can't do that in batchmode\n"
 msgstr "imposible hacer esto en modo de proceso por lotes\n"
 
 #. check that they match
 #. FIXME: check that they both match
-#: g10/keyedit.c:636
+#: g10/keyedit.c:640
 msgid "Secret key is available.\n"
 msgstr "Clave secreta disponible.\n"
 
-#: g10/keyedit.c:665
+#: g10/keyedit.c:669
 msgid "Command> "
 msgstr "Comando> "
 
-#: g10/keyedit.c:692
+#: g10/keyedit.c:696
 msgid "Need the secret key to do this.\n"
 msgstr "Se necesita la clave secreta para hacer esto.\n"
 
-#: g10/keyedit.c:714
+#: g10/keyedit.c:718
 msgid "Save changes? "
 msgstr "¿Grabar cambios? "
 
-#: g10/keyedit.c:717
+#: g10/keyedit.c:721
 msgid "Quit without saving? "
 msgstr "¿Salir sin grabar? "
 
-#: g10/keyedit.c:727
+#: g10/keyedit.c:731
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualización fallida: %s\n"
 
-#: g10/keyedit.c:734
+#: g10/keyedit.c:738
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "actualización de la clave secreta fallida: %s\n"
 
-#: g10/keyedit.c:741
+#: g10/keyedit.c:745
 msgid "Key not changed so no update needed.\n"
 msgstr "Clave sin cambios, no se necesita actualización.\n"
 
-#: g10/keyedit.c:744 g10/keyedit.c:803
+#: g10/keyedit.c:748 g10/keyedit.c:807
 #, c-format
 msgid "update of trustdb failed: %s\n"
 msgstr "actualización de confianza fallida: %s\n"
 
-#: g10/keyedit.c:777
+#: g10/keyedit.c:781
 msgid "Really sign all user ids? "
 msgstr "¿Firmar realmente todos los identificativos de usuario? "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:782
 msgid "Hint: Select the user ids to sign\n"
 msgstr "Sugerencia: seleccione los identificativos de usuario a firmar\n"
 
-#: g10/keyedit.c:814 g10/keyedit.c:835
+#: g10/keyedit.c:818 g10/keyedit.c:839
 msgid "You must select at least one user id.\n"
 msgstr "Debe seleccionar por lo menos un identificativo de usuario.\n"
 
-#: g10/keyedit.c:816
+#: g10/keyedit.c:820
 msgid "You can't delete the last user id!\n"
 msgstr "¡No puede borrar el último identificativo de usuario!\n"
 
-#: g10/keyedit.c:819
+#: g10/keyedit.c:823
 msgid "Really remove all selected user ids? "
 msgstr "¿Borrar realmente todos los identificativos seleccionados? "
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:824
 msgid "Really remove this user id? "
 msgstr "¿Borrar realmente este identificativo? "
 
-#: g10/keyedit.c:858 g10/keyedit.c:880
+#: g10/keyedit.c:860 g10/keyedit.c:882
 msgid "You must select at least one key.\n"
 msgstr "Debe seleccionar por lo menos una clave.\n"
 
-#: g10/keyedit.c:862
+#: g10/keyedit.c:864
 msgid "Do you really want to delete the selected keys? "
 msgstr "¿Borrar realmente las claves seleccionadas? "
 
-#: g10/keyedit.c:863
+#: g10/keyedit.c:865
 msgid "Do you really want to delete this key? "
 msgstr "¿Borrar realmente esta clave? "
 
-#: g10/keyedit.c:884
+#: g10/keyedit.c:886
 msgid "Do you really want to revoke the selected keys? "
 msgstr "¿Revocar realmente las claves seleccionadas? "
 
-#: g10/keyedit.c:885
+#: g10/keyedit.c:887
 msgid "Do you really want to revoke this key? "
 msgstr "¿Revocar realmente esta clave? "
 
-#: g10/keyedit.c:939
+#: g10/keyedit.c:949
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando no válido (pruebe \"help\")\n"
 
-#: g10/keyedit.c:1294
+#: g10/keyedit.c:1039
+#, fuzzy
+msgid "This key has been disabled"
+msgstr "Nota: ¡Esta clave está caducada!\n"
+
+#: g10/keyedit.c:1310
 msgid "Delete this good signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:1298
+#: g10/keyedit.c:1314
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:1302
+#: g10/keyedit.c:1318
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:1308
+#: g10/keyedit.c:1324
 #, fuzzy
 msgid "Really delete this self-signature? (y/N)"
 msgstr "¿Crear los certificados de revocación realmente? (s/N)"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1338
 #, fuzzy, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d firmas incorrectas\n"
 
-#: g10/keyedit.c:1323
+#: g10/keyedit.c:1339
 #, fuzzy, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d firmas incorrectas\n"
 
-#: g10/keyedit.c:1326
+#: g10/keyedit.c:1342
 #, fuzzy
 msgid "Nothing deleted.\n"
 msgstr "ATENCIÓN: no se ha exportado nada\n"
 
-#: g10/keyedit.c:1395
+#: g10/keyedit.c:1411
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Por favor, quite la selección de las claves secretas.\n"
 
-#: g10/keyedit.c:1401
+#: g10/keyedit.c:1417
 msgid "Please select at most one secondary key.\n"
 msgstr "Por favor, seleccione como máximo una clave secundaria.\n"
 
-#: g10/keyedit.c:1405
+#: g10/keyedit.c:1421
 #, fuzzy
 msgid "Changing expiration time for a secondary key.\n"
 msgstr "Cambiando caducidad de clave secundaria.\n"
 
-#: g10/keyedit.c:1407
+#: g10/keyedit.c:1423
 #, fuzzy
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambiando caducidad de clave primaria.\n"
 
-#: g10/keyedit.c:1448
+#: g10/keyedit.c:1464
 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:1464
+#: g10/keyedit.c:1480
 msgid "No corresponding signature in secret ring\n"
 msgstr "No hay firma correspondiente en anillo secreto\n"
 
-#: g10/keyedit.c:1524
+#: g10/keyedit.c:1540
 #, c-format
 msgid "No user id with index %d\n"
 msgstr "No hay ningún identificativo de usuario con el índice %d\n"
 
-#: g10/keyedit.c:1570
+#: g10/keyedit.c:1586
 #, c-format
 msgid "No secondary key with index %d\n"
 msgstr "No hay ninguna clave secundaria con el índice %d\n"
 
-#: g10/keyedit.c:1668
+#: g10/keyedit.c:1684
 msgid "user ID: \""
 msgstr "ID de usuario: \""
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1687
 #, c-format
 msgid ""
 "\"\n"
@@ -2255,15 +2288,15 @@ msgstr ""
 "\"\n"
 "firmada con su clave %08lX el %s\n"
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1691
 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:1755
+#: g10/keyedit.c:1771
 msgid "Really create the revocation certificates? (y/N)"
 msgstr "¿Crear los certificados de revocación realmente? (s/N)"
 
-#: g10/keyedit.c:1778
+#: g10/keyedit.c:1794
 msgid "no secret key\n"
 msgstr "no hay clave secreta\n"
 
@@ -2272,7 +2305,7 @@ msgstr "no hay clave secreta\n"
 msgid "public key is %08lX\n"
 msgstr "la clave pública es %08lX\n"
 
-#: g10/mainproc.c:212
+#: g10/mainproc.c:213
 msgid "public key encrypted data: good DEK\n"
 msgstr "datos cifrados de la clave pública: DEK bueno\n"
 
@@ -2280,78 +2313,78 @@ msgstr "datos cifrados de la clave p
 #. * this type - do this by building a list of keys with their stati
 #. * and store it with the context.  do_proc_packets can then use
 #. * this list to display some information
-#: g10/mainproc.c:219
+#: g10/mainproc.c:220
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "descifrado de la clave pública fallido: %s\n"
 
-#: g10/mainproc.c:247
+#: g10/mainproc.c:248
 msgid "decryption okay\n"
 msgstr "descifrado correcto\n"
 
-#: g10/mainproc.c:252
+#: g10/mainproc.c:253
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATENCIÓN: ¡el mensaje cifrado ha sido manipulado!\n"
 
-#: g10/mainproc.c:257
+#: g10/mainproc.c:258
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "descifrado fallido: %s\n"
 
-#: g10/mainproc.c:275
+#: g10/mainproc.c:276
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: el remitente solicitó \"sólo-para-tus-ojos\"\n"
 
-#: g10/mainproc.c:277
+#: g10/mainproc.c:278
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nombre fichero original='%.*s'\n"
 
-#: g10/mainproc.c:505 g10/mainproc.c:514
+#: g10/mainproc.c:506 g10/mainproc.c:515
 #, fuzzy
 msgid "WARNING: invalid notation data found\n"
 msgstr "no se han encontrados datos OpenPGP válidos\n"
 
-#: g10/mainproc.c:517
+#: g10/mainproc.c:518
 msgid "Notation: "
 msgstr ""
 
-#: g10/mainproc.c:524
+#: g10/mainproc.c:525
 msgid "Policy: "
 msgstr ""
 
-#: g10/mainproc.c:929
+#: g10/mainproc.c:930
 msgid "signature verification suppressed\n"
 msgstr "suprimida la verificación de la firma\n"
 
-#: g10/mainproc.c:935
+#: g10/mainproc.c:936
 #, c-format
 msgid "Signature made %.*s using %s key ID %08lX\n"
 msgstr "Firma creada %.*s usando identificativo de clave %s %08lX\n"
 
 #. just in case that we have no userid
-#: g10/mainproc.c:961 g10/mainproc.c:972
+#: g10/mainproc.c:962 g10/mainproc.c:973
 msgid "BAD signature from \""
 msgstr "Firma INCORRECTA de \""
 
-#: g10/mainproc.c:962 g10/mainproc.c:973
+#: g10/mainproc.c:963 g10/mainproc.c:974
 msgid "Good signature from \""
 msgstr "Firma correcta de \""
 
-#: g10/mainproc.c:964
+#: g10/mainproc.c:965
 msgid "                aka \""
 msgstr "también conocido como \""
 
-#: g10/mainproc.c:1015
+#: g10/mainproc.c:1016
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Imposible comprobar la firma: %s\n"
 
-#: g10/mainproc.c:1109
+#: g10/mainproc.c:1110
 msgid "old style (PGP 2.x) signature\n"
 msgstr "firma viejo estilo (PGP 2.x)\n"
 
-#: g10/mainproc.c:1114
+#: g10/mainproc.c:1115
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "paquete raíz no válido detectado en proc_tree()\n"
 
@@ -2392,7 +2425,7 @@ msgstr "no puedo manejar el algoritmo de clave p
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "el subpaquete de tipo %d tiene el bit crítico activado\n"
 
-#: g10/passphrase.c:157
+#: g10/passphrase.c:159
 msgid ""
 "\n"
 "You need a passphrase to unlock the secret key for\n"
@@ -2402,21 +2435,21 @@ msgstr ""
 "Necesita una contraseña para desbloquear la clave secreta\n"
 "del usuario: \""
 
-#: g10/passphrase.c:166
+#: g10/passphrase.c:168
 #, c-format
 msgid "%u-bit %s key, ID %08lX, created %s"
 msgstr "clave %2$s de %1$u bits, ID %3$08lX, creada el %4$s"
 
-#: g10/passphrase.c:171
+#: g10/passphrase.c:173
 #, c-format
 msgid " (main key ID %08lX)"
 msgstr "(ID clave primaria %08lX)"
 
-#: g10/passphrase.c:192
+#: g10/passphrase.c:194
 msgid "Enter passphrase: "
 msgstr "Introduzca contraseña: "
 
-#: g10/passphrase.c:196
+#: g10/passphrase.c:198
 msgid "Repeat passphrase: "
 msgstr "Repita contraseña: "
 
@@ -2468,33 +2501,33 @@ msgstr "Contrase
 msgid "WARNING: Weak key detected - please change passphrase again.\n"
 msgstr "ATENCIÓN: detectada clave débil - por favor cambie la contraseña.\n"
 
-#: g10/sig-check.c:187
+#: g10/sig-check.c:199
 msgid "assuming bad MDC due to an unknown critical bit\n"
 msgstr "asumiendo firma mala debido a un bit crítico desconocido\n"
 
-#: g10/sig-check.c:283
+#: g10/sig-check.c:295
 msgid ""
 "this is a PGP generated ElGamal key which is NOT secure for signatures!\n"
 msgstr ""
 "¡esto es una clave ElGamal generada por PGP que NO es segura para las "
 "firmas!\n"
 
-#: g10/sig-check.c:291
+#: g10/sig-check.c:303
 #, c-format
 msgid "public key is %lu second newer than the signature\n"
 msgstr "la clave pública es %lu segundos más nueva que la firma\n"
 
-#: g10/sig-check.c:292
+#: g10/sig-check.c:304
 #, c-format
 msgid "public key is %lu seconds newer than the signature\n"
 msgstr "la clave pública es %lu segundos más nueva que la firma\n"
 
-#: g10/sig-check.c:308
+#: g10/sig-check.c:320
 #, c-format
 msgid "NOTE: signature key expired %s\n"
 msgstr "NOTA: clave de la firma caducada el %s\n"
 
-#: g10/sig-check.c:365
+#: g10/sig-check.c:377
 msgid "assuming bad signature due to an unknown critical bit\n"
 msgstr "asumiendo firma mala debido a un bit crítico desconocido\n"
 
@@ -2527,12 +2560,12 @@ 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/tdbio.c:116 g10/tdbio.c:1505
+#: g10/tdbio.c:116 g10/tdbio.c:1634
 #, 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:122 g10/tdbio.c:1512
+#: g10/tdbio.c:122 g10/tdbio.c:1641
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -2562,7 +2595,7 @@ msgstr "%s: directorio creado\n"
 msgid "%s: directory does not exist!\n"
 msgstr "%s: ¡el directorio no existe!\n"
 
-#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457
+#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1344 g10/tdbio.c:457
 #, c-format
 msgid "%s: can't create: %s\n"
 msgstr "%s: no puede crearse: %s\n"
@@ -2603,7 +2636,7 @@ msgid "%s: error updating version record: %s\n"
 msgstr "%s: error actualizando el registro de versión: %s\n"
 
 #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678
-#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465
+#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s: error leyendo registro de versión: %s\n"
@@ -2613,462 +2646,346 @@ msgstr "%s: error leyendo registro de versi
 msgid "%s: error writing version record: %s\n"
 msgstr "%s: error escribiendo registro de versión: %s\n"
 
-#: g10/tdbio.c:1132
+#: g10/tdbio.c:1246
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de datos de confianza: fallo lseek: %s\n"
 
-#: g10/tdbio.c:1140
+#: g10/tdbio.c:1254
 #, 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:1161
+#: g10/tdbio.c:1275
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s: no es una base de datos de confianza\n"
 
-#: g10/tdbio.c:1177
+#: g10/tdbio.c:1291
 #, 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:1182
+#: g10/tdbio.c:1296
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s: versión del fichero %d no válida\n"
 
-#: g10/tdbio.c:1471
+#: g10/tdbio.c:1600
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s: error leyendo registro libre: %s\n"
 
-#: g10/tdbio.c:1479
+#: g10/tdbio.c:1608
 #, c-format
 msgid "%s: error writing dir record: %s\n"
 msgstr "%s: error escribiendo registro de directorio: %s\n"
 
-#: g10/tdbio.c:1489
+#: g10/tdbio.c:1618
 #, 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:1519
+#: g10/tdbio.c:1648
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s: fallo al añadir un registro: %s\n"
 
-#: g10/tdbio.c:1630
+#: g10/tdbio.c:1759
 #, fuzzy
 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
 msgstr ""
 "La base de datos de confianza está dañada. Por favor, ejecute\n"
 "\"gpgm --fix-trust-db\".\n"
 
-#: g10/trustdb.c:163
+#: g10/trustdb.c:160
 #, 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:178
+#: g10/trustdb.c:175
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registro de confianza %lu, tipo %d: fallo escritura: %s\n"
 
-#: g10/trustdb.c:192
+#: g10/trustdb.c:189
 #, c-format
 msgid "trust record %lu: delete failed: %s\n"
 msgstr "registro de confianza %lu: fallo al borrar: %s\n"
 
-#: g10/trustdb.c:206
+#: g10/trustdb.c:203
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de datos de confianza: fallo sincronización: %s\n"
 
-#: g10/trustdb.c:386
+#: g10/trustdb.c:347
 #, c-format
 msgid "error reading dir record for LID %lu: %s\n"
 msgstr "error leyendo registro de directorio del LID %lu: %s\n"
 
-#: g10/trustdb.c:393
+#: g10/trustdb.c:354
 #, c-format
 msgid "lid %lu: expected dir record, got type %d\n"
 msgstr "lid %lu: esperaba registro directorio, encontrado tipo %d\n"
 
-#: g10/trustdb.c:398
+#: g10/trustdb.c:359
 #, c-format
 msgid "no primary key for LID %lu\n"
 msgstr "no hay clave primaria para el LID %lu\n"
 
-#: g10/trustdb.c:403
+#: g10/trustdb.c:364
 #, c-format
 msgid "error reading primary key for LID %lu: %s\n"
 msgstr "error leyendo clave primaria para el LID %lu: %s\n"
 
-#: g10/trustdb.c:442
+#: g10/trustdb.c:403
 #, c-format
 msgid "get_dir_record: search_record failed: %s\n"
 msgstr "get_dir_record: search_record fallida: %s\n"
 
-#: g10/trustdb.c:510
+#: g10/trustdb.c:458
 #, c-format
 msgid "NOTE: secret key %08lX is NOT protected.\n"
 msgstr "NOTA: la clave secreta %08lX NO está protegida.\n"
 
-#: g10/trustdb.c:518
+#: g10/trustdb.c:466
 #, c-format
 msgid "key %08lX: secret key without public key - skipped\n"
 msgstr "clave %08lX: clave secreta sin clave pública - ignorada\n"
 
-#: g10/trustdb.c:525
+#: g10/trustdb.c:473
 #, c-format
 msgid "key %08lX: secret and public key don't match\n"
 msgstr "clave %08lX: las claves pública y secreta no se corresponden\n"
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:483
 #, c-format
 msgid "key %08lX: can't put it into the trustdb\n"
 msgstr "clave %08lX: imposible incluirla en la base de datos de confianza\n"
 
-#: g10/trustdb.c:541
+#: g10/trustdb.c:489
 #, c-format
 msgid "key %08lX: query record failed\n"
 msgstr "clave %08lX: petición de registro fallida\n"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:498
 #, c-format
 msgid "key %08lX: already in trusted key table\n"
 msgstr "clave %08lX: ya está en la tabla de confianza\n"
 
-#: g10/trustdb.c:553
+#: g10/trustdb.c:501
 #, c-format
 msgid "key %08lX: accepted as trusted key.\n"
 msgstr "clave %08lX: aceptada como clave de confianza.\n"
 
-#: g10/trustdb.c:561
+#: g10/trustdb.c:509
 #, c-format
 msgid "enumerate secret keys failed: %s\n"
 msgstr "enum_secret_keys fallido: %s\n"
 
-#: g10/trustdb.c:851
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
-msgstr ""
-"NOTA: el registro de firma %lu[%d] está en la lista\n"
-"de búsqueda de %lu pero está marcado como comprobado\n"
-
-#: g10/trustdb.c:855
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
-msgstr ""
-"NOTA: el registro de firma %lu[%d] está en la lista\n"
-"de búsqueda de %lu pero no está marcado\n"
-
-#. we need the dir record
-#: g10/trustdb.c:862
-#, c-format
-msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
-msgstr ""
-"El registro de firma %lu[%d] en la lista de búsqueda de %lu\n"
-"no apunta a un registro de directorio\n"
-
-#: g10/trustdb.c:868
-#, c-format
-msgid "lid %lu: no primary key\n"
-msgstr "lid %lu: ninguna clave primaria\n"
-
-#: g10/trustdb.c:901
-#, c-format
-msgid "lid %lu: user id not found in keyblock\n"
-msgstr ""
-"lid %lu: no se ha encontrado identificativo de usuario\n"
-"en el bloque de clave\n"
-
-#: g10/trustdb.c:905
-#, c-format
-msgid "lid %lu: user id without signature\n"
-msgstr "lid %lu: identificativo de usuario sin firma\n"
-
-#: g10/trustdb.c:912
-#, c-format
-msgid "lid %lu: self-signature in hintlist\n"
-msgstr "lid %lu: autofirma en lista de búsqueda\n"
-
-#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766
-msgid "Valid certificate revocation"
-msgstr "Revocación de certificado válida"
-
-#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767
-msgid "Good certificate"
-msgstr "Certificado bueno"
-
-#: g10/trustdb.c:933
-msgid "very strange: no public key\n"
-msgstr "muy raro: no hay clave pública\n"
-
-#: g10/trustdb.c:982
-#, c-format
-msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
-msgstr ""
-"la lista de búsqueda %lu[%d] de %lu no apunta a\n"
-"un registro de directorio\n"
-
-#: g10/trustdb.c:988
-#, c-format
-msgid "lid %lu does not have a key\n"
-msgstr "lid %lu no dispone de clave\n"
-
-#: g10/trustdb.c:998
-#, c-format
-msgid "lid %lu: can't get keyblock: %s\n"
-msgstr "lid %lu: no puedo obtener el bloque de clave: %s\n"
-
-#: g10/trustdb.c:1055 g10/trustdb.c:2030
-#, c-format
-msgid "tdbio_search_dir failed: %s\n"
+#: g10/trustdb.c:800
+#, fuzzy, c-format
+msgid "tdbio_search_sdir failed: %s\n"
 msgstr "tdbio_search_dir fallida: %s\n"
 
-#: g10/trustdb.c:1210
+#: g10/trustdb.c:875
 #, c-format
 msgid "key %08lX.%lu: Good subkey binding\n"
 msgstr "clave %08lX.%lu: buena unión de subclave\n"
 
-#: g10/trustdb.c:1216 g10/trustdb.c:1259
+#: g10/trustdb.c:881 g10/trustdb.c:916
 #, c-format
 msgid "key %08lX.%lu: Invalid subkey binding: %s\n"
 msgstr "clave %08lX.%lu: unión de subclave no válida\n"
 
-#: g10/trustdb.c:1232
+#: g10/trustdb.c:893
 #, c-format
 msgid "key %08lX.%lu: Valid key revocation\n"
 msgstr "clave %08lX.%lu: revocación de clave válida\n"
 
-#: g10/trustdb.c:1238
+#: g10/trustdb.c:899
 #, c-format
 msgid "key %08lX.%lu: Invalid key revocation: %s\n"
 msgstr "clave %08lX.%lu: revocación de clave no válida: %s\n"
 
-#: g10/trustdb.c:1253
+#: g10/trustdb.c:910
 #, c-format
 msgid "key %08lX.%lu: Valid subkey revocation\n"
 msgstr "clave %08lX.%lu: revocación de subclave válida\n"
 
-#: g10/trustdb.c:1360
+#: g10/trustdb.c:1021
 msgid "Good self-signature"
 msgstr "Autofirma buena"
 
-#: g10/trustdb.c:1371
+#: g10/trustdb.c:1031
 msgid "Invalid self-signature"
 msgstr "Autofirma no válida"
 
-#: g10/trustdb.c:1403
-msgid "Valid user ID revocation skipped due to a newer self signature\n"
+#: g10/trustdb.c:1058
+#, fuzzy
+msgid "Valid user ID revocation skipped due to a newer self signature"
 msgstr ""
 "Revocación válida de identificativo de usuario ignorada debido a una "
 "autofirma más reciente\n"
 
-#: g10/trustdb.c:1410
-msgid "Valid user ID revocation\n"
+#: g10/trustdb.c:1064
+#, fuzzy
+msgid "Valid user ID revocation"
 msgstr "Revocación identificativo de usuario válida.\n"
 
-#: g10/trustdb.c:1417
+#: g10/trustdb.c:1069
 msgid "Invalid user ID revocation"
 msgstr "Revocación identificativo de usuario no válida."
 
-#: g10/trustdb.c:1512
-msgid "Too many preferences"
-msgstr "Demasiadas preferencias"
-
-#: g10/trustdb.c:1526
-msgid "Too many preference items"
-msgstr "Demasiados ítems de preferencias"
-
-#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105
-msgid "WARNING: can't yet handle long pref records\n"
-msgstr "ATENCÍON: todavía no puedo tratar registros de preferencias largos\n"
-
-#: g10/trustdb.c:1654
-msgid "duplicated certificate - deleted"
-msgstr "certificado duplicado - eliminado"
+#: g10/trustdb.c:1110
+msgid "Valid certificate revocation"
+msgstr "Revocación de certificado válida"
 
-#: g10/trustdb.c:1692
-msgid "public key not anymore available"
-msgstr "clave pública no disponible"
+#: g10/trustdb.c:1111
+msgid "Good certificate"
+msgstr "Certificado bueno"
 
-#: g10/trustdb.c:1702 g10/trustdb.c:1791
+#: g10/trustdb.c:1132
 msgid "Invalid certificate revocation"
 msgstr "Certificado de revocación incorrecto"
 
-#: g10/trustdb.c:1703 g10/trustdb.c:1792
+#: g10/trustdb.c:1133
 msgid "Invalid certificate"
 msgstr "Certificado incorrecto"
 
-#: g10/trustdb.c:1720
-#, c-format
-msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
-msgstr ""
-
-#: g10/trustdb.c:1734
+#: g10/trustdb.c:1150 g10/trustdb.c:1154
 #, c-format
 msgid "sig record %lu[%d] points to wrong record.\n"
 msgstr "registro de firma %lu[%d] apunta al registro equivocado.\n"
 
-#. that should never happen
-#: g10/trustdb.c:2007
-#, c-format
-msgid "insert_trust_record: keyblock not found: %s\n"
-msgstr "insert_trust_record: bloque de clave no encontrado: %s\n"
-
-#: g10/trustdb.c:2408
-msgid "Ooops, no keys\n"
-msgstr "Oh oh, no hay claves\n"
+#: g10/trustdb.c:1206
+msgid "duplicated certificate - deleted"
+msgstr "certificado duplicado - eliminado"
 
-#: g10/trustdb.c:2412
-msgid "Ooops, no user ids\n"
-msgstr "Oh oh, no hay identificativos de usuario\n"
+#: g10/trustdb.c:1512
+#, c-format
+msgid "tdbio_search_dir failed: %s\n"
+msgstr "tdbio_search_dir fallida: %s\n"
 
-#: g10/trustdb.c:2529
+#: g10/trustdb.c:1634
 #, c-format
 msgid "lid ?: insert failed: %s\n"
 msgstr "lid ?: inserción fallida: %s\n"
 
-#: g10/trustdb.c:2534
+#: g10/trustdb.c:1639
 #, c-format
 msgid "lid %lu: insert failed: %s\n"
 msgstr "lid %lu: inserción fallida: %s\n"
 
-#: g10/trustdb.c:2540
+#: g10/trustdb.c:1645
 #, c-format
 msgid "lid %lu: inserted\n"
 msgstr "lid %lu: insertada\n"
 
-#: g10/trustdb.c:2545 g10/trustdb.c:2654
-#, c-format
-msgid "lid %lu: update failed: %s\n"
-msgstr "lid %lu: actualización fallida: %s\n"
-
-#: g10/trustdb.c:2551 g10/trustdb.c:2660
-#, c-format
-msgid "lid %lu: updated\n"
-msgstr "lid %lu: actualizado\n"
-
-#: g10/trustdb.c:2556 g10/trustdb.c:2664
-#, c-format
-msgid "lid %lu: okay\n"
-msgstr "lid %lu: bien\n"
+#: g10/trustdb.c:1650
+#, fuzzy, c-format
+msgid "error reading dir record: %s\n"
+msgstr "error buscando registro de directorio: %s\n"
 
-#: g10/trustdb.c:2562 g10/trustdb.c:2671
+#: g10/trustdb.c:1658 g10/trustdb.c:1712
 #, c-format
 msgid "%lu keys processed\n"
 msgstr "se han procesado %lu claves\n"
 
-#: g10/trustdb.c:2564 g10/trustdb.c:2675
+#: g10/trustdb.c:1660 g10/trustdb.c:1716
 #, c-format
 msgid "\t%lu keys with errors\n"
 msgstr "\t%lu claves con errores\n"
 
-#: g10/trustdb.c:2566 g10/trustdb.c:2677
-#, c-format
-msgid "\t%lu keys updated\n"
-msgstr "\t%lu claves actualizadas\n"
-
-#: g10/trustdb.c:2568
+#: g10/trustdb.c:1662
 #, c-format
 msgid "\t%lu keys inserted\n"
 msgstr "\t%lu claves insertadas\n"
 
-#: g10/trustdb.c:2571
+#: g10/trustdb.c:1665
 #, c-format
 msgid "enumerate keyblocks failed: %s\n"
 msgstr "enumeración bloques de clave fallido: %s\n"
 
-#: g10/trustdb.c:2598
-#, c-format
-msgid "%s: keyblock read problem: %s\n"
-msgstr "%s: problema lectura del bloque de clave: %s\n"
-
-#: g10/trustdb.c:2612
-#, c-format
-msgid "%s: update failed: %s\n"
-msgstr "%s: actualización fallida: %s\n"
-
-#: g10/trustdb.c:2615
-#, c-format
-msgid "%s: updated\n"
-msgstr "%s: actualizada\n"
-
-#: g10/trustdb.c:2617
-#, c-format
-msgid "%s: okay\n"
-msgstr "%s: bien\n"
-
-#: g10/trustdb.c:2632
+#: g10/trustdb.c:1703
 #, c-format
 msgid "lid %lu: dir record w/o key - skipped\n"
 msgstr "lid %lu: registro de directiorio sin clave - ignorado\n"
 
-#: g10/trustdb.c:2645
-#, c-format
-msgid "lid %lu: keyblock not found: %s\n"
-msgstr "lid %lu: bloque de clave no encontrado: %s\n"
-
-#: g10/trustdb.c:2673
+#: g10/trustdb.c:1714
 #, c-format
 msgid "\t%lu keys skipped\n"
 msgstr "\t%lu claves ignoradas\n"
 
-#: g10/trustdb.c:2743
+#: g10/trustdb.c:1718
+#, c-format
+msgid "\t%lu keys updated\n"
+msgstr "\t%lu claves actualizadas\n"
+
+#: g10/trustdb.c:2055
+msgid "Ooops, no keys\n"
+msgstr "Oh oh, no hay claves\n"
+
+#: g10/trustdb.c:2059
+msgid "Ooops, no user ids\n"
+msgstr "Oh oh, no hay identificativos de usuario\n"
+
+#: g10/trustdb.c:2216
 #, c-format
 msgid "check_trust: search dir record failed: %s\n"
 msgstr "check_trust: búsqueda registro directorio fallida: %s\n"
 
-#: g10/trustdb.c:2750
+#: g10/trustdb.c:2223
 #, c-format
 msgid "key %08lX: insert trust record failed: %s\n"
 msgstr "clave %08lX: inserción del registro de confianza fallida: %s\n"
 
-#: g10/trustdb.c:2754
+#: g10/trustdb.c:2227
 #, c-format
 msgid "key %08lX.%lu: inserted into trustdb\n"
 msgstr "clave %08lX.%lu: incluida en la base de datos de confianza\n"
 
-#: g10/trustdb.c:2762
+#: g10/trustdb.c:2235
 #, c-format
 msgid "key %08lX.%lu: created in future (time warp or clock problem)\n"
 msgstr ""
 "clave %08lX.%lu: creada en el futuro (salto en el tiempo o\n"
 "problemas con el reloj)\n"
 
-#: g10/trustdb.c:2769
+#: g10/trustdb.c:2244
 #, c-format
 msgid "key %08lX.%lu: expired at %s\n"
 msgstr "clave %08lX.%lu: caducada el %s\n"
 
-#: g10/trustdb.c:2777
+#: g10/trustdb.c:2252
 #, c-format
 msgid "key %08lX.%lu: trust check failed: %s\n"
 msgstr "clave %08lX.%lu: comprobación de confianza fallida: %s\n"
 
-#: g10/trustdb.c:2881
+#: g10/trustdb.c:2358
 #, c-format
 msgid "user '%s' not found: %s\n"
 msgstr "usuario '%s' no encontrado: %s\n"
 
-#: g10/trustdb.c:2883
+#: g10/trustdb.c:2360
 #, c-format
 msgid "problem finding '%s' in trustdb: %s\n"
 msgstr "problema buscando '%s' en la tabla de confianza: %s\n"
 
-#: g10/trustdb.c:2886
+#: g10/trustdb.c:2363
 #, c-format
 msgid "user '%s' not in trustdb - inserting\n"
 msgstr "usuario '%s' no está en la tabla de confianza - insertando\n"
 
-#: g10/trustdb.c:2889
+#: g10/trustdb.c:2366
 #, c-format
 msgid "failed to put '%s' into trustdb: %s\n"
 msgstr "fallo al poner '%s' en la tabla de confianza: %s\n"
 
+#: g10/trustdb.c:2552 g10/trustdb.c:2582
+msgid "WARNING: can't yet handle long pref records\n"
+msgstr "ATENCÍON: todavía no puedo tratar registros de preferencias largos\n"
+
 #: g10/ringedit.c:316
 #, c-format
 msgid "%s: can't create keyring: %s\n"
@@ -3130,16 +3047,21 @@ msgstr "
 msgid "%s: unknown suffix\n"
 msgstr ""
 
-#: g10/openfile.c:122
+#: g10/openfile.c:119
+#, fuzzy
+msgid "Enter new filename"
+msgstr "--store [nombre_fichero]"
+
+#: g10/openfile.c:160
 msgid "writing to stdout\n"
 msgstr "escribiendo en stdout\n"
 
-#: g10/openfile.c:181
+#: g10/openfile.c:219
 #, c-format
 msgid "assuming signed data in `%s'\n"
 msgstr "asumiendo que hay datos firmados en `%s'\n"
 
-#: g10/openfile.c:231
+#: g10/openfile.c:269
 #, c-format
 msgid "%s: new options file created\n"
 msgstr "%s: se ha creado un nuevo fichero de opciones\n"
@@ -3212,103 +3134,184 @@ msgstr ""
 msgid "keygen.valid"
 msgstr ""
 
-#: g10/helptext.c:107
+#: g10/helptext.c:110
 msgid "keygen.valid.okay"
 msgstr ""
 
-#: g10/helptext.c:112
+#: g10/helptext.c:115
 msgid "keygen.name"
 msgstr ""
 
-#: g10/helptext.c:117
+#: g10/helptext.c:120
 msgid "keygen.email"
 msgstr ""
 
-#: g10/helptext.c:121
+#: g10/helptext.c:124
 msgid "keygen.comment"
 msgstr ""
 
-#: g10/helptext.c:126
+#: g10/helptext.c:129
 msgid "keygen.userid.cmd"
 msgstr ""
 
-#: g10/helptext.c:135
+#: g10/helptext.c:138
 msgid "keygen.sub.okay"
 msgstr ""
 
-#: g10/helptext.c:139
+#: g10/helptext.c:142
 msgid "sign_uid.okay"
 msgstr ""
 
-#: g10/helptext.c:144
+#: g10/helptext.c:147
 msgid "change_passwd.empty.okay"
 msgstr ""
 
-#: g10/helptext.c:149
-msgid "keyedit.cmd"
-msgstr ""
-
-#: g10/helptext.c:153
+#: g10/helptext.c:152
 msgid "keyedit.save.okay"
 msgstr ""
 
-#: g10/helptext.c:158
+#: g10/helptext.c:157
 msgid "keyedit.cancel.okay"
 msgstr ""
 
-#: g10/helptext.c:162
+#: g10/helptext.c:161
 msgid "keyedit.sign_all.okay"
 msgstr ""
 
-#: g10/helptext.c:166
+#: g10/helptext.c:165
 msgid "keyedit.remove.uid.okay"
 msgstr ""
 
-#: g10/helptext.c:171
+#: g10/helptext.c:170
 msgid "keyedit.remove.subkey.okay"
 msgstr ""
 
-#: g10/helptext.c:176
+#: g10/helptext.c:175
 msgid "keyedit.delsig.valid"
 msgstr ""
 
-#: g10/helptext.c:181
+#: g10/helptext.c:180
 msgid "keyedit.delsig.unknown"
 msgstr ""
 
-#: g10/helptext.c:187
+#: g10/helptext.c:186
 msgid "keyedit.delsig.invalid"
 msgstr ""
 
-#: g10/helptext.c:191
+#: g10/helptext.c:190
 msgid "keyedit.delsig.selfsig"
 msgstr ""
 
-#: g10/helptext.c:200
+#: g10/helptext.c:199
 msgid "passphrase.enter"
 msgstr ""
 
-#: g10/helptext.c:207
+#: g10/helptext.c:206
 msgid "passphrase.repeat"
 msgstr ""
 
-#: g10/helptext.c:211
+#: g10/helptext.c:210
 msgid "detached_signature.filename"
 msgstr ""
 
+#. openfile.c (overwrite_filep)
 #: g10/helptext.c:215
 msgid "openfile.overwrite.okay"
 msgstr ""
 
-#: g10/helptext.c:229
+#. openfile.c (ask_outfile_name)
+#: g10/helptext.c:220
+msgid "openfile.askoutname"
+msgstr ""
+
+#: g10/helptext.c:235
 msgid "No help available"
 msgstr "Ayuda no disponible"
 
-#: g10/helptext.c:241
+#: g10/helptext.c:247
 #, c-format
 msgid "No help available for `%s'"
 msgstr "Ayuda no disponible para `%s'"
 
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
+#~ msgstr ""
+#~ "NOTA: el registro de firma %lu[%d] está en la lista\n"
+#~ "de búsqueda de %lu pero está marcado como comprobado\n"
+
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
+#~ msgstr ""
+#~ "NOTA: el registro de firma %lu[%d] está en la lista\n"
+#~ "de búsqueda de %lu pero no está marcado\n"
+
+#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
+#~ msgstr ""
+#~ "El registro de firma %lu[%d] en la lista de búsqueda de %lu\n"
+#~ "no apunta a un registro de directorio\n"
+
+#~ msgid "lid %lu: no primary key\n"
+#~ msgstr "lid %lu: ninguna clave primaria\n"
+
+#~ msgid "lid %lu: user id not found in keyblock\n"
+#~ msgstr ""
+#~ "lid %lu: no se ha encontrado identificativo de usuario\n"
+#~ "en el bloque de clave\n"
+
+#~ msgid "lid %lu: user id without signature\n"
+#~ msgstr "lid %lu: identificativo de usuario sin firma\n"
+
+#~ msgid "lid %lu: self-signature in hintlist\n"
+#~ msgstr "lid %lu: autofirma en lista de búsqueda\n"
+
+#~ msgid "very strange: no public key\n"
+#~ msgstr "muy raro: no hay clave pública\n"
+
+#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
+#~ msgstr ""
+#~ "la lista de búsqueda %lu[%d] de %lu no apunta a\n"
+#~ "un registro de directorio\n"
+
+#~ msgid "lid %lu does not have a key\n"
+#~ msgstr "lid %lu no dispone de clave\n"
+
+#~ msgid "lid %lu: can't get keyblock: %s\n"
+#~ msgstr "lid %lu: no puedo obtener el bloque de clave: %s\n"
+
+#~ msgid "Too many preferences"
+#~ msgstr "Demasiadas preferencias"
+
+#~ msgid "Too many preference items"
+#~ msgstr "Demasiados ítems de preferencias"
+
+#~ msgid "public key not anymore available"
+#~ msgstr "clave pública no disponible"
+
+#~ msgid "insert_trust_record: keyblock not found: %s\n"
+#~ msgstr "insert_trust_record: bloque de clave no encontrado: %s\n"
+
+#~ msgid "lid %lu: update failed: %s\n"
+#~ msgstr "lid %lu: actualización fallida: %s\n"
+
+#~ msgid "lid %lu: updated\n"
+#~ msgstr "lid %lu: actualizado\n"
+
+#~ msgid "lid %lu: okay\n"
+#~ msgstr "lid %lu: bien\n"
+
+#~ msgid "%s: keyblock read problem: %s\n"
+#~ msgstr "%s: problema lectura del bloque de clave: %s\n"
+
+#~ msgid "%s: update failed: %s\n"
+#~ msgstr "%s: actualización fallida: %s\n"
+
+#~ msgid "%s: updated\n"
+#~ msgstr "%s: actualizada\n"
+
+#~ msgid "%s: okay\n"
+#~ msgstr "%s: bien\n"
+
+#~ msgid "lid %lu: keyblock not found: %s\n"
+#~ msgstr "lid %lu: bloque de clave no encontrado: %s\n"
+
 #~ msgid "can't lock keyring `%': %s\n"
 #~ msgstr "no puede bloquearse el anillo público `%s': %s\n"
 
@@ -3427,9 +3430,6 @@ msgstr "Ayuda no disponible para `%s'"
 #~ msgid "insert trust record failed: %s\n"
 #~ msgstr "inserción del registro de confianza fallida: %s\n"
 
-#~ msgid "error finding dir record: %s\n"
-#~ msgstr "error buscando registro de directorio: %s\n"
-
 #~ msgid "Hmmm, public key lost?"
 #~ msgstr "Oh oh, ¿se ha perdido la clave pública?"
 
index bad3630..f626738 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 0.9.7\n"
-"POT-Creation-Date: 1999-06-26 11:22+0200\n"
+"POT-Creation-Date: 1999-07-06 17:34+0200\n"
 "PO-Revision-Date: 1999-05-24 21:48+02:00\n"
 "Last-Translator: Gaël Quéri <gqueri@mail.dotcom.fr>\n"
 "Language-Team: French <traduc@Linux.EU.ORG>\n"
@@ -13,33 +13,33 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: util/secmem.c:76
+#: util/secmem.c:79
 msgid "Warning: using insecure memory!\n"
 msgstr "Attention : utilisation de la mémoire non sûre !\n"
 
-#: util/secmem.c:249
+#: util/secmem.c:275
 msgid "operation is not possible without initialized secure memory\n"
 msgstr ""
 "l'opération n'est pas possible tant que la mémoire sûre n'est pas\n"
 "initialisée\n"
 
-#: util/secmem.c:250
+#: util/secmem.c:276
 msgid "(you may have used the wrong program for this task)\n"
 msgstr "(vous avez peut-être utilisé le mauvais programme pour cette tache)\n"
 
-#: util/miscutil.c:156 util/miscutil.c:173
+#: util/miscutil.c:254 util/miscutil.c:271
 msgid "yes"
 msgstr "oui"
 
-#: util/miscutil.c:157 util/miscutil.c:175
+#: util/miscutil.c:255 util/miscutil.c:273
 msgid "yY"
 msgstr "oO"
 
-#: g10/keyedit.c:559 util/miscutil.c:174
+#: g10/keyedit.c:561 util/miscutil.c:272
 msgid "quit"
 msgstr "quitter"
 
-#: util/miscutil.c:176
+#: util/miscutil.c:274
 #, fuzzy
 msgid "qQ"
 msgstr "q"
@@ -246,12 +246,12 @@ msgstr "... c'est un bug (%s:%d:%s)\n"
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "vous avez trouvé un bug ... (%s:%d)\n"
 
-#: cipher/random.c:412
+#: cipher/random.c:452
 msgid "WARNING: using insecure random number generator!!\n"
 msgstr ""
 "ATTENTION : utilisation d'un générateur de nombres aléatoires peu sûr !!\n"
 
-#: cipher/random.c:413
+#: cipher/random.c:453
 msgid ""
 "The random number generator is only a kludge to let\n"
 "it run - it is in no way a strong RNG!\n"
@@ -276,7 +276,7 @@ msgstr ""
 "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"
 
-#: g10/g10.c:174
+#: g10/g10.c:176
 msgid ""
 "@Commands:\n"
 " "
@@ -284,132 +284,132 @@ msgstr ""
 "@Commandes:\n"
 " "
 
-#: g10/g10.c:176
+#: g10/g10.c:178
 msgid "|[file]|make a signature"
 msgstr "|[fichier]|faire une signature"
 
-#: g10/g10.c:177
+#: g10/g10.c:179
 msgid "|[file]|make a clear text signature"
 msgstr "|[fichier]|faire une signature en texte clair"
 
-#: g10/g10.c:178
+#: g10/g10.c:180
 msgid "make a detached signature"
 msgstr "faire une signature détachée"
 
-#: g10/g10.c:179
+#: g10/g10.c:181
 msgid "encrypt data"
 msgstr "chiffrer les données"
 
-#: g10/g10.c:180
+#: g10/g10.c:182
 msgid "encryption only with symmetric cipher"
 msgstr "chiffrement symétrique seulement"
 
-#: g10/g10.c:181
+#: g10/g10.c:183
 msgid "store only"
 msgstr "pas d'action"
 
-#: g10/g10.c:182
+#: g10/g10.c:184
 msgid "decrypt data (default)"
 msgstr "déchiffrer les données (défaut)"
 
-#: g10/g10.c:183
+#: g10/g10.c:185
 msgid "verify a signature"
 msgstr "vérifier une signature"
 
-#: g10/g10.c:184
+#: g10/g10.c:186
 msgid "list keys"
 msgstr "lister les clés"
 
-#: g10/g10.c:186
+#: g10/g10.c:188
 msgid "list keys and signatures"
 msgstr "lister les clés et les signatures"
 
-#: g10/g10.c:187
+#: g10/g10.c:189
 msgid "check key signatures"
 msgstr "vérifier les signatures des clés"
 
-#: g10/g10.c:188
+#: g10/g10.c:190
 msgid "list keys and fingerprints"
 msgstr "lister les clés et les empreintes"
 
-#: g10/g10.c:189
+#: g10/g10.c:191
 msgid "list secret keys"
 msgstr "lister les clés secrètes"
 
-#: g10/g10.c:190
+#: g10/g10.c:192
 msgid "generate a new key pair"
 msgstr "générer une nouvelle paire de clés"
 
-#: g10/g10.c:191
+#: g10/g10.c:193
 msgid "remove key from the public keyring"
 msgstr "enlever la clé du porte-clés public"
 
-#: g10/g10.c:192
+#: g10/g10.c:194
 msgid "sign or edit a key"
 msgstr "signer ou éditer une clé"
 
-#: g10/g10.c:193
+#: g10/g10.c:195
 msgid "generate a revocation certificate"
 msgstr "générer un certificat de révocation"
 
-#: g10/g10.c:194
+#: g10/g10.c:196
 msgid "export keys"
 msgstr "exporter les clés"
 
-#: g10/g10.c:195
+#: g10/g10.c:197
 msgid "export keys to a key server"
 msgstr "exporter les clés vers un serveur de clés"
 
-#: g10/g10.c:196
+#: g10/g10.c:198
 msgid "import keys from a key server"
 msgstr "importer les clés d'un serveur de clés"
 
-#: g10/g10.c:199
+#: g10/g10.c:201
 msgid "import/merge keys"
 msgstr "importer/fusionner les clés"
 
-#: g10/g10.c:201
+#: g10/g10.c:203
 msgid "list only the sequence of packets"
 msgstr "ne lister que les paquets"
 
-#: g10/g10.c:203
+#: g10/g10.c:205
 msgid "export the ownertrust values"
 msgstr "exporter les indices de confiance"
 
-#: g10/g10.c:205
+#: g10/g10.c:207
 msgid "import ownertrust values"
 msgstr "importer les indices de confiance"
 
 #
-#: g10/g10.c:207
+#: g10/g10.c:209
 msgid "|[NAMES]|update the trust database"
 msgstr "|[NOMS]|mettre la base de confiance à jour"
 
-#: g10/g10.c:209
+#: g10/g10.c:211
 msgid "|[NAMES]|check the trust database"
 msgstr "|[NOMS]|vérifier la base de confiance"
 
-#: g10/g10.c:210
+#: g10/g10.c:212
 msgid "fix a corrupted trust database"
 msgstr "réparer une base de confiance corrompue"
 
-#: g10/g10.c:211
+#: g10/g10.c:213
 msgid "De-Armor a file or stdin"
 msgstr "Enlever l'armure d'un fichier ou de stdin"
 
-#: g10/g10.c:212
+#: g10/g10.c:214
 msgid "En-Armor a file or stdin"
 msgstr "Mettre une armure à un fichier ou à stdin"
 
-#: g10/g10.c:213
+#: g10/g10.c:215
 msgid "|algo [files]|print message digests"
 msgstr "|alg. [fich.]|indiquer les fonctions de hachage"
 
-#: g10/g10.c:214
+#: g10/g10.c:216
 msgid "print all message digests"
 msgstr "écrire toutes les fonctions de hachage"
 
-#: g10/g10.c:220
+#: g10/g10.c:222
 msgid ""
 "@\n"
 "Options:\n"
@@ -419,162 +419,162 @@ msgstr ""
 "Options:\n"
 " "
 
-#: g10/g10.c:222
+#: g10/g10.c:224
 msgid "create ascii armored output"
 msgstr "créer une sortie ascii avec armure"
 
-#: g10/g10.c:223
+#: g10/g10.c:225
 msgid "|NAME|encrypt for NAME"
 msgstr "|NOM|chiffrer pour NOM"
 
-#: g10/g10.c:227
+#: g10/g10.c:229
 msgid "use this user-id to sign or decrypt"
 msgstr "utiliser ce nom pour signer ou déchiffrer"
 
-#: g10/g10.c:228
+#: g10/g10.c:230
 msgid "|N|set compress level N (0 disables)"
 msgstr "|N|niveau de compression N (0 désactive)"
 
-#: g10/g10.c:230
+#: g10/g10.c:232
 msgid "use canonical text mode"
 msgstr "utiliser le mode texte canonique"
 
-#: g10/g10.c:231
+#: g10/g10.c:233
 msgid "use as output file"
 msgstr "utiliser comme fichier de sortie"
 
-#: g10/g10.c:232
+#: g10/g10.c:234
 msgid "verbose"
 msgstr "bavard"
 
-#: g10/g10.c:233
+#: g10/g10.c:235
 msgid "be somewhat more quiet"
 msgstr "devenir beaucoup plus silencieux"
 
-#: g10/g10.c:234
+#: g10/g10.c:236
 msgid "don't use the terminal at all"
 msgstr ""
 
 #
-#: g10/g10.c:235
+#: g10/g10.c:237
 msgid "force v3 signatures"
 msgstr "forcer les signatures en v3"
 
-#: g10/g10.c:236
+#: g10/g10.c:238
 msgid "always use a MDC for encryption"
 msgstr "toujours utiliser un sceau pour le chiffrement"
 
-#: g10/g10.c:237
+#: g10/g10.c:239
 msgid "do not make any changes"
 msgstr "ne rien changer"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
-#: g10/g10.c:239
+#: g10/g10.c:241
 msgid "batch mode: never ask"
 msgstr "mode automatique : ne jamais rien demander"
 
-#: g10/g10.c:240
+#: g10/g10.c:242
 msgid "assume yes on most questions"
 msgstr "répondre oui à la plupart des questions"
 
-#: g10/g10.c:241
+#: g10/g10.c:243
 msgid "assume no on most questions"
 msgstr "répondre non à la plupart des questions"
 
-#: g10/g10.c:242
+#: g10/g10.c:244
 msgid "add this keyring to the list of keyrings"
 msgstr "ajouter ce porte-clés à la liste des porte-clés"
 
-#: g10/g10.c:243
+#: g10/g10.c:245
 msgid "add this secret keyring to the list"
 msgstr "ajouter ce porte-clés secret à la liste"
 
-#: g10/g10.c:244
+#: g10/g10.c:246
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOM|utiliser NOM comme clé secrète par défaut"
 
-#: g10/g10.c:245
+#: g10/g10.c:247
 msgid "|HOST|use this keyserver to lookup keys"
 msgstr "|HÔTE|utiliser ce serveur pour chercher des clés"
 
-#: g10/g10.c:246
+#: g10/g10.c:248
 msgid "|NAME|set terminal charset to NAME"
 msgstr "|NOM|le terminal utilise la table de caractères NOM"
 
-#: g10/g10.c:247
+#: g10/g10.c:249
 msgid "read options from file"
 msgstr "lire les options du fichier"
 
-#: g10/g10.c:249
+#: g10/g10.c:251
 msgid "set debugging flags"
 msgstr "choisir les attributs de déboguage"
 
-#: g10/g10.c:250
+#: g10/g10.c:252
 msgid "enable full debugging"
 msgstr "permettre un déboguage complet"
 
-#: g10/g10.c:251
+#: g10/g10.c:253
 msgid "|FD|write status info to this FD"
 msgstr "|FD|écrire l'état sur ce descripteur"
 
-#: g10/g10.c:252
+#: g10/g10.c:254
 msgid "do not write comment packets"
 msgstr "ne pas écrire de paquets de commentaire"
 
-#: g10/g10.c:253
+#: g10/g10.c:255
 msgid "(default is 1)"
 msgstr "nombre de signatures complètes requises (1)"
 
-#: g10/g10.c:254
+#: g10/g10.c:256
 msgid "(default is 3)"
 msgstr "nombre de signatures marginales requises (3)"
 
-#: g10/g10.c:256
+#: g10/g10.c:258
 msgid "|FILE|load extension module FILE"
 msgstr "|FICH|charger le module d'extension FICH"
 
-#: g10/g10.c:257
+#: g10/g10.c:259
 msgid "emulate the mode described in RFC1991"
 msgstr "imiter le mode décrit dans la RFC1991"
 
-#: g10/g10.c:258
+#: g10/g10.c:260
 msgid "set all packet, cipher and digest options to OpenPGP behavior"
 msgstr ""
 
 # FIXMOI : faudra trouver mieux ...
-#: g10/g10.c:259
+#: g10/g10.c:261
 msgid "|N|use passphrase mode N"
 msgstr "|N|utiliser le mode de codage des mots de passe N"
 
-#: g10/g10.c:261
+#: g10/g10.c:263
 msgid "|NAME|use message digest algorithm NAME for passphrases"
 msgstr "|NOM|utiliser le hachage NOM pour les mots de passe"
 
-#: g10/g10.c:263
+#: g10/g10.c:265
 msgid "|NAME|use cipher algorithm NAME for passphrases"
 msgstr "|NOM|utiliser le chiffre NOM pour les mots de passe"
 
-#: g10/g10.c:264
+#: g10/g10.c:266
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOM|utiliser l'algorithme de chiffrement NOM"
 
-#: g10/g10.c:265
+#: g10/g10.c:267
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOM|utiliser la fonction de hachage NOM"
 
-#: g10/g10.c:266
+#: g10/g10.c:268
 msgid "|N|use compress algorithm N"
 msgstr "|N|utiliser l'algorithme de compression N"
 
-#: g10/g10.c:267
+#: g10/g10.c:269
 msgid "throw keyid field of encrypted packets"
 msgstr "supprimer l'identification des paquets chiffrés"
 
-#: g10/g10.c:268
+#: g10/g10.c:270
 msgid "|NAME=VALUE|use this notation data"
 msgstr ""
 
-#: g10/g10.c:270
+#: g10/g10.c:272
 msgid ""
 "@\n"
 "Examples:\n"
@@ -594,15 +594,15 @@ msgstr ""
 " --list-keys [utilisateur]    montrer les clés\n"
 " --fingerprint [utilisateur]  montrer les empreintes\n"
 
-#: g10/g10.c:347
+#: g10/g10.c:351
 msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
 msgstr "Rapporter toutes anomalies à <gnupg-bugs@gnu.org>.\n"
 
-#: g10/g10.c:351
+#: g10/g10.c:355
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
 
-#: g10/g10.c:354
+#: g10/g10.c:358
 msgid ""
 "Syntax: gpg [options] [files]\n"
 "sign, check, encrypt or decrypt\n"
@@ -612,7 +612,7 @@ msgstr ""
 "signer, vérifier, chiffer ou déchiffrer\n"
 "l'opération par défaut dépend des données entrées\n"
 
-#: g10/g10.c:359
+#: g10/g10.c:363
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -620,169 +620,169 @@ msgstr ""
 "\n"
 "Algorithmes supportés:\n"
 
-#: g10/g10.c:433
+#: g10/g10.c:437
 msgid "usage: gpg [options] "
 msgstr "utilisation: gpg [options] "
 
-#: g10/g10.c:473
+#: g10/g10.c:477
 msgid "conflicting commands\n"
 msgstr "commandes en conflit\n"
 
-#: g10/g10.c:605
+#: g10/g10.c:609
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTE : pas de fichier d'options par défaut `%s'\n"
 
-#: g10/g10.c:609
+#: g10/g10.c:613
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fichier d'options `%s' : %s\n"
 
-#: g10/g10.c:616
+#: g10/g10.c:620
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "lire les options de `%s'\n"
 
-#: g10/g10.c:782
+#: g10/g10.c:786
 #, c-format
 msgid "%s is not a valid character set\n"
 msgstr "%s n'est pas une table de caractères valide\n"
 
-#: g10/g10.c:827 g10/g10.c:839
+#: g10/g10.c:833 g10/g10.c:845
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algorithme de chiffrement sélectionné est invalide\n"
 
-#: g10/g10.c:833 g10/g10.c:845
+#: g10/g10.c:839 g10/g10.c:851
 msgid "selected digest algorithm is invalid\n"
 msgstr "la fonction de hachage sélectionnée est invalide\n"
 
-#: g10/g10.c:849
+#: g10/g10.c:855
 msgid "the given policy URL is invalid\n"
 msgstr ""
 
-#: g10/g10.c:852
+#: g10/g10.c:858
 #, c-format
 msgid "compress algorithm must be in range %d..%d\n"
 msgstr "l'algorithme de compression doit faire partie de l'échelle %d..%d\n"
 
-#: g10/g10.c:854
+#: g10/g10.c:860
 msgid "completes-needed must be greater than 0\n"
 msgstr "« completes-needed » doit être supérieur à 0\n"
 
-#: g10/g10.c:856
+#: g10/g10.c:862
 msgid "marginals-needed must be greater than 1\n"
 msgstr "« marginals-needed » doit être supérieur à 1\n"
 
-#: g10/g10.c:858
+#: g10/g10.c:864
 msgid "max-cert-depth must be in range 1 to 255\n"
 msgstr "« max-cert-depth » doit être compris entre 1 et 255\n"
 
-#: g10/g10.c:861
+#: g10/g10.c:867
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTE : le mode S2K simple (0) est fortement déconseillé\n"
 
-#: g10/g10.c:865
+#: g10/g10.c:871
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mode S2K invalide ; doit être 0, 1 ou 3\n"
 
-#: g10/g10.c:942
+#: g10/g10.c:948
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "n'a pas pu initialiser la base de confiance : %s\n"
 
-#: g10/g10.c:948
+#: g10/g10.c:954
 msgid "--store [filename]"
 msgstr "--store [nom du fichier]"
 
-#: g10/g10.c:955
+#: g10/g10.c:961
 msgid "--symmetric [filename]"
 msgstr "--symmetric [nom du fichier]"
 
-#: g10/g10.c:963
+#: g10/g10.c:969
 msgid "--encrypt [filename]"
 msgstr "--encrypt [nom du fichier]"
 
-#: g10/g10.c:976
+#: g10/g10.c:982
 msgid "--sign [filename]"
 msgstr "--sign [nom du fichier]"
 
-#: g10/g10.c:989
+#: g10/g10.c:995
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [nom du fichier]"
 
-#: g10/g10.c:1003
+#: g10/g10.c:1009
 msgid "--clearsign [filename]"
 msgstr "--clearsign [nom du fichier]"
 
-#: g10/g10.c:1015
+#: g10/g10.c:1021
 msgid "--decrypt [filename]"
 msgstr "--decrypt [nom du fichier]"
 
-#: g10/g10.c:1024
+#: g10/g10.c:1030
 msgid "--edit-key username [commands]"
 msgstr "--edit-key utilisateur [commandes]"
 
-#: g10/g10.c:1038
+#: g10/g10.c:1044
 msgid "--delete-secret-key username"
 msgstr "--delete-secret-key utilisateur"
 
-#: g10/g10.c:1041
+#: g10/g10.c:1047
 msgid "--delete-key username"
 msgstr "--delete-key utilisateur"
 
-#: g10/encode.c:231 g10/g10.c:1064 g10/sign.c:366
+#: g10/encode.c:231 g10/g10.c:1071 g10/sign.c:366
 #, c-format
 msgid "can't open %s: %s\n"
 msgstr "ne peut ouvrir %s: %s\n"
 
-#: g10/g10.c:1075
+#: g10/g10.c:1082
 msgid "-k[v][v][v][c] [userid] [keyring]"
 msgstr "-k[v][v][v][c] [utilisateur] [porte-clés]"
 
-#: g10/g10.c:1134
+#: g10/g10.c:1141
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "suppression d'armure non réussie : %s\n"
 
-#: g10/g10.c:1142
+#: g10/g10.c:1149
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "construction d'armure non réussie : %s \n"
 
-#: g10/g10.c:1208
+#: g10/g10.c:1215
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "algorithme de hachage `%s' invalide\n"
 
-#: g10/g10.c:1283
+#: g10/g10.c:1290
 msgid "[filename]"
 msgstr "[nom du fichier]"
 
-#: g10/g10.c:1287
+#: g10/g10.c:1294
 msgid "Go ahead and type your message ...\n"
 msgstr "Continuez et tapez votre message...\n"
 
-#: g10/decrypt.c:59 g10/g10.c:1290 g10/verify.c:66
+#: g10/decrypt.c:59 g10/g10.c:1297 g10/verify.c:66
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "ne peut ouvrir `%s'\n"
 
-#: g10/g10.c:1457
+#: g10/g10.c:1466
 msgid ""
 "the first character of a notation name must be a letter or an underscore\n"
 msgstr ""
 
-#: g10/g10.c:1463
+#: g10/g10.c:1472
 msgid ""
 "a notation name must have only letters, digits, dots or underscores and end "
 "with an '='\n"
 msgstr ""
 
-#: g10/g10.c:1469
+#: g10/g10.c:1478
 msgid "dots in a notation name must be surrounded by other characters\n"
 msgstr ""
 
-#: g10/g10.c:1477
+#: g10/g10.c:1486
 msgid "a notation value must not use any control characters\n"
 msgstr ""
 
@@ -915,7 +915,7 @@ msgstr "Votre d
 msgid "Certificates leading to an ultimately trusted key:\n"
 msgstr "Certificats conduisant vers une clé à confiance ultime :\n"
 
-#: g10/pkclist.c:254
+#: g10/pkclist.c:256
 msgid ""
 "Could not find a valid trust path to the key.  Let's see whether we\n"
 "can assign some missing owner trust values.\n"
@@ -924,7 +924,7 @@ msgstr ""
 "N'a pas pu trouver un chemin de confiance valide jusqu'à la clé. Voyons si\n"
 "nous ne pouvons pas assigner quelques indices de confiance manquants.\n"
 
-#: g10/pkclist.c:260
+#: g10/pkclist.c:262
 msgid ""
 "No path leading to one of our keys found.\n"
 "\n"
@@ -932,7 +932,7 @@ msgstr ""
 "Aucun chemin menant vers une de nos clés n'a été trouvé.\n"
 "\n"
 
-#: g10/pkclist.c:262
+#: g10/pkclist.c:264
 msgid ""
 "No certificates with undefined trust found.\n"
 "\n"
@@ -940,7 +940,7 @@ msgstr ""
 "Aucun certificat à confiance indéfinie n'a été trouvé.\n"
 "\n"
 
-#: g10/pkclist.c:264
+#: g10/pkclist.c:266
 msgid ""
 "No trust values changed.\n"
 "\n"
@@ -948,36 +948,36 @@ msgstr ""
 "Pas d'indice de confiance changé.\n"
 "\n"
 
-#: g10/pkclist.c:281
+#: g10/pkclist.c:283
 #, c-format
 msgid "key %08lX: key has been revoked!\n"
 msgstr "clé %08lX : la clé a été révoquée !\n"
 
-#: g10/pkclist.c:287 g10/pkclist.c:297 g10/pkclist.c:403
+#: g10/pkclist.c:289 g10/pkclist.c:299 g10/pkclist.c:405
 msgid "Use this key anyway? "
 msgstr "Utiliser cette clé quand-même ? "
 
-#: g10/pkclist.c:291
+#: g10/pkclist.c:293
 #, c-format
 msgid "key %08lX: subkey has been revoked!\n"
 msgstr "clé %08lX : la sous-clé a été révoquée !\n"
 
-#: g10/pkclist.c:321
+#: g10/pkclist.c:323
 #, c-format
 msgid "%08lX: key has expired\n"
 msgstr "%08lX : la clé a expiré\n"
 
-#: g10/pkclist.c:327
+#: g10/pkclist.c:329
 #, c-format
 msgid "%08lX: no info to calculate a trust probability\n"
 msgstr "%08lX : pas d'information pour calculer une probabilité de confiance\n"
 
-#: g10/pkclist.c:341
+#: g10/pkclist.c:343
 #, c-format
 msgid "%08lX: We do NOT trust this key\n"
 msgstr "%08lX : Nous ne faisons PAS confiance à cette clé\n"
 
-#: g10/pkclist.c:347
+#: g10/pkclist.c:349
 #, c-format
 msgid ""
 "%08lX: It is not sure that this key really belongs to the owner\n"
@@ -987,15 +987,15 @@ msgstr ""
 "propriétaire\n"
 "mais elle est quand même acceptée\n"
 
-#: g10/pkclist.c:353
+#: g10/pkclist.c:355
 msgid "This key probably belongs to the owner\n"
 msgstr "Cette clé appartient probablement à son propriétaire\n"
 
-#: g10/pkclist.c:358
+#: g10/pkclist.c:360
 msgid "This key belongs to us\n"
 msgstr "Cette clé nous appartient\n"
 
-#: g10/pkclist.c:398
+#: g10/pkclist.c:400
 msgid ""
 "It is NOT certain that the key belongs to its owner.\n"
 "If you *really* know what you are doing, you may answer\n"
@@ -1007,67 +1007,67 @@ msgstr ""
 "oui à la prochaine question\n"
 "\n"
 
-#: g10/pkclist.c:411 g10/pkclist.c:433
+#: g10/pkclist.c:413 g10/pkclist.c:435
 msgid "WARNING: Using untrusted key!\n"
 msgstr "ATTENTION : Utilisation d'une clé sans confiance !\n"
 
-#: g10/pkclist.c:454
+#: g10/pkclist.c:456
 msgid "WARNING: This key has been revoked by its owner!\n"
 msgstr "ATTENTION : Cette clé à été révoquée par son propriétaire !\n"
 
-#: g10/pkclist.c:455
+#: g10/pkclist.c:457
 msgid "         This could mean that the signature is forgery.\n"
 msgstr "         Cela pourrait signifier que la signature est fausse.\n"
 
-#: g10/pkclist.c:459
+#: g10/pkclist.c:461
 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"
 
-#: g10/pkclist.c:480
+#: g10/pkclist.c:482
 msgid "Note: This key has expired!\n"
 msgstr "Note : Cette clé a expiré !\n"
 
-#: g10/pkclist.c:487
+#: g10/pkclist.c:489
 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"
 
-#: g10/pkclist.c:489
+#: g10/pkclist.c:491
 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"
 
-#: g10/pkclist.c:505
+#: g10/pkclist.c:507
 msgid "WARNING: We do NOT trust this key!\n"
 msgstr "ATTENTION : Nous ne faisons PAS confiance à cette clé !\n"
 
-#: g10/pkclist.c:506
+#: g10/pkclist.c:508
 msgid "         The signature is probably a FORGERY.\n"
 msgstr "         La signature est certainement FAUSSE.\n"
 
-#: g10/pkclist.c:513
+#: g10/pkclist.c:515
 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"
 
-#: g10/pkclist.c:516
+#: g10/pkclist.c:518
 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"
 
-#: g10/pkclist.c:580 g10/pkclist.c:602 g10/pkclist.c:665 g10/pkclist.c:705
+#: g10/pkclist.c:582 g10/pkclist.c:604 g10/pkclist.c:670 g10/pkclist.c:715
 #, c-format
 msgid "%s: skipped: %s\n"
 msgstr "%s : ignoré : %s\n"
 
-#: g10/pkclist.c:588 g10/pkclist.c:687
+#: g10/pkclist.c:590 g10/pkclist.c:697
 #, fuzzy, c-format
 msgid "%s: skipped: public key already present\n"
 msgstr "%s : problème de lecture du bloc de clés : %s\n"
 
-#: g10/pkclist.c:611
+#: g10/pkclist.c:613
 msgid ""
 "You did not specify a user ID. (you may use \"-r\")\n"
 "\n"
@@ -1076,20 +1076,30 @@ msgstr ""
 "\"-r\")\n"
 "\n"
 
-#: g10/pkclist.c:616
+#: g10/pkclist.c:618
 msgid "Enter the user ID: "
 msgstr "Entrez le nom d'utilisateur : "
 
-#: g10/pkclist.c:627
+#: g10/pkclist.c:629
 msgid "No such user ID.\n"
 msgstr "Pas de tel utilisateur.\n"
 
-#: g10/pkclist.c:673
+#: g10/pkclist.c:639
+#, fuzzy
+msgid "Public key is disabled.\n"
+msgstr "la clé publique est %08lX\n"
+
+#: g10/pkclist.c:678
 #, c-format
 msgid "%s: error checking key: %s\n"
 msgstr "%s : erreur pendant la vérification de la clé : %s\n"
 
-#: g10/pkclist.c:711
+#: g10/pkclist.c:683
+#, fuzzy, c-format
+msgid "%s: skipped: public key is disabled\n"
+msgstr "%s : problème de lecture du bloc de clés : %s\n"
+
+#: g10/pkclist.c:721
 msgid "no valid addressees\n"
 msgstr "pas de destinataire valide\n"
 
@@ -1232,29 +1242,29 @@ msgstr ""
 "      <n>m = la clé expire dans n mois\n"
 "      <n>y = la clé expire dans n ans\n"
 
-#: g10/keygen.c:524
+#: g10/keygen.c:526
 msgid "Key is valid for? (0) "
 msgstr "La clé est valide pour ? (0) "
 
-#: g10/keygen.c:535
+#: g10/keygen.c:547
 msgid "invalid value\n"
 msgstr "valeur invalide\n"
 
-#: g10/keygen.c:540
+#: g10/keygen.c:552
 msgid "Key does not expire at all\n"
 msgstr "La clé n'expire pas du tout\n"
 
 #. print the date when the key expires
-#: g10/keygen.c:546
+#: g10/keygen.c:558
 #, c-format
 msgid "Key expires at %s\n"
 msgstr "La clé expire le %s\n"
 
-#: g10/keygen.c:552
+#: g10/keygen.c:564
 msgid "Is this correct (y/n)? "
 msgstr "Est-ce correct (o/n) ? "
 
-#: g10/keygen.c:595
+#: g10/keygen.c:607
 msgid ""
 "\n"
 "You need a User-ID to identify your key; the software constructs the user "
@@ -1270,44 +1280,44 @@ msgstr ""
 "   « Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> »\n"
 "\n"
 
-#: g10/keygen.c:606
+#: g10/keygen.c:618
 msgid "Real name: "
 msgstr "Nom réel : "
 
-#: g10/keygen.c:610
+#: g10/keygen.c:622
 msgid "Invalid character in name\n"
 msgstr "Caractère invalide dans le nom\n"
 
-#: g10/keygen.c:612
+#: g10/keygen.c:624
 msgid "Name may not start with a digit\n"
 msgstr "Le nom ne doit pas commencer par un chiffre\n"
 
-#: g10/keygen.c:614
+#: g10/keygen.c:626
 msgid "Name must be at least 5 characters long\n"
 msgstr "Le nom doit faire au moins 5 caractères de long\n"
 
-#: g10/keygen.c:622
+#: g10/keygen.c:634
 msgid "Email address: "
 msgstr "Adresse e-mail : "
 
-#: g10/keygen.c:633
+#: g10/keygen.c:645
 msgid "Not a valid email address\n"
 msgstr "Ce n'est pas une adresse e-mail valide\n"
 
-#: g10/keygen.c:641
+#: g10/keygen.c:653
 msgid "Comment: "
 msgstr "Commentaire : "
 
-#: g10/keygen.c:647
+#: g10/keygen.c:659
 msgid "Invalid character in comment\n"
 msgstr "Caractère invalide dans le commentaire\n"
 
-#: g10/keygen.c:669
+#: g10/keygen.c:681
 #, c-format
 msgid "You are using the `%s' character set.\n"
 msgstr "Vous utilisez le jeu de caractères '%s'.\n"
 
-#: g10/keygen.c:675
+#: g10/keygen.c:687
 #, c-format
 msgid ""
 "You selected this USER-ID:\n"
@@ -1318,15 +1328,15 @@ msgstr ""
 "    \"%s\"\n"
 "\n"
 
-#: g10/keygen.c:678
+#: g10/keygen.c:690
 msgid "NnCcEeOoQq"
 msgstr "NnCcEeOoQq"
 
-#: g10/keygen.c:688
+#: g10/keygen.c:700
 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? "
 
-#: g10/keygen.c:740
+#: g10/keygen.c:752
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -1334,11 +1344,11 @@ msgstr ""
 "Vous avez besoin d'un mot de passe pour protéger votre clé secrète.\n"
 "\n"
 
-#: g10/keyedit.c:455 g10/keygen.c:748
+#: g10/keyedit.c:456 g10/keygen.c:760
 msgid "passphrase not correctly repeated; try again.\n"
 msgstr "le mot de passe n'a pas été répété à l'identique ; recommencez.\n"
 
-#: g10/keygen.c:754
+#: g10/keygen.c:766
 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"
@@ -1350,7 +1360,7 @@ msgstr ""
 "le désirez, en utilisant ce programme avec l'option « --edit-key ».\n"
 "\n"
 
-#: g10/keygen.c:775
+#: g10/keygen.c:787
 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"
@@ -1362,34 +1372,34 @@ msgstr ""
 "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"
 
-#: g10/keygen.c:845
+#: g10/keygen.c:857
 msgid "Key generation can only be used in interactive mode\n"
 msgstr "La génération de clé ne peut être faite qu'en mode interactif\n"
 
-#: g10/keygen.c:853
+#: g10/keygen.c:865
 msgid "DSA keypair will have 1024 bits.\n"
 msgstr "La paire de clés DSA fera 1024 bits.\n"
 
-#: g10/keygen.c:859
+#: g10/keygen.c:871
 #, fuzzy
 msgid "Key generation canceled.\n"
 msgstr "La génération a été annulée.\n"
 
-#: g10/keygen.c:869
+#: g10/keygen.c:881
 #, c-format
 msgid "writing public certificate to `%s'\n"
 msgstr "écriture d'un certificat public à `%s'\n"
 
-#: g10/keygen.c:870
+#: g10/keygen.c:882
 #, c-format
 msgid "writing secret certificate to `%s'\n"
 msgstr "écriture d'un certificat secret à `%s'\n"
 
-#: g10/keygen.c:947
+#: g10/keygen.c:959
 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"
 
-#: g10/keygen.c:949
+#: g10/keygen.c:961
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a secondary key for this purpose.\n"
@@ -1398,13 +1408,13 @@ msgstr ""
 "utiliser la commande « --edit-key » pour générer une clé secondaire à\n"
 "cette fin.\n"
 
-#: g10/keygen.c:963 g10/keygen.c:1062
+#: g10/keygen.c:975 g10/keygen.c:1074
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "La génération de clé a échoué : %s\n"
 
 # on s'amuse comme on peut...
-#: g10/keygen.c:1007 g10/sig-check.c:300 g10/sign.c:105
+#: g10/keygen.c:1019 g10/sig-check.c:312 g10/sign.c:105
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -1412,7 +1422,7 @@ msgstr ""
 "la clé a été créée %lu seconde dans le futur (discontinuité temporelle ou\n"
 "problème d'horloge)\n"
 
-#: g10/keygen.c:1009 g10/sig-check.c:302 g10/sign.c:107
+#: g10/keygen.c:1021 g10/sig-check.c:314 g10/sign.c:107
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -1420,11 +1430,11 @@ msgstr ""
 "la clé a été créée %lu secondes dans le futur (discontinuité temporelle ou\n"
 "problème d'horloge\n"
 
-#: g10/keygen.c:1040
+#: g10/keygen.c:1052
 msgid "Really create? "
 msgstr "Créer vraiment ? "
 
-#: g10/encode.c:91 g10/openfile.c:118 g10/openfile.c:208 g10/tdbio.c:467
+#: g10/encode.c:91 g10/openfile.c:156 g10/openfile.c:246 g10/tdbio.c:467
 #: g10/tdbio.c:528
 #, c-format
 msgid "%s: can't open: %s\n"
@@ -1494,7 +1504,7 @@ msgstr "impossible d'ouvrir `%s': %s\n"
 msgid "skipping block of type %d\n"
 msgstr "ne prend pas en compte le bloc de type %d\n"
 
-#: g10/import.c:167 g10/trustdb.c:2560 g10/trustdb.c:2668
+#: g10/import.c:167 g10/trustdb.c:1656 g10/trustdb.c:1695
 #, c-format
 msgid "%lu keys so far processed\n"
 msgstr "%lu clés traitées jusqu'ici\n"
@@ -1559,7 +1569,7 @@ msgstr "       cl
 msgid " secret keys unchanged: %lu\n"
 msgstr "      clés secrètes inchangées : %lu\n"
 
-#: g10/import.c:342 g10/import.c:529
+#: g10/import.c:342 g10/import.c:526
 #, c-format
 msgid "key %08lX: no user id\n"
 msgstr "clé %08lX : pas de nom d'utilisateur\n"
@@ -1573,7 +1583,7 @@ msgstr "cl
 msgid "this may be caused by a missing self-signature\n"
 msgstr "cela peut provenir d'une auto-signature manquante\n"
 
-#: g10/import.c:366 g10/import.c:596
+#: g10/import.c:366 g10/import.c:593
 #, c-format
 msgid "key %08lX: public key not found: %s\n"
 msgstr "clé %08lX : clé publique pas trouvée: %s\n"
@@ -1582,17 +1592,17 @@ msgstr "cl
 msgid "no default public keyring\n"
 msgstr "pas de porte-clés public par défaut\n"
 
-#: g10/import.c:376 g10/openfile.c:148 g10/sign.c:268 g10/sign.c:559
+#: g10/import.c:376 g10/openfile.c:186 g10/sign.c:268 g10/sign.c:559
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "écriture de `%s'\n"
 
-#: g10/import.c:379 g10/import.c:435 g10/import.c:544 g10/import.c:645
+#: g10/import.c:379 g10/import.c:432 g10/import.c:541 g10/import.c:642
 #, c-format
 msgid "can't lock keyring `%s': %s\n"
 msgstr "ne peut verrouiller le porte-clés `%s' : %s\n"
 
-#: g10/import.c:382 g10/import.c:438 g10/import.c:547 g10/import.c:648
+#: g10/import.c:382 g10/import.c:435 g10/import.c:544 g10/import.c:645
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "erreur durant l'écriture du porte-clés `%s' : %s\n"
@@ -1607,115 +1617,115 @@ msgstr "cl
 msgid "key %08lX: doesn't match our copy\n"
 msgstr "clé %08lX : ne ressemble pas à notre copie\n"
 
-#: g10/import.c:411 g10/import.c:604
+#: g10/import.c:408 g10/import.c:601
 #, c-format
 msgid "key %08lX: can't locate original keyblock: %s\n"
 msgstr "clé %08lX : ne peut trouver le bloc de clés original : %s\n"
 
-#: g10/import.c:417 g10/import.c:610
+#: g10/import.c:414 g10/import.c:607
 #, c-format
 msgid "key %08lX: can't read original keyblock: %s\n"
 msgstr "clé %08lX : ne peut lire le bloc de clés original : %s\n"
 
-#: g10/import.c:444
+#: g10/import.c:441
 #, c-format
 msgid "key %08lX: 1 new user-id\n"
 msgstr "clé %08lX : un nouvel utilisateur\n"
 
-#: g10/import.c:447
+#: g10/import.c:444
 #, c-format
 msgid "key %08lX: %d new user-ids\n"
 msgstr "clé %08lX : %d nouveaux utilisateurs\n"
 
-#: g10/import.c:450
+#: g10/import.c:447
 #, c-format
 msgid "key %08lX: 1 new signature\n"
 msgstr "clé %08lX : une nouvelle signature\n"
 
-#: g10/import.c:453
+#: g10/import.c:450
 #, c-format
 msgid "key %08lX: %d new signatures\n"
 msgstr "clé %08lX : %d nouvelles signatures\n"
 
-#: g10/import.c:456
+#: g10/import.c:453
 #, c-format
 msgid "key %08lX: 1 new subkey\n"
 msgstr "clé %08lX : une nouvelle sous-clé\n"
 
-#: g10/import.c:459
+#: g10/import.c:456
 #, c-format
 msgid "key %08lX: %d new subkeys\n"
 msgstr "clé %08lX : %d nouvelles sous-clés\n"
 
-#: g10/import.c:469
+#: g10/import.c:466
 #, c-format
 msgid "key %08lX: not changed\n"
 msgstr "clé %08lX : n'a pas changé\n"
 
-#: g10/import.c:552
+#: g10/import.c:549
 #, c-format
 msgid "key %08lX: secret key imported\n"
 msgstr "clé %08lX : clé secrète importée\n"
 
 #. we can't merge secret keys
-#: g10/import.c:556
+#: g10/import.c:553
 #, c-format
 msgid "key %08lX: already in secret keyring\n"
 msgstr "clé %08lX : déjà dans le porte-clés secret\n"
 
-#: g10/import.c:561
+#: g10/import.c:558
 #, c-format
 msgid "key %08lX: secret key not found: %s\n"
 msgstr "clé %08lX : clé secrète pas trouvée: %s\n"
 
-#: g10/import.c:590
+#: g10/import.c:587
 #, c-format
 msgid "key %08lX: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clé %08lX : pas de clé publique - ne peut appliquer le certificat de\n"
 "révocation\n"
 
-#: g10/import.c:621
+#: g10/import.c:618
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - rejected\n"
 msgstr "clé %08lX : certificat de révocation invalide : %s - rejeté\n"
 
-#: g10/import.c:653
+#: g10/import.c:650
 #, c-format
 msgid "key %08lX: revocation certificate imported\n"
 msgstr "clé %08lX : certificat de révocation importé\n"
 
-#: g10/import.c:686
+#: g10/import.c:683
 #, c-format
 msgid "key %08lX: no user-id for signature\n"
 msgstr "clé %08lX : pas d'utilisateur pour la signature\n"
 
-#: g10/import.c:693 g10/import.c:717
+#: g10/import.c:690 g10/import.c:714
 #, c-format
 msgid "key %08lX: unsupported public key algorithm\n"
 msgstr "clé %08lX : algorithme de clé publique non supporté\n"
 
-#: g10/import.c:694
+#: g10/import.c:691
 #, c-format
 msgid "key %08lX: invalid self-signature\n"
 msgstr "clé %08lX : auto-signature invalide\n"
 
-#: g10/import.c:709
+#: g10/import.c:706
 #, c-format
 msgid "key %08lX: no subkey for key binding\n"
 msgstr "clé %08lX : pas de sous-clé pour relier la clé\n"
 
-#: g10/import.c:718
+#: g10/import.c:715
 #, c-format
 msgid "key %08lX: invalid subkey binding\n"
 msgstr "clé %08lX : liaison avec la sous-clé invalide\n"
 
-#: g10/import.c:750
+#: g10/import.c:747
 #, c-format
 msgid "key %08lX: skipped userid '"
 msgstr "clé %08lX : utilisateur non pris en compte '"
 
-#: g10/import.c:773
+#: g10/import.c:770
 #, c-format
 msgid "key %08lX: skipped subkey\n"
 msgstr "clé %08lX : sous-clé non prise en compte\n"
@@ -1724,98 +1734,98 @@ msgstr "cl
 #. * 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:798
+#: g10/import.c:795
 #, c-format
 msgid "key %08lX: non exportable signature (class %02x) - skipped\n"
 msgstr "clé %08lX : signature non exportable (classe %02x) - ignorée\n"
 
-#: g10/import.c:807
+#: g10/import.c:804
 #, c-format
 msgid "key %08lX: revocation certificate at wrong place - skipped\n"
 msgstr "clé %08lX : certificat de révocation au mauvais endroit - ignorée\n"
 
-#: g10/import.c:815
+#: g10/import.c:812
 #, c-format
 msgid "key %08lX: invalid revocation certificate: %s - skipped\n"
 msgstr "clé %08lX : certificat de révocation invalide : %s - ignorée\n"
 
-#: g10/import.c:915
+#: g10/import.c:912
 #, c-format
 msgid "key %08lX: duplicated user ID detected - merged\n"
 msgstr "clé %08lX: nom d'utilisateur doublon fusionné\n"
 
-#: g10/import.c:966
+#: g10/import.c:963
 #, c-format
 msgid "key %08lX: revocation certificate added\n"
 msgstr "clé %08lX : certificat de révocation ajouté\n"
 
-#: g10/import.c:1079 g10/import.c:1134
+#: g10/import.c:1076 g10/import.c:1131
 #, c-format
 msgid "key %08lX: our copy has no self-signature\n"
 msgstr "clé %08lX : notre copie n'a pas d'auto-signature\n"
 
-#: g10/keyedit.c:92
+#: g10/keyedit.c:93
 #, c-format
 msgid "%s: user not found\n"
 msgstr "%s : utilisateur non trouvé\n"
 
-#: g10/keyedit.c:153
+#: g10/keyedit.c:154
 msgid "[revocation]"
 msgstr "[révocation]"
 
-#: g10/keyedit.c:154
+#: g10/keyedit.c:155
 msgid "[self-signature]"
 msgstr "[auto-signature]"
 
-#: g10/keyedit.c:218
+#: g10/keyedit.c:219
 msgid "1 bad signature\n"
 msgstr "une mauvaise signature\n"
 
-#: g10/keyedit.c:220
+#: g10/keyedit.c:221
 #, c-format
 msgid "%d bad signatures\n"
 msgstr "%d mauvaises signatures\n"
 
-#: g10/keyedit.c:222
+#: g10/keyedit.c:223
 msgid "1 signature not checked due to a missing key\n"
 msgstr "une signature non vérifiée à cause d'une clé manquante\n"
 
-#: g10/keyedit.c:224
+#: g10/keyedit.c:225
 #, 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"
 
-#: g10/keyedit.c:226
+#: g10/keyedit.c:227
 msgid "1 signature not checked due to an error\n"
 msgstr "une signature non vérifiée à cause d'une erreur\n"
 
-#: g10/keyedit.c:228
+#: g10/keyedit.c:229
 #, c-format
 msgid "%d signatures not checked due to errors\n"
 msgstr "%d signatures non vérifiées à cause d'erreurs\n"
 
-#: g10/keyedit.c:230
+#: g10/keyedit.c:231
 msgid "1 user id without valid self-signature detected\n"
 msgstr "un nom d'utilisateur sans auto-signature valide détecté\n"
 
-#: g10/keyedit.c:232
+#: g10/keyedit.c:233
 #, c-format
 msgid "%d user ids without valid self-signatures detected\n"
 msgstr "%d nom d'utilisateurs sans auto-signature valide détecté\n"
 
 #. Fixme: see whether there is a revocation in which
 #. * case we should allow to sign it again.
-#: g10/keyedit.c:312
+#: g10/keyedit.c:313
 #, c-format
 msgid "Already signed by key %08lX\n"
 msgstr "Déjà signé par la clé %08lX\n"
 
-#: g10/keyedit.c:320
+#: g10/keyedit.c:321
 #, c-format
 msgid "Nothing to sign with key %08lX\n"
 msgstr "Rien à signer avec la clé %08lX\n"
 
-#: g10/keyedit.c:329
+#: g10/keyedit.c:330
 msgid ""
 "Are you really sure that you want to sign this key\n"
 "with your key: \""
@@ -1823,7 +1833,7 @@ msgstr ""
 "Etes-vous vraiment sûr(e) que vous voulez signer cette clé\n"
 "avec la vôtre : \""
 
-#: g10/keyedit.c:338
+#: g10/keyedit.c:339
 msgid ""
 "The signature will be marked as non-exportable.\n"
 "\n"
@@ -1831,35 +1841,35 @@ msgstr ""
 "La signature sera marquée comme non-exportable.\n"
 "\n"
 
-#: g10/keyedit.c:343
+#: g10/keyedit.c:344
 msgid "Really sign? "
 msgstr "Signer réellement ? "
 
-#: g10/keyedit.c:369 g10/keyedit.c:1790 g10/keyedit.c:1839 g10/sign.c:128
+#: g10/keyedit.c:370 g10/keyedit.c:1806 g10/keyedit.c:1855 g10/sign.c:128
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "la signature a échoué : %s\n"
 
-#: g10/keyedit.c:422
+#: g10/keyedit.c:423
 msgid "This key is not protected.\n"
 msgstr "Cette clé n'est pas protégée.\n"
 
-#: g10/keyedit.c:425
+#: g10/keyedit.c:426
 msgid "Key is protected.\n"
 msgstr "La clé est protégée.\n"
 
-#: g10/keyedit.c:442
+#: g10/keyedit.c:443
 #, c-format
 msgid "Can't edit this key: %s\n"
 msgstr "Ne peut éditer cette clé : %s\n"
 
-#: g10/keyedit.c:447
+#: g10/keyedit.c:448
 msgid ""
 "Enter the new passphrase for this secret key.\n"
 "\n"
 msgstr "Entrez le nouveau mot de passe pour cette clé secrète.\n"
 
-#: g10/keyedit.c:459
+#: g10/keyedit.c:460
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
@@ -1868,382 +1878,405 @@ msgstr ""
 "*mauvaise* idée\n"
 "\n"
 
-#: g10/keyedit.c:462
+#: g10/keyedit.c:463
 msgid "Do you really want to do this? "
 msgstr "Voulez-vous vraiment faire cela? "
 
-#: g10/keyedit.c:523
+#: g10/keyedit.c:524
 msgid "moving a key signature to the correct place\n"
 msgstr "replacer la signature d'une clé à l'endroit correct\n"
 
-#: g10/keyedit.c:559
+#: g10/keyedit.c:561
 msgid "quit this menu"
 msgstr "quitter ce menu"
 
-#: g10/keyedit.c:560
+#: g10/keyedit.c:562
 msgid "q"
 msgstr "q"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save"
 msgstr "enregistrer"
 
-#: g10/keyedit.c:561
+#: g10/keyedit.c:563
 msgid "save and quit"
 msgstr "enregistrer et quitter"
 
 # FIXMOI : si je mets aide ça va demander de taper "aide"...
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "help"
 msgstr "help"
 
-#: g10/keyedit.c:562
+#: g10/keyedit.c:564
 msgid "show this help"
 msgstr "afficher cette aide"
 
 # g10/keyedit.c:556 ???
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "fpr"
 msgstr "fpr"
 
-#: g10/keyedit.c:564
+#: g10/keyedit.c:566
 msgid "show fingerprint"
 msgstr "afficher l'empreinte"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list"
 msgstr "lister"
 
-#: g10/keyedit.c:565
+#: g10/keyedit.c:567
 msgid "list key and user ids"
 msgstr "lister la clé et les noms d'utilisateurs"
 
-#: g10/keyedit.c:566
+#: g10/keyedit.c:568
 msgid "l"
 msgstr "l"
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "uid"
 msgstr "uid"
 
-#: g10/keyedit.c:567
+#: g10/keyedit.c:569
 msgid "select user id N"
 msgstr "sélectionner le nom d'utilisateur N"
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "key"
 msgstr "clé"
 
-#: g10/keyedit.c:568
+#: g10/keyedit.c:570
 msgid "select secondary key N"
 msgstr "sélectionner la clé secondaire N"
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "check"
 msgstr "vérifier"
 
-#: g10/keyedit.c:569
+#: g10/keyedit.c:571
 msgid "list signatures"
 msgstr "lister les signatures"
 
-#: g10/keyedit.c:570
+#: g10/keyedit.c:572
 msgid "c"
 msgstr "c"
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign"
 msgstr "signer"
 
-#: g10/keyedit.c:571
+#: g10/keyedit.c:573
 msgid "sign the key"
 msgstr "signer la clé"
 
-#: g10/keyedit.c:572
+#: g10/keyedit.c:574
 msgid "s"
 msgstr "s"
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 msgid "lsign"
 msgstr "lsigner"
 
-#: g10/keyedit.c:573
+#: g10/keyedit.c:575
 msgid "sign the key locally"
 msgstr "signer la clé localement"
 
-#: g10/keyedit.c:574
+#: g10/keyedit.c:576
 msgid "debug"
 msgstr "déboguer"
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "adduid"
 msgstr "aj.ut"
 
-#: g10/keyedit.c:575
+#: g10/keyedit.c:577
 msgid "add a user id"
 msgstr "ajouter un utilisateur"
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "deluid"
 msgstr "suppr.ut"
 
-#: g10/keyedit.c:576
+#: g10/keyedit.c:578
 msgid "delete user id"
 msgstr "enlever un utilisateur"
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "addkey"
 msgstr "aj.clé"
 
-#: g10/keyedit.c:577
+#: g10/keyedit.c:579
 msgid "add a secondary key"
 msgstr "ajouter une clé secondaire"
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delkey"
 msgstr "suppr.clé"
 
-#: g10/keyedit.c:578
+#: g10/keyedit.c:580
 msgid "delete a secondary key"
 msgstr "enlever une clé secondaire"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 #, fuzzy
 msgid "delsig"
 msgstr "lsigner"
 
-#: g10/keyedit.c:579
+#: g10/keyedit.c:581
 #, fuzzy
 msgid "delete signatures"
 msgstr "lister les signatures"
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "expire"
 msgstr "expire"
 
-#: g10/keyedit.c:580
+#: g10/keyedit.c:582
 msgid "change the expire date"
 msgstr "changer la date d'expiration"
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle"
 msgstr "changer"
 
-#: g10/keyedit.c:581
+#: g10/keyedit.c:583
 msgid "toggle between secret and public key listing"
 msgstr "passer de la liste des clés secrètes aux clés privées et inversement"
 
-#: g10/keyedit.c:583
+#: g10/keyedit.c:585
 msgid "t"
 msgstr "t"
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "pref"
 msgstr "préf"
 
-#: g10/keyedit.c:584
+#: g10/keyedit.c:586
 msgid "list preferences"
 msgstr "lister les préférences"
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "passwd"
 msgstr "mot.pas"
 
-#: g10/keyedit.c:585
+#: g10/keyedit.c:587
 msgid "change the passphrase"
 msgstr "changer le mot de passe"
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "trust"
 msgstr "confi."
 
-#: g10/keyedit.c:586
+#: g10/keyedit.c:588
 msgid "change the ownertrust"
 msgstr "changer la confiance"
 
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revsig"
 msgstr "revsig"
 
 #
-#: g10/keyedit.c:587
+#: g10/keyedit.c:589
 msgid "revoke signatures"
 msgstr "révoquer les signatures"
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revkey"
 msgstr "revclé"
 
-#: g10/keyedit.c:588
+#: g10/keyedit.c:590
 msgid "revoke a secondary key"
 msgstr "révoquer une clé secondaire"
 
-#: g10/keyedit.c:607
+#: g10/keyedit.c:591
+msgid "disable"
+msgstr ""
+
+#: g10/keyedit.c:591
+#, fuzzy
+msgid "disable a key"
+msgstr "mauvaise clé"
+
+#: g10/keyedit.c:592
+msgid "enable"
+msgstr ""
+
+#: g10/keyedit.c:592
+#, fuzzy
+msgid "enable a key"
+msgstr "mauvaise clé"
+
+#: g10/keyedit.c:611
 msgid "can't do that in batchmode\n"
 msgstr "impossible de faire cela en mode automatique\n"
 
 #. check that they match
 #. FIXME: check that they both match
-#: g10/keyedit.c:636
+#: g10/keyedit.c:640
 msgid "Secret key is available.\n"
 msgstr "La clé secrète est disponible.\n"
 
-#: g10/keyedit.c:665
+#: g10/keyedit.c:669
 msgid "Command> "
 msgstr "Commande> "
 
-#: g10/keyedit.c:692
+#: g10/keyedit.c:696
 msgid "Need the secret key to do this.\n"
 msgstr "Il faut la clé secrète pour faire cela.\n"
 
-#: g10/keyedit.c:714
+#: g10/keyedit.c:718
 msgid "Save changes? "
 msgstr "Enregistrer les changements? "
 
-#: g10/keyedit.c:717
+#: g10/keyedit.c:721
 msgid "Quit without saving? "
 msgstr "Quitter sans enregistrer? "
 
-#: g10/keyedit.c:727
+#: g10/keyedit.c:731
 #, c-format
 msgid "update failed: %s\n"
 msgstr "la mise à jour a échoué : %s\n"
 
-#: g10/keyedit.c:734
+#: g10/keyedit.c:738
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "la mise à jour de la clé secrète a échoué : %s\n"
 
-#: g10/keyedit.c:741
+#: g10/keyedit.c:745
 msgid "Key not changed so no update needed.\n"
 msgstr "La clé n'a pas changé donc la mise à jour est inutile.\n"
 
-#: g10/keyedit.c:744 g10/keyedit.c:803
+#: g10/keyedit.c:748 g10/keyedit.c:807
 #, c-format
 msgid "update of trustdb failed: %s\n"
 msgstr "la mise à jour de la base de confiance a échoué : %s\n"
 
-#: g10/keyedit.c:777
+#: g10/keyedit.c:781
 msgid "Really sign all user ids? "
 msgstr "Signer vraiment tous les utilisateurs ? "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:782
 msgid "Hint: Select the user ids to sign\n"
 msgstr "Aide : Sélectionner les utilisateurs à signer\n"
 
-#: g10/keyedit.c:814 g10/keyedit.c:835
+#: g10/keyedit.c:818 g10/keyedit.c:839
 msgid "You must select at least one user id.\n"
 msgstr "Vous devez sélectionner au moins un utilisateur.\n"
 
-#: g10/keyedit.c:816
+#: g10/keyedit.c:820
 msgid "You can't delete the last user id!\n"
 msgstr "Vous ne pouvez pas supprimer le dernier utilisateur !\n"
 
-#: g10/keyedit.c:819
+#: g10/keyedit.c:823
 msgid "Really remove all selected user ids? "
 msgstr "Enlever réellement tous les utilisateurs sélectionnés ? "
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:824
 msgid "Really remove this user id? "
 msgstr "Enlever réellement cet utilisateur ? "
 
-#: g10/keyedit.c:858 g10/keyedit.c:880
+#: g10/keyedit.c:860 g10/keyedit.c:882
 msgid "You must select at least one key.\n"
 msgstr "Vous devez sélectionner au moins une clé.\n"
 
-#: g10/keyedit.c:862
+#: g10/keyedit.c:864
 msgid "Do you really want to delete the selected keys? "
 msgstr "Voulez-vous vraiment supprimer les clés sélectionnées ? "
 
-#: g10/keyedit.c:863
+#: g10/keyedit.c:865
 msgid "Do you really want to delete this key? "
 msgstr "Voulez-vous vraiment supprimer cette clé ? "
 
-#: g10/keyedit.c:884
+#: g10/keyedit.c:886
 msgid "Do you really want to revoke the selected keys? "
 msgstr "Voulez-vous vraiment révoquer les clés sélectionnées ? "
 
-#: g10/keyedit.c:885
+#: g10/keyedit.c:887
 msgid "Do you really want to revoke this key? "
 msgstr "Voulez-vous vraiment révoquer cette clé ? "
 
-#: g10/keyedit.c:939
+#: g10/keyedit.c:949
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Commande invalide  (essayez « help »)\n"
 
-#: g10/keyedit.c:1294
+#: g10/keyedit.c:1039
+#, fuzzy
+msgid "This key has been disabled"
+msgstr "Note : Cette clé a expiré !\n"
+
+#: g10/keyedit.c:1310
 msgid "Delete this good signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:1298
+#: g10/keyedit.c:1314
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:1302
+#: g10/keyedit.c:1318
 #, fuzzy
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)"
 
-#: g10/keyedit.c:1308
+#: g10/keyedit.c:1324
 #, fuzzy
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1338
 #, fuzzy, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d mauvaises signatures\n"
 
-#: g10/keyedit.c:1323
+#: g10/keyedit.c:1339
 #, fuzzy, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d mauvaises signatures\n"
 
-#: g10/keyedit.c:1326
+#: g10/keyedit.c:1342
 #, fuzzy
 msgid "Nothing deleted.\n"
 msgstr "ATTENTION : rien n'a été exporté\n"
 
-#: g10/keyedit.c:1395
+#: g10/keyedit.c:1411
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Enlevez les sélections des clés secrètes.\n"
 
-#: g10/keyedit.c:1401
+#: g10/keyedit.c:1417
 msgid "Please select at most one secondary key.\n"
 msgstr "Vous devez sélectionner au plus une clé secondaire.\n"
 
-#: g10/keyedit.c:1405
+#: g10/keyedit.c:1421
 #, fuzzy
 msgid "Changing expiration time for a secondary key.\n"
 msgstr "Changer la date d'expiration d'une clé secondaire.\n"
 
-#: g10/keyedit.c:1407
+#: g10/keyedit.c:1423
 #, fuzzy
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Changer la date d'expiration de la clé principale.\n"
 
-#: g10/keyedit.c:1448
+#: g10/keyedit.c:1464
 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"
 
-#: g10/keyedit.c:1464
+#: g10/keyedit.c:1480
 msgid "No corresponding signature in secret ring\n"
 msgstr "Pas de signature correspondante dans le porte-clés secret\n"
 
-#: g10/keyedit.c:1524
+#: g10/keyedit.c:1540
 #, c-format
 msgid "No user id with index %d\n"
 msgstr "Pas d'utilisateur avec l'index %d\n"
 
-#: g10/keyedit.c:1570
+#: g10/keyedit.c:1586
 #, c-format
 msgid "No secondary key with index %d\n"
 msgstr "Pas de clé secondaire avec l'index %d\n"
 
-#: g10/keyedit.c:1668
+#: g10/keyedit.c:1684
 msgid "user ID: \""
 msgstr "nom d'utilisateur : « "
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1687
 #, c-format
 msgid ""
 "\"\n"
@@ -2252,15 +2285,15 @@ msgstr ""
 " »\n"
 "signé avec votre clé %08lX à %s\n"
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1691
 msgid "Create a revocation certificate for this signature? (y/N)"
 msgstr "Générer un certificat de révocation pour cette signature ? (o/N)"
 
-#: g10/keyedit.c:1755
+#: g10/keyedit.c:1771
 msgid "Really create the revocation certificates? (y/N)"
 msgstr "Faut-il vraiment générer les certificats de révocation ? (o/N)"
 
-#: g10/keyedit.c:1778
+#: g10/keyedit.c:1794
 msgid "no secret key\n"
 msgstr "pas de clé secrète\n"
 
@@ -2269,7 +2302,7 @@ msgstr "pas de cl
 msgid "public key is %08lX\n"
 msgstr "la clé publique est %08lX\n"
 
-#: g10/mainproc.c:212
+#: g10/mainproc.c:213
 msgid "public key encrypted data: good DEK\n"
 msgstr "données chiffrées avec la clé publique : bonne clé de chiffrement\n"
 
@@ -2277,78 +2310,78 @@ msgstr "donn
 #. * this type - do this by building a list of keys with their stati
 #. * and store it with the context.  do_proc_packets can then use
 #. * this list to display some information
-#: g10/mainproc.c:219
+#: g10/mainproc.c:220
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "le déchiffrement de la clé publique a échoué : %s\n"
 
-#: g10/mainproc.c:247
+#: g10/mainproc.c:248
 msgid "decryption okay\n"
 msgstr "le déchiffrement a réussi\n"
 
-#: g10/mainproc.c:252
+#: g10/mainproc.c:253
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATTENTION: le message chiffré a été manipulé !\n"
 
-#: g10/mainproc.c:257
+#: g10/mainproc.c:258
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "le déchiffrement a échoué : %s\n"
 
-#: g10/mainproc.c:275
+#: g10/mainproc.c:276
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTE : l'expéditeur a demandé « pour vos yeux seulement »\n"
 
-#: g10/mainproc.c:277
+#: g10/mainproc.c:278
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nom de fichier original : '%.*s'\n"
 
-#: g10/mainproc.c:505 g10/mainproc.c:514
+#: g10/mainproc.c:506 g10/mainproc.c:515
 #, fuzzy
 msgid "WARNING: invalid notation data found\n"
 msgstr "aucune donnée OpenPGP valide n'a été trouvée.\n"
 
-#: g10/mainproc.c:517
+#: g10/mainproc.c:518
 msgid "Notation: "
 msgstr ""
 
-#: g10/mainproc.c:524
+#: g10/mainproc.c:525
 msgid "Policy: "
 msgstr ""
 
-#: g10/mainproc.c:929
+#: g10/mainproc.c:930
 msgid "signature verification suppressed\n"
 msgstr "vérification de signature supprimée\n"
 
-#: g10/mainproc.c:935
+#: g10/mainproc.c:936
 #, c-format
 msgid "Signature made %.*s using %s key ID %08lX\n"
 msgstr "Signature faite %.*s avec une clé %s ID %08lX\n"
 
 #. just in case that we have no userid
-#: g10/mainproc.c:961 g10/mainproc.c:972
+#: g10/mainproc.c:962 g10/mainproc.c:973
 msgid "BAD signature from \""
 msgstr "MAUVAISE signature de \""
 
-#: g10/mainproc.c:962 g10/mainproc.c:973
+#: g10/mainproc.c:963 g10/mainproc.c:974
 msgid "Good signature from \""
 msgstr "Bonne signature de \""
 
-#: g10/mainproc.c:964
+#: g10/mainproc.c:965
 msgid "                aka \""
 msgstr "              alias \""
 
-#: g10/mainproc.c:1015
+#: g10/mainproc.c:1016
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Ne peut vérifier la signature : %s\n"
 
-#: g10/mainproc.c:1109
+#: g10/mainproc.c:1110
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signature d'un ancien style (PGP 2.x)\n"
 
-#: g10/mainproc.c:1114
+#: g10/mainproc.c:1115
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "paquet racine invalide détecté dans proc_tree()\n"
 
@@ -2389,7 +2422,7 @@ msgstr "ne peut g
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "un sous-paquet de type %d possède un bit critique\n"
 
-#: g10/passphrase.c:157
+#: g10/passphrase.c:159
 msgid ""
 "\n"
 "You need a passphrase to unlock the secret key for\n"
@@ -2399,21 +2432,21 @@ msgstr ""
 "Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour\n"
 "l'utilisateur: \""
 
-#: g10/passphrase.c:166
+#: g10/passphrase.c:168
 #, c-format
 msgid "%u-bit %s key, ID %08lX, created %s"
 msgstr "clé de %u bits %s, ID %08lX, créée le %s"
 
-#: g10/passphrase.c:171
+#: g10/passphrase.c:173
 #, c-format
 msgid " (main key ID %08lX)"
 msgstr " (ID clé principale %08lX)"
 
-#: g10/passphrase.c:192
+#: g10/passphrase.c:194
 msgid "Enter passphrase: "
 msgstr "Entrez le mot de passe : "
 
-#: g10/passphrase.c:196
+#: g10/passphrase.c:198
 msgid "Repeat passphrase: "
 msgstr "Répétez le mot de passe : "
 
@@ -2469,33 +2502,33 @@ msgstr "Mot de passe invalide ; r
 msgid "WARNING: Weak key detected - please change passphrase again.\n"
 msgstr "ATTENTION : Clé faible détectée - changez encore le mot de passe.\n"
 
-#: g10/sig-check.c:187
+#: g10/sig-check.c:199
 msgid "assuming bad MDC due to an unknown critical bit\n"
 msgstr "le sceau (MDC) est supposé être faux car un bit critique est inconnu\n"
 
-#: g10/sig-check.c:283
+#: g10/sig-check.c:295
 msgid ""
 "this is a PGP generated ElGamal key which is NOT secure for signatures!\n"
 msgstr ""
 "Ceci est une clé ElGamal générée par PGP qui n'est PAS sûre pour les\n"
 "signatures !\n"
 
-#: g10/sig-check.c:291
+#: g10/sig-check.c:303
 #, c-format
 msgid "public key is %lu second newer than the signature\n"
 msgstr "la clé publique est plus récente de %lu seconde que la signature\n"
 
-#: g10/sig-check.c:292
+#: g10/sig-check.c:304
 #, c-format
 msgid "public key is %lu seconds newer than the signature\n"
 msgstr "la clé publique est plus récente de %lu secondes que la signature\n"
 
-#: g10/sig-check.c:308
+#: g10/sig-check.c:320
 #, c-format
 msgid "NOTE: signature key expired %s\n"
 msgstr "NOTE : la clé de signature a expiré le %s\n"
 
-#: g10/sig-check.c:365
+#: g10/sig-check.c:377
 msgid "assuming bad signature due to an unknown critical bit\n"
 msgstr ""
 "la signature est supposée être fausse car un bit critique est\n"
@@ -2530,12 +2563,12 @@ msgstr "ne peut pas traiter les ligne plus longues que %d caract
 msgid "input line longer than %d characters\n"
 msgstr "la ligne d'entrée est plus longue que %d caractères\n"
 
-#: g10/tdbio.c:116 g10/tdbio.c:1505
+#: g10/tdbio.c:116 g10/tdbio.c:1634
 #, c-format
 msgid "trustdb rec %lu: lseek failed: %s\n"
 msgstr "enregistrement de base de confiance %lu : lseek a échoué : %s\n"
 
-#: g10/tdbio.c:122 g10/tdbio.c:1512
+#: g10/tdbio.c:122 g10/tdbio.c:1641
 #, c-format
 msgid "trustdb rec %lu: write failed (n=%d): %s\n"
 msgstr ""
@@ -2566,7 +2599,7 @@ msgstr "%s : r
 msgid "%s: directory does not exist!\n"
 msgstr "%s : le répertoire n'existe pas !\n"
 
-#: g10/openfile.c:144 g10/openfile.c:215 g10/ringedit.c:1344 g10/tdbio.c:457
+#: g10/openfile.c:182 g10/openfile.c:253 g10/ringedit.c:1344 g10/tdbio.c:457
 #, c-format
 msgid "%s: can't create: %s\n"
 msgstr "%s : ne peut créer : %s\n"
@@ -2608,7 +2641,7 @@ msgstr ""
 "%s : erreur pendant la mise à jour de l'enregistrement de version : %s\n"
 
 #: g10/tdbio.c:587 g10/tdbio.c:626 g10/tdbio.c:648 g10/tdbio.c:678
-#: g10/tdbio.c:703 g10/tdbio.c:1438 g10/tdbio.c:1465
+#: g10/tdbio.c:703 g10/tdbio.c:1567 g10/tdbio.c:1594
 #, c-format
 msgid "%s: error reading version record: %s\n"
 msgstr "%s : erreur pendant la lecture de l'enregistrement de version : %s\n"
@@ -2618,472 +2651,356 @@ msgstr "%s : erreur pendant la lecture de l'enregistrement de version : %s\n"
 msgid "%s: error writing version record: %s\n"
 msgstr "%s : erreur pendant l'écriture de l'enregistrement de version : %s\n"
 
-#: g10/tdbio.c:1132
+#: g10/tdbio.c:1246
 #, c-format
 msgid "trustdb: lseek failed: %s\n"
 msgstr "base de confiance : « lseek() » a échoué : %s\n"
 
-#: g10/tdbio.c:1140
+#: g10/tdbio.c:1254
 #, c-format
 msgid "trustdb: read failed (n=%d): %s\n"
 msgstr "base de confiance : la lecture a échoué (n=%d) : %s\n"
 
-#: g10/tdbio.c:1161
+#: g10/tdbio.c:1275
 #, c-format
 msgid "%s: not a trustdb file\n"
 msgstr "%s : ce n'est pas un fichier de base de confiance\n"
 
-#: g10/tdbio.c:1177
+#: g10/tdbio.c:1291
 #, c-format
 msgid "%s: version record with recnum %lu\n"
 msgstr "%s : enregistrement de version avec un numéro %lu\n"
 
-#: g10/tdbio.c:1182
+#: g10/tdbio.c:1296
 #, c-format
 msgid "%s: invalid file version %d\n"
 msgstr "%s : version %d du fichier invalide\n"
 
-#: g10/tdbio.c:1471
+#: g10/tdbio.c:1600
 #, c-format
 msgid "%s: error reading free record: %s\n"
 msgstr "%s : erreur pendant la lecture de l'enregistrement libre : %s\n"
 
-#: g10/tdbio.c:1479
+#: g10/tdbio.c:1608
 #, 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"
 
-#: g10/tdbio.c:1489
+#: g10/tdbio.c:1618
 #, c-format
 msgid "%s: failed to zero a record: %s\n"
 msgstr "%s : n'a pu mettre un enregistrement à zéro : %s\n"
 
-#: g10/tdbio.c:1519
+#: g10/tdbio.c:1648
 #, c-format
 msgid "%s: failed to append a record: %s\n"
 msgstr "%s : n'a pas pu ajouter un enregistrement : %s\n"
 
-#: g10/tdbio.c:1630
+#: g10/tdbio.c:1759
 #, fuzzy
 msgid "the trustdb is corrupted; please run \"gpg --fix-trustdb\".\n"
 msgstr ""
 "La base de confiance est corrompue ; exécutez « gpgm --fix-trustdb ».\n"
 
-#: g10/trustdb.c:163
+#: g10/trustdb.c:160
 #, 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"
 
-#: g10/trustdb.c:178
+#: g10/trustdb.c:175
 #, 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"
 
-#: g10/trustdb.c:192
+#: g10/trustdb.c:189
 #, c-format
 msgid "trust record %lu: delete failed: %s\n"
 msgstr "enregistrement de confiance %lu : la suppression a échoué : %s\n"
 
-#: g10/trustdb.c:206
+#: g10/trustdb.c:203
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de confiance : la synchronisation a échoué : %s\n"
 
-#: g10/trustdb.c:386
+#: g10/trustdb.c:347
 #, c-format
 msgid "error reading dir record for LID %lu: %s\n"
 msgstr ""
 "erreur pendant la lecture de l'enregistrement de répertoire pour\n"
 "le LID %lu : %s\n"
 
-#: g10/trustdb.c:393
+#: g10/trustdb.c:354
 #, c-format
 msgid "lid %lu: expected dir record, got type %d\n"
 msgstr "lid %lu : enregistrement de répertoire attendu, a reçu le type %d\n"
 
-#: g10/trustdb.c:398
+#: g10/trustdb.c:359
 #, c-format
 msgid "no primary key for LID %lu\n"
 msgstr "pas de clé principale pour le LID %lu\n"
 
-#: g10/trustdb.c:403
+#: g10/trustdb.c:364
 #, c-format
 msgid "error reading primary key for LID %lu: %s\n"
 msgstr "erreur pendant la lecture de la clé principale pour le LID %lu : %s\n"
 
-#: g10/trustdb.c:442
+#: g10/trustdb.c:403
 #, c-format
 msgid "get_dir_record: search_record failed: %s\n"
 msgstr "get_dir_record : search_record a échoué : %s\n"
 
-#: g10/trustdb.c:510
+#: g10/trustdb.c:458
 #, c-format
 msgid "NOTE: secret key %08lX is NOT protected.\n"
 msgstr "NOTE : la clé secrète %08lX n'est PAS protégée.\n"
 
-#: g10/trustdb.c:518
+#: g10/trustdb.c:466
 #, c-format
 msgid "key %08lX: secret key without public key - skipped\n"
 msgstr "clé %08lX : clé secrète sans clé publique - non prise en compte\n"
 
-#: g10/trustdb.c:525
+#: g10/trustdb.c:473
 #, c-format
 msgid "key %08lX: secret and public key don't match\n"
 msgstr "clé %08lX : les clés secrète et publique ne correspondent pas\n"
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:483
 #, c-format
 msgid "key %08lX: can't put it into the trustdb\n"
 msgstr "clé %08lX : ne peut être mise dans la base de confiance\n"
 
-#: g10/trustdb.c:541
+#: g10/trustdb.c:489
 #, c-format
 msgid "key %08lX: query record failed\n"
 msgstr "clé %08lX : l'enregistrement de requête a échoué\n"
 
-#: g10/trustdb.c:550
+#: g10/trustdb.c:498
 #, c-format
 msgid "key %08lX: already in trusted key table\n"
 msgstr "clé %08lX : déjà dans la table des clés certifiées\n"
 
-#: g10/trustdb.c:553
+#: g10/trustdb.c:501
 #, c-format
 msgid "key %08lX: accepted as trusted key.\n"
 msgstr "clé %08lX : acceptée comme clé certifiée.\n"
 
-#: g10/trustdb.c:561
+#: g10/trustdb.c:509
 #, c-format
 msgid "enumerate secret keys failed: %s\n"
 msgstr "l'énumération des clés secrètes a échoué : %s\n"
 
-#: g10/trustdb.c:851
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
-msgstr ""
-"NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n"
-"de %lu mais marqué comme vérifié\n"
-
-#: g10/trustdb.c:855
-#, c-format
-msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
-msgstr ""
-"NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n"
-"de %lu mais n'est pas marqué\n"
-
-#. we need the dir record
-#: g10/trustdb.c:862
-#, c-format
-msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
-msgstr ""
-"l'enregistrement de signature %lu[%d] dans la liste d'aide de %lu\n"
-"ne pointe pas vers un enregistrement de répertoire\n"
-
-#: g10/trustdb.c:868
-#, c-format
-msgid "lid %lu: no primary key\n"
-msgstr "lid %lu : pas de clé primaire\n"
-
-#: g10/trustdb.c:901
-#, c-format
-msgid "lid %lu: user id not found in keyblock\n"
-msgstr "lid %lu : utilisateur non trouvé dans le bloc de clés\n"
-
-#: g10/trustdb.c:905
-#, c-format
-msgid "lid %lu: user id without signature\n"
-msgstr "lid %lu : utilisateur sans signature\n"
-
-#: g10/trustdb.c:912
-#, c-format
-msgid "lid %lu: self-signature in hintlist\n"
-msgstr "lid %lu : auto-signature dans la liste d'aide\n"
-
-#: g10/trustdb.c:923 g10/trustdb.c:1675 g10/trustdb.c:1766
-msgid "Valid certificate revocation"
-msgstr "Certificat de révocation valide"
-
-#: g10/trustdb.c:924 g10/trustdb.c:1676 g10/trustdb.c:1767
-msgid "Good certificate"
-msgstr "Bon certificat"
-
-#: g10/trustdb.c:933
-msgid "very strange: no public key\n"
-msgstr "très étrange : pas de clé publique\n"
-
-#: g10/trustdb.c:982
-#, c-format
-msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
-msgstr ""
-"la liste d'aide de %lu[%d] de %lu ne pointe pas vers un enregistrement\n"
-"de répertoire\n"
-
-#: g10/trustdb.c:988
-#, c-format
-msgid "lid %lu does not have a key\n"
-msgstr "la lid %lu n'a pas de clé\n"
-
-#: g10/trustdb.c:998
-#, c-format
-msgid "lid %lu: can't get keyblock: %s\n"
-msgstr "lid %lu: ne peut obtenir le bloc de clés: %s\n"
-
-#: g10/trustdb.c:1055 g10/trustdb.c:2030
-#, c-format
-msgid "tdbio_search_dir failed: %s\n"
+#: g10/trustdb.c:800
+#, fuzzy, c-format
+msgid "tdbio_search_sdir failed: %s\n"
 msgstr "tdbio_search_dir a échoué : %s\n"
 
-#: g10/trustdb.c:1210
+#: g10/trustdb.c:875
 #, c-format
 msgid "key %08lX.%lu: Good subkey binding\n"
 msgstr "clé %08lX.%lu : bonne liaison avec la sous-clé\n"
 
-#: g10/trustdb.c:1216 g10/trustdb.c:1259
+#: g10/trustdb.c:881 g10/trustdb.c:916
 #, c-format
 msgid "key %08lX.%lu: Invalid subkey binding: %s\n"
 msgstr "clé %08lX.%lu : liaison avec la sous-clé invalide : %s\n"
 
-#: g10/trustdb.c:1232
+#: g10/trustdb.c:893
 #, c-format
 msgid "key %08lX.%lu: Valid key revocation\n"
 msgstr "clé %08lX.%lu : révocation de clé valide\n"
 
-#: g10/trustdb.c:1238
+#: g10/trustdb.c:899
 #, c-format
 msgid "key %08lX.%lu: Invalid key revocation: %s\n"
 msgstr "clé %08lX.%lu : révocation de sous-clé invalide : %s\n"
 
-#: g10/trustdb.c:1253
+#: g10/trustdb.c:910
 #, c-format
 msgid "key %08lX.%lu: Valid subkey revocation\n"
 msgstr "clé %08lX.%lu : révocation de sous-clé valide\n"
 
-#: g10/trustdb.c:1360
+#: g10/trustdb.c:1021
 msgid "Good self-signature"
 msgstr "Bonne auto-signature"
 
-#: g10/trustdb.c:1371
+#: g10/trustdb.c:1031
 msgid "Invalid self-signature"
 msgstr "Auto-signature invalide"
 
-#: g10/trustdb.c:1403
-msgid "Valid user ID revocation skipped due to a newer self signature\n"
+#: g10/trustdb.c:1058
+#, fuzzy
+msgid "Valid user ID revocation skipped due to a newer self signature"
 msgstr ""
 "La révocation valide de nom d'utilisateur a été ignorée car l'auto-\n"
 "signature est plus récente\n"
 
-#: g10/trustdb.c:1410
-msgid "Valid user ID revocation\n"
+#: g10/trustdb.c:1064
+#, fuzzy
+msgid "Valid user ID revocation"
 msgstr "Révocation de nom d'utilisateur valide\n"
 
-#: g10/trustdb.c:1417
+#: g10/trustdb.c:1069
 msgid "Invalid user ID revocation"
 msgstr "Révocation de nom d'utilisateur invalide"
 
-#: g10/trustdb.c:1512
-msgid "Too many preferences"
-msgstr "Trop de préférences"
-
-#: g10/trustdb.c:1526
-msgid "Too many preference items"
-msgstr "Trop d'items de préférence"
-
-#: g10/trustdb.c:1549 g10/trustdb.c:3075 g10/trustdb.c:3105
-msgid "WARNING: can't yet handle long pref records\n"
-msgstr ""
-"ATTENTION : les enregistrements de préférences longs ne sont pas encore\n"
-"supportés\n"
-
-#: g10/trustdb.c:1654
-msgid "duplicated certificate - deleted"
-msgstr "certificat dupliqué - supprimé"
+#: g10/trustdb.c:1110
+msgid "Valid certificate revocation"
+msgstr "Certificat de révocation valide"
 
-#: g10/trustdb.c:1692
-msgid "public key not anymore available"
-msgstr "la clé secrète n'est plus disponible"
+#: g10/trustdb.c:1111
+msgid "Good certificate"
+msgstr "Bon certificat"
 
-#: g10/trustdb.c:1702 g10/trustdb.c:1791
+#: g10/trustdb.c:1132
 msgid "Invalid certificate revocation"
 msgstr "Révocation de certificat invalide"
 
-#: g10/trustdb.c:1703 g10/trustdb.c:1792
+#: g10/trustdb.c:1133
 msgid "Invalid certificate"
 msgstr "Certificat invalide"
 
-#: g10/trustdb.c:1720
-#, c-format
-msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
-msgstr ""
-"uid %08lX.%lu/%02X%02X : possède une ombre %lu mais n'est pas encore\n"
-"marqué.\n"
-
-#: g10/trustdb.c:1734
+#: g10/trustdb.c:1150 g10/trustdb.c:1154
 #, c-format
 msgid "sig record %lu[%d] points to wrong record.\n"
 msgstr ""
 "l'enregistrement de signature %lu[%d] pointe vers le mauvais\n"
 "enregistrement de répertoire\n"
 
-#. that should never happen
-#: g10/trustdb.c:2007
-#, c-format
-msgid "insert_trust_record: keyblock not found: %s\n"
-msgstr "insert_trust_record : bloc de clés non trouvé : %s\n"
-
-#: g10/trustdb.c:2408
-msgid "Ooops, no keys\n"
-msgstr "Ooops, pas de clé\n"
+#: g10/trustdb.c:1206
+msgid "duplicated certificate - deleted"
+msgstr "certificat dupliqué - supprimé"
 
-#: g10/trustdb.c:2412
-msgid "Ooops, no user ids\n"
-msgstr "Ooops, pas de nom d'utilisateur\n"
+#: g10/trustdb.c:1512
+#, c-format
+msgid "tdbio_search_dir failed: %s\n"
+msgstr "tdbio_search_dir a échoué : %s\n"
 
-#: g10/trustdb.c:2529
+#: g10/trustdb.c:1634
 #, c-format
 msgid "lid ?: insert failed: %s\n"
 msgstr "lid ? : l'insertion a échoué : %s\n"
 
-#: g10/trustdb.c:2534
+#: g10/trustdb.c:1639
 #, c-format
 msgid "lid %lu: insert failed: %s\n"
 msgstr "lid %lu : l'insertion a échoué : %s\n"
 
-#: g10/trustdb.c:2540
+#: g10/trustdb.c:1645
 #, c-format
 msgid "lid %lu: inserted\n"
 msgstr "lid %lu : inséré\n"
 
-#: g10/trustdb.c:2545 g10/trustdb.c:2654
-#, c-format
-msgid "lid %lu: update failed: %s\n"
-msgstr "lid %lu : la mise à jour a échoué: %s\n"
-
-#: g10/trustdb.c:2551 g10/trustdb.c:2660
-#, c-format
-msgid "lid %lu: updated\n"
-msgstr "lid %lu : mis à jour\n"
-
-#: g10/trustdb.c:2556 g10/trustdb.c:2664
-#, c-format
-msgid "lid %lu: okay\n"
-msgstr "lid %lu : OK\n"
+#: g10/trustdb.c:1650
+#, fuzzy, c-format
+msgid "error reading dir record: %s\n"
+msgstr "%s : erreur pendant la lecture de l'enregistrement libre : %s\n"
 
-#: g10/trustdb.c:2562 g10/trustdb.c:2671
+#: g10/trustdb.c:1658 g10/trustdb.c:1712
 #, c-format
 msgid "%lu keys processed\n"
 msgstr "%lu clés traitées\n"
 
-#: g10/trustdb.c:2564 g10/trustdb.c:2675
+#: g10/trustdb.c:1660 g10/trustdb.c:1716
 #, c-format
 msgid "\t%lu keys with errors\n"
 msgstr "\t%lu clés avec erreurs\n"
 
-#: g10/trustdb.c:2566 g10/trustdb.c:2677
-#, c-format
-msgid "\t%lu keys updated\n"
-msgstr "\t%lu clés mises à jour\n"
-
-#: g10/trustdb.c:2568
+#: g10/trustdb.c:1662
 #, c-format
 msgid "\t%lu keys inserted\n"
 msgstr "\t%lu clés insérées\n"
 
-#: g10/trustdb.c:2571
+#: g10/trustdb.c:1665
 #, c-format
 msgid "enumerate keyblocks failed: %s\n"
 msgstr "l'énumération des blocs de clés a échoué : %s\n"
 
-#: g10/trustdb.c:2598
-#, c-format
-msgid "%s: keyblock read problem: %s\n"
-msgstr "%s : problème de lecture du bloc de clés : %s\n"
-
-#: g10/trustdb.c:2612
-#, c-format
-msgid "%s: update failed: %s\n"
-msgstr "%s : la mise à jour a échoué : %s\n"
-
-#: g10/trustdb.c:2615
-#, c-format
-msgid "%s: updated\n"
-msgstr "%s : mis à jour\n"
-
-#: g10/trustdb.c:2617
-#, c-format
-msgid "%s: okay\n"
-msgstr "%s : OK\n"
-
-#: g10/trustdb.c:2632
+#: g10/trustdb.c:1703
 #, c-format
 msgid "lid %lu: dir record w/o key - skipped\n"
 msgstr "lid %lu : enregistrement de répertoire sans clé - ignoré\n"
 
-#: g10/trustdb.c:2645
-#, c-format
-msgid "lid %lu: keyblock not found: %s\n"
-msgstr "lid %lu : le bloc de clés n'a pas été trouvé : %s\n"
-
-#: g10/trustdb.c:2673
+#: g10/trustdb.c:1714
 #, c-format
 msgid "\t%lu keys skipped\n"
 msgstr "\t%lu clés ignorées\n"
 
-#: g10/trustdb.c:2743
+#: g10/trustdb.c:1718
+#, c-format
+msgid "\t%lu keys updated\n"
+msgstr "\t%lu clés mises à jour\n"
+
+#: g10/trustdb.c:2055
+msgid "Ooops, no keys\n"
+msgstr "Ooops, pas de clé\n"
+
+#: g10/trustdb.c:2059
+msgid "Ooops, no user ids\n"
+msgstr "Ooops, pas de nom d'utilisateur\n"
+
+#: g10/trustdb.c:2216
 #, c-format
 msgid "check_trust: search dir record failed: %s\n"
 msgstr ""
 "check_trust : la recherche d'enregistrement de répertoire a échoué : %s\n"
 
-#: g10/trustdb.c:2750
+#: g10/trustdb.c:2223
 #, c-format
 msgid "key %08lX: insert trust record failed: %s\n"
 msgstr "clé %08lX : l'insertion d'enregistrement de confiance a échoué : %s\n"
 
-#: g10/trustdb.c:2754
+#: g10/trustdb.c:2227
 #, c-format
 msgid "key %08lX.%lu: inserted into trustdb\n"
 msgstr "clé %08lX.%lu : insérée dans la base de confiance\n"
 
-#: g10/trustdb.c:2762
+#: g10/trustdb.c:2235
 #, c-format
 msgid "key %08lX.%lu: created in future (time warp or clock problem)\n"
 msgstr ""
 "clé %08lX.%lu : créée dans le futur (voyage temporel ou\n"
 "problème d'horloge)\n"
 
-#: g10/trustdb.c:2769
+#: g10/trustdb.c:2244
 #, c-format
 msgid "key %08lX.%lu: expired at %s\n"
 msgstr "clé %08lX.%lu : a expiré le %s\n"
 
-#: g10/trustdb.c:2777
+#: g10/trustdb.c:2252
 #, c-format
 msgid "key %08lX.%lu: trust check failed: %s\n"
 msgstr "clé %08lX.%lu : la vérification de confiance a échoué: %s\n"
 
-#: g10/trustdb.c:2881
+#: g10/trustdb.c:2358
 #, c-format
 msgid "user '%s' not found: %s\n"
 msgstr "l'utilisateur '%s' n'a pas été trouvé : %s\n"
 
-#: g10/trustdb.c:2883
+#: g10/trustdb.c:2360
 #, c-format
 msgid "problem finding '%s' in trustdb: %s\n"
 msgstr "problème de recherche de '%s' dans la base de confiance : %s\n"
 
-#: g10/trustdb.c:2886
+#: g10/trustdb.c:2363
 #, c-format
 msgid "user '%s' not in trustdb - inserting\n"
 msgstr "l'utilisateur '%s' n'est pas dans la base de confiance - insertion\n"
 
-#: g10/trustdb.c:2889
+#: g10/trustdb.c:2366
 #, c-format
 msgid "failed to put '%s' into trustdb: %s\n"
 msgstr "n'a pas pu insérer '%s' dans la base de confiance : %s\n"
 
+#: g10/trustdb.c:2552 g10/trustdb.c:2582
+msgid "WARNING: can't yet handle long pref records\n"
+msgstr ""
+"ATTENTION : les enregistrements de préférences longs ne sont pas encore\n"
+"supportés\n"
+
 #: g10/ringedit.c:316
 #, c-format
 msgid "%s: can't create keyring: %s\n"
@@ -3148,16 +3065,21 @@ msgstr "R
 msgid "%s: unknown suffix\n"
 msgstr ""
 
-#: g10/openfile.c:122
+#: g10/openfile.c:119
+#, fuzzy
+msgid "Enter new filename"
+msgstr "--store [nom du fichier]"
+
+#: g10/openfile.c:160
 msgid "writing to stdout\n"
 msgstr "écriture vers la sortie standard\n"
 
-#: g10/openfile.c:181
+#: g10/openfile.c:219
 #, c-format
 msgid "assuming signed data in `%s'\n"
 msgstr "les données signées sont supposées être dans `%s'\n"
 
-#: g10/openfile.c:231
+#: g10/openfile.c:269
 #, c-format
 msgid "%s: new options file created\n"
 msgstr "%s : nouveau fichier d'options créé\n"
@@ -3255,23 +3177,23 @@ msgstr "R
 msgid "keygen.valid"
 msgstr "Entrez la valeur demandée"
 
-#: g10/helptext.c:107
+#: g10/helptext.c:110
 msgid "keygen.valid.okay"
 msgstr "Répondez « oui » ou « non »"
 
-#: g10/helptext.c:112
+#: g10/helptext.c:115
 msgid "keygen.name"
 msgstr "Entrez le nom du propriétaire de la clé"
 
-#: g10/helptext.c:117
+#: g10/helptext.c:120
 msgid "keygen.email"
 msgstr "Entrez une adresse e-mail optionnelle mais hautement recommandée"
 
-#: g10/helptext.c:121
+#: g10/helptext.c:124
 msgid "keygen.comment"
 msgstr "Entrez un commentaire optionnel"
 
-#: g10/helptext.c:126
+#: g10/helptext.c:129
 msgid "keygen.userid.cmd"
 msgstr ""
 "N pour changer le nom.\n"
@@ -3280,91 +3202,178 @@ msgstr ""
 "O pour continuer à générer la clé.\n"
 "Q pour arrêter de générer de clé."
 
-#: g10/helptext.c:135
+#: g10/helptext.c:138
 msgid "keygen.sub.okay"
 msgstr "Répondez « oui » (ou simplement « o ») pour générer la sous-clé"
 
-#: g10/helptext.c:139
+#: g10/helptext.c:142
 msgid "sign_uid.okay"
 msgstr "Répondez « oui » ou « non »"
 
-#: g10/helptext.c:144
+#: g10/helptext.c:147
 msgid "change_passwd.empty.okay"
 msgstr "Répondez « oui » ou « non »"
 
-#: g10/helptext.c:149
-msgid "keyedit.cmd"
-msgstr "Entrez « help » pour voir la liste des commandes."
-
-#: g10/helptext.c:153
+#: g10/helptext.c:152
 msgid "keyedit.save.okay"
 msgstr "Répondez « oui » ou « non »"
 
-#: g10/helptext.c:158
+#: g10/helptext.c:157
 msgid "keyedit.cancel.okay"
 msgstr "Répondez « oui » ou « non »"
 
-#: g10/helptext.c:162
+#: g10/helptext.c:161
 msgid "keyedit.sign_all.okay"
 msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs"
 
-#: g10/helptext.c:166
+#: g10/helptext.c:165
 msgid "keyedit.remove.uid.okay"
 msgstr ""
 "Répondez « oui » si vous voulez vraiment supprimer ce nom\n"
 "d'utilisateur. Tous les certificats seront alors perdus en même temps !"
 
-#: g10/helptext.c:171
+#: g10/helptext.c:170
 msgid "keyedit.remove.subkey.okay"
 msgstr "Entrez « oui » s'il faut vraiment supprimer la sous-clé"
 
-#: g10/helptext.c:176
+#: g10/helptext.c:175
 #, fuzzy
 msgid "keyedit.delsig.valid"
 msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs"
 
-#: g10/helptext.c:181
+#: g10/helptext.c:180
 #, fuzzy
 msgid "keyedit.delsig.unknown"
 msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs"
 
-#: g10/helptext.c:187
+#: g10/helptext.c:186
 #, fuzzy
 msgid "keyedit.delsig.invalid"
 msgstr "Répondez « oui » si vous voulez signer TOUS les noms d'utilisateurs"
 
-#: g10/helptext.c:191
+#: g10/helptext.c:190
 msgid "keyedit.delsig.selfsig"
 msgstr ""
 
-#: g10/helptext.c:200
+#: g10/helptext.c:199
 msgid "passphrase.enter"
 msgstr ""
 "Entrez le mot de passe ; c'est une phrase secrète \n"
 "  Blurb, blurb,.... "
 
-#: g10/helptext.c:207
+#: g10/helptext.c:206
 msgid "passphrase.repeat"
 msgstr ""
 "Répétez le dernier mot de passe, pour être sûr de ce que vous avez tapé."
 
-#: g10/helptext.c:211
+#: g10/helptext.c:210
 msgid "detached_signature.filename"
 msgstr "Donnez le nom du fichier auquel la signature se rapporte"
 
+#. openfile.c (overwrite_filep)
 #: g10/helptext.c:215
 msgid "openfile.overwrite.okay"
 msgstr "Entrez « oui » s'il faut vraiment réécrire le fichier"
 
-#: g10/helptext.c:229
+#. openfile.c (ask_outfile_name)
+#: g10/helptext.c:220
+msgid "openfile.askoutname"
+msgstr ""
+
+#: g10/helptext.c:235
 msgid "No help available"
 msgstr "Pas d'aide disponible"
 
-#: g10/helptext.c:241
+#: g10/helptext.c:247
 #, c-format
 msgid "No help available for `%s'"
 msgstr "Pas d'aide disponible pour `%s'"
 
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but marked as checked\n"
+#~ msgstr ""
+#~ "NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n"
+#~ "de %lu mais marqué comme vérifié\n"
+
+#~ msgid "NOTE: sig rec %lu[%d] in hintlist of %lu but not marked\n"
+#~ msgstr ""
+#~ "NOTE : l'enregistrement de signature %lu[%d] est dans la liste d'aide\n"
+#~ "de %lu mais n'est pas marqué\n"
+
+#~ msgid "sig rec %lu[%d] in hintlist of %lu does not point to a dir record\n"
+#~ msgstr ""
+#~ "l'enregistrement de signature %lu[%d] dans la liste d'aide de %lu\n"
+#~ "ne pointe pas vers un enregistrement de répertoire\n"
+
+#~ msgid "lid %lu: no primary key\n"
+#~ msgstr "lid %lu : pas de clé primaire\n"
+
+#~ msgid "lid %lu: user id not found in keyblock\n"
+#~ msgstr "lid %lu : utilisateur non trouvé dans le bloc de clés\n"
+
+#~ msgid "lid %lu: user id without signature\n"
+#~ msgstr "lid %lu : utilisateur sans signature\n"
+
+#~ msgid "lid %lu: self-signature in hintlist\n"
+#~ msgstr "lid %lu : auto-signature dans la liste d'aide\n"
+
+#~ msgid "very strange: no public key\n"
+#~ msgstr "très étrange : pas de clé publique\n"
+
+#~ msgid "hintlist %lu[%d] of %lu does not point to a dir record\n"
+#~ msgstr ""
+#~ "la liste d'aide de %lu[%d] de %lu ne pointe pas vers un enregistrement\n"
+#~ "de répertoire\n"
+
+#~ msgid "lid %lu does not have a key\n"
+#~ msgstr "la lid %lu n'a pas de clé\n"
+
+#~ msgid "lid %lu: can't get keyblock: %s\n"
+#~ msgstr "lid %lu: ne peut obtenir le bloc de clés: %s\n"
+
+#~ msgid "Too many preferences"
+#~ msgstr "Trop de préférences"
+
+#~ msgid "Too many preference items"
+#~ msgstr "Trop d'items de préférence"
+
+#~ msgid "public key not anymore available"
+#~ msgstr "la clé secrète n'est plus disponible"
+
+#~ msgid "uid %08lX.%lu/%02X%02X: has shadow dir %lu but is not yet marked.\n"
+#~ msgstr ""
+#~ "uid %08lX.%lu/%02X%02X : possède une ombre %lu mais n'est pas encore\n"
+#~ "marqué.\n"
+
+#~ msgid "insert_trust_record: keyblock not found: %s\n"
+#~ msgstr "insert_trust_record : bloc de clés non trouvé : %s\n"
+
+#~ msgid "lid %lu: update failed: %s\n"
+#~ msgstr "lid %lu : la mise à jour a échoué: %s\n"
+
+#~ msgid "lid %lu: updated\n"
+#~ msgstr "lid %lu : mis à jour\n"
+
+#~ msgid "lid %lu: okay\n"
+#~ msgstr "lid %lu : OK\n"
+
+#~ msgid "%s: keyblock read problem: %s\n"
+#~ msgstr "%s : problème de lecture du bloc de clés : %s\n"
+
+#~ msgid "%s: update failed: %s\n"
+#~ msgstr "%s : la mise à jour a échoué : %s\n"
+
+#~ msgid "%s: updated\n"
+#~ msgstr "%s : mis à jour\n"
+
+#~ msgid "%s: okay\n"
+#~ msgstr "%s : OK\n"
+
+#~ msgid "lid %lu: keyblock not found: %s\n"
+#~ msgstr "lid %lu : le bloc de clés n'a pas été trouvé : %s\n"
+
+#~ msgid "keyedit.cmd"
+#~ msgstr "Entrez « help » pour voir la liste des commandes."
+
 #~ msgid "can't lock keyring `%': %s\n"
 #~ msgstr "ne peut verrouiller le porte-clés `%' : %s\n"
 
index 965a84f..a6f0520 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-0.9.7\n"
-"POT-Creation-Date: 1999-06-26 11:22+0200\n"
+"POT-Creation-Date: 1999-07-06 17:34+0200\n"
 "PO-Revision-Date: 1999-06-28 19:49+02:00\n"
 "Last-Translator: Marco d'Itri <md@linux.it>\n"
 "Language-Team: Italian <it@li.org>\n"
@@ -13,31 +13,31 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: util/secmem.c:76
+#: util/secmem.c:79
 msgid "Warning: using insecure memory!\n"
 msgstr "Attenzione: si sta usando memoria insicura!\n"
 
-#: util/secmem.c:249
+#: util/secmem.c:275
 msgid "operation is not possible without initialized secure memory\n"
 msgstr "l'operazione non è possibile senza memoria sicura inizializzata\n"
 
-#: util/secmem.c:250
+#: util/secmem.c:276
 msgid "(you may have used the wrong program for this task)\n"
 msgstr "(potresti avere usato il programma sbagliato per questa funzione)\n"
 
-#: util/miscutil.c:156 util/miscutil.c:173
+#: util/miscutil.c:254 util/miscutil.c:271
 msgid "yes"
 msgstr "sì"
 
-#: util/miscutil.c:157 util/miscutil.c:175
+#: util/miscutil.c:255 util/miscutil.c:273
 msgid "yY"
 msgstr "sS"
 
-#: g10/keyedit.c:559 util/miscutil.c:174
+#: g10/keyedit.c:561 util/miscutil.c:272
 msgid "quit"
 msgstr "quit"
 
-#: util/miscutil.c:176
+#: util/miscutil.c:274
 msgid "qQ"
 msgstr "qQ"
 
@@ -243,12 +243,12 @@ msgstr "... questo 
 msgid "you found a bug ... (%s:%d)\n"
 msgstr "Hai trovato un bug... (%s:%d)\n"
 
-#: cipher/random.c:412
+#: cipher/random.c:452
 msgid "WARNING: using insecure random number generator!!\n"
 msgstr ""
 "ATTENZIONE: si sta usando un generatore di numeri casuali non sicuro!!\n"
 
-#: cipher/random.c:413
+#: cipher/random.c:453
 msgid ""
 "The random number generator is only a kludge to let\n"
 "it run - it is in no way a strong RNG!\n"
@@ -271,7 +271,7 @@ msgstr ""
 "altra cosa per dare all'OS la possibilità di raccogliere altra entropia!\n"
 "(Servono ancora %d altri byte)\n"
 
-#: g10/g10.c:174
+#: g10/g10.c:176
 msgid ""
 "@Commands:\n"
 " "
@@ -279,131 +279,131 @@ msgstr ""
 "@Comandi:\n"
 " "
 
-#: g10/g10.c:176
+#: g10/g10.c:178
 msgid "|[file]|make a signature"
 msgstr "|[file]|fai una firma"
 
-#: g10/g10.c:177
+#: g10/g10.c:179
 msgid "|[file]|make a clear text signature"
 msgstr "|[file]|fai una firma mantenendo il testo in chiaro"
 
-#: g10/g10.c:178
+#: g10/g10.c:180
 msgid "make a detached signature"
 msgstr "fai una firma separata"
 
-#: g10/g10.c:179
+#: g10/g10.c:181
 msgid "encrypt data"
 msgstr "cifra dati"
 
-#: g10/g10.c:180
+#: g10/g10.c:182
 msgid "encryption only with symmetric cipher"
 msgstr "cifra solo con un cifrario simmetrico"
 
-#: g10/g10.c:181
+#: g10/g10.c:183
 msgid "store only"
 msgstr "immagazzina soltanto"
 
-#: g10/g10.c:182
+#: g10/g10.c:184
 msgid "decrypt data (default)"
 msgstr "decifra dati (predefinito)"
 
-#: g10/g10.c:183
+#: g10/g10.c:185
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/g10.c:184
+#: g10/g10.c:186
 msgid "list keys"
 msgstr "elenca le chiavi"
 
-#: g10/g10.c:186
+#: g10/g10.c:188
 msgid "list keys and signatures"
 msgstr "elenca le chiavi e le firme"
 
-#: g10/g10.c:187
+#: g10/g10.c:189
 msgid "check key signatures"
 msgstr "controlla le firme delle chiavi"
 
-#: g10/g10.c:188
+#: g10/g10.c:190
 msgid "list keys and fingerprints"
 msgstr "elenca le chiavi e le impronte digitali"
 
-#: g10/g10.c:189
+#: g10/g10.c:191
 msgid "list secret keys"
 msgstr "elenca le chiavi segrete"
 
-#: g10/g10.c:190
+#: g10/g10.c:192
 msgid "generate a new key pair"
 msgstr "genera una nuova coppia di chiavi"
 
-#: g10/g10.c:191
+#: g10/g10.c:193
 msgid "remove key from the public keyring"
 msgstr "rimuove una chiave dal portachiavi pubblico"
 
-#: g10/g10.c:192
+#: g10/g10.c:194
 msgid "sign or edit a key"
 msgstr "firma o modifica una chiave"
 
-#: g10/g10.c:193
+#: g10/g10.c:195
 msgid "generate a revocation certificate"
 msgstr "genera un certificato di revoca"
 
-#: g10/g10.c:194
+#: g10/g10.c:196
 msgid "export keys"
 msgstr "esporta delle chiavi"
 
-#: g10/g10.c:195
+#: g10/g10.c:197
 msgid "export keys to a key server"
 msgstr "esporta le chiavi a un key server"
 
-#: g10/g10.c:196
+#: g10/g10.c:198
 msgid "import keys from a key server"
 msgstr "importa le chiavi da un key server"
 
-#: g10/g10.c:199
+#: g10/g10.c:201
 msgid "import/merge keys"
 msgstr "importa/aggiungi delle chiavi"
 
-#: g10/g10.c:201
+#: g10/g10.c:203
 msgid "list only the sequence of packets"
 msgstr "elenca solo la sequenza dei pacchetti"
 
-#: g10/g10.c:203
+#: g10/g10.c:205
 msgid "export the ownertrust values"
 msgstr "esporta i valori di fiducia"
 
-#: g10/g10.c:205
+#: g10/g10.c:207
 msgid "import ownertrust values"
 msgstr "importa i valori di fiducia"
 
-#: g10/g10.c:207
+#: g10/g10.c:209
 msgid "|[NAMES]|update the trust database"
 msgstr "|[NOMI]|controlla il database della fiducia"
 
-#: g10/g10.c:209
+#: g10/g10.c:211
 msgid "|[NAMES]|check the trust database"
 msgstr "|[NOMI]|controlla il database della fiducia"
 
-#: g10/g10.c:210
+#: g10/g10.c:212
 msgid "fix a corrupted trust database"
 msgstr "ripara un database della fiducia rovinato"
 
-#: g10/g10.c:211
+#: g10/g10.c:213
 msgid "De-Armor a file or stdin"
 msgstr "rimuovi l'armatura a un file o a stdin"
 
-#: g10/g10.c:212
+#: g10/g10.c:214
 msgid "En-Armor a file or stdin"
 msgstr "crea l'armatura a un file o a stdin"
 
-#: g10/g10.c:213
+#: g10/g10.c:215
 msgid "|algo [files]|print message digests"
 msgstr "|algo [files]|stampa tutti i message digests"
 
-#: g10/g10.c:214
+#: g10/g10.c:216
 msgid "print all message digests"
 msgstr "stampa tutti i message digests"
 
-#: g10/g10.c:220
+#: g10/g10.c:222
 msgid ""
 "@\n"
 "Options:\n"
@@ -413,160 +413,160 @@ msgstr ""
 "Opzioni:\n"
 " "
 
-#: g10/g10.c:222
+#: g10/g10.c:224
 msgid "create ascii armored output"
 msgstr "crea un output ascii con armatura"
 
-#: g10/g10.c:223
+#: g10/g10.c:225
 msgid "|NAME|encrypt for NAME"
 msgstr "|NOME|cifra per NOME"
 
-#: g10/g10.c:227
+#: g10/g10.c:229
 msgid "use this user-id to sign or decrypt"
 msgstr "usa questo user-id per firmare o decifrare"
 
-#: g10/g10.c:228
+#: g10/g10.c:230
 msgid "|N|set compress level N (0 disables)"
 msgstr "|N|imposta il livello di compressione (0 disabilita)"
 
-#: g10/g10.c:230
+#: g10/g10.c:232
 msgid "use canonical text mode"
 msgstr "usa il modo testo canonico"
 
-#: g10/g10.c:231
+#: g10/g10.c:233
 msgid "use as output file"
 msgstr "usa come file di output"
 
-#: g10/g10.c:232
+#: g10/g10.c:234
 msgid "verbose"
 msgstr "prolisso"
 
-#: g10/g10.c:233
+#: g10/g10.c:235
 msgid "be somewhat more quiet"
 msgstr "meno prolisso"
 
-#: g10/g10.c:234
+#: g10/g10.c:236
 msgid "don't use the terminal at all"
 msgstr "non usa per niente il terminale"
 
-#: g10/g10.c:235
+#: g10/g10.c:237
 msgid "force v3 signatures"
 msgstr "forza l'uso di firme v3"
 
-#: g10/g10.c:236
+#: g10/g10.c:238
 msgid "always use a MDC for encryption"
 msgstr "usa sempre un MDC per cifrare"
 
-#: g10/g10.c:237
+#: g10/g10.c:239
 msgid "do not make any changes"
 msgstr "non fa cambiamenti"
 
 #. { oInteractive, "interactive", 0, N_("prompt before overwriting") },
-#: g10/g10.c:239
+#: g10/g10.c:241
 msgid "batch mode: never ask"
 msgstr "modo batch: non fare domande"
 
-#: g10/g10.c:240
+#: g10/g10.c:242
 msgid "assume yes on most questions"
 msgstr "assumi \"sì\" a quasi tutte le domande"
 
-#: g10/g10.c:241
+#: g10/g10.c:243
 msgid "assume no on most questions"
 msgstr "assumi \"no\" a quasi tutte le domande"
 
-#: g10/g10.c:242
+#: g10/g10.c:244
 msgid "add this keyring to the list of keyrings"
 msgstr "aggiungi questo portachiavi alla lista"
 
-#: g10/g10.c:243
+#: g10/g10.c:245
 msgid "add this secret keyring to the list"
 msgstr "aggiungi questo portachiavi segreto alla lista"
 
-#: g10/g10.c:244
+#: g10/g10.c:246
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|usa NAME come chiave segreta predefinita"
 
-#: g10/g10.c:245
+#: g10/g10.c:247
 msgid "|HOST|use this keyserver to lookup keys"
 msgstr "|HOST|cerca le chiavi in questo keyserver"
 
-#: g10/g10.c:246
+#: g10/g10.c:248
 msgid "|NAME|set terminal charset to NAME"