Add more passphrase policy rules.
authorWerner Koch <wk@gnupg.org>
Tue, 28 Aug 2007 17:48:13 +0000 (17:48 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 28 Aug 2007 17:48:13 +0000 (17:48 +0000)
(--max-passphrase-days).

45 files changed:
NEWS
agent/ChangeLog
agent/agent.h
agent/command.c
agent/findkey.c
agent/genkey.c
agent/gpg-agent.c
agent/keyformat.txt
agent/protect-tool.c
agent/protect.c
common/ChangeLog
common/gettime.c
common/util.h
doc/gpg-agent.texi
po/ChangeLog
po/POTFILES.in
po/be.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/eo.po
po/es.po
po/et.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/nb.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sv.po
po/tr.po
po/zh_CN.po
po/zh_TW.po
tools/ChangeLog
tools/gpgconf-comp.c

diff --git a/NEWS b/NEWS
index 34e1174..4ea308e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,8 +7,9 @@ Noteworthy changes in version 2.0.7
  * Made it work on Windows Vista.  Note that the entire Windows port
    is still considered Beta.
 
- * Add new options min-passphrase-nonalpha, check-passphrase-pattern
-   and enforce-passphrase-constraints to gpg-agent.
+ * Add new options min-passphrase-nonalpha, check-passphrase-pattern,
+   enforce-passphrase-constraints and max-passphrase-days to
+   gpg-agent.
 
 
 Noteworthy changes in version 2.0.6 (2007-08-16)
index 4b8d5d3..46f1a25 100644 (file)
@@ -1,3 +1,21 @@
+2007-08-28  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main): Add option --faked-system-time.
+
+       * protect-tool.c (read_and_unprotect): Print the protected-at date.
+
+       * agent.h (struct server_control_s): Add member IN_PASSWD.
+       * command.c (cmd_passwd): Set it.
+       * findkey.c (try_unprotect_cb): Use it.
+
+       * protect.c (do_encryption): Replace asprintf by xtryasprint.
+       (agent_protect): Create the protected-at item.
+       (agent_unprotect): Add optional arg PROTECTED_AT.
+       (merge_lists): Add args CUTOFF and CUTLEN.
+       (agent_unprotect): Use them.
+       * findkey.c (try_unprotect_cb): Add code to test for expired keys.
+       (unprotect): Allow changing the passphrase.
+
 2007-08-27  Werner Koch  <wk@g10code.com>
 
        * gpg-agent.c: Add options --min-passphrase-nonalpha,
index 8531f39..c37a22c 100644 (file)
@@ -88,7 +88,12 @@ struct
   unsigned int min_passphrase_nonalpha;
   /* File name with a patternfile or NULL if not enabled.  */
   const char *check_passphrase_pattern;
-
+  /* If not 0 the user is asked to change his passphrase after these
+     number of days.  */
+  unsigned int max_passphrase_days;
+  /* If set, a passphrase history will be written and checked at each
+     passphrase change.  */
+  int enable_passhrase_history;
 
   int running_detached; /* We are running detached from the tty. */
 
@@ -153,6 +158,8 @@ struct server_control_s
 
   int use_auth_call; /* Hack to send the PKAUTH command instead of the
                         PKSIGN command to the scdaemon.  */
+  int in_passwd;     /* Hack to inhibit enforced passphrase change
+                        during an explicit passwd command.  */
 };
 
 
@@ -182,7 +189,7 @@ enum
 /* Values for the cache_mode arguments. */
 typedef enum 
   {
-    CACHE_MODE_IGNORE = 0, /* Special mode to by pass the cache. */
+    CACHE_MODE_IGNORE = 0, /* Special mode to bypass the cache. */
     CACHE_MODE_ANY,        /* Any mode except ignore matches. */
     CACHE_MODE_NORMAL,     /* Normal cache (gpg-agent). */
     CACHE_MODE_USER,       /* GET_PASSPHRASE related cache. */
@@ -271,6 +278,7 @@ int agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey);
 int agent_protect (const unsigned char *plainkey, const char *passphrase,
                    unsigned char **result, size_t *resultlen);
 int agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
+                     gnupg_isotime_t protected_at, 
                      unsigned char **result, size_t *resultlen);
 int agent_private_key_type (const unsigned char *privatekey);
 unsigned char *make_shadow_info (const char *serialno, const char *idstring);
index 56492e1..bb3d52f 100644 (file)
@@ -1039,6 +1039,7 @@ cmd_passwd (assuan_context_t ctx, char *line)
   if (rc)
     goto leave;
 
+  ctrl->in_passwd++;
   rc = agent_key_from_file (ctrl, ctrl->server_local->keydesc,
                             grip, &shadow_info, CACHE_MODE_IGNORE, &s_skey);
   if (rc)
@@ -1050,6 +1051,7 @@ cmd_passwd (assuan_context_t ctx, char *line)
     }
   else
     rc = agent_protect_and_store (ctrl, s_skey);
+  ctrl->in_passwd--;
 
   xfree (ctrl->server_local->keydesc);
   ctrl->server_local->keydesc = NULL;
index d8dc526..183af2c 100644 (file)
@@ -1,5 +1,6 @@
-/* findkey.c - locate the secret key
- * Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* findkey.c - Locate the secret key
+ * Copyright (C) 2001, 2002, 2003, 2004, 2005,
+ *               2007  Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
 #include <pth.h> /* (we use pth_sleep) */
 
 #include "agent.h"
+#include "i18n.h"
 
 #ifndef O_BINARY
 #define O_BINARY 0
 #endif
 
 /* Helper to pass data to the check callback of the unprotect function. */
-struct try_unprotect_arg_s {
+struct try_unprotect_arg_s 
+{
+  ctrl_t ctrl;
   const unsigned char *protected_key;
   unsigned char *unprotected_key;
+  int change_required; /* Set by the callback to indicate that the
+                          user should chnage the passphrase.  */
 };
 
 
@@ -132,10 +138,71 @@ try_unprotect_cb (struct pin_entry_info_s *pi)
 {
   struct try_unprotect_arg_s *arg = pi->check_cb_arg;
   size_t dummy;
+  gpg_error_t err;
+  gnupg_isotime_t now, protected_at, tmptime;
+  char *desc = NULL;
 
   assert (!arg->unprotected_key);
-  return agent_unprotect (arg->protected_key, pi->pin,
-                          &arg->unprotected_key, &dummy);
+
+  arg->change_required = 0;
+  err = agent_unprotect (arg->protected_key, pi->pin, protected_at,
+                         &arg->unprotected_key, &dummy);
+  if (err)
+    return err;
+  if (!opt.max_passphrase_days || arg->ctrl->in_passwd)
+    return 0;  /* No regular passphrase change required.  */
+
+  if (!*protected_at)
+    {
+      /* No protection date known - must force passphrase change.  */
+      desc = xtrystrdup (_("Note: This passphrase has never been changed.%0A"
+                           "Please change it now."));
+      if (!desc)
+        return gpg_error_from_syserror ();
+    }
+  else
+    {
+      gnupg_get_isotime (now);
+      gnupg_copy_time (tmptime, protected_at);
+      err = add_days_to_isotime (tmptime, opt.max_passphrase_days);
+      if (err)
+        return err;
+      if (strcmp (now, tmptime) > 0 )
+        {
+          /* Passphrase "expired".  */
+          desc = xtryasprintf 
+            (_("This passphrase has not been changed%%0A"
+               "since %.4s-%.2s-%.2s.  Please change it now."),
+             protected_at, protected_at+4, protected_at+6);
+          if (!desc)
+            return gpg_error_from_syserror ();
+        }
+    }
+
+  if (desc)
+    {
+      /* Change required.  */
+      if (opt.enforce_passphrase_constraints)
+        {
+          err = agent_get_confirmation (arg->ctrl, desc,
+                                        _("Change passphrase"), NULL);
+          if (!err)
+            arg->change_required = 1;
+        }
+      else
+        {
+          err = agent_get_confirmation (arg->ctrl, desc,
+                                        _("Change passphrase"),
+                                        _("I'll change it later"));
+          if (!err)
+            arg->change_required = 1;
+          else if (gpg_err_code (err) == GPG_ERR_CANCELED)
+            err = 0;
+        }
+      xfree (desc);
+    }
+
+  return 0;
 }
 
 
@@ -260,7 +327,7 @@ unprotect (ctrl_t ctrl, const char *desc_text,
       pw = agent_get_cache (hexgrip, cache_mode, &cache_marker);
       if (pw)
         {
-          rc = agent_unprotect (*keybuf, pw, &result, &resultlen);
+          rc = agent_unprotect (*keybuf, pw, NULL, &result, &resultlen);
           agent_unlock_cache_entry (&cache_marker);
           if (!rc)
             {
@@ -272,7 +339,7 @@ unprotect (ctrl_t ctrl, const char *desc_text,
         }
 
       /* If the pinentry is currently in use, we wait up to 60 seconds
-         for it close and check the cache again.  This solves a common
+         for it to close and check the cache again.  This solves a common
          situation where several requests for unprotecting a key have
          been made but the user is still entering the passphrase for
          the first request.  Because all requests to agent_askpin are
@@ -294,7 +361,7 @@ unprotect (ctrl_t ctrl, const char *desc_text,
           /* Timeout - better call pinentry now the plain way. */
         }
     }
-  
+
   pi = gcry_calloc_secure (1, sizeof (*pi) + 100);
   if (!pi)
     return gpg_error_from_syserror ();
@@ -303,14 +370,46 @@ unprotect (ctrl_t ctrl, const char *desc_text,
   pi->max_digits = 8;
   pi->max_tries = 3;
   pi->check_cb = try_unprotect_cb;
+  arg.ctrl = ctrl;
   arg.protected_key = *keybuf;
   arg.unprotected_key = NULL;
+  arg.change_required = 0;
   pi->check_cb_arg = &arg;
 
   rc = agent_askpin (ctrl, desc_text, NULL, NULL, pi);
   if (!rc)
     {
       assert (arg.unprotected_key);
+      if (arg.change_required)
+        {
+          size_t canlen, erroff;
+          gcry_sexp_t s_skey;
+          
+          assert (arg.unprotected_key);
+          canlen = gcry_sexp_canon_len (arg.unprotected_key, 0, NULL, NULL);
+          rc = gcry_sexp_sscan (&s_skey, &erroff,
+                                (char*)arg.unprotected_key, canlen);
+          if (rc)
+            {
+              log_error ("failed to build S-Exp (off=%u): %s\n",
+                         (unsigned int)erroff, gpg_strerror (rc));
+              wipememory (arg.unprotected_key, canlen);
+              xfree (arg.unprotected_key);
+              xfree (pi);
+              return rc;
+            }
+          rc = agent_protect_and_store (ctrl, s_skey);
+          gcry_sexp_release (s_skey);
+          if (rc)
+            {
+              log_error ("changing the passphrase failed: %s\n", 
+                         gpg_strerror (rc));
+              wipememory (arg.unprotected_key, canlen);
+              xfree (arg.unprotected_key);
+              xfree (pi);
+              return rc;
+            }
+        }
       agent_put_cache (hexgrip, cache_mode, pi->pin, 0);
       xfree (*keybuf);
       *keybuf = arg.unprotected_key;
index 09cd9f7..11b093d 100644 (file)
@@ -1,4 +1,4 @@
-/* pksign.c - Generate a keypair
+/* genkey.c - Generate a keypair
  *     Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
index 453e9a9..64424d9 100644 (file)
@@ -92,8 +92,11 @@ enum cmd_and_opt_values
   oMinPassphraseLen,
   oMinPassphraseNonalpha,
   oCheckPassphrasePattern,
+  oMaxPassphraseDays,
+  oEnablePassphraseHistory,
   oUseStandardSocket,
   oNoUseStandardSocket,
+  oFakedSystemTime,
 
   oIgnoreCacheForSigning,
   oAllowMarkTrusted,
@@ -137,6 +140,7 @@ static ARGPARSE_OPTS opts[] = {
   { oScdaemonProgram, "scdaemon-program", 2 ,
                                N_("|PGM|use PGM as the SCdaemon program") },
   { oDisableScdaemon, "disable-scdaemon", 0, N_("do not use the SCdaemon") },
+  { oFakedSystemTime, "faked-system-time", 2, "@" }, /* (epoch time) */
 
   { oDisplay,    "display",     2, "@" },
   { oTTYname,    "ttyname",     2, "@" },
@@ -157,6 +161,8 @@ static ARGPARSE_OPTS opts[] = {
   { oMinPassphraseLen, "min-passphrase-len", 4, "@" },
   { oMinPassphraseNonalpha, "min-passphrase-nonalpha", 4, "@" },
   { oCheckPassphrasePattern, "check-passphrase-pattern", 2, "@" },
+  { oMaxPassphraseDays, "max-passphrase-days", 4, "@" },
+  { oEnablePassphraseHistory, "enable-passphrase-history", 0, "@" },
 
   { oIgnoreCacheForSigning, "ignore-cache-for-signing", 0,
                                N_("do not use the PIN cache when signing")},
@@ -177,6 +183,7 @@ static ARGPARSE_OPTS opts[] = {
 #define MAX_CACHE_TTL_SSH     (120*60) /* 2 hours */
 #define MIN_PASSPHRASE_LEN    (8)      
 #define MIN_PASSPHRASE_NONALPHA (1)      
+#define MAX_PASSPHRASE_DAYS   (0)
 
 /* The timer tick used for housekeeping stuff.  For Windows we use a
    longer period as the SetWaitableTimer seems to signal earlier than
@@ -375,6 +382,8 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       opt.min_passphrase_len = MIN_PASSPHRASE_LEN;
       opt.min_passphrase_nonalpha = MIN_PASSPHRASE_NONALPHA;
       opt.check_passphrase_pattern = NULL;
+      opt.max_passphrase_days = MAX_PASSPHRASE_DAYS;
+      opt.enable_passhrase_history = 0;
       opt.ignore_cache_for_signing = 0;
       opt.allow_mark_trusted = 0;
       opt.disable_scdaemon = 0;
@@ -424,6 +433,12 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
     case oCheckPassphrasePattern:
       opt.check_passphrase_pattern = pargs->r.ret_str;
       break;
+    case oMaxPassphraseDays:
+      opt.max_passphrase_days = pargs->r.ret_ulong; 
+      break;
+    case oEnablePassphraseHistory:
+      opt.enable_passhrase_history = 1;
+      break;
 
     case oIgnoreCacheForSigning: opt.ignore_cache_for_signing = 1; break;
 
@@ -646,6 +661,15 @@ main (int argc, char **argv )
         case oUseStandardSocket: standard_socket = 1; break;
         case oNoUseStandardSocket: standard_socket = 0; break;
 
+        case oFakedSystemTime:
+          {
+            time_t faked_time = isotime2epoch (pargs.r.ret_str); 
+            if (faked_time == (time_t)(-1))
+              faked_time = (time_t)strtoul (pargs.r.ret_str, NULL, 10);
+            gnupg_set_time (faked_time, 0);
+          }
+          break;
+
         case oKeepTTY: opt.keep_tty = 1; break;
         case oKeepDISPLAY: opt.keep_display = 1; break;
 
@@ -753,6 +777,11 @@ main (int argc, char **argv )
               MIN_PASSPHRASE_NONALPHA);
       printf ("check-passphrase-pattern:%lu:\n",
               GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME);
+      printf ("max-passphrase-days:%lu:%d:\n",
+              GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, 
+              MAX_PASSPHRASE_DAYS);
+      printf ("enable-passphrase-history:%lu:\n", 
+              GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
       printf ("no-grab:%lu:\n", 
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
       printf ("ignore-cache-for-signing:%lu:\n",
index 2fa53ad..e246e88 100644 (file)
@@ -69,6 +69,7 @@ A protected key is like this:
     (n #00e0ce9..[some bytes not shown]..51#)
     (e #010001#)
     (protected mode (parms) encrypted_octet_string)
+    (protected-at <isotimestamp>)
    )
    (uri http://foo.bar x-foo:whatever_you_want)
    (comment whatever)
@@ -79,7 +80,8 @@ In this scheme the encrypted_octet_string is encrypted according to
 the algorithm described after the keyword protected; most protection
 algorithms need some parameters, which are given in a list before the
 encrypted_octet_string.  The result of the decryption process is a
-list of the secret key parameters.
+list of the secret key parameters.  The protected-at expression is
+optional; the isotimestamp is 15 bytes long (e.g. "19610711T172000").
 
 The only available protection mode for now is
 
@@ -110,12 +112,13 @@ representation) after decryption:
 )
 
 For padding reasons, random bytes are appended to this list - they can
-easily be stripped by looking for the end of the list.
+easily be stripped by looking for the end of the list. 
 
 The hash is calculated on the concatenation of the public key and
 secret key parameter lists: i.e it is required to hash the
 concatenation of these 6 canonical encoded lists for RSA, including
-the parenthesis and the algorithm keyword.
+the parenthesis, the algorithm keyword and (if used) the protected-at
+list.
 
 (rsa
  (n #00e0ce9..[some bytes not shown]..51#)
@@ -124,6 +127,7 @@ the parenthesis and the algorithm keyword.
  (p #00e861b..[some bytes not shown]..f1#)
  (q #00f7a7c..[some bytes not shown]..61#)
  (u #304559a..[some bytes not shown]..9b#)
+ (protected-at "18950523T000000")
 )
 
 After decryption the hash must be recalculated and compared against
index b12b380..0e062a2 100644 (file)
@@ -366,12 +366,14 @@ read_and_unprotect (const char *fname)
   unsigned char *result;
   size_t resultlen;
   char *pw;
-  
+  gnupg_isotime_t protected_at;
+
   key = read_key (fname);
   if (!key)
     return;
 
-  rc = agent_unprotect (key, (pw=get_passphrase (1, 0)), &result, &resultlen);
+  rc = agent_unprotect (key, (pw=get_passphrase (1, 0)), 
+                        protected_at, &result, &resultlen);
   release_passphrase (pw);
   xfree (key);
   if (rc)
@@ -381,7 +383,12 @@ read_and_unprotect (const char *fname)
       log_error ("unprotecting the key failed: %s\n", gpg_strerror (rc));
       return;
     }
-  
+  if (opt.verbose)
+    log_info ("key protection done at %.4s-%.2s-%.2s %.2s:%.2s:%s\n",
+              protected_at, protected_at+4, protected_at+6,
+              protected_at+9, protected_at+11, protected_at+13);
+
+
   if (opt_armor)
     {
       char *p = make_advanced (result, resultlen);
@@ -883,7 +890,8 @@ export_p12_file (const char *fname)
       unsigned char *tmpkey;
       size_t tmplen;
 
-      rc = agent_unprotect (key, (pw=get_passphrase (1, 0)), &tmpkey, &tmplen);
+      rc = agent_unprotect (key, (pw=get_passphrase (1, 0)),
+                            NULL, &tmpkey, &tmplen);
       release_passphrase (pw);
       if (rc)
         {
index ce723fe..ebb02ac 100644 (file)
@@ -163,7 +163,7 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
      ((<parameter_list>)(4:hash4:sha120:<hashvalue>)) + padding
 
      We always append a full block of random bytes as padding but
-     encrypt only what is needed for a full blocksize */
+     encrypt only what is needed for a full blocksize */
   blklen = gcry_cipher_get_algo_blklen (PROT_CIPHER);
   outlen = 2 + protlen + 2 + 6 + 6 + 23 + 2 + blklen;
   enclen = outlen/blklen * blklen;
@@ -229,21 +229,13 @@ do_encryption (const unsigned char *protbegin, size_t protlen,
        encrypted_octet_string)
        
      in canoncical format of course.  We use asprintf and %n modifier
-     and spaces as palceholders.  */
-  asprintf (&p,
-            "(9:protected%d:%s((4:sha18:%n_8bytes_2:96)%d:%n%*s)%d:%n%*s)",
-            (int)strlen (modestr), modestr,
-            &saltpos, 
-            blklen, &ivpos, blklen, "",
-            enclen, &encpos, enclen, "");
-  if (p)
-    { /* asprintf does not use our malloc system */
-      char *psave = p;
-      p = xtrymalloc (strlen (psave)+1);
-      if (p)
-        strcpy (p, psave);
-      free (psave);
-    }
+     and dummy values as placeholders.  */
+  p = xtryasprintf
+    ("(9:protected%d:%s((4:sha18:%n_8bytes_2:96)%d:%n%*s)%d:%n%*s)",
+     (int)strlen (modestr), modestr,
+     &saltpos, 
+     blklen, &ivpos, blklen, "",
+     enclen, &encpos, enclen, "");
   if (!p)
     {
       gpg_error_t tmperr = out_of_core ();
@@ -276,11 +268,19 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   size_t n;
   int c, infidx, i;
   unsigned char hashvalue[20];
+  char timestamp_exp[35];
   unsigned char *protected;
   size_t protectedlen;
   int depth = 0;
   unsigned char *p;
+  gcry_md_hd_t md;
 
+  /* Create an S-expression with the procted-at timestamp.  */
+  memcpy (timestamp_exp, "(12:protected-at15:", 19);
+  gnupg_get_isotime (timestamp_exp+19);
+  timestamp_exp[19+15] = ')';
+
+  /* Parse original key.  */
   s = plainkey;
   if (*s != '(')
     return gpg_error (GPG_ERR_INV_SEXP);
@@ -345,8 +345,18 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   assert (!depth);
   real_end = s-1;
 
-  gcry_md_hash_buffer (GCRY_MD_SHA1, hashvalue,
-                       hash_begin, hash_end - hash_begin + 1);
+  
+  /* Hash the stuff.  Because the timestamp_exp won't get protected,
+     we can't simply hash a continuous buffer but need to use several
+     md_writes.  */ 
+  rc = gcry_md_open (&md, GCRY_MD_SHA1, 0 );
+  if (rc)
+    return rc;
+  gcry_md_write (md, hash_begin, hash_end - hash_begin);
+  gcry_md_write (md, timestamp_exp, 35);
+  gcry_md_write (md, ")", 1);
+  memcpy (hashvalue, gcry_md_read (md, GCRY_MD_SHA1), 20);
+  gcry_md_close (md);
 
   rc = do_encryption (prot_begin, prot_end - prot_begin + 1,
                       passphrase,  hashvalue,
@@ -356,10 +366,12 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
 
   /* Now create the protected version of the key.  Note that the 10
      extra bytes are for for the inserted "protected-" string (the
-     beginning of the plaintext reads: "((11:private-key(" ). */
+     beginning of the plaintext reads: "((11:private-key(" ).  The 35
+     term is the space for (12:protected-at15:<timestamp>).  */
   *resultlen = (10
                 + (prot_begin-plainkey)
                 + protectedlen
+                + 35
                 + (real_end-prot_end));
   *result = p = xtrymalloc (*resultlen);
   if (!p)
@@ -374,10 +386,15 @@ agent_protect (const unsigned char *plainkey, const char *passphrase,
   p += prot_begin - plainkey - 4;
   memcpy (p, protected, protectedlen);
   p += protectedlen;
+
+  memcpy (p, timestamp_exp, 35);
+  p += 35;
+
   memcpy (p, prot_end+1, real_end - prot_end);
   p += real_end - prot_end;
   assert ( p - *result == *resultlen);
   xfree (protected);
+
   return 0;
 }
 
@@ -457,13 +474,16 @@ do_decryption (const unsigned char *protected, size_t protectedlen,
 /* Merge the parameter list contained in CLEARTEXT with the original
    protect lists PROTECTEDKEY by replacing the list at REPLACEPOS.
    Return the new list in RESULT and the MIC value in the 20 byte
-   buffer SHA1HASH. */
+   buffer SHA1HASH.  CUTOFF and CUTLEN will receive the offset and the
+   length of the resulting list which should go into the MIC
+   calculation but then be removed.  */
 static int
 merge_lists (const unsigned char *protectedkey,
              size_t replacepos, 
              const unsigned char *cleartext,
              unsigned char *sha1hash,
-             unsigned char **result, size_t *resultlen)
+             unsigned char **result, size_t *resultlen,
+             size_t *cutoff, size_t *cutlen)
 {
   size_t n, newlistlen;
   unsigned char *newlist, *p;
@@ -473,6 +493,8 @@ merge_lists (const unsigned char *protectedkey,
   
   *result = NULL;
   *resultlen = 0;
+  *cutoff = 0;
+  *cutlen = 0;
 
   if (replacepos < 26)
     return gpg_error (GPG_ERR_BUG);
@@ -522,7 +544,7 @@ merge_lists (const unsigned char *protectedkey,
     goto invalid_sexp;
   endpos = s;
   s++;
-  /* short intermezzo: Get the MIC */
+  /* Intermezzo: Get the MIC */
   if (*s != '(')
     goto invalid_sexp;
   s++;
@@ -539,13 +561,13 @@ merge_lists (const unsigned char *protectedkey,
   s += n;
   if (*s != ')')
     goto invalid_sexp;
-  /* end intermezzo */
+  /* End intermezzo */
 
   /* append the parameter list */
   memcpy (p, startpos, endpos - startpos);
   p += endpos - startpos;
   
-  /* skip overt the protected list element in the original list */
+  /* Skip over the protected list element in the original list.  */
   s = protectedkey + replacepos;
   assert (*s == '(');
   s++;
@@ -553,6 +575,22 @@ merge_lists (const unsigned char *protectedkey,
   rc = sskip (&s, &i);
   if (rc)
     goto failure;
+  /* Record the position of the optional protected-at expression.  */
+  if (*s == '(')
+    {
+      const unsigned char *save_s = s;
+      s++;
+      n = snext (&s);
+      if (smatch (&s, n, "protected-at"))
+        {
+          i = 1;
+          rc = sskip (&s, &i);
+          if (rc)
+            goto failure;
+          *cutlen = s - save_s;
+        }
+      s = save_s;
+    }
   startpos = s;
   i = 2; /* we are inside this level */
   rc = sskip (&s, &i);
@@ -561,9 +599,12 @@ merge_lists (const unsigned char *protectedkey,
   assert (s[-1] == ')');
   endpos = s; /* one behind the end of the list */
 
-  /* append the rest */
+  /* Append the rest. */
+  if (*cutlen)
+    *cutoff = p - newlist;
   memcpy (p, startpos, endpos - startpos);
   p += endpos - startpos;
+  
 
   /* ready */
   *result = newlist;
@@ -584,13 +625,16 @@ merge_lists (const unsigned char *protectedkey,
 
 
 /* Unprotect the key encoded in canonical format.  We assume a valid
-   S-Exp here. */
+   S-Exp here.  If a protected-at item is available, its value will
+   be stored at protocted_at unless this is NULL.  */
 int 
 agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
+                 gnupg_isotime_t protected_at, 
                  unsigned char **result, size_t *resultlen)
 {
   int rc;
   const unsigned char *s;
+  const unsigned char *protect_list; 
   size_t n;
   int infidx, i;
   unsigned char sha1hash[20], sha1hash2[20];
@@ -601,6 +645,10 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   unsigned char *cleartext;
   unsigned char *final;
   size_t finallen;
+  size_t cutoff, cutlen;
+
+  if (protected_at)
+    *protected_at = 0;
 
   s = protectedkey;
   if (*s != '(')
@@ -624,12 +672,44 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
   if (!protect_info[infidx].algo)
     return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM); 
 
+
+  /* See wether we have a protected-at timestamp.  */
+  protect_list = s;  /* Save for later.  */
+  if (protected_at)
+    {
+      while (*s == '(')
+        {
+          prot_begin = s;
+          s++;
+          n = snext (&s);
+          if (!n)
+            return gpg_error (GPG_ERR_INV_SEXP);
+          if (smatch (&s, n, "protected-at"))
+            {
+              n = snext (&s);
+              if (!n)
+                return gpg_error (GPG_ERR_INV_SEXP);
+              if (n != 15)
+                return gpg_error (GPG_ERR_UNKNOWN_SEXP);
+              memcpy (protected_at, s, 15);
+              protected_at[15] = 0;
+              break;
+            }
+          s += n;
+          i = 1;
+          rc = sskip (&s, &i);
+          if (rc)
+            return rc;
+        }
+    }
+
   /* Now find the list with the protected information.  Here is an
      example for such a list:
      (protected openpgp-s2k3-sha1-aes-cbc 
         ((sha1 <salt> <count>) <Initialization_Vector>)
         <encrypted_data>)
    */
+  s = protect_list;
   for (;;)
     {
       if (*s != '(')
@@ -700,7 +780,7 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
     return rc;
 
   rc = merge_lists (protectedkey, prot_begin-protectedkey, cleartext,
-                    sha1hash, &final, &finallen);
+                    sha1hash, &final, &finallen, &cutoff, &cutlen);
   /* Albeit cleartext has been allocated in secure memory and thus
      xfree will wipe it out, we do an extra wipe just in case
      somethings goes badly wrong. */
@@ -718,6 +798,13 @@ agent_unprotect (const unsigned char *protectedkey, const char *passphrase,
       xfree (final);
       return rc;
     }
+  /* Now remove tha part which is included in the MIC but should not
+     go into the final thing.  */
+  if (cutlen)
+    {
+      memmove (final+cutoff, final+cutoff+cutlen, finallen-cutoff-cutlen);
+      finallen -= cutlen;
+    }
 
   *result = final;
   *resultlen = gcry_sexp_canon_len (final, 0, NULL, NULL);
index dd38733..7f61743 100644 (file)
@@ -1,3 +1,11 @@
+2007-08-28  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (check_isotime, add_isotime): New.  Orginally written
+       for DirMngr by me.
+       (add_days_to_isotime): New.
+       (date2jd, jd2date, days_per_month, days_per_year): New. Taken from
+       my ancient (1988) code used in Wedit (time2.c).
+
 2007-08-27  Werner Koch  <wk@g10code.com>
 
        * util.h (GNUPG_MODULE_NAME_CHECK_PATTERN): New.
index 1814826..6b7411b 100644 (file)
 static unsigned long timewarp;
 static enum { NORMAL = 0, FROZEN, FUTURE, PAST } timemode;
 
+/* Correction used to map to real Julian days. */
+#define JD_DIFF 1721060L
+
+
 /* Wrapper for the time(3).  We use this here so we can fake the time
    for tests */
 time_t 
@@ -363,14 +367,215 @@ asctimestamp( u32 stamp )
 
 
 
+static int
+days_per_year (int y)
+{
+  int s ;
+
+  s = !(y % 4);
+  if ( !(y % 100))
+    if ((y%400))
+      s = 0;
+  return s ? 366 : 365;
+}
+
+static int
+days_per_month (int y, int m)
+{
+  int s;
+    
+  switch(m)
+    {
+    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
+      return 31 ;
+    case 2:
+      s = !(y % 4);
+      if (!(y % 100))
+        if ((y % 400))
+          s = 0;
+      return s? 29 : 28 ;
+    case 4: case 6: case 9: case 11:
+      return 30;
+    }
+  BUG();
+}
+
+
+/* Convert YEAR, MONTH and DAY into the Julian date.  We assume that
+   it is already noon; we dont; support dates before 1582-10-15. */
+static unsigned long
+date2jd (int year, int month, int day)
+{
+  unsigned long jd;
+
+  jd = 365L * year + 31 * (month-1) + day + JD_DIFF;
+  if (month < 3)
+    year-- ;
+  else
+    jd -= (4 * month + 23) / 10;
+
+  jd += year / 4 - ((year / 100 + 1) *3) / 4;
+
+  return jd ;
+}
+
+/* Convert a Julian date back to YEAR, MONTH and DAY.  Return day of
+   the year or 0 on error.  This function uses some more or less
+   arbitrary limits, most important is that days before 1582 are not
+   supported. */
+static int
+jd2date (unsigned long jd, int *year, int *month, int *day)
+{
+  int y, m, d;
+  long delta;
+
+  if (!jd)
+    return 0 ;
+  if (jd < 1721425 || jd > 2843085)
+    return 0;
+
+  y = (jd - JD_DIFF) / 366;
+  d = m = 1;
+
+  while ((delta = jd - date2jd (y, m, d)) > days_per_year (y))
+    y++;
+
+  m = (delta / 31) + 1;
+  while( (delta = jd - date2jd (y, m, d)) > days_per_month (y,m))
+    if (++m > 12)
+      { 
+        m = 1;
+        y++;
+      }
+
+  d = delta + 1 ;
+  if (d > days_per_month (y, m))
+    { 
+      d = 1;
+      m++;
+    }
+  if (m > 12)
+    { 
+      m = 1;
+      y++;
+    }
+
+  if (year)
+    *year = y;
+  if (month)
+    *month = m;
+  if (day)
+    *day = d ;
+
+  return (jd - date2jd (y, 1, 1)) + 1;
+}
+
+
+/* Check that the 15 bytes in ATIME represent a valid ISO time.  Note
+   that this function does not expect a string but a plain 15 byte
+   isotime buffer. */
+gpg_error_t
+check_isotime (const gnupg_isotime_t atime)
+{
+  int i;
+  const char *s;
+
+  if (!*atime)
+    return gpg_error (GPG_ERR_NO_VALUE);
+  
+  for (s=atime, i=0; i < 8; i++, s++)
+    if (!digitp (s))
+      return gpg_error (GPG_ERR_INV_TIME);
+  if (*s != 'T')
+      return gpg_error (GPG_ERR_INV_TIME);
+  for (s++, i=9; i < 15; i++, s++)
+    if (!digitp (s))
+      return gpg_error (GPG_ERR_INV_TIME);
+  return 0;
+}
 
 
 
+/* Add SECONDS to ATIME.  SECONDS may not be negative and is limited
+   to about the equivalent of 62 years which should be more then
+   enough for our purposes. */
+gpg_error_t
+add_seconds_to_isotime (gnupg_isotime_t atime, int nseconds)
+{
+  gpg_error_t err;
+  int year, month, day, hour, minute, sec, ndays;
+  unsigned long jd;
+
+  err = check_isotime (atime);
+  if (err)
+    return err;
+
+  if (nseconds < 0 || nseconds >= (0x7fffffff - 61) )
+    return gpg_error (GPG_ERR_INV_VALUE);
+
+  year  = atoi_4 (atime+0);
+  month = atoi_2 (atime+4);
+  day   = atoi_2 (atime+6);
+  hour  = atoi_2 (atime+9);
+  minute= atoi_2 (atime+11);
+  sec   = atoi_2 (atime+13);
+
+  if (year <= 1582) /* The julian date functions don't support this. */
+    return gpg_error (GPG_ERR_INV_VALUE); 
+
+  sec    += nseconds;
+  minute += sec/60;
+  sec    %= 60;
+  hour   += minute/60;
+  minute %= 60;
+  ndays  = hour/24;
+  hour   %= 24;
+  
+  jd = date2jd (year, month, day) + ndays;
+  jd2date (jd, &year, &month, &day);
+
+  if (year > 9999 || month > 12 || day > 31
+      || year < 0 || month < 1 || day < 1)
+    return gpg_error (GPG_ERR_INV_VALUE); 
+    
+  snprintf (atime, 16, "%04d%02d%02dT%02d%02d%02d",
+            year, month, day, hour, minute, sec);
+  return 0;
+}
 
 
+gpg_error_t
+add_days_to_isotime (gnupg_isotime_t atime, int ndays)
+{
+  gpg_error_t err;
+  int year, month, day, hour, minute, sec;
+  unsigned long jd;
 
+  err = check_isotime (atime);
+  if (err)
+    return err;
 
+  if (ndays < 0 || ndays >= 9999*366 )
+    return gpg_error (GPG_ERR_INV_VALUE);
 
+  year  = atoi_4 (atime+0);
+  month = atoi_2 (atime+4);
+  day   = atoi_2 (atime+6);
+  hour  = atoi_2 (atime+9);
+  minute= atoi_2 (atime+11);
+  sec   = atoi_2 (atime+13);
 
+  if (year <= 1582) /* The julian date functions don't support this. */
+    return gpg_error (GPG_ERR_INV_VALUE); 
 
+  jd = date2jd (year, month, day) + ndays;
+  jd2date (jd, &year, &month, &day);
 
+  if (year > 9999 || month > 12 || day > 31
+      || year < 0 || month < 1 || day < 1)
+    return gpg_error (GPG_ERR_INV_VALUE); 
+    
+  snprintf (atime, 16, "%04d%02d%02dT%02d%02d%02d",
+            year, month, day, hour, minute, sec);
+  return 0;
+}
index 9379183..75f6ed0 100644 (file)
@@ -110,7 +110,9 @@ const char *strtimevalue (u32 stamp);
 const char *strtimestamp (u32 stamp); /* GMT */
 const char *isotimestamp (u32 stamp); /* GMT */
 const char *asctimestamp (u32 stamp); /* localized */
-
+gpg_error_t add_seconds_to_isotime (gnupg_isotime_t atime, int nseconds);
+gpg_error_t add_days_to_isotime (gnupg_isotime_t atime, int ndays);
+gpg_error_t check_isotime (const gnupg_isotime_t atime);
 
 /* Copy one ISO date to another, this is inline so that we can do a
    sanity check. */
index 9751eee..0dbf9ad 100644 (file)
@@ -365,6 +365,15 @@ a policy.  A better policy is to educate users on good security
 behavior and optional to run a passphrase cracker regularly on all
 users passphrases t catch the very simple ones.
 
+@item --max-passphrase-days @var{n}
+@opindex max-passphrase-days 
+Ask the user to change the passphrase if @var{n} days have passed since
+the last change.  With @option{--enforce-passphrase-constraints} set the
+user may not bypass this check.
+
+@item --enable-passphrase-history
+@opindex enable-passphrase-history
+This option does nothing yet.
 
 @item --pinentry-program @var{filename}
 @opindex pinentry-program
index 5cd73b7..c620d54 100644 (file)
@@ -1,3 +1,7 @@
+2007-08-28  Werner Koch  <wk@g10code.com>
+
+       * de.po: Updated.
+
 2007-08-16  Werner Koch  <wk@g10code.com>
 
        * pt_BR.po, es.po: Remove the "GNU" from the project ID.  That
index c821a7a..a991fb4 100644 (file)
@@ -8,6 +8,7 @@ agent/gpg-agent.c
 agent/preset-passphrase.c
 agent/protect-tool.c
 agent/trustlist.c
+agent/findkey.c
 
 common/exechelp.c
 common/http.c
index 09c85b4..5b54377 100644 (file)
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2003-10-30 16:35+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
@@ -20,52 +20,52 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 #, fuzzy
 msgid "PIN too long"
 msgstr "пароль занадта доўгі\n"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "пароль занадта доўгі\n"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 msgid "Invalid characters in PIN"
 msgstr ""
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "дрэнны MPI"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "дрэнны пароль"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "дрэнны пароль"
@@ -161,7 +161,27 @@ msgstr ""
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr ""
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "памылка стварэньня \"%s\": %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "памылка стварэньня \"%s\": %s\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "Увядзіце пароль\n"
+
+#: agent/genkey.c:165
+msgid "Take this one anyway"
+msgstr ""
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -172,49 +192,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-msgid "Take this one anyway"
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
+
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
 msgstr ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "Увядзіце пароль\n"
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "Увядзіце пароль\n"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "Паўтарыце пароль\n"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -225,241 +260,241 @@ msgstr ""
 "Выбары:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "шматслоўнасьць"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "працаваць менш шматслоўна"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 msgid "|FILE|read options from FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 msgid "use a log file for the server"
 msgstr ""
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "паказаць сьпіс ключоў і ID карыстальнікаў"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 msgid "do not use the SCdaemon"
 msgstr ""
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "Паўтарыце пароль\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
 msgid "Please report bugs to <"
 msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "запіс у stdout\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: тэчка створана\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: немагчыма стварыць тэчку: %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, c-format
 msgid "%s %s stopped\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -487,37 +522,37 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "дрэнны пароль"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr ""
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 #, fuzzy
 msgid "cancelled\n"
 msgstr "скасавана карыстальнікам\n"
@@ -569,8 +604,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -580,7 +615,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -592,58 +627,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "yes [так]"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "дрэнны пароль"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "немагчыма адкрыць %s: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
@@ -684,17 +740,17 @@ msgstr "скасавана карыстальнікам\n"
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr ""
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr ""
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr ""
@@ -1451,7 +1507,7 @@ msgstr "%s: немагчыма стварыць тэчку: %s\n"
 msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1584,7 +1640,7 @@ msgstr ""
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1619,7 +1675,7 @@ msgstr ""
 msgid "use as output file"
 msgstr "выкарыстоўваць у якасьці файла вываду"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "не рабіць ніякіх зьменаў"
 
@@ -2543,12 +2599,12 @@ msgstr ""
 msgid "          w/o user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr ""
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr ""
@@ -2573,22 +2629,22 @@ msgstr ""
 msgid "   new key revocations: %lu\n"
 msgstr ""
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr ""
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr ""
@@ -3684,12 +3740,12 @@ msgid ""
 msgstr ""
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 msgid "revoked"
 msgstr ""
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 msgid "expired"
 msgstr ""
 
@@ -3744,7 +3800,7 @@ msgstr ""
 msgid "Nothing deleted.\n"
 msgstr ""
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 msgid "invalid"
 msgstr ""
 
@@ -4856,7 +4912,7 @@ msgstr ""
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 #, fuzzy
 msgid "unknown"
 msgstr "невядомая вэрсыя"
@@ -4918,66 +4974,66 @@ msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr ""
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr ""
 "па больш падрабязныя зьвесткі шукайце на http://www.gnupg.org/faq.html\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr ""
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr ""
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 msgid "Uncompressed"
 msgstr ""
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 msgid "uncompressed|none"
 msgstr ""
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr ""
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "невядомая вэрсыя"
@@ -5761,7 +5817,7 @@ msgstr ""
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr ""
@@ -5806,7 +5862,7 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "памылка чытаньня файла"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
@@ -5949,164 +6005,164 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr ""
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr ""
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr ""
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr ""
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr ""
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 #, fuzzy
 msgid "[ revoked]"
 msgstr "памылка чытаньня файла"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 #, fuzzy
 msgid "[ expired]"
 msgstr "збой падпісаньня: %s\n"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 #, fuzzy
 msgid "[ unknown]"
 msgstr "невядомая вэрсыя"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr ""
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr ""
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "грамадскі ключ ня знойдзены"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6153,25 +6209,25 @@ msgstr "немагчыма адкрыць %s: %s\n"
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr ""
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr ""
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -6646,7 +6702,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "збой падпісаньня: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 msgid "certificate chain too long\n"
 msgstr ""
 
@@ -6860,16 +6916,6 @@ msgstr "збой падпісаньня: %s\n"
 msgid "no valid recipients given\n"
 msgstr ""
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "памылка стварэньня \"%s\": %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "памылка стварэньня \"%s\": %s\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7009,7 +7055,7 @@ msgstr "выдаліць ключы са зьвязку грамадскіх к
 msgid "add this secret keyring to the list"
 msgstr ""
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|НАЗВА|     задаць назву дапомнага сакрэтнага ключа"
 
@@ -7093,25 +7139,25 @@ msgstr "немагчыма адкрыць %s: %s\n"
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, c-format
 msgid "total number processed: %lu\n"
 msgstr ""
 
-#: sm/import.c:226
+#: sm/import.c:227
 msgid "error storing certificate\n"
 msgstr ""
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "паказаць ключы й адбіткі пальцаў"
@@ -7322,27 +7368,27 @@ msgstr "памылка стварэньня \"%s\": %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "памылка стварэньня \"%s\": %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7358,56 +7404,84 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr ""
+"Увядзіце новы пароль для гэтага сакрэтнага ключа.\n"
+"\n"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "Паўтарыце пароль\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|ІМЯ|   зашыфраваць для вылучанай асобы"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
index 46e53d5..a80a380 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -27,7 +27,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2005-02-04 02:04+0100\n"
 "Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -40,54 +40,54 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 #, fuzzy
 msgid "PIN too long"
 msgstr "la línia és massa llarga\n"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "la contrasenya és massa llarga\n"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Hi ha un caràcter invàlid en el camp *nom*\n"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "l'MPI és erroni"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "la contrasenya és errònia"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "la contrasenya és errònia"
@@ -185,7 +185,28 @@ msgstr "la contrasenya no s'ha repetit correctament; torneu a intentar-ho"
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr ""
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "error en la creació de la contrasenya: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "%s: error en escriure el registre de directoris: %s\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "Introduïu la contrasenya\n"
+
+#: agent/genkey.c:165
+#, fuzzy
+msgid "Take this one anyway"
+msgstr "Voleu usar de tota manera aquesta clau?"
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -196,50 +217,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-#, fuzzy
-msgid "Take this one anyway"
-msgstr "Voleu usar de tota manera aquesta clau?"
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "Introduïu la contrasenya\n"
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr ""
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "Cal una contrasenya per a protegir la clau secreta.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "canvia la contrasenya"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "canvia la contrasenya"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -250,248 +285,248 @@ msgstr ""
 "Opcions:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
 # Un dels dos és en la llista d'opcions amb --help. Urgh. jm
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "detall"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "una mica més silenciós"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "cerca claus en un servidor de claus"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "actualitza la base de dades de confiança"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
 msgid "Please report bugs to <"
 msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTA: no existeix el fitxer d'opcions predeterminades «%s»\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "fitxer d'opcions «%s»: %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "s'estan llegint opcions de «%s»\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "no es pot crear el directori «%s»: %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: s'ha creat el directori\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: no s'ha pogut crear el directori: %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "ha fallat l'actualització de la clau secreta: %s\n"
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu claus es descarta\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "la variable d'entorn GPG_AGENT_INFO és malformada\n"
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -519,40 +554,40 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "la contrasenya és errònia"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Cancel·la"
@@ -605,8 +640,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -616,7 +651,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -628,58 +663,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "sí|si"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "canvia la contrasenya"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "no es pot obrir el fitxer: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -723,18 +779,18 @@ msgid "problem with the agent\n"
 msgstr "hi ha un problema amb l'agent: l'agent ha tornat 0x%lx\n"
 
 # bolcats de memòria?  ivb
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "no s'han pogut desactivar els bolcats de memòria: %s\n"
 
 # Indi. ivb
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
@@ -1541,7 +1597,7 @@ msgstr "s'usarà la clau secundària %08lX en lloc de la primària %08lX\n"
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "clau %08lX: clau secreta sense clau pública - es descarta\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1676,7 +1732,7 @@ msgstr "|algo [fitxers]|imprimeix resums de missatges"
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1711,7 +1767,7 @@ msgstr "usa el mode de text canònic"
 msgid "use as output file"
 msgstr "fitxer d'eixida"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "no fa cap canvi"
 
@@ -2768,12 +2824,12 @@ msgstr " claus noves descartades: %lu\n"
 msgid "          w/o user IDs: %lu\n"
 msgstr "                sense ID: %lu\n"
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importades: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          no modificades: %lu\n"
@@ -2798,22 +2854,22 @@ msgstr "        signatures noves: %lu\n"
 msgid "   new key revocations: %lu\n"
 msgstr "       noves revocacions: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " claus privades llegides: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "claus privades importades: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "claus privades no canviades: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              importades: %lu\n"
@@ -4017,13 +4073,13 @@ msgstr ""
 "correcta a no ser que torneu a executar el programa.\n"
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 #, fuzzy
 msgid "revoked"
 msgstr "[revocada]"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 #, fuzzy
 msgid "expired"
 msgstr "expire"
@@ -4089,7 +4145,7 @@ msgstr "S'han esborrat %d signatures.\n"
 msgid "Nothing deleted.\n"
 msgstr "No s'hi ha eliminat res.\n"
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 msgid "invalid"
 msgstr "invàlida"
 
@@ -5289,7 +5345,7 @@ msgstr "binari"
 msgid "textmode"
 msgstr "mode text"
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 msgid "unknown"
 msgstr "desconeguda"
 
@@ -5351,41 +5407,41 @@ msgstr "signatura %s, algorisme de resum %s\n"
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "el mòdul de xifratge IDEA no està present\n"
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = mostra més informació\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: l'opció «%s» està desaconsellada.\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "si us plau, utilitzeu «%s%s» en el seu lloc\n"
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
@@ -5393,7 +5449,7 @@ msgstr "AVÍS: %s és una opció desaconsellada.\n"
 # Gènere?  Nombre?  Passat, futur?  ivb
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: g10/misc.c:737
+#: g10/misc.c:739
 msgid "Uncompressed"
 msgstr "No comprimit"
 
@@ -5401,22 +5457,22 @@ msgstr "No comprimit"
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "No comprimit"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "aquest missatge pot no ser usable per %s\n"
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "s'estan llegint opcions de «%s»\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "el destinatari predeterminat és desconegut «%s»\n"
@@ -6298,7 +6354,7 @@ msgstr ""
 "es descarta «%s»: és una clau ElGamal generada per PGP que no és segura per "
 "a signatures!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut escriure: %s\n"
@@ -6346,7 +6402,7 @@ msgstr "error en trobar el registre de confiança: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "error de lectura: %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de dades de confiança: no s'ha pogut sincronitzar: %s\n"
@@ -6494,174 +6550,174 @@ msgstr "no es poden tractar línies més llargues de %d caràcters\n"
 msgid "input line longer than %d characters\n"
 msgstr "la línia d'entrada és superior a %d caràcters\n"
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "«%s» no és un ID de clau llarg vàlid\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "clau %08lX: s'accepta com a clau fiable\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 "la clau %08lX apareix més d'una vegada en la base de dades de confiança\n"
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "clau %08lX: no hi ha una clau pública per a la clau fiable - es descarta\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "s'ha marcat la clau com a de confiança absoluta.\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut llegir: %s\n"
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "el registre de confiança %lu no és del tipus demanat %d\n"
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[revocada]"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 #, fuzzy
 msgid "[ expired]"
 msgstr "[caducada]"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 #, fuzzy
 msgid "[ unknown]"
 msgstr "desconeguda"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 #, fuzzy
 msgid "never"
 msgstr "mai       "
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "la pròxima comprovació de la base de dades de confiança serà el %s\n"
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 "no és necessària una comprovació de la base de dades de confiança\n"
 "\n"
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "no s'ha trobat la clau pública %08lX: %s\n"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr "si us plau, feu un --check-trustdb\n"
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr "s'està comprovant la base de dades de confiança\n"
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "s'han processat %d claus (s'han netejat %d comptes de validesa)\n"
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr "no s'han trobat claus amb confiança absoluta\n"
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "no s'ha trobat la clau pública de la clau amb confiança absoluta %08lX\n"
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "registre de confiança %lu, tipus %d: no s'ha pogut escriure: %s\n"
@@ -6712,25 +6768,25 @@ msgstr "no es pot obrir el fitxer: %s\n"
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr ""
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr ""
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -7219,7 +7275,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Certificat de revocació vàlid"
@@ -7449,16 +7505,6 @@ msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 msgid "no valid recipients given\n"
 msgstr "(No es va donar una descripció)\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "error en la creació de la contrasenya: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "%s: error en escriure el registre de directoris: %s\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7597,7 +7643,7 @@ msgstr "afegeix aquest anell a la llista"
 msgid "add this secret keyring to the list"
 msgstr "afegeix aquest anell secret a la llista"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
@@ -7679,26 +7725,26 @@ msgstr "no s'ha pogut tancar «%s»: %s\n"
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, fuzzy, c-format
 msgid "total number processed: %lu\n"
 msgstr "Nombre total processat: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 #, fuzzy
 msgid "error storing certificate\n"
 msgstr "Certificat correcte"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -7912,27 +7958,27 @@ msgstr "error mentre s'enviava a «%s»: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7948,57 +7994,83 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr "|N|usa el mode de contrasenya especificat"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "error en la creació de la contrasenya: %s\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOM|xifra per a NOM"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOM|usa l'algoritme de xifratge NOM per a les contrasenyes"
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8713,9 +8785,6 @@ msgstr "l'algoritme de protecció %d%s no està suportat\n"
 #~ "estableix totes les opcions de paquets, xifratge i resum al comportament "
 #~ "de PGP 2.x"
 
-#~ msgid "|N|use passphrase mode N"
-#~ msgstr "|N|usa el mode de contrasenya especificat"
-
 #~ msgid "|NAME|use message digest algorithm NAME for passphrases"
 #~ msgstr ""
 #~ "|NOM|usa l'algoritme de resum de missatges NOM per a les contrasenyes"
index 06c4b3f..0a60c92 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-1.3.92\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2004-11-26 09:12+0200\n"
 "Last-Translator: Roman Pavlik <rp@tns.cz>\n"
 "Language-Team: Czech <translations.cs@gnupg.cz>\n"
@@ -20,54 +20,54 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "ulo¾ení fingerprintu se nezdaøilo: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Prosím, vlo¾te heslo; toto je tajná vìta \n"
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 #, fuzzy
 msgid "PIN too long"
 msgstr "øádek je pøíli¹ dlouhý"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "øádek je pøíli¹ dlouhý"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Neplatný znak ve jménì\n"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "¹patné MPI"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "¹patné heslo"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "¹patné heslo"
@@ -162,7 +162,28 @@ msgstr "PIN nen
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr "||Prosím vlo¾te PIN%%0A[podpis hotov: %lu]"
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "chyba pøi vytváøení hesla: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "%s: chyba pøi zápisu adresáøového záznamu: %s\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "Vlo¾it heslo\n"
+
+#: agent/genkey.c:165
+#, fuzzy
+msgid "Take this one anyway"
+msgstr "Pou¾ít pøesto tento klíè? (a/N) "
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -173,50 +194,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-#, fuzzy
-msgid "Take this one anyway"
-msgstr "Pou¾ít pøesto tento klíè? (a/N) "
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "Vlo¾it heslo\n"
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr ""
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "Pro ochranu Va¹eho tajného klíèe musíte zadat heslo.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "zmìnit heslo"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "zmìnit heslo"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -227,104 +262,104 @@ msgstr ""
 "Mo¾nosti:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "s dodateènými informacemi"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "být o trochu víc tichý"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "ètu mo¾nosti z `%s'\n"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "vyhledat klíèe na serveru klíèù"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "nastavit sadu preferencí pro vybrané u¾ivatelské ID"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "aktualizovat databázi dùvìry"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "chyba pøi vytváøení hesla: %s\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
@@ -333,142 +368,142 @@ msgstr ""
 "Chyby oznamte, prosím, na adresu <gnupg-bugs@gnu.org>.\n"
 "Pøipomínky k pøekladu <rp@tns.cz>.\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Pou¾ití: gpg [mo¾nosti] [soubory] (-h pro pomoc)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "POZNÁMKA: neexistuje implicitní soubor s mo¾nostmi `%s'\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "soubor s mo¾nostmi `%s': %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "ètu mo¾nosti z `%s'\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "chyba pøi vytváøení `%s': %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "nemohu vytvoøit adresáø `%s': %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "nemohu vytvoøit `%s': %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent není v tomto sezení dostupný\n"
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "chyba pøi hledání záznamu dùvìryhodnosti v `%s': %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "aktualizace selhala: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "zapisuji tajný klíè do `%s'\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "adresáø `%s' vytvoøen\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fstat(%d) selhal v %s: %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "nemohu vytvoøit adresáø `%s': %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "aktualizace tajného klíèe selhala: %s\n"
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: pøeskoèeno: %s\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent není v tomto sezení dostupný\n"
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "¹patný formát promìnné prostøedí GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -496,40 +531,40 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Prosím, vlo¾te heslo; toto je tajná vìta \n"
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Prosím, vlo¾te heslo; toto je tajná vìta \n"
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Prosím, vlo¾te heslo; toto je tajná vìta \n"
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "¹patné heslo"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "chyba pøi vytváøení hesla: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 #, fuzzy
 msgid "cancelled\n"
 msgstr "zru¹eno"
@@ -581,8 +616,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -592,7 +627,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -604,58 +639,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "ano"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "zmìnit heslo"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "chyba pøi vytváøení hesla: %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "nemohu otevøít podepsaná data '%s'\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "chyba pøi ètení `%s': %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "chyba pøi získání informací o aktuálním klíèi: %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "chyba pøi ètení `%s': %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "chyba pøi ètení `%s': %s\n"
@@ -697,18 +753,18 @@ msgstr "zru
 msgid "problem with the agent\n"
 msgstr "problém s agentem - pou¾ívání agenta vypnuto\n"
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "nemohu vypnout vytváøení core souborù: %s\n"
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví roz¹iøujícího modulu není nastaveno bezpeènì `%s'\n"
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "VAROVÁNÍ: pøístupová práva roz¹iøujícímu modulu nejsou bezpeèná `%s'\n"
@@ -1459,7 +1515,7 @@ msgstr "pou
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "klíè %s: tajný klíè bez klíèe veøejného - pøeskoèeno\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1591,7 +1647,7 @@ msgstr "|algo [soubory]  vypi
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1630,7 +1686,7 @@ msgstr "pou
 msgid "use as output file"
 msgstr "pou¾ít jako výstupní soubor"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "neprovádìt ¾ádné zmìny"
 
@@ -2683,12 +2739,12 @@ msgstr "     p
 msgid "          w/o user IDs: %lu\n"
 msgstr "          bez ID u¾ivatele: %lu\n"
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "                 importováno: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                 beze zmìn: %lu\n"
@@ -2713,22 +2769,22 @@ msgstr "              nov
 msgid "   new key revocations: %lu\n"
 msgstr "       nové revokace klíèù: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      pøeètené tajné klíèe: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "   importované tajné klíèe: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "     tajné klíèe nezmìnìny: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             neimportováno: %lu\n"
@@ -3850,12 +3906,12 @@ msgstr ""
 "být nutnì správné, dokud znova nespustíte program.\n"
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 msgid "revoked"
 msgstr "revokován"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 msgid "expired"
 msgstr "platnost skonèila"
 
@@ -3914,7 +3970,7 @@ msgstr "Smaz
 msgid "Nothing deleted.\n"
 msgstr "Nic nebylo smazáno.\n"
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 msgid "invalid"
 msgstr "neplatný"
 
@@ -5069,7 +5125,7 @@ msgstr "bin
 msgid "textmode"
 msgstr "textový formát"
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 msgid "unknown"
 msgstr "neznámý formát"
 
@@ -5130,65 +5186,65 @@ msgstr "VAROV
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "VAROVÁNÍ: vy¾ádaný algoritmus %s není doporuèen\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "IDEA modul pro GnuPG nenalezen\n"
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr "Více informací naleznete na adrese http://www.gnupg.cz/faq.html\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: pou¾ití parametru \"%s\" se nedoporuèuje\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "VAROVÁNÍ: pou¾ívání parametru \"%s\" se nedoporuèuje\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "pou¾ijte místo nìj \"%s%s\" \n"
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "VAROVÁNÍ: pou¾ívání pøíkaz \"%s\" se nedoporuèuje - nepou¾ívejte jej\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "VAROVÁNÍ: pou¾ívání parametru \"%s\" se nedoporuèuje\n"
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 msgid "Uncompressed"
 msgstr "Nezakomprimováno"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 msgid "uncompressed|none"
 msgstr "nezakomprimováno|nic"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "tato zpráva nemusí být s %s pou¾itelná\n"
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "nejednoznaèné volby `%s'\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "neznámá volba `%s'\n"
@@ -6018,7 +6074,7 @@ msgstr ""
 "toto je PGP klíè vygenerovaný podle algoritmu ElGamal,\n"
 "podpisy vytvoøené tímto klíèem nejsou bezpeèné!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "záznam dùvìry %lu, typ %d: zápis selhal: %s\n"
@@ -6063,7 +6119,7 @@ msgstr "chyba p
 msgid "read error in `%s': %s\n"
 msgstr "chyba pøi ètení v `%s': %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "databáze dùvìry: synchronizace selhala %s\n"
@@ -6206,157 +6262,157 @@ msgstr "nemohu pracovat s 
 msgid "input line longer than %d characters\n"
 msgstr "vstupní øádek je del¹í ne¾ %d znakù\n"
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' není platný dlouhý keyID\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "klíè %s: akceptován jako dùvìryhodný klíè\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "klíè %s se v databázi dùvìry vyskytuje více ne¾ jednou\n"
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "klíè %s: nenalezen veøejný klíè k dùvìryhodnému klíèi - pøeskoèeno\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "klíè %s oznaèen jako absolutnì dùvìryhodný.\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "záznam dùvìry %lu, typ po¾. %d: ètení selhalo: %s\n"
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "záznam dùvìry %lu není po¾adovaného typu %d\n"
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "nelze pou¾ít neznámý model dùvìry (%d) - pøedpokládáme pou¾ití modelu %s\n"
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr "poui¾ití modelu dùvìry %s\n"
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 "14 fixní délka na kterou se pøekládá see trustdb.c:uid_trust_string_fixed"
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 msgid "[ revoked]"
 msgstr "[ revokován  ]"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 msgid "[ expired]"
 msgstr "[ expirován  ]"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 msgid "[ unknown]"
 msgstr "[  neznámá   ]"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr "[nedefinovaná]"
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr "[  èásteèná  ]"
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr "[    plná    ]"
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr "[  absolutní ]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr "nedefinována"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 msgid "never"
 msgstr "¾ádná"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr "èásteèná"
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr "plná"
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr "absolutní"
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr "není nutné kontrolovat databázi dùvìry\n"
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "dal¹í kontrola databáze dùvìry v %s\n"
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "není nutné kontrolovat databázi dùvìry s modelem `%s'\n"
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "není nutné aktualizovat databázi dùvìry s modelem `%s'\n"
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "veøejný klíè %s nebyl nalezen: %s\n"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr "prosím proveïte --check-trustdb\n"
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr "kontroluji databázi dùvìry\n"
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "zpracováno %d klíèù (%d validit vymazáno)\n"
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr "¾ádný absolutnì dùvìryhodný klíè nebyl nalezen\n"
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "veøejný klíè k absolutnì dùvìryhodnému klíèi %s nebyl nalezen\n"
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "po¾adováno %d èásteèné dùvìry a %d úplné dùvìry, model %s\n"
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
@@ -6364,7 +6420,7 @@ msgstr ""
 "hloubka: %d  platných: %3d  podepsaných: %3d  dùvìra: %d-, %dq, %dn, %dm, %"
 "df, %du\n"
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "nelze aktualizovat záznam v databázi dùvìry: chyba pøi zápisu: %s\n"
@@ -6414,27 +6470,27 @@ msgstr "podeps
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "pøejmenování `%s' na `%s' se nezdaøilo: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr ""
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr ""
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr ""
 "Chyby oznamte, prosím, na adresu <gnupg-bugs@gnu.org>.\n"
 "Pøipomínky k pøekladu <rp@tns.cz>.\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Pou¾ití: gpg [mo¾nosti] [soubory] (-h pro pomoc)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -6910,7 +6966,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "kontrola vytvoøeného podpisu se nepodaøila: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 msgid "certificate chain too long\n"
 msgstr ""
 
@@ -7125,16 +7181,6 @@ msgstr "smaz
 msgid "no valid recipients given\n"
 msgstr "(Nebyl zadán ®ádný popis)\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "chyba pøi vytváøení hesla: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "%s: chyba pøi zápisu adresáøového záznamu: %s\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7277,7 +7323,7 @@ msgstr "ber kl
 msgid "add this secret keyring to the list"
 msgstr "Pro provedení této operace je potøeba tajný klíè.\n"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr ""
 
@@ -7362,26 +7408,26 @@ msgstr "nemohu otev
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, fuzzy, c-format
 msgid "total number processed: %lu\n"
 msgstr "Celkový poèet zpracovaných klíèù: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 #, fuzzy
 msgid "error storing certificate\n"
 msgstr "vytvoøit revokaèní certifikát"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "chyba pøi vytváøení hesla: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "chyba pøi ètení `%s': %s\n"
@@ -7593,27 +7639,27 @@ msgstr "chyba p
 msgid "error sending standard options: %s\n"
 msgstr "chyba pøi hledání záznamu dùvìryhodnosti v `%s': %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7629,56 +7675,82 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr "revokovat klíè nebo vybrané podklíèe"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "chyba pøi vytváøení hesla: %s\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|JMÉNO|¹ifrovat pro JMÉNO"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
index 6aa69f4..3acafa0 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.0.0h\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2003-12-03 16:11+0100\n"
 "Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -22,51 +22,51 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "kunne ikke initialisere TillidsDB: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 msgid "PIN too long"
 msgstr ""
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 msgid "Passphrase too long"
 msgstr ""
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Ugyldige bogstaver i navn\n"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "dårlig mpi"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "dårlig kodesætning"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "dårlig kodesætning"
@@ -163,7 +163,28 @@ msgstr "kodes
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr ""
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "fejl ved oprettelse af kodesætning: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "skriver til `%s'\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "Indtast kodesætning: "
+
+#: agent/genkey.c:165
+#, fuzzy
+msgid "Take this one anyway"
+msgstr "Brug denne nøgle alligevel? "
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -174,50 +195,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-#, fuzzy
-msgid "Take this one anyway"
-msgstr "Brug denne nøgle alligevel? "
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "Indtast kodesætning: "
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr ""
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "Du skal bruge en kodesætning til at beskytte din hemmelige nøgle.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "ændr kodesætningen"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "ændr kodesætningen"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -228,244 +263,244 @@ msgstr ""
 "Indstillinger:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "meddelsom"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "vær mere stille"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|indlæs udvidelsesmodul FILE"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "eksportér nøgler til en nøgletjener"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Generér en annullérbar certifikat"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "opdatér tillidsdatabasen"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "fejl ved oprettelse af kodesætning: %s\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
 msgid "Please report bugs to <"
 msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTITS: ingen standard alternativfil '%s'\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "alternativfil`%s': %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "læser indstillinger fra `%s'\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, fuzzy, c-format
 msgid "error creating `%s': %s\n"
 msgstr "fejl ved læsning af '%s': %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: kan ikke oprette mappe: %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "kan ikke oprette %s: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "fejl ved læsning af '%s': %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "signering fejlede: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "skriver hemmeligt certifikat til '%s'\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: mappe oprettet\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "kan ikke åbne %s: %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: kan ikke oprette mappe: %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: udelod: %s\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 msgid "no gpg-agent running in this session\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, fuzzy, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -493,37 +528,37 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "dårlig kodesætning"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "fejl ved oprettelse af kodesætning: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 msgid "cancelled\n"
 msgstr ""
 
@@ -574,8 +609,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -585,7 +620,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -597,58 +632,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "ja"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "ændr kodesætningen"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "fejl ved oprettelse af kodesætning: %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "kan ikke åbne %s: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "fejl ved læsning af '%s': %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "fejl ved skrivning af nøglering `%s': %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "fejl ved læsning af '%s': %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "fejl ved læsning af '%s': %s\n"
@@ -688,17 +744,17 @@ msgstr ""
 msgid "problem with the agent\n"
 msgstr ""
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "kan ikke slå core-dump fra: %s\n"
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr ""
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr ""
@@ -1469,7 +1525,7 @@ msgstr "bruger sekund
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1606,7 +1662,7 @@ msgstr "|algo [filer]|print meddelelsesresum
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1641,7 +1697,7 @@ msgstr "brug kanonisk tekstmodus"
 msgid "use as output file"
 msgstr "brug som uddatafil"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "lav ingen ændringer"
 
@@ -2589,12 +2645,12 @@ msgstr "       nye undern
 msgid "          w/o user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "           importerede: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              uændrede: %lu\n"
@@ -2619,22 +2675,22 @@ msgstr "        nye signaturer: %lu\n"
 msgid "   new key revocations: %lu\n"
 msgstr "  nye nøgletilbagekald: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " hemmelige nøgler læst: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "hemmelige nøgler import: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "hemmelige nøgler uændre: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, fuzzy, c-format
 msgid "          not imported: %lu\n"
 msgstr "           importerede: %lu"
@@ -3761,13 +3817,13 @@ msgid ""
 msgstr ""
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 #, fuzzy
 msgid "revoked"
 msgstr "tilføj nøgle"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 #, fuzzy
 msgid "expired"
 msgstr "udløb"
@@ -3824,7 +3880,7 @@ msgstr ""
 msgid "Nothing deleted.\n"
 msgstr ""
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 #, fuzzy
 msgid "invalid"
 msgstr "ugyldig rustning"
@@ -4970,7 +5026,7 @@ msgstr ""
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 #, fuzzy
 msgid "unknown"
 msgstr "ukendt version"
@@ -5033,67 +5089,67 @@ msgstr "%s signatur fra: %s\n"
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "ADVARSEL: '%s' er en tom fil\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr ""
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr "rev- forkert nøgletilbagekald\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, fuzzy, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "ADVARSEL: '%s' er en tom fil\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ADVARSEL: '%s' er en tom fil\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "ADVARSEL: '%s' er en tom fil\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ADVARSEL: '%s' er en tom fil\n"
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 #, fuzzy
 msgid "Uncompressed"
 msgstr "ikke bearbejdet"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "ikke bearbejdet"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr ""
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "læser indstillinger fra `%s'\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "ukendt standard modtager '%s'\n"
@@ -5906,7 +5962,7 @@ msgstr "udelod: hemmelig n
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr ""
@@ -5951,7 +6007,7 @@ msgstr "fejl ved l
 msgid "read error in `%s': %s\n"
 msgstr "panser: %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
@@ -6094,165 +6150,165 @@ msgstr ""
 msgid "input line longer than %d characters\n"
 msgstr ""
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, fuzzy, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "%s er ikke et gyldigt tegnsæt\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "nøgle %08lX: ikke en rfc2440 nøgle - udeladt\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr ""
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr ""
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 #, fuzzy
 msgid "[ revoked]"
 msgstr "tilføj nøgle"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 #, fuzzy
 msgid "[ expired]"
 msgstr "udløb"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 #, fuzzy
 msgid "[ unknown]"
 msgstr "ukendt version"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr ""
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr ""
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "offentlig nøgle ikke fundet"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 #, fuzzy
 msgid "checking the trustdb\n"
 msgstr "|[NAMES]|tjek tillidsdatabasen"
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr ""
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6299,25 +6355,25 @@ msgstr "kan ikke 
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "påklædning af beskyttelse fejlede: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr "sæt aflusningsflag"
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr "slå fuld fejltjekning til"
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -6800,7 +6856,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "Kan ikke tjekke signatur: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "certifikatlæseproblem: %s\n"
@@ -7015,16 +7071,6 @@ msgstr "fjernelse af beskyttelse fejlede: %s\n"
 msgid "no valid recipients given\n"
 msgstr "ingen gyldige adresser\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "fejl ved oprettelse af kodesætning: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "skriver til `%s'\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7162,7 +7208,7 @@ msgstr "tilf
 msgid "add this secret keyring to the list"
 msgstr "tilføj denne hemmeligenøglering til listen"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|brug NAME som standard hemmelignøgle"
 
@@ -7244,26 +7290,26 @@ msgstr "kan ikke 
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, fuzzy, c-format
 msgid "total number processed: %lu\n"
 msgstr "Totalt antal behandlede: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 #, fuzzy
 msgid "error storing certificate\n"
 msgstr "Godt certifikat"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "fejl ved oprettelse af kodesætning: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "fejl ved læsning af '%s': %s\n"
@@ -7477,28 +7523,28 @@ msgstr "fejl ved l
 msgid "error sending standard options: %s\n"
 msgstr "fejl ved læsning af '%s': %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 #, fuzzy
 msgid "Options useful for debugging"
 msgstr "slå fuld fejltjekning til"
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7514,57 +7560,83 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr "|N|brug pasfrasemodus N"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "fejl ved oprettelse af kodesætning: %s\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|kryptér for NAME"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|brug cifrealgoritme NAME for pasfrase"
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8407,9 +8479,6 @@ msgstr "valgte cifferalgoritme %d er ugyldig\n"
 #~ msgid "set all packet, cipher and digest options to PGP 2.x behavior"
 #~ msgstr "sæt alle pakker, cifre og resumé flag til OpenPGP standard"
 
-#~ msgid "|N|use passphrase mode N"
-#~ msgstr "|N|brug pasfrasemodus N"
-
 #~ msgid "|NAME|use message digest algorithm NAME for passphrases"
 #~ msgstr "|NAME|brug meddelelses resuméalgoritme NAME for pasfrase"
 
index f97a4c9..9a03e5d 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-2.0.6\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
-"PO-Revision-Date: 2007-08-16 09:53+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
+"PO-Revision-Date: 2007-08-28 19:41+0200\n"
 "Last-Translator: Walter Koch <koch@u32.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -23,7 +23,7 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "Die Sperre für das Pinentry kann nicht gesetzt werden: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
@@ -31,7 +31,7 @@ msgstr ""
 "Bitte geben Sie Ihre PIN ein, so daß der geheime Schlüssel benutzt werden "
 "kann"
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
@@ -39,36 +39,36 @@ msgstr ""
 "Bitte geben Sie Ihre Passphrase ein, so daß der geheime Schlüssel benutzt "
 "werden kann"
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr "SETERROR %s (Versuch %d von %d)"
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 msgid "PIN too long"
 msgstr "Die PIN ist zu lang"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 msgid "Passphrase too long"
 msgstr "Das Mantra (Passphrase) ist zu lang"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 msgid "Invalid characters in PIN"
 msgstr "Ungültige Zeichen in der PIN"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr "Die PIN ist zu kurz"
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 msgid "Bad PIN"
 msgstr "Falsche PIN"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 msgid "Bad Passphrase"
 msgstr "Falsche Passphrase"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 msgid "Passphrase"
 msgstr "Passphrase"
 
@@ -162,7 +162,26 @@ msgstr "PIN wurde nicht richtig wiederholt; noch einmal versuchen"
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr "Bitte geben Sie die PIN%s%s%s ein um die Karte zu entsperren"
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "Fehler beim Schreiben auf eine temporäre Datei: %s\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+msgid "Enter new passphrase"
+msgstr "Neue Passphrase eingeben"
+
+#: agent/genkey.c:165
+msgid "Take this one anyway"
+msgstr "Diese trotzdem benutzen"
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -177,15 +196,31 @@ msgstr[1] ""
 "WARNUNG:  Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben.  "
 "Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein."
 
-#: agent/genkey.c:98
-msgid "Take this one anyway"
-msgstr "Diese trotzdem benutzen"
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] "WARNUNG:  Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben.  Eine Passphrase sollte%%0Amindestens %u Sonderzeichen oder eine Ziffer enthalten."
+msgstr[1] "WARNUNG:  Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben.  Eine Passphrase sollte%%0A mindestens %u Sonderzeichen oder Ziffern enthalten."
 
-#: agent/genkey.c:99 agent/genkey.c:114
-msgid "Enter new passphrase"
-msgstr "Neue Passphrase eingeben"
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr "WARNUNG:  Sie haben eine offensichtlich unsichere%0APassphrase eingegeben.  Eine Passphrase sollte kein%0Abekanntes Wort sein oder nach bekannten Regeln aufgebaut sein."
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr "Sie haben keine Passphrase eingegeben!%0AEine leere Passphrase ist nicht erlaubt."
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
@@ -195,29 +230,29 @@ msgstr ""
 "bestätigen Sie, daß sie auf jeden Schutz Ihres privaten Schlüssels\n"
 "verzichten."
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr "Ja, ein Schutz ist nicht notwendig"
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr "Bitte geben Sie die Passphrase ein%0Aum Ihren Schlüssel zu schützen"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 msgid "Please re-enter this passphrase"
 msgstr "Bitte geben Sie die Passphrase noch einmal ein:"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr "Keine Übereinstimmung - bitte nochmal versuchen"
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 msgid "Please enter the new passphrase"
 msgstr "Bitte geben Sie die Passphrase ein:"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 msgid ""
 "@Options:\n"
@@ -226,109 +261,109 @@ msgstr ""
 "@Optionen:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr "Im Server Modus ausführen"
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr "Im Daemon Modus ausführen"
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "Etwas weniger Infos"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr "Ausgabe für /bin/sh"
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr "Ausgabe für /bin/csh"
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 msgid "|FILE|read options from FILE"
 msgstr "|DATEI|Konfigurationsoptionen aus DATEI lesen"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr "Im Vordergrund laufen lassen"
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr "Tastatur und Maus nicht \"grabben\""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 msgid "use a log file for the server"
 msgstr "Logausgaben in eine Datei umlenken"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 msgid "use a standard location for the socket"
 msgstr "Benutze einen Standardnamen für den Socket"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|benutze PGM as PIN-Entry"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|benutze PGM as SCdaemon"
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 msgid "do not use the SCdaemon"
 msgstr "Den Scdaemon-basierten Kartenzugriff nicht nutzen"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr "Ignoriere Anfragen, das TTY zu wechseln"
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr "Ignoriere Anfragen, das X-Display zu wechseln"
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|lasse PINs im Cache nach N Sekunden verfallen"
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr "benutze PINs im Cache nicht bem Signieren"
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr "erlaube Aufrufern Schlüssel als \"vertrauenswürdig\" zu markieren"
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 msgid "allow presetting passphrase"
 msgstr "erlaube ein \"preset\" von Passphrases"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr "Die ssh-agent-Emulation anschalten"
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|DATEI|Schreibe die Umgebungsvariabeln auf DATEI"
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 msgid "Please report bugs to <"
 msgstr "Fehlerberichte bitte an <"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Aufruf: gpg-agent [Optionen] (-h für Hilfe)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -336,129 +371,129 @@ msgstr ""
 "Syntax: gpg-agent [Optionen] [Befehl [Argumente]]\n"
 "Verwaltung von geheimen Schlüsseln für GnuPG\n"
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "ungültige Debugebene `%s' angegeben\n"
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "Die Bibliothek %s ist nicht aktuell (benötige %s, habe %s)\n"
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "Optionendatei '%s': %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "Fehler beim Erstellen von `%s': %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr "Der Name des Sockets ist zu lang\n"
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "Socket kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "Ein gpg-agent läuft bereits - ein weiterer wird nicht gestartet\n"
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "Der Socket kann nicht an `%s' gebunden werden: %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "Es wird auf Socket `%s' gehört\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "Verzeichnis `%s' erzeugt\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "Die Datei `%s' kann nicht als Home-Verzeichnis benutzt werden\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "Handhabungsroutine 0x%lx für den fd %d beendet\n"
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d beendet\n"
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s angehalten\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 msgid "no gpg-agent running in this session\n"
 msgstr "Der gpg-agent läuft nicht für diese Session\n"
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "fehlerhaft aufgebaute GPG_AGENT_INFO - Umgebungsvariable\n"
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -488,16 +523,16 @@ msgstr ""
 "Syntax: gpg-protect-tool [Optionen] [Argumente]\n"
 "Werkzeug zum Bearbeiten von geheimen Schlüsseln\n"
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Bitte geben Sie die Passphrase zum Entsperren des PKCS#12 Objekts ein"
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 "Bitte geben Sie die Passphrase zum Schützen des neuen PKCS#12 Objekts ein"
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
@@ -505,7 +540,7 @@ msgstr ""
 "Bitte geben Sie die Passphrase ein, um das importierte Objekt im GnuPG "
 "System zu schützen."
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
@@ -513,16 +548,16 @@ msgstr ""
 "Die Eingabe der Passphrase bzw. der PIN\n"
 "wird benötigt um diese Aktion auszuführen."
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 msgid "Passphrase:"
 msgstr "Passphrase:"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "Fehler bei der Abfrage der Passphrase: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 msgid "cancelled\n"
 msgstr "Vom Benutzer abgebrochen\n"
 
@@ -576,8 +611,8 @@ msgstr "Fehler beim Lesen der Liste vertrauenswürdiger root-Zertifikate\n"
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -589,7 +624,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr "Korrekt"
 
@@ -601,7 +636,7 @@ msgstr "Korrekt"
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
@@ -610,50 +645,72 @@ msgstr ""
 "Wenn Sie vollständiges Vertrauen haben, daß%%0A  \"%s\"%%"
 "0ABenutzerzertifikate verläßlich zertifiziert, so antworten Sie mit \"Ja\""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "Yes"
 msgstr "Ja"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr "Nein"
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr "Hinweis: Diese Passphrase wurde noch nie geändert/%0ABitte ändern Sie sie jetzt."
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+"Diese Passphrase wurde seit dem %.4s-%.2s-%.2s nicht%%0A\n"
+"mehr geändert.  Bitte ändern Sie sie jetzt."
+
+#: agent/findkey.c:188 agent/findkey.c:195
+msgid "Change passphrase"
+msgstr "Die Passphrase ändern"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr "Ich werde sie später ändern"
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "Fehler beim Erzeugen einer \"Pipe\": %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "Pipe kann nicht zum Lesen \"fdopen\"t werden: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "Fehler beim \"Forken\" des Prozess: %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "Das Warten auf die Beendigung des Prozesses %d schlug fehl: %s\n"
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "Fehler beim Holen des Exitwerte des Prozesses %d: %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "Fehler bei Ausführung von `%s': Endestatus %d\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr "Feler bei Ausführung von `%s': wahrscheinlich nicht installiert\n"
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, c-format
 msgid "error running `%s': terminated\n"
 msgstr "Fehler bei Ausführung von `%s': beendet\n"
@@ -692,17 +749,17 @@ msgstr "Vom Benutzer abgebrochen\n"
 msgid "problem with the agent\n"
 msgstr "Problem mit dem Agenten\n"
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "core-dump-Dateierzeugung kann nicht abgeschaltet werden: %s\n"
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "WARNUNG: Unsichere Besitzrechte für %s \"%s\"\n"
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte für %s \"%s\"\n"
@@ -1467,7 +1524,7 @@ msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 "Schlüssel %s: geheimer Schlüssel ohne öffentlichen Schlüssel - übersprungen\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1599,7 +1656,7 @@ msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben"
 msgid "run in server mode"
 msgstr "Im Server Modus ausführen"
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1634,7 +1691,7 @@ msgstr "Textmodus benutzen"
 msgid "use as output file"
 msgstr "Als Ausgabedatei benutzen"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
@@ -2702,12 +2759,12 @@ msgstr "              ignorierte neue Schlüssel: %lu\n"
 msgid "          w/o user IDs: %lu\n"
 msgstr "                           ohne User-ID: %lu\n"
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "                             importiert: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                            unverändert: %lu\n"
@@ -2732,22 +2789,22 @@ msgstr "                        neue Signaturen: %lu\n"
 msgid "   new key revocations: %lu\n"
 msgstr "                neue Schlüsselwiderrufe: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "             gelesene geheime Schlüssel: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "           geheime Schlüssel importiert: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "                 unveränderte geh.Schl.: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                       nicht importiert: %lu\n"
@@ -3891,12 +3948,12 @@ msgstr ""
 "Schlüsselgültigkeit nicht notwendigerweise korrekt ist.\n"
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 msgid "revoked"
 msgstr "widerrufen"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 msgid "expired"
 msgstr "verfallen"
 
@@ -3957,7 +4014,7 @@ msgstr "%d Beglaubigungen entfernt.\n"
 msgid "Nothing deleted.\n"
 msgstr "Nichts entfernt.\n"
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 msgid "invalid"
 msgstr "ungültig"
 
@@ -5125,7 +5182,7 @@ msgstr "Binäre"
 msgid "textmode"
 msgstr "Textmodus"
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 msgid "unknown"
 msgstr "unbekannt"
 
@@ -5187,66 +5244,66 @@ msgstr "WARNUNG: Verwendung des experimentellen Hashverfahrens %s\n"
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "WARNUNG: Die Verwendung des Hashverfahrens %s ist nicht ratsam\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "das IDEA-Verschlüsselungs-Plugin ist nicht vorhanden\n"
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, c-format
 msgid "please see %s for more information\n"
 msgstr "Siehe %s für weitere Infos\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: mißbilligte Option \"%s\".\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "WARNUNG: \"%s\" ist eine mißbilligte Option.\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "Bitte benutzen Sie stattdessen \"%s%s\".\n"
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr ""
 "WARNUNG: \"%s\" ist ein nicht ratsamer Befehl - verwenden Sie ihn nicht.\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr "%s:%u: Die Option \"%s\" is veraltet - sie hat keine Wirkung\n"
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "WARNUNG: \"%s\" ist eine veraltete Option - sie hat keine Wirkung.\n"
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 msgid "Uncompressed"
 msgstr "nicht komprimiert"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 msgid "uncompressed|none"
 msgstr "unkomprimiert|kein|keine"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "Diese Botschaft könnte für %s unbrauchbar sein\n"
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "Mehrdeutige Option '%s'\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, c-format
 msgid "unknown option `%s'\n"
 msgstr "Unbekannte Option '%s'\n"
@@ -6117,7 +6174,7 @@ msgstr ""
 "Dies ist ein durch PGP erzeugter Elgamal-Schlüssel. Das ist für Signaturen "
 "NICHT sicher genug!"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "Vertrauenssatz %lu, Typ %d: Schreiben fehlgeschlagen: %s\n"
@@ -6162,7 +6219,7 @@ msgstr "Fehler beim Suchen des \"Trust records\" in `%s': %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "Lesefehler in `%s': %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n"
@@ -6307,161 +6364,161 @@ msgstr "Textzeilen länger als %d Zeichen können nicht benutzt werden\n"
 msgid "input line longer than %d characters\n"
 msgstr "Eingabezeile ist länger als %d Zeichen\n"
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' ist keine gültige lange Schlüssel-ID\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "Schlüssel %s: Als vertrauenswürdiger Schlüssel akzeptiert\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "Schlüssel %s tritt mehr als einmal in der \"trustdb\" auf\n"
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "Schlüssel %s: kein öffentlicher Schlüssel für den vertrauenswürdigen "
 "Schlüssel - übersprungen\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "Schlüssel %s ist als uneingeschränkt vertrauenswürdig gekennzeichnet\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, 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:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "Vertrauenssatz %lu ist nicht von der angeforderten Art %d\n"
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 "kann unbekanntes Vertrauensmodell nicht verwenden (%d) - verwende "
 "Vertrauensmodell %s\n"
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr "verwende Vertrauensmodell %s\n"
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr "10"
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 msgid "[ revoked]"
 msgstr "[widerrufen]"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 msgid "[ expired]"
 msgstr "[verfall.]"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 msgid "[ unknown]"
 msgstr "[  unbek.]"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr "[  undef.]"
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr "[marginal]"
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr "[ vollst.]"
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr "[ uneing.]"
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr "unbestimmt"
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 msgid "never"
 msgstr "niemals"
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr "marginal"
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr "vollständig"
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr "uneingeschränkt"
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr "\"Trust-DB\"-Überprüfung nicht nötig\n"
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "nächste \"Trust-DB\"-Pflichtüberprüfung am %s\n"
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "\"Trust-DB\"-Überprüfung ist beim `%s'-Vertrauensmodell nicht nötig\n"
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "\"Trust-DB\"-Änderung ist beim `%s'-Vertrauensmodell nicht nötig\n"
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, c-format
 msgid "public key %s not found: %s\n"
 msgstr "Öffentlicher Schlüssel %s nicht gefunden: %s\n"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr "Bitte ein --check-trustdb durchführen\n"
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr "\"Trust-DB\" wird überprüft\n"
 
 # translated by wk
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d Schlüssel verarbeitet (%d Validity Zähler gelöscht)\n"
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr "keine uneingeschränkt vertrauenswürdige Schlüssel gefunden\n"
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "öff.Schlüssel des uneingeschränkt vertrautem Schlüssel %s nicht gefunden\n"
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr "%d marginal-needed, %d complete-needed, %s Vertrauensmodell\n"
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
@@ -6469,7 +6526,7 @@ msgstr ""
 "Tiefe: %d  gültig: %3d  unterschrieben: %3d  Vertrauen: %d-, %dq, %dn, %dm, %"
 "df, %du\n"
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr ""
@@ -6521,23 +6578,23 @@ msgstr "iconv_open fehlgeschlagen: %s\n"
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "Umwandlung von `%s' in `%s' schlug fehl: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr "Debug Flags setzen"
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr "Alle Debug Flags setzen"
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 msgid "Please report bugs to "
 msgstr "Bitte richten sie Berichte über Bugs (Softwarefehler) an "
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Aufruf: kbxutil [Optionen] [Dateien] (-h für Hilfe)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -7013,7 +7070,7 @@ msgstr "Das Wurzelzertifikat ist nicht als vertrauenswürdig markiert"
 msgid "checking the trust list failed: %s\n"
 msgstr "Fehler beim Prüfen der vertrauenswürdigen Zertifikate: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 msgid "certificate chain too long\n"
 msgstr "Der Zertifikatkette ist zu lang\n"
 
@@ -7227,16 +7284,6 @@ msgstr "Fehler beim Löschen des Zertifikats \"%s\": %s\n"
 msgid "no valid recipients given\n"
 msgstr "Keine gültigen Empfänger angegeben\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "Fehler beim Schreiben auf eine temporäre Datei: %s\n"
-
 #: sm/gpgsm.c:244
 msgid "|[FILE]|make a signature"
 msgstr "|[DATEI]|Erzeuge eine Signatur"
@@ -7367,7 +7414,7 @@ msgstr "Als öffentlichen Schlüsselbund mitbenutzen"
 msgid "add this secret keyring to the list"
 msgstr "Als geheimen Schlüsselbund mitbenutzen"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen"
 
@@ -7444,25 +7491,25 @@ msgstr "Signieren mit `%s' nicht möglich: %s\n"
 msgid "this command has not yet been implemented\n"
 msgstr "Dieser Befehl wurde noch nicht implementiert\n"
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, c-format
 msgid "total number processed: %lu\n"
 msgstr "gesamte verarbeitete Anzahl: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 msgid "error storing certificate\n"
 msgstr "Fehler beim speichern des Zertifikats\n"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr "Grundlegende Zertifikatprüfungen fehlgeschlagen - nicht importiert\n"
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, c-format
 msgid "error importing certificate: %s\n"
 msgstr "Fehler beim Importieren des Zertifikats: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, c-format
 msgid "error reading input: %s\n"
 msgstr "Fehler beim Lesen der Eingabe: %s\n"
@@ -7681,27 +7728,27 @@ msgstr "Fehler beim Senden des %s-Befehls: %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "Fehler beim Senden der Standardoptionen: %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr "Optionen zur Einstellung Diagnoseausgaben"
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr "Optionen zur Einstellung der Konfiguration"
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr "Nützliche Optionen zum Debuggen"
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|DATEI|Schreibe im Servermodus Logs auf DATEI"
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr "Optionen zur Einstellung der Sicherheit"
 
@@ -7717,55 +7764,79 @@ msgstr "|N|setze die maximale Lebensdauer von PINs im Cache auf N Sekunden"
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr "|N|setze die maximale Lebenszeit von SSH Schlüsseln auf N Sekunden"
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr "Optionen für eien Passphrase-Policy"
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr "Einhaltung der Passphrase-Policy erzwingen"
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr "|N|setze die kleinste erlaubte Länge von Passphrasen auf N"
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr "|N|Verlange mindestens N Nicht-Buchstaben für eine neue Passphrase"
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr "|DATEI|Prüfe neue Passphrases gegen die Regelen in DATEI"
+
+#: tools/gpgconf-comp.c:533
+msgid "|N|expire the passphrase after N days"
+msgstr "|N|Lasse die Passphrase nach N Tagen verfallen"
+
+#: tools/gpgconf-comp.c:537
+msgid "do not allow the reuse of old passphrases"
+msgstr "Verbiete die Wiedernutzung alter Passphrases."
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|Auf an NAME verschlüsseln"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration der Schlüsselserver"
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr "Erlaube PKA Zugriffe (DNS Anfragen)"
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|Benutze die Kodierung NAME für PKCS#12 Passphrasen"
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr "CRL bei Wurzelzertifikaten nicht überprüfen"
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr "Optionen zum Einstellen der Ausgabeformate"
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Optionen zur Einstellung der Interaktivität und Geltendmachung"
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration für HTTP Server"
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr "Einstellungen des System HTTP-Proxy benutzen"
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguration der zu nutzenden LDAP-Server"
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr "Konfiguration zu OCSP"
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr "Beachten Sie, daß Gruppenspezifiaktionen ignoriert werden\n"
 
index a81decf..44bb564 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-1.1.92\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2003-06-27 12:00+0200\n"
 "Last-Translator: Dokianakis Theofanis <madf@hellug.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -19,54 +19,54 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "áðïôõ÷ßá áñ÷éêïðïßçóçò ôçò TrustDB: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 #, fuzzy
 msgid "PIN too long"
 msgstr "ç ãñáììÞ åßíáé ðïëý ìåãÜëç\n"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "ç öñÜóç êëåéäß åßíáé ðïëý ìåãÜëç\n"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Ìç Ýãêõñïò ÷áñáêôÞñáò óôï üíïìá\n"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "êáêü MPI"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "êáêÞ öñÜóç êëåéäß"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "êáêÞ öñÜóç êëåéäß"
@@ -161,7 +161,28 @@ msgstr "
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr ""
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "åããñáöÞ óôï  `%s'\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß\n"
+
+#: agent/genkey.c:165
+#, fuzzy
+msgid "Take this one anyway"
+msgstr "×ñÞóç ïðùóäÞðïôå áõôïý ôïõ êëåéäéïý; "
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -172,50 +193,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-#, fuzzy
-msgid "Take this one anyway"
-msgstr "×ñÞóç ïðùóäÞðïôå áõôïý ôïõ êëåéäéïý; "
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß\n"
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr ""
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "×ñåéÜæåóôå ìéá ÖñÜóç êëåéäß ãéá íá ðñïóôáôåýóåôå ôï ìõóôéêü êëåéäß.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -226,247 +261,247 @@ msgstr ""
 "ÅðéëïãÝò:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "áíáëõôéêÜ"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "Þóõ÷ç Ýîïäïò"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|ÁÑ×ÅÉÏ|öüñôùìá ôïõ áñèñþìáôïò åðÝêôáóçò ÁÑ×ÅÉÏ"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "áíáæÞôçóç êëåéäéþí óå Ýíá äéáêïìéóôÞ êëåéäéþí"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr ""
 "Óßãïõñá èÝëåôå íá áíáíåùèïýí ïé ðñïåðéëïãÝò ãéá ôï åðéëåãìÝíï user ID; "
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "áíáíÝùóç ôçò âÜóçò äåäïìÝíùí åìðéóôïóýíçò"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
 msgid "Please report bugs to <"
 msgstr "ÁíáöÝñåôå ôá ðñïâëÞìáôá óôï <gnupg-bugs@gnu.org>\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "ÓÇÌÅÉÙÓÇ: ìç ðñïêáèïñéóìÝíï áñ÷åßï åðéëïãþí `%s'\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "áñ÷åßï åðéëïãþí `%s': %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "áíÜãíùóç åðéëïãþí áðü `%s'\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "óöÜëìá êáôÜ ôç äçìéïõñãßá ôïõ `%s': %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò êáôáëüãïõ `%s': %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "áäõíáìßá äçìéïõñãßáò ôïõ %s: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "ï gpg-agent äåí åßíáé äéáèÝóéìïò óå áõôÞ ôç óõíåäñßá\n"
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "óöÜëìá óôç áðïóôïëÞ ðñïò ôï `%s': %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "ç åíçìÝñùóç áðÝôõ÷å: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "åããñáöÞ ôïõ ìõóôéêïý êëåéäéïý óôï `%s'\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: êáôÜëïãïò äçìéïõñãÞèçêå\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "trustdb: read áðÝôõ÷å (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: áäõíáìßá äçìéïõñãßáò êáôáëüãïõ: %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "ç åíçìÝñùóç ìõóôéêïý áðÝôõ÷å: %s\n"
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ðáñáëåßöèçêå: %s\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "ï gpg-agent äåí åßíáé äéáèÝóéìïò óå áõôÞ ôç óõíåäñßá\n"
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "êáêïäéáôõðïìÝíç ìåôáâëçôÞ ðåñéâÜëëïíôïò GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -494,40 +529,40 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "ÐëçêôñïëïãÞóôå ôç öñÜóç êëåéäß· áõôÞ åßíáé ìéá ìõóôéêÞ ðñüôáóç \n"
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "êáêÞ öñÜóç êëåéäß"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 #, fuzzy
 msgid "cancelled\n"
 msgstr "Áêýñùóç"
@@ -579,8 +614,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -590,7 +625,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -602,58 +637,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "íáé|íáß"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "áëëáãÞ ôçò öñÜóçò êëåéäß"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "áäõíáìßá ðñüóâáóçò ôïõ áñ÷åßïõ: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "áäõíáìßá åããñáöÞò ìõóôéêÞò êëåéäïèÞêçò `%s': %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
@@ -696,17 +752,17 @@ msgstr "
 msgid "problem with the agent\n"
 msgstr "ðñüâëçìá ìå ôïí agent: agent åðéóôñÝöåé 0x%lx\n"
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "áäõíáìßá áðåíåñãïðïßçóçò ôùí core dump: %s\n"
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëÞò éäéïêôçóßá óôï %s \"%s\"\n"
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: ìç áóöáëåßò Üäåéåò óôï %s \"%s\"\n"
@@ -1504,7 +1560,7 @@ msgstr "
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "êëåéäß %08lX: ìõóôéêü êëåéäß ÷ùñßò äçìüóéï - ðáñáëåßöèçêå\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1637,7 +1693,7 @@ msgstr "|
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1672,7 +1728,7 @@ msgstr "
 msgid "use as output file"
 msgstr "÷ñÞóç ùò áñ÷åßïõ åîüäïõ"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "íá ìç ãßíåé êáììßá áëëáãÞ"
 
@@ -2718,12 +2774,12 @@ msgstr "      
 msgid "          w/o user IDs: %lu\n"
 msgstr "          ÷ùñßò user ID: %lu\n"
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "              åéóá÷èÝíôá: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             áìåôÜâëçôá: %lu\n"
@@ -2748,22 +2804,22 @@ msgstr "        
 msgid "   new key revocations: %lu\n"
 msgstr "   íÝåò áíáêëÞóåéò êëåéäéþí: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      áíáãíùóìÝíá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  åéóá÷èÝíôá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " áìåôÜâëçôá ìõóôéêÜ êëåéäéÜ: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          ìç  åéóá÷èÝíôá: %lu\n"
@@ -3946,13 +4002,13 @@ msgstr ""
 "åêôüò êáé åÜí åðáíáêêéíÞóåôå ôï ðñüãñáììá.\n"
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 #, fuzzy
 msgid "revoked"
 msgstr "[áíáêëçìÝíï]"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 #, fuzzy
 msgid "expired"
 msgstr "expire"
@@ -4012,7 +4068,7 @@ msgstr "
 msgid "Nothing deleted.\n"
 msgstr "Ôßðïôá äåí äéáãñÜöôçêå.\n"
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 #, fuzzy
 msgid "invalid"
 msgstr "ìç Ýãêõñç èùñÜêéóç"
@@ -5202,7 +5258,7 @@ msgstr "
 msgid "textmode"
 msgstr "êáôÜóôáóç-êåéìÝíïõ"
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 msgid "unknown"
 msgstr "Üãíùóôï"
 
@@ -5266,66 +5322,66 @@ msgstr ""
 "ï åîáíáãêáóìüò ôïõ áëãüñéèìïõ ðåñßëçøçò %s (%d) ðáñáâéÜæåé ôéò\n"
 "ðñïåðéëïãÝò ôïõ ðáñáëÞðôç\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "ôï âýóìá ôïõ êñõðôáëãüñéèìïõ IDEA äåí õðÜñ÷åé\n"
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = áðåéêüíéóç ðåñéóóüôåñùí ðëçñïöïñéþí\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "%s:%d: ìç óõíåéóôþìåíç åðéëïãÞ \"%s\"\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr "ðáñáêáëþ ÷ñçóéìïðïéÞóôå ôï \"%s%s\" êáëýôåñá\n"
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "ÐÑÏÅÉÄÏÐÏÉÇÓÇ: \"%s\" åßíáé ìéá ìç óõíåéóôþìåíç åðéëïãÞ\n"
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 msgid "Uncompressed"
 msgstr "Áóõìðßåóôï"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "Áóõìðßåóôï"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "áõôü ôï ìÞíõìá ßóùò äåí ìðïñåß íá ÷ñçóéìïðïéçèåß áðü %s\n"
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "áíÜãíùóç åðéëïãþí áðü `%s'\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "Üãíùóôïò ðñïêáèïñéóìÝíïò ðáñáëÞðôçò `%s'\n"
@@ -6187,7 +6243,7 @@ msgstr ""
 "ðáñáëåßöèçêå `%s': áõôü åßíáé äçìéïõñãçìÝíï áðü PGP êëåéäß ElGamal êáé äåí "
 "åßíáé áóöáëÝò ãéá õðïãñáöÝò!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "åããñáöÞ trust %lu, ôýðïò %d: write áðÝôõ÷å: %s\n"
@@ -6235,7 +6291,7 @@ msgstr "
 msgid "read error in `%s': %s\n"
 msgstr "óöÜëìá áíÜãíùóçò: %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync áðÝôõ÷å: %s\n"
@@ -6378,168 +6434,168 @@ msgstr "
 msgid "input line longer than %d characters\n"
 msgstr "ãñáììÞ åéóüäïõ ìåãáëýôåñç áðü %d ÷áñáêôÞñåò\n"
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "`%s' äåí åßíáé Ýãêõñï ìáêñý keyID\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "êëåéäß %08lX: áðïäï÷Þ óáí êëåéäß ìå åìðéóôïóýíç\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "ôï êëåéäß %08lX õðÜñ÷åé ðÜíù áðü ìéá öïñÜ óôçí trustdb\n"
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr ""
 "êëåéäß %08lX: êáíÝíá äçìüóéï êëåéäß ãéá ôï êëåéäß ìå åìðéóôïóýíç - "
 "ðáñÜëåéøç\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "óçìåßùóç êëåéäéïý óáí áðüëõôçò åìðéóôïóýíçò.\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "åããñáöÞ trust %lu, req ôýðïò %d: read áðÝôõ÷å: %s\n"
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "ç åããñáöÞ trust %lu äåí åßíáé ôïõ æçôïýìåíïõ ôýðïõ %d\n"
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 #, fuzzy
 msgid "[ revoked]"
 msgstr "[áíáêëçìÝíï]"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 #, fuzzy
 msgid "[ expired]"
 msgstr "[ëçãìÝíï]"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 #, fuzzy
 msgid "[ unknown]"
 msgstr "Üãíùóôï"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 #, fuzzy
 msgid "never"
 msgstr "ðïôÝ     "
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "åðüìåíïò Ýëåã÷ïò ôçò trustdb èá ãßíåé óôéò %s\n"
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "äåí õðÜñ÷åé áíÜãêç ãéá Ýëåã÷ï ôçò trustdb\n"
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "ôï äçìüóéï êëåéäß %08lX äåí âñÝèçêå: %s\n"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr "ðáñáêáëþ êÜíôå Ýíá --check-trustdb\n"
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr "Ýëåã÷ïò ôçò trustdb\n"
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr "%d êëåéäéÜ åðåîåñãÜóôçêáí (%d ìåôñÞóåéò åããõñüôçôáò ðÝñáóáí)\n"
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 msgid "no ultimately trusted keys found\n"
 msgstr "äå âñÝèçêáí áðüëõôá åìðéóôåýóéìá êëåéäéÜ\n"
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr ""
 "äå âñÝèçêå ôï äçìüóéï êëåéäß ôïõ áðüëõôá åìðéóôåýóéìïõ êëåéäéïý %08lX\n"
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "åããñáöÞ trust %lu, ôýðïò %d: write áðÝôõ÷å: %s\n"
@@ -6589,25 +6645,25 @@ msgstr "
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "èùñÜêéóç áðÝôõ÷å: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr ""
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr ""
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr "ÁíáöÝñåôå ôá ðñïâëÞìáôá óôï <gnupg-bugs@gnu.org>\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "×ñÞóç: gpg [åðéëïãÝò] [áñ÷åßá] (-h ãéá âïÞèåéá)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -7088,7 +7144,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "áðÝôõ÷å ï Ýëåã÷ïò ôçò õðïãñáöÞò ðïõ äçìéïõñãÞèçêå: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 msgid "certificate chain too long\n"
 msgstr ""
 
@@ -7304,16 +7360,6 @@ msgstr "
 msgid "no valid recipients given\n"
 msgstr "(Äåí äþèçêå ðåñéãñáöÞ)\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "åããñáöÞ óôï  `%s'\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7451,7 +7497,7 @@ msgstr "
 msgid "add this secret keyring to the list"
 msgstr "ðñïóèÞêç áõôÞò ôçò ìõóôéêÞò êëåéäïèÞêçò óôç ëßóôá"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç ÏÍÏÌÁôïò óáí ðñïêáèïñéóìÝíï ìõóôéêü êëåéäß"
 
@@ -7532,26 +7578,26 @@ msgstr "
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, fuzzy, c-format
 msgid "total number processed: %lu\n"
 msgstr "Óõíïëéêüò áñéèìüò ðïõ åðåîåñãÜóôçêáí: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 #, fuzzy
 msgid "error storing certificate\n"
 msgstr "äçìéïõñãßá åíüò ðéóôïðïéçôéêïý áíÜêëçóçò"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ `%s': %s\n"
@@ -7765,27 +7811,27 @@ msgstr "
 msgid "error sending standard options: %s\n"
 msgstr "óöÜëìá óôç áðïóôïëÞ ðñïò ôï `%s': %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7801,57 +7847,83 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr "|N|÷ñÞóç ôçò êáôÜóôáóçò öñÜóçò êëåéäß N"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "óöÜëìá óôç äçìéïõñãßá ôçò öñÜóçò êëåéäß: %s\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|ÏÍÏÌÁ|êñõðôïãñÜöçóç ãéá ÏÍÏÌÁ"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|ÏÍÏÌÁ|÷ñÞóç áëãüñéèìïõ êñõðôïãñÜöçóçò ÏÍÏÌÁ ãéá öñÜóåéò êëåéäéÜ"
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684
+#: tools/gpgconf-comp.c:2706
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
@@ -8869,9 +8941,6 @@ msgstr "
 #~ "ïñéóìüò üëùí ôùí åðéëïãþí ðáêÝôá,áëãüñéèìïé,ðåñßëçøç óå PGP 2.x "
 #~ "óõìðåñéöïñÜ"
 
-#~ msgid "|N|use passphrase mode N"
-#~ msgstr "|N|÷ñÞóç ôçò êáôÜóôáóçò öñÜóçò êëåéäß N"
-
 #~ msgid "|NAME|use message digest algorithm NAME for passphrases"
 #~ msgstr ""
 #~ "|ONOMA|÷ñÞóç ôïõ áëãüñéèìïõ ðåñßëçøçò ìçíýìáôïò ÏÍÏÌÁ ãéá öñÜóåéò êëåéäéÜ"
index e62f28b..8a80a5a 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.0.6d\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2007-08-16 11:04+0200\n"
+"POT-Creation-Date: 2007-08-28 19:28+0200\n"
 "PO-Revision-Date: 2002-04-14 14:33+0100\n"
 "Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -19,54 +19,54 @@ msgstr ""
 msgid "failed to acquire the pinentry lock: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: agent/call-pinentry.c:436
+#: agent/call-pinentry.c:438
 msgid ""
 "Please enter your PIN, so that the secret key can be unlocked for this "
 "session"
 msgstr ""
 
-#: agent/call-pinentry.c:439
+#: agent/call-pinentry.c:441
 #, fuzzy
 msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/call-pinentry.c:486
+#: agent/call-pinentry.c:489
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
 msgstr ""
 
-#: agent/call-pinentry.c:506 agent/call-pinentry.c:518
+#: agent/call-pinentry.c:509 agent/call-pinentry.c:521
 #, fuzzy
 msgid "PIN too long"
 msgstr "pasfrazo estas tro longa\n"
 
-#: agent/call-pinentry.c:507
+#: agent/call-pinentry.c:510
 #, fuzzy
 msgid "Passphrase too long"
 msgstr "pasfrazo estas tro longa\n"
 
-#: agent/call-pinentry.c:515
+#: agent/call-pinentry.c:518
 #, fuzzy
 msgid "Invalid characters in PIN"
 msgstr "Nevalida signo en nomo\n"
 
-#: agent/call-pinentry.c:520
+#: agent/call-pinentry.c:523
 msgid "PIN too short"
 msgstr ""
 
-#: agent/call-pinentry.c:532
+#: agent/call-pinentry.c:535
 #, fuzzy
 msgid "Bad PIN"
 msgstr "malbona MPI"
 
-#: agent/call-pinentry.c:533
+#: agent/call-pinentry.c:536
 #, fuzzy
 msgid "Bad Passphrase"
 msgstr "malbona pasfrazo"
 
-#: agent/call-pinentry.c:569
+#: agent/call-pinentry.c:572
 #, fuzzy
 msgid "Passphrase"
 msgstr "malbona pasfrazo"
@@ -162,7 +162,28 @@ msgstr "la pasfrazo ne estis 
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr ""
 
-#: agent/genkey.c:88
+#: agent/genkey.c:106 sm/export.c:628 sm/export.c:644 sm/import.c:525
+#: sm/import.c:550
+#, fuzzy, c-format
+msgid "error creating temporary file: %s\n"
+msgstr "eraro dum kreado de pasfrazo: %s\n"
+
+#: agent/genkey.c:113 sm/export.c:635 sm/import.c:533
+#, fuzzy, c-format
+msgid "error writing to temporary file: %s\n"
+msgstr "skribas al '%s'\n"
+
+#: agent/genkey.c:151 agent/genkey.c:157
+#, fuzzy
+msgid "Enter new passphrase"
+msgstr "Donu pasfrazon\n"
+
+#: agent/genkey.c:165
+#, fuzzy
+msgid "Take this one anyway"
+msgstr "Æu tamen uzi æi tiun þlosilon? "
+
+#: agent/genkey.c:185
 #, c-format
 msgid ""
 "Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
@@ -173,50 +194,64 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: agent/genkey.c:98
-#, fuzzy
-msgid "Take this one anyway"
-msgstr "Æu tamen uzi æi tiun þlosilon? "
+#: agent/genkey.c:202
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digit or special character."
+msgid_plural ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Acontain at least %u digits or special characters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: agent/genkey.c:99 agent/genkey.c:114
-#, fuzzy
-msgid "Enter new passphrase"
-msgstr "Donu pasfrazon\n"
+#: agent/genkey.c:225
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%0Ais obviously not secure.  A "
+"passphrase may not%0Abe a known term or match certain pattern."
+msgstr ""
+
+#: agent/genkey.c:238
+#, c-format
+msgid ""
+"You have not entered a passphrase!%0AAn empty passphrase is not allowed."
+msgstr ""
 
-#: agent/genkey.c:107
+#: agent/genkey.c:240
 #, c-format
 msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
 
-#: agent/genkey.c:113
+#: agent/genkey.c:246
 msgid "Yes, protection is not needed"
 msgstr ""
 
-#: agent/genkey.c:158
+#: agent/genkey.c:290
 #, fuzzy, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr ""
 "Vi bezonas pasfrazon por protekti vian sekretan þlosilon.\n"
 "\n"
 
-#: agent/genkey.c:160 agent/genkey.c:281 agent/protect-tool.c:1196
+#: agent/genkey.c:292 agent/genkey.c:413 agent/protect-tool.c:1219
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "þanøi la pasfrazon"
 
-#: agent/genkey.c:189 agent/genkey.c:311 agent/protect-tool.c:1202
+#: agent/genkey.c:321 agent/genkey.c:443 agent/protect-tool.c:1225
 #: tools/symcryptrun.c:456
 msgid "does not match - try again"
 msgstr ""
 
-#: agent/genkey.c:280
+#: agent/genkey.c:412
 #, fuzzy
 msgid "Please enter the new passphrase"
 msgstr "þanøi la pasfrazon"
 
-#: agent/gpg-agent.c:112 agent/preset-passphrase.c:72 agent/protect-tool.c:109
+#: agent/gpg-agent.c:118 agent/preset-passphrase.c:72 agent/protect-tool.c:109
 #: scd/scdaemon.c:104
 #, fuzzy
 msgid ""
@@ -227,246 +262,246 @@ msgstr ""
 "Opcioj:\n"
 " "
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:106
+#: agent/gpg-agent.c:120 scd/scdaemon.c:106
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:115 scd/scdaemon.c:109
+#: agent/gpg-agent.c:121 scd/scdaemon.c:109
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:116 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:80
+#: agent/gpg-agent.c:122 g10/gpg.c:469 g10/gpgv.c:70 kbx/kbxutil.c:88
 #: scd/scdaemon.c:110 sm/gpgsm.c:340 tools/gpg-connect-agent.c:58
 #: tools/gpgconf.c:67 tools/symcryptrun.c:164
 msgid "verbose"
 msgstr "detala eligo"
 
-#: agent/gpg-agent.c:117 g10/gpgv.c:71 kbx/kbxutil.c:81 scd/scdaemon.c:111
+#: agent/gpg-agent.c:123 g10/gpgv.c:71 kbx/kbxutil.c:89 scd/scdaemon.c:111
 #: sm/gpgsm.c:341
 msgid "be somewhat more quiet"
 msgstr "iom malpli da informoj"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:124 scd/scdaemon.c:112
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:119 scd/scdaemon.c:113
+#: agent/gpg-agent.c:125 scd/scdaemon.c:113
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:120 tools/symcryptrun.c:167
+#: agent/gpg-agent.c:126 tools/symcryptrun.c:167
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: agent/gpg-agent.c:125 scd/scdaemon.c:122
+#: agent/gpg-agent.c:131 scd/scdaemon.c:122
 msgid "do not detach from the console"
 msgstr ""
 
-#: agent/gpg-agent.c:126
+#: agent/gpg-agent.c:132
 msgid "do not grab keyboard and mouse"
 msgstr ""
 
-#: agent/gpg-agent.c:127 scd/scdaemon.c:123 sm/gpgsm.c:343
+#: agent/gpg-agent.c:133 scd/scdaemon.c:123 sm/gpgsm.c:343
 #: tools/symcryptrun.c:166
 #, fuzzy
 msgid "use a log file for the server"
 msgstr "seræi þlosilojn æe þlosilservilo"
 
-#: agent/gpg-agent.c:129
+#: agent/gpg-agent.c:135
 #, fuzzy
 msgid "use a standard location for the socket"
 msgstr "Æu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:138
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr ""
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:141
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr ""
 
-#: agent/gpg-agent.c:136
+#: agent/gpg-agent.c:142
 #, fuzzy
 msgid "do not use the SCdaemon"
 msgstr "aktualigi la fido-datenaron"
 
-#: agent/gpg-agent.c:143
+#: agent/gpg-agent.c:150
 msgid "ignore requests to change the TTY"
 msgstr ""
 
-#: agent/gpg-agent.c:145
+#: agent/gpg-agent.c:152
 msgid "ignore requests to change the X display"
 msgstr ""
 
-#: agent/gpg-agent.c:148
+#: agent/gpg-agent.c:155
 msgid "|N|expire cached PINs after N seconds"
 msgstr ""
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:168
 msgid "do not use the PIN cache when signing"
 msgstr ""
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:170
 msgid "allow clients to mark keys as \"trusted\""
 msgstr ""
 
-#: agent/gpg-agent.c:158
+#: agent/gpg-agent.c:172
 #, fuzzy
 msgid "allow presetting passphrase"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:173
 msgid "enable ssh-agent emulation"
 msgstr ""
 
-#: agent/gpg-agent.c:161
+#: agent/gpg-agent.c:175
 msgid "|FILE|write environment settings also to FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:257 agent/preset-passphrase.c:94 agent/protect-tool.c:146
+#: agent/gpg-agent.c:273 agent/preset-passphrase.c:94 agent/protect-tool.c:146
 #: scd/scdaemon.c:206 sm/gpgsm.c:565 tools/gpg-connect-agent.c:124
 #: tools/gpgconf.c:89 tools/symcryptrun.c:204
 #, fuzzy
 msgid "Please report bugs to <"
 msgstr "Bonvolu raporti cimojn al <gnupg-bugs@gnu.org>.\n"
 
-#: agent/gpg-agent.c:260
+#: agent/gpg-agent.c:276
 #, fuzzy
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: agent/gpg-agent.c:262
+#: agent/gpg-agent.c:278
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
 msgstr ""
 
-#: agent/gpg-agent.c:297 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
+#: agent/gpg-agent.c:313 g10/gpg.c:916 scd/scdaemon.c:246 sm/gpgsm.c:679
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:476 agent/protect-tool.c:1043 kbx/kbxutil.c:419
+#: agent/gpg-agent.c:512 agent/protect-tool.c:1066 kbx/kbxutil.c:428
 #: scd/scdaemon.c:340 sm/gpgsm.c:819 sm/gpgsm.c:822 tools/symcryptrun.c:1026
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
 
-#: agent/gpg-agent.c:569 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
+#: agent/gpg-agent.c:605 g10/gpg.c:2023 scd/scdaemon.c:416 sm/gpgsm.c:910
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "NOTO: mankas implicita opcio-dosiero '%s'\n"
 
-#: agent/gpg-agent.c:574 agent/gpg-agent.c:1120 g10/gpg.c:2027
+#: agent/gpg-agent.c:610 agent/gpg-agent.c:1177 g10/gpg.c:2027
 #: scd/scdaemon.c:421 sm/gpgsm.c:914 tools/symcryptrun.c:959
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "opcio-dosiero '%s': %s\n"
 
-#: agent/gpg-agent.c:582 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
+#: agent/gpg-agent.c:618 g10/gpg.c:2034 scd/scdaemon.c:429 sm/gpgsm.c:921
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "legas opciojn el '%s'\n"
 
-#: agent/gpg-agent.c:890 g10/plaintext.c:140 g10/plaintext.c:145
+#: agent/gpg-agent.c:947 g10/plaintext.c:140 g10/plaintext.c:145
 #: g10/plaintext.c:162
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: agent/gpg-agent.c:1190 agent/gpg-agent.c:1316 agent/gpg-agent.c:1320
-#: agent/gpg-agent.c:1361 agent/gpg-agent.c:1365 g10/exec.c:172
+#: agent/gpg-agent.c:1247 agent/gpg-agent.c:1373 agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1418 agent/gpg-agent.c:1422 g10/exec.c:172
 #: g10/openfile.c:429 scd/scdaemon.c:908
 #, fuzzy, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
 
-#: agent/gpg-agent.c:1204 scd/scdaemon.c:922
+#: agent/gpg-agent.c:1261 scd/scdaemon.c:922
 msgid "name of socket too long\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1230 scd/scdaemon.c:948
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:948
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "ne povas krei %s: %s\n"
 
-#: agent/gpg-agent.c:1248 agent/gpg-agent.c:1264
+#: agent/gpg-agent.c:1305 agent/gpg-agent.c:1321
 #, fuzzy
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ne estas disponata en æi tiu sesio\n"
 
-#: agent/gpg-agent.c:1278 scd/scdaemon.c:977
+#: agent/gpg-agent.c:1335 scd/scdaemon.c:977
 #, fuzzy, c-format
 msgid "error binding socket to `%s': %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: agent/gpg-agent.c:1290 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1347 scd/scdaemon.c:985
 #, fuzzy, c-format
 msgid "listen() failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
 
-#: agent/gpg-agent.c:1296 scd/scdaemon.c:991
+#: agent/gpg-agent.c:1353 scd/scdaemon.c:991
 #, fuzzy, c-format
 msgid "listening on socket `%s'\n"
 msgstr "skribas sekretan þlosilon al '%s'\n"
 
-#: agent/gpg-agent.c:1324 agent/gpg-agent.c:1371 g10/openfile.c:432
+#: agent/gpg-agent.c:1381 agent/gpg-agent.c:1428 g10/openfile.c:432
 #, fuzzy, c-format
 msgid "directory `%s' created\n"
 msgstr "%s: dosierujo kreita\n"
 
-#: agent/gpg-agent.c:1377
+#: agent/gpg-agent.c:1434
 #, fuzzy, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
 
-#: agent/gpg-agent.c:1381
+#: agent/gpg-agent.c:1438
 #, fuzzy, c-format
 msgid "can't use `%s' as home directory\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
 
-#: agent/gpg-agent.c:1492
+#: agent/gpg-agent.c:1549
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1554
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1514
+#: agent/gpg-agent.c:1571
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1519
+#: agent/gpg-agent.c:1576
 #, c-format
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1623 scd/scdaemon.c:1117
+#: agent/gpg-agent.c:1680 scd/scdaemon.c:1117
 #, fuzzy, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "aktualigo de sekreto malsukcesis: %s\n"
 
-#: agent/gpg-agent.c:1729 scd/scdaemon.c:1184
+#: agent/gpg-agent.c:1786 scd/scdaemon.c:1184
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu þlosiloj ignoritaj\n"
 
-#: agent/gpg-agent.c:1752
+#: agent/gpg-agent.c:1809
 #, fuzzy
 msgid "no gpg-agent running in this session\n"
 msgstr "gpg-agent ne estas disponata en æi tiu sesio\n"
 
-#: agent/gpg-agent.c:1763 common/simple-pwquery.c:329
+#: agent/gpg-agent.c:1820 common/simple-pwquery.c:329
 #: tools/gpg-connect-agent.c:756
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "malbona valoro de la media variablo GPG_AGENT_INFO\n"
 
-#: agent/gpg-agent.c:1776 common/simple-pwquery.c:341
+#: agent/gpg-agent.c:1833 common/simple-pwquery.c:341
 #: tools/gpg-connect-agent.c:767
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -494,40 +529,40 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:1187
+#: agent/protect-tool.c:1210
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1190
+#: agent/protect-tool.c:1213
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1193
+#: agent/protect-tool.c:1216
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
 
-#: agent/protect-tool.c:1198
+#: agent/protect-tool.c:1221
 #, fuzzy
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:1203 tools/symcryptrun.c:457
+#: agent/protect-tool.c:1226 tools/symcryptrun.c:457
 #, fuzzy
 msgid "Passphrase:"
 msgstr "malbona pasfrazo"
 
-#: agent/protect-tool.c:1217 tools/symcryptrun.c:471
+#: agent/protect-tool.c:1240 tools/symcryptrun.c:471
 #, fuzzy, c-format
 msgid "error while asking for the passphrase: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/protect-tool.c:1220 tools/symcryptrun.c:475
+#: agent/protect-tool.c:1243 tools/symcryptrun.c:475
 #, fuzzy
 msgid "cancelled\n"
 msgstr "nuligita de uzanto\n"
@@ -579,8 +614,8 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. second "%s" gets replaced by a hexdecimal
 #. fingerprint string whereas the first one receives
-#. the name as store in the certificate.
-#: agent/trustlist.c:507
+#. the name as stored in the certificate.
+#: agent/trustlist.c:539
 #, c-format
 msgid ""
 "Please verify that the certificate identified as:%%0A  \"%s\"%%0Ahas the "
@@ -590,7 +625,7 @@ msgstr ""
 #. TRANSLATORS: "Correct" is the label of a button and intended to
 #. be hit if the fingerprint matches the one of the CA.  The other
 #. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:516
+#: agent/trustlist.c:551
 msgid "Correct"
 msgstr ""
 
@@ -602,58 +637,79 @@ msgstr ""
 #. plain % sign, you need to encode it as "%%25".  The
 #. "%s" gets replaced by the name as store in the
 #. certificate.
-#: agent/trustlist.c:536
+#: agent/trustlist.c:574
 #, c-format
 msgid ""
 "Do you ultimately trust%%0A  \"%s\"%%0Ato correctly certify user "
 "certificates?"
 msgstr ""
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 #, fuzzy
 msgid "Yes"
 msgstr "jes"
 
-#: agent/trustlist.c:542
+#: agent/trustlist.c:583
 msgid "No"
 msgstr ""
 
-#: common/exechelp.c:302 common/exechelp.c:390
+#: agent/findkey.c:158
+#, c-format
+msgid "Note: This passphrase has never been changed.%0APlease change it now."
+msgstr ""
+
+#: agent/findkey.c:174
+#, c-format
+msgid ""
+"This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
+"it now."
+msgstr ""
+
+#: agent/findkey.c:188 agent/findkey.c:195
+#, fuzzy
+msgid "Change passphrase"
+msgstr "þanøi la pasfrazon"
+
+#: agent/findkey.c:196
+msgid "I'll change it later"
+msgstr ""
+
+#: common/exechelp.c:327 common/exechelp.c:415
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: common/exechelp.c:366 common/exechelp.c:423
+#: common/exechelp.c:391 common/exechelp.c:448
 #, fuzzy, c-format
 msgid "can't fdopen pipe for reading: %s\n"
 msgstr "ne povas malfermi %s: %s\n"
 
-#: common/exechelp.c:402 common/exechelp.c:632
+#: common/exechelp.c:427 common/exechelp.c:555 common/exechelp.c:771
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/exechelp.c:458 common/exechelp.c:501
+#: common/exechelp.c:596 common/exechelp.c:640
 #, c-format
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp.c:466
+#: common/exechelp.c:604
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "eraro dum skribado de sekreta þlosilaro '%s': %s\n"
 
-#: common/exechelp.c:472 common/exechelp.c:512
+#: common/exechelp.c:610 common/exechelp.c:651
 #, fuzzy, c-format
 msgid "error running `%s': exit status %d\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/exechelp.c:507
+#: common/exechelp.c:646
 #, c-format
 msgid "error running `%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp.c:518
+#: common/exechelp.c:657
 #, fuzzy, c-format
 msgid "error running `%s': terminated\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -696,17 +752,17 @@ msgstr "nuligita de uzanto\n"
 msgid "problem with the agent\n"
 msgstr "problemo kun agento: agento redonas 0x%lx\n"
 
-#: common/sysutils.c:99
+#: common/sysutils.c:103
 #, c-format
 msgid "can't disable core dumps: %s\n"
 msgstr "ne povas malþalti kreadon de core-dosieroj: %s\n"
 
-#: common/sysutils.c:194
+#: common/sysutils.c:198
 #, fuzzy, c-format
 msgid "Warning: unsafe ownership on %s \"%s\"\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: common/sysutils.c:226
+#: common/sysutils.c:230
 #, fuzzy, c-format
 msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
@@ -1488,7 +1544,7 @@ msgstr "uzas flankan 
 msgid "key %s: secret key without public key - skipped\n"
 msgstr "þlosilo %08lX: sekreta þlosilo sen publika þlosilo - ignorita\n"
 
-#: g10/gpg.c:368 kbx/kbxutil.c:67 sm/gpgsm.c:242 tools/gpgconf.c:54
+#: g10/gpg.c:368 kbx/kbxutil.c:71 sm/gpgsm.c:242 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1621,7 +1677,7 @@ msgstr "|metodo [dosieroj]|presi mesa
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:75 sm/gpgsm.c:279
+#: g10/gpg.c:432 g10/gpgv.c:68 kbx/kbxutil.c:81 sm/gpgsm.c:279
 #: tools/gpg-connect-agent.c:56 tools/gpgconf.c:64 tools/symcryptrun.c:157
 msgid ""
 "@\n"
@@ -1656,7 +1712,7 @@ msgstr "uzi tekstan re
 msgid "use as output file"
 msgstr "uzi dosieron por eligo"
 
-#: g10/gpg.c:480 kbx/kbxutil.c:82 sm/gpgsm.c:349 tools/gpgconf.c:69
+#: g10/gpg.c:480 kbx/kbxutil.c:90 sm/gpgsm.c:349 tools/gpgconf.c:69
 msgid "do not make any changes"
 msgstr "fari neniajn þanøojn"
 
@@ -2688,12 +2744,12 @@ msgstr "    ignoritaj novaj 
 msgid "          w/o user IDs: %lu\n"
 msgstr "         sen uzantidentigilo: %lu\n"
 
-#: g10/import.c:302 sm/import.c:111
+#: g10/import.c:302 sm/import.c:112
 #, c-format
 msgid "              imported: %lu"
 msgstr "                  importitaj: %lu"
 
-#: g10/import.c:308 sm/import.c:115
+#: g10/import.c:308 sm/import.c:116
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  neþanøitaj: %lu\n"
@@ -2718,22 +2774,22 @@ msgstr "            novaj subskriboj: %lu\n"
 msgid "   new key revocations: %lu\n"
 msgstr "         novaj þlosilrevokoj: %lu\n"
 
-#: g10/import.c:318 sm/import.c:117
+#: g10/import.c:318 sm/import.c:118
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   sekretaj þlosiloj legitaj: %lu\n"
 
-#: g10/import.c:320 sm/import.c:119
+#: g10/import.c:320 sm/import.c:120
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "sekretaj þlosiloj importitaj: %lu\n"
 
-#: g10/import.c:322 sm/import.c:121
+#: g10/import.c:322 sm/import.c:122
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "sekretaj þlosiloj neþanøitaj: %lu\n"
 
-#: g10/import.c:324 sm/import.c:123
+#: g10/import.c:324 sm/import.c:124
 #, fuzzy, c-format
 msgid "          not imported: %lu\n"
 msgstr "                  importitaj: %lu"
@@ -3917,13 +3973,13 @@ msgid ""
 msgstr ""
 
 #: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:531
-#: g10/mainproc.c:1835 g10/trustdb.c:1177 g10/trustdb.c:1697
+#: g10/mainproc.c:1835 g10/trustdb.c:1173 g10/trustdb.c:1693
 #, fuzzy
 msgid "revoked"
 msgstr "rev"
 
 #: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:535
-#: g10/mainproc.c:1837 g10/trustdb.c:530 g10/trustdb.c:1699
+#: g10/mainproc.c:1837 g10/trustdb.c:526 g10/trustdb.c:1695
 #, fuzzy
 msgid "expired"
 msgstr "eksval"
@@ -3982,7 +4038,7 @@ msgstr "Forvi
 msgid "Nothing deleted.\n"
 msgstr "Nenio estis forviþita.\n"
 
-#: g10/keyedit.c:3242 g10/trustdb.c:1701
+#: g10/keyedit.c:3242 g10/trustdb.c:1697
 msgid "invalid"
 msgstr "nevalida"
 
@@ -5168,7 +5224,7 @@ msgstr "
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:1936 g10/trustdb.c:529
+#: g10/mainproc.c:1936 g10/trustdb.c:525
 #, fuzzy
 msgid "unknown"
 msgstr "nekonata versio"
@@ -5230,67 +5286,67 @@ msgstr "%s-subskribo de: %s\n"
 msgid "WARNING: digest algorithm %s is deprecated\n"
 msgstr "NOTO: æifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/misc.c:414
+#: g10/misc.c:416
 msgid "the IDEA cipher plugin is not present\n"
 msgstr "la aldona¼o por la æifro IDEA en æeestas\n"
 
-#: g10/misc.c:415 g10/sig-check.c:107 jnlib/utf8conv.c:88
+#: g10/misc.c:417 g10/sig-check.c:107 jnlib/utf8conv.c:88
 #, fuzzy, c-format
 msgid "please see %s for more information\n"
 msgstr " i = bonvolu montri pli da informoj\n"
 
-#: g10/misc.c:650
+#: g10/misc.c:652
 #, fuzzy, c-format
 msgid "%s:%d: deprecated option \"%s\"\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:654
+#: g10/misc.c:656
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated option\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:656
+#: g10/misc.c:658
 #, c-format
 msgid "please use \"%s%s\" instead\n"
 msgstr ""
 
-#: g10/misc.c:663
+#: g10/misc.c:665
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:673
+#: g10/misc.c:675
 #, c-format
 msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
 msgstr ""
 
-#: g10/misc.c:676
+#: g10/misc.c:678
 #, fuzzy, c-format
 msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/misc.c:737
+#: g10/misc.c:739
 #, fuzzy
 msgid "Uncompressed"
 msgstr "ne traktita"
 
 #. TRANSLATORS: See doc/TRANSLATE about this string.
-#: g10/misc.c:762
+#: g10/misc.c:764
 #, fuzzy
 msgid "uncompressed|none"
 msgstr "ne traktita"
 
-#: g10/misc.c:872
+#: g10/misc.c:874
 #, fuzzy, c-format
 msgid "this message may not be usable by %s\n"
 msgstr "æi tiu mesaøo povas ne esti uzebla de PGP 2.x\n"
 
-#: g10/misc.c:1047
+#: g10/misc.c:1049
 #, fuzzy, c-format
 msgid "ambiguous option `%s'\n"
 msgstr "legas opciojn el '%s'\n"
 
-#: g10/misc.c:1072
+#: g10/misc.c:1074
 #, fuzzy, c-format
 msgid "unknown option `%s'\n"
 msgstr "nekonata implicita ricevonto '%s'\n"
@@ -6129,7 +6185,7 @@ msgstr ""
 "ignoris '%s': æi tio estas PGP-kreita ElGamal-þlosilo, kiu ne estas sekura "
 "por subskribado!\n"
 
-#: g10/tdbdump.c:58 g10/trustdb.c:364
+#: g10/tdbdump.c:58 g10/trustdb.c:360
 #, c-format
 msgid "trust record %lu, type %d: write failed: %s\n"
 msgstr "fido-datenaro %lu, speco %d: skribo malsukcesis: %s\n"
@@ -6175,7 +6231,7 @@ msgstr "eraro dum legado de dosieruja registro: %s\n"
 msgid "read error in `%s': %s\n"
 msgstr "kiraso: %s\n"
 
-#: g10/tdbdump.c:226 g10/trustdb.c:379
+#: g10/tdbdump.c:226 g10/trustdb.c:375
 #, c-format
 msgid "trustdb: sync failed: %s\n"
 msgstr "fido-datenaro: sync malsukcesis: %s\n"
@@ -6318,165 +6374,165 @@ msgstr "ne povas trakti tekstliniojn pli longajn ol %d signojn\n"
 msgid "input line longer than %d characters\n"
 msgstr "enigata linio pli longa ol %d signojn\n"
 
-#: g10/trustdb.c:225
+#: g10/trustdb.c:221
 #, c-format
 msgid "`%s' is not a valid long keyID\n"
 msgstr "'%s' ne estas valida longa þlosilidentigilo\n"
 
-#: g10/trustdb.c:256
+#: g10/trustdb.c:252
 #, fuzzy, c-format
 msgid "key %s: accepted as trusted key\n"
 msgstr "þlosilo %08lX: akceptita kiel fidata þlosilo\n"
 
-#: g10/trustdb.c:294
+#: g10/trustdb.c:290
 #, fuzzy, c-format
 msgid "key %s occurs more than once in the trustdb\n"
 msgstr "þlosilo %08lX aperas pli ol unufoje en la fido-datenaro\n"
 
-#: g10/trustdb.c:309
+#: g10/trustdb.c:305
 #, fuzzy, c-format
 msgid "key %s: no public key for trusted key - skipped\n"
 msgstr "þlosilo %08lX: mankas publika þlosilo por fidata þlosilo - ignorita\n"
 
-#: g10/trustdb.c:319
+#: g10/trustdb.c:315
 #, fuzzy, c-format
 msgid "key %s marked as ultimately trusted\n"
 msgstr "þlosilo markita kiel absolute fidata.\n"
 
-#: g10/trustdb.c:343
+#: g10/trustdb.c:339
 #, c-format
 msgid "trust record %lu, req type %d: read failed: %s\n"
 msgstr "fido-datenaro loko %lu, petospeco %d: lego malsukcesis: %s\n"
 
-#: g10/trustdb.c:349
+#: g10/trustdb.c:345
 #, c-format
 msgid "trust record %lu is not of requested type %d\n"
 msgstr "fido-registro %lu ne havas petitan specon %d\n"
 
-#: g10/trustdb.c:445
+#: g10/trustdb.c:441
 #, c-format
 msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:451
+#: g10/trustdb.c:447
 #, c-format
 msgid "using %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:503
+#: g10/trustdb.c:499
 msgid "10 translator see trustdb.c:uid_trust_string_fixed"
 msgstr ""
 
-#: g10/trustdb.c:505
+#: g10/trustdb.c:501
 #, fuzzy
 msgid "[ revoked]"
 msgstr "rev"
 
-#: g10/trustdb.c:507 g10/trustdb.c:512
+#: g10/trustdb.c:503 g10/trustdb.c:508
 #, fuzzy
 msgid "[ expired]"
 msgstr "eksval"
 
-#: g10/trustdb.c:511
+#: g10/trustdb.c:507
 #, fuzzy
 msgid "[ unknown]"
 msgstr "nekonata versio"
 
-#: g10/trustdb.c:513
+#: g10/trustdb.c:509
 msgid "[  undef ]"
 msgstr ""
 
-#: g10/trustdb.c:514
+#: g10/trustdb.c:510
 msgid "[marginal]"
 msgstr ""
 
-#: g10/trustdb.c:515
+#: g10/trustdb.c:511
 msgid "[  full  ]"
 msgstr ""
 
-#: g10/trustdb.c:516
+#: g10/trustdb.c:512
 msgid "[ultimate]"
 msgstr ""
 
-#: g10/trustdb.c:531
+#: g10/trustdb.c:527
 msgid "undefined"
 msgstr ""
 
-#: g10/trustdb.c:532
+#: g10/trustdb.c:528
 msgid "never"
 msgstr ""
 
-#: g10/trustdb.c:533
+#: g10/trustdb.c:529
 msgid "marginal"
 msgstr ""
 
-#: g10/trustdb.c:534
+#: g10/trustdb.c:530
 msgid "full"
 msgstr ""
 
-#: g10/trustdb.c:535
+#: g10/trustdb.c:531
 msgid "ultimate"
 msgstr ""
 
-#: g10/trustdb.c:575
+#: g10/trustdb.c:571
 msgid "no need for a trustdb check\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:581 g10/trustdb.c:2350
+#: g10/trustdb.c:577 g10/trustdb.c:2346
 #, c-format
 msgid "next trustdb check due at %s\n"
 msgstr "sekva kontrolo de fido-datenaro je %s\n"
 
-#: g10/trustdb.c:590
+#: g10/trustdb.c:586
 #, fuzzy, c-format
 msgid "no need for a trustdb check with `%s' trust model\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:605
+#: g10/trustdb.c:601
 #, fuzzy, c-format
 msgid "no need for a trustdb update with `%s' trust model\n"
 msgstr "kontrolo de fido-datenaro ne estas bezonata\n"
 
-#: g10/trustdb.c:837 g10/trustdb.c:1275
+#: g10/trustdb.c:833 g10/trustdb.c:1271
 #, fuzzy, c-format
 msgid "public key %s not found: %s\n"
 msgstr "publika þlosilo %08lX ne trovita: %s\n"
 
-#: g10/trustdb.c:1032
+#: g10/trustdb.c:1028
 msgid "please do a --check-trustdb\n"
 msgstr ""
 
-#: g10/trustdb.c:1036
+#: g10/trustdb.c:1032
 msgid "checking the trustdb\n"
 msgstr "kontrolas la fido-datenaron\n"
 
-#: g10/trustdb.c:2093
+#: g10/trustdb.c:2089
 #, c-format
 msgid "%d keys processed (%d validity counts cleared)\n"
 msgstr ""
 
-#: g10/trustdb.c:2158
+#: g10/trustdb.c:2154
 #, fuzzy
 msgid "no ultimately trusted keys found\n"
 msgstr "publika þlosilo de absolute fidata þlosilo %08lX ne trovita\n"
 
-#: g10/trustdb.c:2172
+#: g10/trustdb.c:2168
 #, fuzzy, c-format
 msgid "public key of ultimately trusted key %s not found\n"
 msgstr "publika þlosilo de absolute fidata þlosilo %08lX ne trovita\n"
 
-#: g10/trustdb.c:2195
+#: g10/trustdb.c:2191
 #, c-format
 msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
 msgstr ""
 
-#: g10/trustdb.c:2281
+#: g10/trustdb.c:2277
 #, c-format
 msgid ""
 "depth: %d  valid: %3d  signed: %3d  trust: %d-, %dq, %dn, %dm, %df, %du\n"
 msgstr ""
 
-#: g10/trustdb.c:2356
+#: g10/trustdb.c:2352
 #, fuzzy, c-format
 msgid "unable to update trustdb version record: write failed: %s\n"
 msgstr "fido-datenaro %lu, speco %d: skribo malsukcesis: %s\n"
@@ -6526,25 +6582,25 @@ msgstr "ne povas malfermi %s: %s\n"
 msgid "conversion from `%s' to `%s' failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
 
-#: kbx/kbxutil.c:84
+#: kbx/kbxutil.c:92
 msgid "set debugging flags"
 msgstr ""
 
-#: kbx/kbxutil.c:85
+#: kbx/kbxutil.c:93
 msgid "enable full debugging"
 msgstr ""
 
-#: kbx/kbxutil.c:106
+#: kbx/kbxutil.c:114
 #, fuzzy
 msgid "Please report bugs to "
 msgstr "Bonvolu raporti cimojn al <gnupg-bugs@gnu.org>.\n"
 
-#: kbx/kbxutil.c:110
+#: kbx/kbxutil.c:118
 #, fuzzy
 msgid "Usage: kbxutil [options] [files] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: kbx/kbxutil.c:113
+#: kbx/kbxutil.c:121
 msgid ""
 "Syntax: kbxutil [options] [files]\n"
 "list, export, import Keybox data\n"
@@ -7033,7 +7089,7 @@ msgstr ""
 msgid "checking the trust list failed: %s\n"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: sm/certchain.c:1295 sm/import.c:157
+#: sm/certchain.c:1295 sm/import.c:158
 #, fuzzy
 msgid "certificate chain too long\n"
 msgstr "Valida atestilrevoko"
@@ -7252,16 +7308,6 @@ msgstr "forvi
 msgid "no valid recipients given\n"
 msgstr "nevalida respondo de agento\n"
 
-#: sm/export.c:613 sm/export.c:629 sm/import.c:524 sm/import.c:549
-#, fuzzy, c-format
-msgid "error creating temporary file: %s\n"
-msgstr "eraro dum kreado de pasfrazo: %s\n"
-
-#: sm/export.c:620 sm/import.c:532
-#, fuzzy, c-format
-msgid "error writing to temporary file: %s\n"
-msgstr "skribas al '%s'\n"
-
 #: sm/gpgsm.c:244
 #, fuzzy
 msgid "|[FILE]|make a signature"
@@ -7399,7 +7445,7 @@ msgstr "aldoni 
 msgid "add this secret keyring to the list"
 msgstr "aldoni æi tiun sekretan þlosilaron al la listo"
 
-#: sm/gpgsm.c:358 tools/gpgconf-comp.c:611 tools/gpgconf-comp.c:673
+#: sm/gpgsm.c:358 tools/gpgconf-comp.c:635 tools/gpgconf-comp.c:697
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan þlosilon"
 
@@ -7480,26 +7526,26 @@ msgstr "ne povas fermi '%s': %s\n"
 msgid "this command has not yet been implemented\n"
 msgstr ""
 
-#: sm/import.c:108
+#: sm/import.c:109
 #, fuzzy, c-format
 msgid "total number processed: %lu\n"
 msgstr "      Nombro traktita entute: %lu\n"
 
-#: sm/import.c:226
+#: sm/import.c:227
 #, fuzzy
 msgid "error storing certificate\n"
 msgstr "Bona atestilo"
 
-#: sm/import.c:234
+#: sm/import.c:235
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:420 sm/import.c:452
+#: sm/import.c:421 sm/import.c:453
 #, fuzzy, c-format
 msgid "error importing certificate: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/import.c:541 tools/gpg-connect-agent.c:374
+#: sm/import.c:542 tools/gpg-connect-agent.c:374
 #, fuzzy, c-format
 msgid "error reading input: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -7711,27 +7757,27 @@ msgstr "eraro dum sendo al '%s': %s\n"
 msgid "error sending standard options: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:529 tools/gpgconf-comp.c:596
-#: tools/gpgconf-comp.c:658 tools/gpgconf-comp.c:739
+#: tools/gpgconf-comp.c:449 tools/gpgconf-comp.c:553 tools/gpgconf-comp.c:620
+#: tools/gpgconf-comp.c:682 tools/gpgconf-comp.c:763
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:542 tools/gpgconf-comp.c:609
-#: tools/gpgconf-comp.c:671 tools/gpgconf-comp.c:762
+#: tools/gpgconf-comp.c:462 tools/gpgconf-comp.c:566 tools/gpgconf-comp.c:633
+#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:786
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:567 tools/gpgconf-comp.c:622
-#: tools/gpgconf-comp.c:690 tools/gpgconf-comp.c:769
+#: tools/gpgconf-comp.c:472 tools/gpgconf-comp.c:591 tools/gpgconf-comp.c:646
+#: tools/gpgconf-comp.c:714 tools/gpgconf-comp.c:793
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:572 tools/gpgconf-comp.c:627
-#: tools/gpgconf-comp.c:695 tools/gpgconf-comp.c:777
+#: tools/gpgconf-comp.c:477 tools/gpgconf-comp.c:596 tools/gpgconf-comp.c:651
+#: tools/gpgconf-comp.c:719 tools/gpgconf-comp.c:801
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:577 tools/gpgconf-comp.c:703
+#: tools/gpgconf-comp.c:485 tools/gpgconf-comp.c:601 tools/gpgconf-comp.c:727
 msgid "Options controlling the security"
 msgstr ""
 
@@ -7747,57 +7793,83 @@ msgstr ""
 msgid "|N|set maximum SSH key lifetime to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:510
+#: tools/gpgconf-comp.c:514
+msgid "Options enforcing a passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:517
+msgid "do not allow to bypass the passphrase policy"
+msgstr ""
+
+#: tools/gpgconf-comp.c:521
 msgid "|N|set minimal required length for new passphrases to N"
 msgstr ""
 
-#: tools/gpgconf-comp.c:614 tools/gpgconf-comp.c:676
+#: tools/gpgconf-comp.c:525
+msgid "|N|require at least N non-alpha characters for a new passphrase"
+msgstr ""
+
+#: tools/gpgconf-comp.c:529
+msgid "|FILE|check new passphrases against pattern in FILE"
+msgstr ""
+
+#: tools/gpgconf-comp.c:533
+#, fuzzy
+msgid "|N|expire the passphrase after N days"
+msgstr "|N|uzi pasfraz-reøimon N"
+
+#: tools/gpgconf-comp.c:537
+#, fuzzy
+msgid "do not allow the reuse of old passphrases"
+msgstr "eraro dum kreado de pasfrazo: %s\n"
+
+#: tools/gpgconf-comp.c:638 tools/gpgconf-comp.c:700
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOMO|æifri por NOMO"
 
-#: tools/gpgconf-comp.c:635
+#: tools/gpgconf-comp.c:659
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:640
+#: tools/gpgconf-comp.c:664
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:685
+#: tools/gpgconf-comp.c:709
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOMO|uzi æifrad-metodon NOMO por pasfrazoj"
 
-#: tools/gpgconf-comp.c:708
+#: tools/gpgconf-comp.c:732
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:752
+#: tools/gpgconf-comp.c:776
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:788
+#: tools/gpgconf-comp.c:812
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:798
+#: tools/gpgconf-comp.c:822
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:809
+#: tools/gpgconf-comp.c:833
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:814
+#: tools/gpgconf-comp.c:838
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:851
+#: tools/gpgconf-comp.c:875
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:2684